Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc.
Vision…one Net A 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 Mission To 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
Agenda Overview Objects and logic flow Novell C3PO ™ Creation Wizard Build your own C3PO Developer Resources agenda
What Is a C3PO ? Custom 3 rd -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
COM Automation Accessible through any language that supports Component Object Model (COM) Visual Basic Delphi C++ COM
Agenda Overview Objects and logic flow C3PO Creation Wizard Build your own C3PO Developer resources agenda
C3PO Objects Objects must implement specific behavior C3POServer CommandFactory GWCommand EventMonitor IconFactory
C3POServer Methods Init CanShutdown DeInit Properties Description CommandFactory EventMonitor IconFactory
CommandFactory Methods Init WantCommand BuildCommand CustomizeContextMenu CustomizeMenu CustomizeToolBar No properties
GWCommand Methods Execute Help Undo Validate Properties BaseCmd LongPrompt Parameters PersistentID ToolTip
EventMonitor Methods Notify No properties
Events eGW_CMDEVTID_READY eGW_CMDEVTID_SHUTDOWN eGW_CMDEVTID_DELIVERY eGW_CMDEVTID_OVERFLOW
IconFactory Methods GetIcons No properties
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
C3PO Logic Flow Menus Context menus Toolbar buttons InitializeInitialize CustomizeCustomizeExecuteExecute ValidateValidate
C3PO Logic Flow (cont.) GroupWise commandsGroupWise events Want command ExecuteExecute Build command NotifyNotify
Agenda Overview Objects and logic flow C3PO Creation Wizard Build your own C3PO Developer resources agenda
C3PO Creation Wizard The wizard makes it easy
Agenda Overview Objects and logic flow C3PO Creation Wizard Build your own C3PO Developer resources agenda
Add a Menu or Menu Item
Where Will The Menu Appear ?
Where Will The Menu Appear ? (cont.)
Name the Menu
Where Will The Menu Item Appear ?
Item Text, Prompt, Persistent ID
Summary
Language ?
.EXE or.DLL ?
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
Regedit HKEY_LOCAL_MACHINE Software Novell GroupWise 5.0 C3PO DataTypes
Menu and Menu Items hands o
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
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
Capture a Command
Context
Commands
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
Summary
Language ?
.EXE or.DLL ?
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
Commands hands o
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
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
Agenda Overview Objects and logic flow C3PO Creation Wizard Build your own C3PO Developer resources agenda
Developer Resources Training Documentation and Sample Code Support /