Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer...
-
Upload
scott-oliver -
Category
Documents
-
view
224 -
download
1
Transcript of Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer...
![Page 1: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/1.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/2.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/3.jpg)
![Page 4: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/6.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/7.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/8.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/9.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/10.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/11.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/12.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/13.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/14.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/15.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/16.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/17.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/18.jpg)
![Page 19: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/19.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/20.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/21.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/22.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/23.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/24.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/25.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/26.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/27.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/28.jpg)
Summary
![Page 29: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/29.jpg)
Language ?
![Page 30: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/30.jpg)
.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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/31.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/32.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/33.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/34.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/35.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/36.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/37.jpg)
Context
![Page 38: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/38.jpg)
Commands
![Page 39: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/39.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/40.jpg)
Summary
![Page 41: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/41.jpg)
Language ?
![Page 42: Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc. devsup@novell.com.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/42.jpg)
.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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/43.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/44.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/45.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/46.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/47.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/48.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032612/56649ecf5503460f94bdc2c3/html5/thumbnails/49.jpg)