GroupWise WebAccess: It's Everywhere Users Want to Be
Articles and Tips:
01 Aug 1997
Figure 8.Multiple GroupWise WebAccess CGI programscan access a single GroupWise WebAccess Interface.
Because today's users often travel or telecommute from home, they mustbe able to access their e-mail messages from any location at any time. Ifyour company uses Novell's GroupWise, you can use the GroupWise WebAccessgateway to provide users with access to the information they need, whetherthey are at your company's main office, at a branch office, at home, oron the road. (Novell also provides a GroupWise WebAccess solution for GroupWise4.1.)
With GroupWise WebAccess, users can access their GroupWise 5 universalmailbox through a World-Wide Web (WWW) browser that supports HyperText MarkupLanguage (HTML) 1.0. As a result, users can choose any workstation platformthey prefer, including Windows NT Workstation, Windows 95, Windows 3.1,Macintosh, and UNIX.
Instead of launching the GroupWise 5 client, users use their browserto access the GroupWise WebAccess home page on your company's intranet orInternet site. Users then enter their GroupWise 5 username and passwordand click the Login button to access their GroupWise 5 universal mailbox.
The GroupWise WebAccess interface is intuitive, and users can accessmost of the features available with the GroupWise 5 client. For example,users can complete the following tasks:
Read and send e-mail messages
Keep track of personal appointments, tasks, and notes
Schedule meetings and find out if other users accept or decline invitations to these meetings
Assign tasks to other users and track the status of these tasks
View text files and attachments that comply with the Multipurpose Internet Mail Extensions (MIME) standard
Send Internet e-mail messages with the GroupWise SMTP/MIME Gateway
Send fax messages with the GroupWise Fax Gateway
Send messages to numeric or alphanumeric pagers with the GroupWise Pager Gateway
Listen to voice-mail messages with the GroupWise PhoneAccess gateway
Although GroupWise WebAccess supports most GroupWise 5 messaging andscheduling features, some features are available only to users using theGroupWise 5 client. (See "Features UnavailableThrough GroupWise WebAccess".)
Rather than explain how to use each GroupWise 5 feature, this articleprovides the information you need to determine if GroupWise WebAccess isa useful solution for your company: This article describes how GroupWiseWebAccess works and explains how you can use GroupWise WebAccess to extendGroupWise 5 services to users via the Internet or a branch office. Thisarticle also outlines the GroupWise WebAccess installation process. (See "Installing GroupWise WebAccess".)
HOW GROUPWISE WEBACCESS WORKS
From a user's perspective, accessing GroupWise WebAccess is as simpleas entering a uniform resource locator (URL) into a browser and then viewingthe GroupWise WebAccess home page. To provide users with this seamless access,your company's network or intranet must include the following:
A GroupWise 5 server
A GroupWise 5 domain and post office
A WWW server that supports GroupWise WebAccess
GroupWise WebAccess, which consists of two components, the GroupWise WebAccess Common Gateway Interface (CGI) program and the GroupWise WebAccess Interface
The GroupWise WebAccess CGI program runs on the WWW server, and the GroupWiseWebAccess Interface runs on IntranetWare, NetWare 4.1x, or Windows NT Server4.0 or higher.
You can install both the GroupWise WebAccess CGI program and the GroupWiseWebAccess Interface on one server, which is called the one-box solution.You can also install each component on a different server, which is calledthe two-box solution. (These installation options will be discussed laterin the article.)
When a user sends a request through GroupWise WebAccess, this requestfollows the steps listed below. (See Figure 1.)
Figure 1: A user's browser sends a request to GroupWise WebAccess, which processes the request and returns the reply to the user's browser.
The user's browser sends a request to the WWW server that runs the GroupWise WebAccess CGI program.
The WWW server passes the request to the GroupWise WebAccess CGI program.
The GroupWise WebAccess CGI program sends the request to the GroupWise WebAccess Interface, which, in turn, sends the request to the GroupWise 5 server.
The GroupWise 5 server processes the user's request by accessing the necessary GroupWise 5 domains and post offices and sends the results of the request to the GroupWise WebAccess Interface.
The GroupWise WebAccess Interface sends these results to the GroupWise WebAccess CGI program.
The GroupWise WebAccess CGI program formats the results as an HTML document and forwards this document to the WWW server, which sends the document to the user's browser.
The WWW Server
The URL that a user enters to access GroupWise WebAccess points to astatic page on a WWW server. This static page can be the WWW server's homepage or, more likely, one of many pages on the WWW server.
If the static page is not the WWW server's home page, you must createa link to the static page on your company's intranet home page or on anotherprominent page on your company's intranet site. Users then click this linkto access the static GroupWise WebAccess page.
This first page is the only static page that users access. The GroupWiseWebAccess CGI program generates all other pages dynamically.
If you install support for multiple languages, a button for each languageappears on the GroupWise WebAccess home page. Users can select the languagethey want to use by clicking the appropriate button.
When a user selects a language, the WWW server sends a message to theGroupWise WebAccess CGI program, which dynamically generates a login screenin the appropriate language. (See Figure 2.)After the user enters a GroupWise 5 username and password, GroupWise WebAccesstries to authenticate the user. If the user is authenticated, the GroupWiseWebAccess Main Menu appears. (See Figure 3.)
Figure 2: The GroupWise WebAccess login screen
Figure 3: The GroupWise WebAccess CGI program dynamically generates the GroupWise WebAccess main menu.
After providing the static GroupWise WebAccess page, the WWW server's only function is to pass the user's requests to the GroupWise WebAccessCGI program and to return the HTML documents generated by this program tothe user.
The GroupWise WebAccess CGI Program
The GroupWise WebAccess CGI program performs two important functions:
Sends a request from a user's browser to the GroupWise WebAccess Interface
Formats the results of the request into an HTML document
For example, suppose that a user clicked the In Box button on the GroupWiseWebAccess Main Menu. (See Figure 3.) The GroupWiseWebAccess CGI program would request the contents of the In Box from theGroupWise WebAccess Interface. When the GroupWise WebAccess Interface returnedthe results--the contents of the In Box--the GroupWise WebAccess CGI programwould format these results into an HTML document. (See Figure 4.)
Figure 4: The GroupWise WebAccess CGI program dynamically creates a new HTML document for each request.
The GroupWise WebAccess CGI program uses templates to speed up the processof building HTML documents. After receiving data from the GroupWise WebAccessInterface, the GroupWise WebAccess CGI program places this data in a template.You can customize this template to add features such as a corporate logoor links to important pages on your company's intranet site. (For more informationabout customizing templates, see "Customizingthe GroupWise WebAccess User Interface".)
The GroupWise WebAccess Interface
The GroupWise WebAccess Interface performs all of the functions thatthe standard GroupWise 5 client performs, including reading from, writingto, and searching the GroupWise 5 database. Communication between the GroupWiseWebAccess CGI program and the GroupWise WebAccess Interface is efficientand secure. When responding to a user's request, the GroupWise WebAccessInterface sends raw data (in an encrypted form) to the GroupWise WebAccessCGI program, conserving bandwidth on the cable between the GroupWise WebAccessInterface and the GroupWise WebAccess CGI program.
In contrast, the communication between the GroupWise WebAccess Interfaceand the GroupWise 5 database, although just as secure, uses much more bandwidth.This communication uses more bandwidth because fulfilling a user's requestoften requires multiple queries of the GroupWise 5 database.
As mentioned earlier, you can install GroupWise WebAccess in severalconfigurations. If you choose the one-box solution--installing the WWW server,the GroupWise WebAccess CGI program, and the GroupWise WebAccess Interfaceon one server--you increase the processing speed. Because all of the GroupWiseWebAccess components reside on the same server, they can communicate throughthe server's high-speed internal bus, rather than over the network. Thissolution is also more convenient since you must configure and maintain fewerservers.
If you have a server with sufficient resources, you can install the WWWserver, the GroupWise WebAccess CGI program, the GroupWise WebAccess Interface,the GroupWise 5 server, and the GroupWise 5 database on the same server.However, this configuration is probably not practical since the server couldbecome a bottleneck if the WWW server or the GroupWise 5 database receiveda large number of requests.
You can also install the GroupWise WebAccess components on separate servers:The WWW server and the GroupWise WebAccess CGI program run on one server,and the GroupWise WebAccess Interface runs on another server. You can installthe GroupWise WebAccess Interface on any server on your intranet, as longas the GroupWise WebAccess Interface and the GroupWise WebAccess CGI programcan communicate. In general, however, you should install the GroupWise WebAccessInterface near or on the server that runs the GroupWise 5 server. (The nextsection explains two-box solutions in more depth.)
Because the GroupWise WebAccess components communicate via TCP/IP, youmust enable TCP/IP on the servers that hold these components. You must alsoensure that your company's network or intranet supports TCP/IP between thetwo servers.
A SOLUTION FOR EVERY COMPANY
Because GroupWise WebAccess has a modular architecture, you can customizeit to meet the needs of your users and your company's network or intranet.For example, you can configure GroupWise WebAccess to provide users withaccess to their GroupWise 5 universal mailbox from a variety of locations.You can also configure GroupWise WebAccess to ensure that GroupWise 5 communicationsremain secure and use the least amount of bandwidth.
GroupWise WebAccess From Your Company's Main Office
You can use GroupWise WebAccess to improve communications within yourcompany. For example, you could use GroupWise WebAccess in the followingways:
Because GroupWise WebAccess requires a browser that is only HTML 1.0 compliant, users can use older computers as GroupWise WebAccess terminals. For example, instead of retiring 386- and 486-based computers, you could set up GroupWise WebAccess terminals throughout your office, such as in the lunch room, break room, or lobby.
Users who have Macintosh or UNIX workstations (which are not yet supported by GroupWise 5) can access your company's GroupWise 5 system through a browser.
Users who do not have a permanent workstation (such as temporary employees or interns) can access your company's GroupWise 5 system.
These solutions provide access to users within your company's firewall.Whether you choose a one- or two-box solution depends on your availableresources and network configuration.
GroupWise WebAccess From the Internet
If your company's network or intranet is connected to the Internet, youcan enable users to access their GroupWise 5 universal mailbox from homeor from the road. With GroupWise WebAccess, you can grant access to Internetusers and still protect your company's intranet: You place your WWW serverand the GroupWise WebAccess CGI program outside your company's firewalland place the GroupWise WebAccess Interface inside this firewall. (See Figure 5.)
Figure 5: By placing the GroupWise WebAccess Interface and the GroupWise 5 server inside your company's firewall, you can protect your company's network or intranet from unauthorized access, while providing authorized users with access to their GroupWise 5 universal mailbox from a private WAN link or an Internet connection.
You then configure the firewall to allow communication to the GroupWiseWebAccess Interface only from the GroupWise WebAccess CGI program. Sinceonly the GroupWise WebAccess CGI program can send messages across the firewall,the network inside the firewall remains secure, and users can easily accesstheir GroupWise messages via the Internet.
GroupWise WebAccess From a Branch Office
If you have a branch office, you can use GroupWise WebAccess to enableusers at the branch office to easily communicate with users at the mainoffice--without having to install a complete GroupWise 5 system at the branchoffice. In the following example, the connection between the main officeand the branch office can be either a private WAN link or an Internet connection.
To configure GroupWise WebAccess for a branch office, you could use aconfiguration similar to that shown in Figure 6. Users in the branch office could then enter a URL to access the WWW serverat the main office. However, this configuration would not be the most efficientuse of the bandwidth between the main office and the branch office. As mentionedearlier, the most efficient communication (using the least bandwidth) isbetween the GroupWise WebAccess CGI program and the GroupWise WebAccessInterface. To take advantage of this efficient communication, you shouldset up a WWW server at the branch office and install the GroupWise WebAccessCGI program on the same server.
Figure 6: With GroupWise WebAccess, you can easily provide users at a branch office with access to your company's GroupWise 5 system.
Moving the WWW server to the branch office would accomplish the followingthings:
GroupWise WebAccess would use the least amount of bandwidth necessary across the interoffice connection.
Users at the branch office would experience faster response times because all of the graphics used by GroupWise WebAccess are stored on the local WWW server and do not have to travel across the interoffice connection.
You could provide GroupWise 5 access for users at multiple branch offices without having to reconfigure the network at the main office (except for configuring the firewall to allow messages from the branch offices into the home office).
Eliminating Bottlenecks on Your GroupWise 5 Configuration
You can also configure several WWW servers to simultaneously use a singleGroupWise WebAccess Interface. (See Figure 7.)By default, the GroupWise WebAccess Interface handles only six threads--thatis, six simultaneous requests. However, you can use Novell's NetWare Administrator(NWADMIN) utility to increase the number of threads to 32.
Figure 7: Multiple GroupWise WebAccess CGI programs can access a single GroupWise WebAccess Interface.
If you increase the number of threads and find that the GroupWise WebAccessInterface is still a bottleneck, you can add more GroupWise WebAccess Interfacesto your network. If you were to add a second GroupWise WebAccess Interfaceto your company's network or intranet, you would need to reconfigure someGroupWise WebAccess CGI programs to use the new GroupWise WebAccess Interface.
GroupWise WebAccess brings users a new dimension of accessibility byallowing them to access their GroupWise universal mailbox from virtuallyanywhere in the world. In addition, at BrainShare Salt Lake '97, Novelldemonstrated a Java-based client for GroupWise WebAccess. This client willmake accessing the GroupWise 5 system via a browser easier and will supportmore of the features now available only with the standard GroupWise 5 client.
You can download a free evaluation copy of GroupWise WebAccess from http://www.novell.com/groupwise/html/webform.html.You can also try GroupWise WebAccess free for 30 days by registering at http://webaccess.novell.com.
For more information about GroupWise WebAccess, visit Novell's WWW site (http://www.novell.com/groupwise/html/webaccess.html). You can also call 1-800-NETWARE or 1-801-861-5588.
Terry L. Jeffress works for Niche Associates, an agency that specializesin writing and editing technical documents. Niche Associates is locatedin Salt Lake City, Utah.
NetWare Connection, August 1997, pp.6-20
Features Unavailable Through GroupWise WebAccess
GroupWise WebAccess provides most of the features available with the standard GroupWise 5 client. However, the following features are available only with this client:Archive messages
Customize the button bar
Calendar week and year views
Preferences (except password and number of messages displayed)
Resend a message
Reschedule an appointment
Selecting public and personal groups from the GroupWise address book
Selecting resources from the GroupWise address book
Send options, such as Priority and Reply Requested
Text fonts and attributes
Writing tools, including spellcheck, thesaurus, Grammatic, and QuickCorrect
Installing GroupWise WebAccess
Before you install GroupWise WebAccess, you must first install a GroupWise 5 server, configure a GroupWise 5 domain and post office, and install a World-Wide Web (WWW) server that supports GroupWise WebAccess. You must also configure the servers on which the WWW server and the GroupWise WebAccess Interface will reside to run TCP/IP. If your company's network or intranet meets these requirements, you can install GroupWise WebAccess, which involves three major steps:
Install the GroupWise WebAccess software.
Create the GroupWise WebAccess gateway.
Configure the WWW server.
Because the exact installation procedures vary from one platform to another, this sidebar does not provide step-by-step instructions for installing GroupWise WebAccess. Instead, this sidebar explains the main installation objectives and the decisions you must make at each step.
INSTALLING THE GROUPWISE WEBACCESS SOFTWARE
To install the GroupWise WebAccess software, you run the DOS-based installation program from the GroupWise WebAccess CD-ROM (or from the directory in which you installed the evaluation copy of GroupWise WebAccess). You run this installation program no matter which platforms or configuration options you choose. After running the installation program from a workstation, you must specify the following information:
The platform on which you want to install the GroupWise WebAccess Interface (IntranetWare, NetWare 4.1 or higher, or Windows NT Server 4.0 or higher)
The platform on which you want to install the GroupWise WebAccess CGI program (depending on your WWW server, IntranetWare, Sun Solaris 2.3, SunOS 4.13, or Windows NT Server 4.0 or higher)
The various directories in which you want to install the GroupWise WebAccess software
The installation program then copies all of the necessary files to the appropriate locations on your company's network or intranet.
CREATING THE GROUPWISE WEBACCESS GATEWAY
After you have installed the GroupWise WebAccess software, you must create a gateway in the GroupWise 5 domain database. This gateway enables the GroupWise WebAccess components to communicate with the GroupWise 5 database through a GroupWise 5 server.
You use Novell's NetWare Administrator (NWADMIN) utility to create the GroupWise WebAccess gateway. Creating this gate-way is similar to creating other gateways, with one major exception: You must specify the IP address of the server that will run the GroupWise WebAccess Interface. This IP address tells the GroupWise 5 server how to contact the GroupWise WebAccess Interface.
After you create the GroupWise WebAccess gateway, you can also specify which users can access their GroupWise 5 universal mailbox via GroupWise WebAccess. By default, all GroupWise 5 users have rights to use GroupWise WebAccess. Using the NWADMIN utility, you can grant or deny users, post offices, and domains the rights to access the GroupWise 5 database from GroupWise WebAccess.
CONFIGURING THE WWW SERVER
In addition to creating the GroupWise WebAccess gateway, you must configure the WWW server in the following way to communicate with GroupWise WebAccess:
You must configure the WWW server to communicate with the GroupWise WebAccess Common Gateway Interface (CGI) program. This step usually involves modifying the WWW server's configuration files to recognize the new CGI program.
You must ensure that users have an entry point into GroupWise WebAccess. If the WWW server's only function is to provide an entry point for GroupWise WebAccess, the installation program designates the GroupWise WebAccess page as the WWW server's home page. Otherwise, you must create a link from the WWW server's existing home page or another existing page to the GroupWise WebAccess page.
After you install the GroupWise WebAccess software, create the GroupWise WebAccess gateway with the NWADMIN utility, and configure the WWW server, users can access their GroupWise 5 universal mailbox using any browser that supports HyperText Markup Language (HTML) 1.0.
Customizing the GroupWise WebAccess User Interface
Would you like to change some aspect of the GroupWise WebAccess user interface? Maybe you don't like the earth graphic that appears on the login pages. Or maybe you don't like the icon for the Send button or the image map on the main menu. With most applications, you cannot change the interface, even if you don't like it.
If you don't like the GroupWise WebAccess user interface, however, you can change it. In addition to making minor changes such as choosing a new text font or color, you can completely redesign the GroupWise WebAccess user interface. You can make any of the following changes:
Add your company logo to the opening page (or even add your company logo to every page)
Modify or replace the graphics
Modify or add help pages
Redesign the layout and content of pages to suit your company's needs
To make most minor changes, all you need is a good understanding of HyperText Markup Language (HTML). To make substantial changes, you also need some programming experience.
THE GOOD NEWS
To create the HTML pages that users see, the GroupWise WebAccess Common Gateway Interface (CGI) program uses templates and graphics stored in a special directory on the World-Wide Web (WWW) server. (If you are using Novell Web Server 3.1, the English versions of these files are stored in SYS:\WEB\CGI-BIN\GW5\US\HTML1.) If you change the templates or graphics in this directory, you change what users see when they use GroupWise WebAccess. For example, if you wanted to change the graphic for the Exit button, you would complete the following steps:
Locate the filename of the existing Exit button: BGLOGOUT.GIF. (In most browsers, you can find the graphic's filename by right-clicking the graphic.)
Use a graphics application to modify the graphic or to create a new graphic.
Save the new graphic with the same filename as the original.
Replace the old graphic with the new graphic in the GroupWise WebAccess template directory.
You can follow these steps to customize every GroupWise WebAccess graphic, changing the look of the entire user interface.
THE BAD NEWS
Although replacing graphics is easy, changing the layout and structure of the GroupWise WebAccess pages is more complicated. The GroupWise WebAccess template directory contains 33 files that appear to be standard HTML files because they have the .HTM extension. These files do contain HTML commands, but they also contain additional commands that are interpreted by the GroupWise WebAccess CGI program. For example, the following is an excerpt from the MSGLIST.HTM file:
<body><h4> <SET a = Msg-Count><DEC a> <b> <a href="/cgi-bin/GW5/<DISPLAY LANG>/GWWEB.EXE?CLOSE- BOX&MORE=&DISPLAY More>CONTEXT=<DISPLAY Context>FOLDER-DRN=<DISPLAY Folder-Drn>FOLDER-EXT="DISPLAY Folder-Ext."SHOW= "ESCAPEURL"<img src="/cgi-bin/GW5/<DISPLAY LANG>/GWWEB.EXE?HTMLVER= <DISPLAY HtmlVer>GET=GIF/GBMAIN.GIF" alt="[Main] " border=0 align=middle</a>
Before this text is sent to the user's browser, the GroupWise WebAccess CGI program scans the text for the GroupWise WebAccess commands. This particular example shows the DISPLAY command in several places. The GroupWise WebAccess CGI program replaces all DISPLAY commands with the value of the variable listed with the DISPLAY command. In all, the GroupWise WebAccess CGI program interprets nine commands: IF, /IF, ELSE, SET, INC, DEC, DISPLAY, WHILE, /WHILE.
Two other challenges make customizing the GroupWise WebAccess user interface more difficult:
The HTML document the user sees is often created from more than one template. For example, to display the contents of the user's InBox, the GroupWise WebAccess CGI program starts with the MSGLST.HTM file, adds one MSGDSPL.HTM file for each message in the user's InBox, and completes the page by adding the MSGEND.HTM file. Because the GroupWise WebAccess CGI program looks for files by specific filenames, any files you modify must have the same filename as the original.
If you want to display data from the GroupWise 5 database, you must learn how to construct database requests using the correct syntax.
With these challenges, customizing the GroupWise WebAccess user interface might seem daunting, but even beginning programmers should be able to follow the logic of the template files. As a result, customizing the GroupWise WebAccess pages is mostly a tedious process of constructing all of the CGI requests.
For more information about customizing the GroupWise WebAccess user interface, see "WebAccess Customization Guide," which is available from the Novell Support Connection WWW site (http://support.novell.com). (To find "WebAccess Customization Guide," search for document number 2913087 by clicking the Search button and entering 2913087 in the Novell Knowledge Base field on the Search page. Although this document was written for GroupWise 4.1 WebAccess, most of the information also applies to GroupWise 5 WebAccess.)
AND FOR THE REALLY DARING . . .
If you are looking for a challenge, you can write your own Java applets that request GroupWise 5 data and present that data in its own format. For example, you could write a Java applet that would display a calendar page for the current month and all of the user's tasks and assignments. You probably don't want to get too carried away, however: Novell will be releasing its own Java-based GroupWise WebAccess client with the next release of GroupWise.
* Originally published in Novell Connection Magazine
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.