Post on 01-Jan-2016
www.novell.com
Beginning Programming with Novell GroupWise® C3POs
Beginning Programming with Novell GroupWise® C3POs
John CoxDSE Worldwide Developer SupportNovell, 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
Agenda
• Overview
• Objects and logic flow
• Novell C3PO™ Creation Wizard
• Build your own C3PO
• Developer Resources ag
end
a
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
COM Automation
• Accessible through any language that supports Component Object Model (COM)
Visual Basic Delphi C++
CO
M
Agenda
• Overview• Objects and logic flow• C3PO Creation Wizard• Build your own C3PO• Developer resources
ag
end
a
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 CustomizeContextMe
nu 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
InitializeInitializeInitializeInitialize
CustomizeCustomizeCustomizeCustomize ExecuteExecuteExecuteExecute
ValidateValidateValidateValidate
C3PO Logic Flow (cont.)
GroupWise commands
GroupWise events
Want commandWant commandWant commandWant command
ExecuteExecuteExecuteExecute
Build commandBuild commandBuild commandBuild command
NotifyNotifyNotifyNotify
Agenda
• Overview• Objects and logic flow• C3PO Creation Wizard• Build your own C3PO• Developer resources
ag
end
a
C3PO Creation Wizard
• The wizard makes it easy
Agenda
•Overview•Objects and logic flow•C3PO Creation Wizard•Build your own C3PO•Developer resources
ag
end
a
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
ag
end
a
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 devsup@novell.com http://developer-forums.novell.com/category/
index.tpt