GroupWise WebAccess uses templates that facilitate access to the GroupWise mailbox from many different devices. Think of templates as a skeleton document that the WebAccess application stuffs the data into before displaying it to the connected client's device. This data is from the user's mailbox and is delivered to the WebAccess application from the WebAccess agent. If you are using a wireless phone to access your GroupWise mailbox through WebAccess, the application recognizes the type of device it is communicating with. As a result, when the data is received from the user's mailbox, the application will place this data (the mail items, for example) into a template that has been designed to work with wireless phones using the wireless access protocol (WAP). The use of templates at the application level allows Novell development engineers to easily add support for additional devices. No coding changes need to occur at the agent level. The WebAccess templates are stored on the web server. On a typical NetWare 6.5 server running an Apache Web server and the Tomcat servlet gateway, the templates are found in the following location: SYS:tomcat\4\webapps\ROOT\WEB-INF\classes \com\novell\webaccess\templates On a typical installation on a SUSE Linux/NetWare OES Linux Kernel server running an Apache Web server and the Tomcat servlet gateway, the templates are found in the following location: /var/opt/novell/tomcat4/webapps/gw/WEB-INF/classes /com/novell/webaccess/templates Out-of-the-Box Templates Included in GroupWise 7The templates that ship with GroupWise 7 support the following devices or browsers:
If you were to look at the template directories, you would note the following directories:
These are all the templates that currently ship with GroupWise 7, but as WebAccess supports more client types, there will be more templates. Managing Templates Through the GroupWise WebAccess ObjectThere are a few things that you as an administrator can configure regarding templates. You administer the GroupWise templates by accessing the properties of the GroupWise WebAccess object in ConsoleOne. From the Application property page, shown in Figure 24.1, select Templates from the drop-down list. From here, you can determine how the templates are configured. Figure 24.1. The WebAccess Application Templates property page allows you to define general information for the WebAccess TemplatesFollowing is an explanation of the Templates property page settings:
There are even more settings related to templates; the next section discusses these. Defining User Interface and Browser IntegrationThis section explains what the Define User Interfaces window, shown in Figure 24.2, allows you to do. It describes each of the three property pages and what they mean in relation to the templates. Figure 24.2. User interfaces are used to define the different templates available to the WebAccess ApplicationUser InterfacesThe User Interfaces tab shown in Figure 24.2 allows you to define the available templates. You can add references to templates, if needed. However, the templates have to be ones that you created; the six listed in Figure 24.2 ship with GroupWise WebAccess. Following is an explanation of the User Interfaces property page:
Generally, you do not modify the information on this page. You will do so only if you introduce new templates to WebAccess. Browser User AgentsThe Browser User Agents tab shown in Figure 24.3 enables you to associate a user interface or template with a particular type of web browser. The WebAccess application makes this association based on the browser identifying itself to the WebAccess application. Figure 24.3. Browser User Agents defines popular browsers that are used on non-PC-based devicesJust about every browser identifies itself with a Browser User Agent value. This can include the platform, version of browser, and so on. In other words, if a browser's user agent information includes Windows CE (this would be in the header of the data sent to the WebAccess Application from the user's browser), the application will use the basic HTML interface (or the simple templates) and not the default frames, which are defined under the User Interfaces tab. The nice thing about this design is that you can easily add new browsers here. Following is an explanation of the information on the Browser User Agents property page:
It is quite feasible that you might define additional browser user agents. The idea for doing this is explained later in this chapter. Browser Accept TypesThe Browser Accept Types tab also lets you associate a user interface or template with a particular type of web browser. However, this association is based on the content type the browser will accept, not the browser identifying itself. For example, if a browser accepts text/html (one of the predefined entries), the WebAccess application will use the standard HTML interface (or the Frames templates). Most browsers will accept multiple content types, including text/html or text/plain. The content type identifies what type of information the browser can understand. Many browsers accept more than one content type, such as both text/html and text/plain. Following is an explanation of the information on the Browser Accept Types property page:
So, in a nutshell, the Define User Interfaces window allows you to identify and configure which sets of templates are associated with different types of browserseverything from standard browsers to wireless phones. Note If you edit and make changes in the Define User Interfaces window, this information is written to the WEBACC.CFG file. The WebAccess application does not dynamically read this file. To get these changes to take effect, you must shut down and restart the WebAccess application. How the WebAccess Application Detects Which Templates to UseGiven the numerous templates available, the WebAccess application needs to somehow know what templates to use. It must use the correct templates for the different types of browsers and devices it supports. When a device is directed to the URL that points to the GW\WEBACC location on the web server, it sends a small packet that contains header information about the browser being used. This header information contains information that helps to identify the Browser User Agent. An example of what a Pocket PC 2000 device might send is the following: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT Windows CE) The WebAccess application then reads the cached information from the WEBACC.CFG file. This is how it determines what type of browsers it can support. If the information from the browser contains the Browser User Agent name (Windows CE in this example), the application knows to use the associated template listed in the User Interface column. If the browser has not provided the Browser User Agent name, the WebAccess application will try to determine what type of data the browser can understand. This information is configured in the Browser Accept Types options. If the browser identifies that it can understand text/x-hdml, the WebAccess application knows that it is probably talking to a wireless phone that is expecting data in the x-hdml format. The WebAccess application then checks the User Interface value to determine which templates to use when corresponding with the device. If the WebAccess application still is not sure what type of device it is communicating with, it will go to the User Interface value and use the default template there. This background should help you understand how the WebAccess application works. The application understands what device or browser it is communicating with, as well as what set of templates to use when communicating to a device. |