Novell is now a part of Micro Focus

GroupWise Small Business Agent in the Novell Small Business Suite

Novell Cool Solutions: Feature
By Doug Eddy

Digg This - Slashdot This

Posted: 26 Jan 2000

This document will explain the purpose and functions of the GroupWise Small Business Agent (SBA) for the Novell Small Business Suite.


Beginning in the fall of 1997, an effort was started to integrate GroupWise into the IntranetWare for Small Business product. Typically, the GroupWise product is administered via a snap-in tool in the NetWare Administrator program (NWADMN32.EXE). However, the Small Business product discourages the use of NWADMN32, in favor of the much simpler Novell Easy Administration Tool (NEAT). Most administrative functions for Small Business can be easily performed using NEAT.

This presented the GroupWise engineers with the challenge of administering GroupWise without NWADMN32. The solution they chose was to produce a NetWare NLM that would perform many of the functions of the GroupWise snap-in to NWADMN32. This NLM is known as the GroupWise Small Business Agent (GWSBA.NLM) or SBA for short.


Fundamentally, SBA is based on the existence of Novell Directory Services (NDS) events. When a program such as NWADMN32 or NEAT makes changes to NDS, certain Directory Services (DS) event messages are generated on the network. When SBA is loaded at the NetWare Server, it continually watches for DS events and responds accordingly.

For example, when the network administrator adds a new user via NEAT, an add event is generated. SBA will detect this event and, in turn, create a new GroupWise account for the new user. Likewise, when NDS users are modified or deleted, SBA will modify (where necessary) or delete the GroupWise account. If for any reason SBA is not running (for example, if it is unloaded by mistake), and the network administrator adds (or deletes) a user via NEAT, then the corresponding DS event generated by DS will be missed by SBA.

If this occurs, the GroupWise set of users will differ from the NDS set of users, which is undesirable. SBA compensates for this potential inconsistency by periodically walking through the NDS tree and checking for objects that need to be synchronized into (or out of) the GroupWise system. This complete synchronization process always occurs when SBA is loaded, and then on a daily interval as specified by the /synctime-[hh]:[mm] startup parameter (default is midnight). This complete synchronization can also be manually invoked by the network administrator through the SBA interface by pressing F4.

It's important to remember that NEAT does not actually manage (or administer) GroupWise. Rather, NEAT allows users to manage their NDS data, and then SBA will detect these changes and make appropriate changes to the GroupWise system. In summary, SBA is a DS event-driven NLM that synchronizes GroupWise accounts with the corresponding NDS data, and also periodically checks for synchronization inconsistencies by walking the NDS tree.

Details of Operation

  • Important: the SBA is designed to operate in a single-domain, single-post office GroupWise system. SBA will execute in other GroupWise systems, but the results will be unpredictable. Any other system is not recommended or supported.

  • The GWSBA.NLM is loaded at the NetWare Server console in this manner:
    load gwsba /home=sys:\mail\gwdom

  • The /home command-line option is required. Following the pattern of the other GroupWise agents (MTA, POA), this option specifies the full path to the GroupWise Domain.

  • When SBA first executes, it will open the domain database (WPDOMAIN.DB) and find the first domain record and this domain's first post office record. This domain/post office pair is used for all operations. If other domain or post office records exist in the domain database, they are ignored.

  • The domain and post office records are not stored in sorted order. So the first record is not necessarily the highest in sort order.

  • In addition to synchronizing GroupWise accounts with NDS users, the SBA will also synchronize GroupWise distribution lists with NDS groups.

    When using NEAT, NDS user accounts utilize the full name field. By comparison, the GroupWise system uses first name and last name fields. When user accounts are synchronized by SBA, the full name field in NDS is divided into first name and last name portions prior to insertion into the GroupWise system.

    Interested administrators may want take note of the simple parsing method used by SBA which is based on the number of space breaks that exist in the NDS full name field.

    • 0 space breaks: entire text is placed in the GroupWise last name field.
    • 1 space break: text to the left of the space break is the GroupWise first name, text to the right of the space break is the GroupWise last name.
    • Many space breaks: text to the left of the last space break is the GroupWise first name, text to the right of the last space break is the GroupWise last name.

Supporting Files

The GWSBA.NLM uses the same engine NLM as the other GroupWise Agents (GWENNx.NLM - where x is the version number). The first loaded GroupWise agent will auto-load the engine NLM, and then the subsequently loaded agents (including GWSBA) will share the engine NLM.

GWSBA.NLM uses GWSBA.FIL for its message strings. At this time (NSBS version 5), only English language strings are in the message file.

GWSBA1US.HLP is the help file. Information in this file can be accessed by pressing F1 when viewing the GWSBA screen. There is a limited amount of help in this file that only describes the GWSBA user interface. References to the GroupWise Administrator Help should be ignored, since SBA was not ever documented in the GroupWise Administrator Help files.

GWSBA.NLM requires and will auto-load DSEVENT.NLM, NETNLM32.NLM, NWSNUT.NLM, CLIB.NLM.

Command-line Options

Loading SBA with the /help switch will cause the options to be displayed. These are the supported command line options:

  • /home-\\[server]\[volume]\[path]
    UNC (\\myserver\sys\mail\gwdom) or NetWare style (sys:\mail\gwdom) paths are acceptable. This option is required.

  • /synctime-[hh]:[mm]
    Daily synchronization start time in 24 hour format. As a backup to the normal event driven operation, SBA will force a synchronization between NDS and GroupWise objects every 24 hours.

  • /lang-[ US | DE | JP ]
    This option has no effect, since only English is currently available.

  • /user-[userid]
    User ID for remote connections. This is useful if the SBA is running on a server that must remotely access the domain database on another physical server. This userid is used by SBA to ?login' to the other server.

  • /password-[password]
    see /user

  • /tracelogin-[ 1 | 2 ]
    Show login results on the console screen. This is useful to view the results when using /userid and /password.

  • /noscreen
    Turns off the normal SBA screen. However, synchronization results are still displayed on the console screen.

  • Logging options:
    • /log-\\[server]\[volume]\path
    • /logdiskoff
    • /logdays-[days]
    • /loglevel-[ VERBOSE | NORMAL ]
    • /logmax-[kBytes]
    For information on the logging options, see the documentation for the other GroupWise Agents.

  • @[startupfile]
    Text file with command line options.

Known limitations

Currently the GWSBA.FIL file contains messages strings for only the English language. Versions of GWSBA.FIL prior to NSBS version 5, contained a mixed set of message strings for the Dutch and Japanese languages. When executing GWSBA.NLM with the /lang=DE or /lang=JP option, the user interface would display some text in English and some in Dutch (or Japanese). Beginning in version 5 of NSBS, the partial Dutch and Japanese strings were removed from the GWSBA.FIL file, and only English messages are now displayed.

When NDS groups are synchronized to GroupWise Distribution Lists by SBA, the GroupWise Distribution Lists that are created by SBA are not administrable via NWADMN32.EXE. It is expected that the NSBS administrator will continue using NEAT, and not NWADMN32.EXE. GroupWise Distribution Lists created by SBA are only created in the GroupWise domain and post offices and corresponding Distribution List objects are not created in NDS.

If you ever upgrade from NSBS to a full-scale GroupWise system, new GroupWise Distribution Lists should be manually created using NWADMN32.EXE. The old ones that were created by SBA can be deleted using the GroupWise View in NWADMN32.EXE.

GWSBA.NLM versions

  • InternetWare for Small Business 4.11
    (GroupWise did not ship with this product)

  • NetWare for Small Business 4.11 Rev A
    GroupWise 5.2 SP 2
    GWSBA.NLM dated 2/23/98 (requires GWENN1.NLM)

  • NetWare for Small Business 4.11 Rev B
    GroupWise 5.2 SP 3
    GWSBA.NLM dated 2/23/98 (requires GWENN1.NLM)

  • Novell Small Business Suite 5
    GroupWise 5.5 SP 1
    GWSBA.NLM dated 12/8/98 (requires GWENN2.NLM)

Q&A About this Article

Q:If I have NWSB 4.2 with GroupWise 5.2, and I decide just to upgrade GroupWise to 5.5 without upgrading the entire suite to NSBS 5, will I need to get a new SBA for GroupWise to be able to work in sync with NEAT?

A: You don't have to use the newer SBA, but we highly recommend it. The main consideration is the impact that the Small Business Agent (SBA) will have on server memory utilization. The SBA that works with GroupWise 5.2 shared the Engine NLM that the other 5.2 agents used (GWENN1.NLM). When you upgrade to GroupWise 5.5, the newer agents will use the newer Engine NLM (GWENN2.NLM). Likewise the SBA that ships with NSBS 5 uses GWENN2.NLM.

When you upgrade, the old SBA and old Engine NLM will still exist in the sys:\system directory, so when the old SBA loads (say from autoexec.ncf) the old Engine NLM will be loaded. But (here's the kicker) the new GroupWise 5.5 agents will also load the GWENN2.NLM. And since these Engine NLMs are very large (greater than 4 meg), this is seriously inefficient.

Your best bet is to use the newer SBA. One less Engine NLM is placed in server memory if the newer SBA is used.

Q:If I have NWSB 4.2 and I installed GroupWise and then I bought NSBS 5 and upgraded to GroupWise 5.5, will the new SBA be installed in the upgrade process?

A: Yes.

Q: If I had IntranetWare for Small Business and I purchased and installed GroupWise 5.2, would I be able to have my changes in NEAT synchronize with NDS and GroupWise?

A: Nope. SBA wouldn't be present, since it wasn't part of IntraNetWare for Small Business.

Q: If an admin does a custom install in NSBS 5 and creates two volumes, can they install GroupWise on a different volume and still have everything working with NEAT and SBA?

A: Yes, everything will work just fine if you make some adjustments like that. Defaults are not assumed; there are no hard-coded paths in either NEAT or SBA.

Download newest GWSBA

For your convenience, here are the files you will need in order to use the newest SBA. They include:


The files should be unzipped into SYS:SYSTEM on the NWSB 4.2 Server after GW 5.5 has been installed. These files will replace the ones that shipped with NWSB 4.2 for use with GW 5.2. The files are not localized, so the English version can be used on any language version of NWSB 4.2 with any language version of GW 5.5.

Download now.

About the Author

Doug is a Senior Software Engineer on the Novell Small Business Suite development team. He has been working in the industry for 15 years, and 10 of those years (and counting) have been spent at WordPerfect and Novell. He has an MS in Computer Science from BYU.

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

© Micro Focus