Www.novell.com Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer...

Preview:

Citation preview

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

Recommended