www.novell.com beginning programming with novell groupwise ® c3pos john cox dse worldwide developer...

49
www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. [email protected]

Upload: scott-oliver

Post on 01-Jan-2016

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

www.novell.com

Beginning Programming with Novell GroupWise® C3POs

Beginning Programming with Novell GroupWise® C3POs

John CoxDSE Worldwide Developer SupportNovell, [email protected]

Page 2: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Vision…one NetA world where networks of all types—corporate and public, intranets, extranets, and the Internet—work together as one Net and securely connect employees, customers, suppliers, and partners across organizational boundaries

MissionTo solve complex business and technical challenges with Net business solutions that enable people, processes, and systems to work together and our customers to profit from the opportunities of a networked world

Page 3: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com
Page 4: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Agenda

• Overview

• Objects and logic flow

• Novell C3PO™ Creation Wizard

• Build your own C3PO

• Developer Resources ag

end

a

Page 5: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

What Is a C3PO ?

• Custom 3rd-Party Object (C3PO) A COMServer object used to extend Novell

GroupWise® • Add menus, menu items and separators• Add buttons to the toolbar• Trap predefined commands• Catch GroupWise events• Build custom message types with custom message

icons Uses the Windows system registry to identify

itself to GroupWise

Page 6: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

COM Automation

• Accessible through any language that supports Component Object Model (COM)

Visual Basic Delphi C++

CO

M

Page 7: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Agenda

• Overview• Objects and logic flow• C3PO Creation Wizard• Build your own C3PO• Developer resources

ag

end

a

Page 8: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

C3PO Objects

• Objects must implement specific behavior C3POServer CommandFactory GWCommand EventMonitor IconFactory

Page 9: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

C3POServer

• Methods Init CanShutdown DeInit

• Properties Description CommandFactory EventMonitor IconFactory

Page 10: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

CommandFactory

• Methods Init WantCommand BuildCommand CustomizeContextMe

nu CustomizeMenu CustomizeToolBar

• No properties

Page 11: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

GWCommand

• Methods Execute Help Undo Validate

• Properties BaseCmd LongPrompt Parameters PersistentID ToolTip

Page 12: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

EventMonitor

• Methods Notify

• No properties

Page 13: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Events

• eGW_CMDEVTID_READY

• eGW_CMDEVTID_SHUTDOWN

• eGW_CMDEVTID_DELIVERY

• eGW_CMDEVTID_OVERFLOW

Page 14: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

IconFactory

• Methods GetIcons

• No properties

Page 15: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Custom Message Types

• Contexts GW.MESSAGE.APPOINTMENT GW.MESSAGE.DOCUMENTREFERENCE GW.MESSAGE.MAIL GW.MESSAGE.NOTE GW.MESSAGE.PHONE GW.MESSAGE.TASK

GW.MESSAGE.MAIL.XXX

Page 16: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

C3PO Logic Flow

• Menus• Context menus• Toolbar buttons

InitializeInitializeInitializeInitialize

CustomizeCustomizeCustomizeCustomize ExecuteExecuteExecuteExecute

ValidateValidateValidateValidate

Page 17: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

C3PO Logic Flow (cont.)

GroupWise commands

GroupWise events

Want commandWant commandWant commandWant command

ExecuteExecuteExecuteExecute

Build commandBuild commandBuild commandBuild command

NotifyNotifyNotifyNotify

Page 18: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com
Page 19: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Agenda

• Overview• Objects and logic flow• C3PO Creation Wizard• Build your own C3PO• Developer resources

ag

end

a

Page 20: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

C3PO Creation Wizard

• The wizard makes it easy

Page 21: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Agenda

•Overview•Objects and logic flow•C3PO Creation Wizard•Build your own C3PO•Developer resources

ag

end

a

Page 22: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Add a Menu or Menu Item

Page 23: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Where Will The Menu Appear ?

Page 24: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Where Will The Menu Appear ? (cont.)

Page 25: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Name the Menu

Page 26: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Where Will The Menu Item Appear ?

Page 27: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Item Text, Prompt, Persistent ID

Page 28: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Summary

Page 29: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Language ?

Page 30: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

.EXE or .DLL ?

Page 31: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Register

• Switch to your Windows desktop

• From a command prompt or Start | Run type “pathtoyourc3po\c3po.exe” /r C3PO STARTUP.BAS calls sub main procedure sub main calls RegC3PO RegC3PO registers your C3PO with GW and

Windows

• /u will unregister a C3PO

Page 32: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Regedit

• HKEY_LOCAL_MACHINE Software Novell GroupWise 5.0 C3PO DataTypes

Page 33: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Menu and Menu Items

hands o

Page 34: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Objective

• Build a C3PO that adds a menu to the GW Client | Tools menu

• Add a menu item to the menu

• Don’t forget to register your C3PO

Page 35: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Register

• Switch to your Windows desktop

• From a command prompt or Start | Run type “pathtoyourc3po\c3po.exe” /r C3PO STARTUP.BAS calls sub main procedure sub main calls RegC3PO RegC3PO registers your C3PO with GW and

Windows

• /u will unregister a C3PO

Page 36: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Capture a Command

Page 37: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Context

Page 38: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Commands

Page 39: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Commands (cont.)

• eGW_CMDID_ACCEPT

• eGW_CMDID_ARCHIVE

• eGW_CMDID_COMPLETE

• eGW_CMDID_COMPOSE

• eGW_CMDID_DECLINE

• eGW_CMDID_DELEGATE

• eGW_CMDID_DELETE

• eGW_CMDID_DOC_CHECKIN

• eGW_CMDID_DOC_CHECKOUT

• eGW_CMDID_DOC_RESETINUSE

• eGW_CMDID_FORWARD

• eGW_CMDID_OPEN

• eGW_CMDID_PRINT

• eGW_CMDID_PROPERTIES

• eGW_CMDID_REPLY

• eGW_CMDID_RESEND

• eGW_CMDID_SAVE

• eGW_CMDID_SAVEAS

• eGW_CMDID_SETALARMS

• eGW_CMDID_UNDELETE

Page 40: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Summary

Page 41: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Language ?

Page 42: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

.EXE or .DLL ?

Page 43: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Register

• Switch to your Windows desktop

• From a command prompt or Start | Run type “pathtoyourc3po\c3po.exe” /r C3PO STARTUP.BAS calls sub main procedure sub main calls RegC3PO RegC3PO registers your C3PO with GW and

Windows

• /u will unregister a C3PO

Page 44: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Commands

hands o

Page 45: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Objective

• Build a C3PO that captures the send command for a message of type appointment, displays a message box then sends the message

• Don’t forget to register your C3PO

Page 46: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Register

• Switch to your Windows desktop

• From a command prompt or Start | Run type “pathtoyourc3po\c3po.exe” /r C3PO STARTUP.BAS calls sub main procedure sub main calls RegC3PO RegC3PO registers your C3PO with GW and

Windows

• /u will unregister a C3PO

Page 47: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Agenda

•Overview•Objects and logic flow•C3PO Creation Wizard•Build your own C3PO•Developer resources

ag

end

a

Page 48: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com

Developer Resources

•Training http://developer.novell.com/support/training/

•Documentation and Sample Code http://developer.novell.com/ndk/gwobjapi http://developer.novell.com/support/sample.htm

•Support 1-800-733-9673 / 1-801-861-5281 [email protected] http://developer-forums.novell.com/category/

index.tpt

Page 49: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com