Novell is now a part of Micro Focus

GroupWise XTD APIs and Beyond: A BrainShare Preview

Articles and Tips: article

GroupWare Technical Writer
GroupWare Division

GroupWare Technical Writer
GroupWare Division

GroupWare Technical Editor
GroupWare Division

Product Line Manager
GroupWare API Tools

01 Feb 1996

At BrainShare in March, Novell GroupWare experts will present several GroupWise sessions, including sessions on GroupWise 4.1 and the Word Wide Web, the GroupWise XTD Information Store, and the GroupWise Object API. The GroupWise XTD will include a rich development environment, providing you tools such as the Object API to integrate your solution and GroupWise. Your solution and GroupWise XTD will share information, and you can modify the client interface to display and run your solution. This DevNote offers a preview of GroupWise information to be presented at BrainShare.

BrainShare Sessions

Don't miss Novell GroupWare experts presenting thefollowing March, 1996 Brainshare sessions:

  • Create Customized Solutions with GroupWise 4.1 Using the Worldwide Web and Other API Standards

  • Achieving More with MAPI 1.0 on the GroupWise XTD Development Platform

  • Achieving More than Just a Pretty Inter face with GroupWise XTD Components

  • Creating Groupware Applications Using InForms 4.1

  • Presenting GroupWise XTD Information Store

  • Information Management Solutions in a New World: Novell GroupWise Object API

  • Customer Tracking System, A GroupWise XTD Custom Application

  • Common Messaging Calls/Calendar Scheduler API (CMC/CSA): Access GroupWise from PDAs, TVs, and the Internet

  • Net2000 and GroupWise, An Overview


GroupWise XTD will include a rich development environment, providing you tools such as the Object API to integrate your solution and GroupWise. Your solution and GroupWise XTD will share information and you can modify the client interface to display and run your solution. The following table shows GroupWise XTD development tools and components.

GroupWiseComponents and Associated Standard Interfaces
OLE Automation

Component Handler



Object API




Custom 3rd Party Objects (C3POs)









Address Book UI



AddressBook MAPI Services Provider Interface



Name Completion Control



Sticky Notes


Conversation Place


Extensible Calendar Printing





Third-PartyDLL Token Access


MTA MessageTracking and Transport Extensions


NDS SchemaExtensions via NDS API


GroupWise4.1 CMC/CSA Server-Based API


(The GroupWise XTD API Gateway will provide a migration path for GroupWise 4.1 API Gateway users.)

GroupWise XTD development tools will let you:

  • Create a GroupWise C3PO component. See "GroupWise Component Handler."

  • Create a C3PO that sets and accepts a weekly appointment. See "C3POs."

  • Modify Address Book to act and look in other e-mail as in GroupWise. See "Address Book UI."

  • Create an electronic In/Out Board. See "Object API."

  • Find and call a co-worker's unknown number. See "Conversation Place."

  • Create an electronic reminder note. See "Sticky Notes."

  • Divert selected incoming phone calls. See "Notify."

  • Allow more Task display space than GroupWise Calendar views do. See "Extensible Calendar Printing."

  • Add a Priority field to Send and Receive Mail views. See "GroupWise Macros."

  • Condense "Create a new mail item" into the token NewMail. See "GroupWise Tokenization."

  • Retrieve managed documents to a productivity application. See "ODMA."

  • Send a network management program report to a co-worker. See "MAPI."

  • Open Address Book from another e-mail user interface (UI). See "Address Book MAPI Service Provider."

  • Create a Frequent Contact list you can access from another email UI. See "Address Book MAPI Service Provider."

  • Create a DLL to query databases instead of opening SoftSolutions Attach File. See WOAPI.

  • List unread or selected messages. See "CMC/CSA."

  • Provide easy access to your intranet Uniform Resource Locators (URLs). See "NDS Schema Extensions."

  • Let GroupWise and other e-mail users communicate. See "API Gateway."

  • Analyze MTA-to-MTA link performance. See "MTA."


Components work together like a crew. The GroupWise Component Handler will be like a crew foreman. Although the Component Handler does component work, it mainly oversees and connects components to deliver their services to the client. As a foreman hires and evaluates, the Component Handler supervises GroupWise component creation and authenticates objects.

Custom Third-Party Objects (C3POs) will be able to modify the GroupWise XTD information store and client interface. Address Book and Name Completion Control will be wrapped as OLE Custom Controls (OCXs) you can drop in your solution from:

  • Delphi* 32-bit

  • Borland* C++ 4.5

  • Borland C++ 5.0

  • MSVC++ 2.x

  • Visual Basic* 4.0

Figure 1: GroupWise Client API building blocks.

Components access GroupWise XTD objects using COM, OLE Automation, and scripting from Windows. Post-GroupWise XTD plans include Mac OS access. The Component Handler andObject layers form a GroupWise component interface.

Object API

The Object API will let your solution access GroupWise Mail Message, Document, Appointment, Task, Note, and Phone Message information. The Object API also executes C3PO functions. The Object API does not include a user interface besides a login dialog box because it operates on top of the information store in back of the client.

Primary Use Building GroupWise components.

Example You can create a C3PO to act as a computerized In/Out Board. Use the Object API to provide the C3PO access to the GroupWise information store.

GroupWise Component Handler

The GroupWise Component Handler consists of service and requestor objects and the IGWSession, IGWAccount, and IGWAccountEnumerator COM interfaces. The handler uses COM interfaces to authenticate files and regulate document profiles.

Primary Use Performing authentication functions for GroupWise components.

Example You want to create a GroupWise component for a C3PO. The handler authorizes you to do so by logging you in.


Custom 3rd-Party Objects (C3POs) are interfaces that extend GroupWise functions and make GroupWise XTD a full-blown object store. C3POs use object-oriented programming to build unique data types. You can use GroupWise components as OLE servers and add them as GroupWise client menu items to run your code. Your C3PO will look like a GroupWise client feature. C3POs will replace GroupWise 4.1 custom commands and messages. They inherit all message abilities, granting you greater access to GroupWise events. You can enhance GroupWise XTD events such as application startup and shutdown, message delivery, opening, acceptance, and decline. C3POs also let your message-type icon appear in the In Box. For example, you can use an icon for company meetings and another for other appointments.

Primary Use Extending GroupWise objects and functions appearing in the client interface.

Example You can create a C3PO that automates setting and accepting a weekly appointment.

Address Book UI

The Address Book user interface lets you use MAPI service providers from an interface similar to GroupWise.

Primary Use Centralizing user selection.

Example You want the Address Book user interface to appear and act in other e-mail as it does in GroupWise.

Conversation Place

Conversation Place automates telephone use. Users can call knowing only a name because Conversation Place uses Address Book to find and dial a number. With Conversation Place, you can conference and forward calls. Conversations can consist of calls on separate lines. Users can add or remove callers.

Primary Use Automating telephone communication.

Example You want to call a co-worker but cannot remember the number.

Sticky Notes

GroupWise Sticky Notes are like paper scraps applied to your computer. Users can attach a conspicuous note to a GroupWise message and send it to another user. GroupWise has two Sticky Note interfaces:

  • Note Container-anything such as an application you can stick notes to.

  • Note Handler-lets an application process Sticky Notes.

Primary Use Messaging.

Example A co-worker sends you a message outlining a project management plan. You create a Sticky Note, typing "Your thoughts?" on it, then send the message and attached Sticky Note to others for their feedback.


Notify helps users process received messages. Users can select visual and audio alarm and mail indicators. Notify shows sender and message information such as topic, time sent, and size. Notify also lets users formulate response on item type and content.

Primary Use Processing received messages.

Example You can refuse calls from specified people and transfer them to another number.

Extensible Calendar Printing

This component lets users modify the GroupWise View Editor to print a customized GroupWise calendar.

Primary Use Printing GroupWise calendars.

Example You can enlarge your calendar Tasks section.


The API Gateway and Common Messaging Calls/Calendar & Scheduling API (CMC/CSA) will operate independently of GroupWise XTD.

API Gateway

As in GroupWise 4.1, the text-based, file format API Gateway will access information like a server. Administration will move to Novell Directory Services (NDS), reducing gateway administration.

The API Gateway lets you insert and extract GroupWise messages. You create header files describing mail messages, then place them in a directory. GroupWise scans this directory for files to convert to mail messages. The gateway posts messages to another directory for conversion and transmission to another e mail.

Primary Use Messaging between GroupWise and other e-mail.

Example You can send messages back and forth to other users.


When vendors of alternative client interfaces such as Personal Digital Assistants, TV set-tops, and Internet browsers create server applications that communicate with a NetWare Loadable Module (NLM) or OS/2* server, a CMC/CSA server API will connect you to the information store.


As a standardized, high-level interface, the Open Document Management API (ODMA) operates between applications and a document management system (DMS). ODMA consists of specifications for applications using a DMS. ODMA creators intend vendors to incorporate ODMA easily in application updates.

Primary Use Using document management systems.

Example You can access a document group from a productivity application.


GroupWise 4.1 provides Messaging API (MAPI) support as shown in Figure 2.

Primary Use Messaging.

Example You can send network usage reports from a management application using a script and MAPISendDocuments( ) instead of pasting to a mail message.

Address Book MAPI Service Provider

The Address Book MAPI Service Provider consists of System and Personal Address Book Service Providers. Components let users access Address Book.

Primary Use Accessing Address Book.

Examples You can use your Address Book from another e-mail user interface or create a frequent-contact GroupWise users list accessed from another e-mail user interface.

Figure 2: MAPI support.


The GroupWise Open API for Windows (WOAPI) lets your DLL join a series called the GroupWise third-party DLL chain. As GroupWise opens, it loads chain DLLs too. GroupWise passes commands to chain DLL entry points. Processing stops when a DLL indicates it processed the command.

Primary Use Monitoring the GroupWise token stream.

Example You can create a DLL that opens a database query instead of Attach File.


The Common Messaging Calls/Calendar & Scheduling API (CMC/CSA) is a server interface to the GroupWise information store that requires a GroupWise domain access point. Use CMC/CSA to implement clients such as Personal Digital Assistants, TV-set tops, and two-way pagers. This API uses CMC 1.0 and CS 1.0 call extensions to support the Universal Mailbox, Out Box, and all available GroupWise message types. GroupWise 4.1 includes the CMC/CSA.

Primary Use Messaging and scheduling.

Example You can retrieve an unread or selected message list using CMC_LIST.


The Message Transfer Agent (MTA) moves messages between post offices. An optional logging subsystem lets you add features such as message billing, tracking, and statistics. As the MTA transfers messages, it stores collected information in a database. You can access, update, and control database contents, and produce enhanced messaging features on demand using the MTA logging API. You can also extend the MTA using the MTA extension interface.

Primary Use Transferring messages.

Example You can create a statistical application to analyze MTA-to-MTA links.

NDS Schema Extensions

The NetWare Directory Services (NDS) schema accommodates object classes and attributes that NDS uses. To store GroupWise information in NDS, GroupWise installation adds schema classes such as GroupWise Resource and GroupWise Server.

Primary Use Manipulating added NDS information.

Example You can create a schema extension that includes user URLs in NDS records.


Dynamic Data Exchange (DDE) allows Windows applications to communicate. GroupWise acts as a DDE server by letting applications send it DDE channel commands; GroupWise executes the commands.

You need to know the text strings GroupWise uses for application, topic, and item names. In addition, you should know what advise loops are supported and how error conditions are handled.


As a tokenized application, GroupWise condenses a low-level event such as "Create a new mail item" into a token such as NewMail. Tokenization lets applications work together.

Primary Use Integrating applications.

Example You can condense Create a new mail item" into the token NewMail.

GroupWise Macros

GroupWise XTD product commands let you script tasks. You can write and play macros to automate complicated tasks in multiple applications and add macros as user interface objects such as a GroupWise C3PO or view button. GroupWise XTD documentation will update you on added, deleted, and modified product commands. You can access macros through:

  • WOAPI ShellExecute or WinExec.

  • View startup macros.

  • View macro buttons.

  • OLE Automation tools such as Delphi and Visual Basic.

Primary Use Customizing a GroupWise view. Example You can display a Mail view Priority field.

* Originally published in Novell AppNotes


The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates