Microsoft Exchange Server 2003 Administrators Pocket Consultant

 < Day Day Up > 


Application developers found the first generation of OWA to be relatively straightforward to customize in terms of appearance and even to add a certain degree of functionality, because Microsoft provided a large portion of the source code in the form of active pages, which you can easily change with even a simple text editor. Ease of access and customization brings its own problems, the most obvious being that you had to reapply customizations on a server after you installed each new version or service pack for Exchange.

The current OWA architecture is quite different. OWA now uses a much higher percentage of compiled code and the source is not available outside Microsoft, which would prefer that you do not attempt to customize OWA except by using approved methods. The implementation of the URL namespace means that you can insert references to Exchange data inside any Web page, and, if required, you can use OWA command qualifiers to refine the URLs. You can now specify a specific view, sort items in a certain order, or start off a calendar at a set date. For example, the following URL displays my calendar in monthly view starting at March 1, 2003:

http://server_name/exchange/redmond/ calendar?View=Monthly&Date=20030301

Another example:

http://server_name/exchange/Redmond/ calendar?Cmd=New&Type=Appointment

This URL instructs Exchange to go to the calendar folder in Redmond's mailbox and execute the "New" command to create a new item of type "Appointment." Table 5.4 lists a sample of the available commands. The set of commands expands as Microsoft adds new features to OWA, so check the Microsoft Web site for details on the current set.

Using the Exchange 2003 version of OWA, you can also create a message addressed to a specific user by using the following URL format:

http://server-name/exchange/username/drafts/ ?cmd=new&mailtoaddr=user@domain.com

Exchange 2003 also allows you to look at the contents of the deleted items cache for any folder by using a command line such as:

http://server-name/exchange/username/folder-name/ ?cmd=showdeleted

Figure 5.22 shows the effect.

Figure 5.22: Viewing the deleted items cache for a folder.

Command-line qualifiers provide a basic level of customization. If you want to change the look and feel of OWA by applying different colors or styles, hiding the command button, or revealing or hiding folders, you have to change OWA source code components. These include the .htc, .js, and .xsl files held in the exchsrvr\exchweb folder. Table 5.5 lists the various components that interact to build the OWA user interface and the directories where you can find the files.

Table 5.4: URL Suffixes

URL Suffix

Function

Cmd=Navbar

Display the navigation bar in a frame

Cmd=Contents

Display the contents panel in a frame

Cmd=New

Create a new item (of a specified type)

Cmd=Options

Display the options panel (set out of office notification, etc.)

Cmd=Open

Open an item for reading

Cmd=Edit

Open and edit an item

Cmd=Reply

Reply to the sender of the current message

Cmd=ReplyAll

Reply to everyone in the header of the current message

Cmd=Forward

Forward the current message

Cmd=Delete

Delete the current item

Cmd=Options

Display the OWA options form

Cmd=ShowDeleted

Show deleted Items

Type=Message

Set the item type to be a message

Type=Post

Set the item type to be a post form

Type=Appointment

Set the item type to be an appointment

Part=1

Generates simplified views for inclusion in Web parts

Page=x

Display page x (of a set of pages)-for example, page 3 of the Inbox folder

View=x

Use a specified Outlook view-for example, View=Daily will display the Daily view in the calendar

Sort=x

Sort by the specified column-for example, Sort=Subject

Date=x

Display the specified date in the calendar. Dates are always passed in the YYYYMMDD format-for example, 20030317 is March 17, 2003.

Microsoft does not supply a code management system to isolate and identify the changes you make to OWA files, so always work on a development system and be sure to note the changes that you make to different files to create customized code. You will have to test and then reapply changes after you install a service pack or hot fix, and you may find that the Exchange developers have altered the way that OWA works and broken one of your customizations after Microsoft produces a new service pack or hot fix. Additionally, since OWA supports well over 20 languages, you may have to make changes in multiple places to accommodate different languages. With no code management system in place, it is inevitable that reinstallations will overwrite customizations, and this is the basic reason why you are on your own if you decide to change the OWA files. The following customization changes can be made:

Table 5.5: OWA Components and Directories

Directory

Contains

Exchsrvr\bin

Wmtemplates.dll-responsible for defining the default templates used to render OWA. This component cannot be customized.

Exchsrvr\exchweb\bin

Exwform.dll-handles custom form processing

Exchsrvr\exchweb\cats

Localized (language-specific) Exchange multimedia control and associated .cab files

Exchsrvr\exchweb\controls

Holds the .css (cascading style sheets), html files, and client Jscript libraries. For example, OWA uses calendarprint.css to print calendar views.

Exchsrvr\exchweb\help

Localized versions of the OWA help files

Exchsrvr\exchweb\img

OWA image files. For example, navbar.img contains the images used in the navigation bar.

Exchsrvr\exchweb\views

XSL style sheet files used to build the standard OWA folder views. For example, v_cal.xsl is used to generate client-side views of calendar data.

This list is not exhaustive and is likely to change as Exchange evolves. However, customizing OWA is a double-edged sword. You may accomplish your goal, but you will create extra work in the end to maintain and reapply customizations after service packs and other upgrades.

5.7.1 Branding

You can customize the appearance of OWA 2003 through themes. OWA provides a set of five default color schemes (blue, olive green, silver, burgundy, and dark blue) for users to select from, but programmers can customize the CSS style sheet to define their own color scheme and the image files used in the OWA interface and so build their own theme. For example, you can combine a company's preferred color scheme and logos to generate a "house style" for OWA. Figure 5.23 demonstrates an "hp-branded" version of OWA, including the new mail notification pop-up. This feature is likely to be popular with companies as well as ASPs, who can now generate "branded" versions of OWA. However, the branding only works for mailbox access, since OWA uses a different interface for public folders.

Figure 5.23: Branded OWA.

5.7.2 Segmenting OWA functionality

Application Service Providers often want to divide OWA functionality to control the components available to users. For example, users who pay for calendar access can see the calendar, while those who only want to use email cannot. You might also decide to limit client functionality to reduce the load on the server. Exchange 2000 SP2 onward allows administrators to segment OWA functionality on a server or individual user basis. You can control the most important areas of OWA functionality as follows:

You control segmentation by setting bits in a bit mask. Each feature is controlled by a separate bit value, and when that bit is set to 1, the feature is enabled. Conversely, you disable the feature if the bit is set to 0. Values are set in a bit mask using increasing powers of two, so you enable the desired set of features by totaling the unique value for each feature and using the cumulative total. Table 5.6 lists the values for the available features. For example, to enable Messaging, Calendaring, and their notifications while using the rich OWA interface, the calculation is:

1 + 2 + 128 + 256 + 512 = 899

Table 5.6: OWA Segmentation Bit Values

OWA Feature

Value

Exchange 2000

Exchange 2003

Messaging

1 (1 hex)

X

X

Calendar

2 (2 hex)

X

X

Contacts

4 (4 hex)

X

X

Tasks

8 (8 hex)

X

X

Journal

16 (10 hex)

X

X

Notes

32 (20 hex)

X

X

Public folders

64 (40 hex)

X

X

Calendar reminders

128 (80 hex)

X

X

New mail notifications

256 (100 hex)

X

X

Rich user interface

512 (200 hex)

X

X

Spell check

1,024 (400 hex)

-

X

S/MIME secure email

2,048 (800 hex)

-

X

Search folders

4,096 (1,000 hex)

-

X

Auto-signature

8,192 (2,000 hex)

-

X

Rules

16,384 (4,000 hex)

-

X

Themes

32,768 (8,000 hex)

-

X

Junk mail filters

65,536 (10,000 hex)

-

X

All available functionality

FFFFFFF (hex)

-

X

You apply OWA segmentation to a complete server by adding a new DWORD value called DefaultMailboxFolderSet to the system registry under the HKLM\System\CurrentControlSet\Services\MSExchangeWeb\ OWA key. Input the calculated value in hexadecimal, then stop and restart the Information Store service and the World Wide Web service. Test that the desired change is effective by connecting to the server with OWA. Note that the browser controls some degree of segmentation. For example, it does not matter if you allow people to have full access to all features if they run a down-level browser. Along the same lines, some dependencies exist between different functions. For example, messaging is a fundamental component for calendaring and you will not be able to send out meeting notifications without it, so there is not much point in enabling calendaring without messaging, and, indeed, OWA 2003 will not let you! In addition, if you do not explicitly specify the rich client interface, you will see the reach interface, which in turn means that you cannot use functionality that the reach interface does not support.

You can also apply feature segmentation at an individual user account level or, more probably, for a selected group of user accounts. The user setting overrides the server setting, which is a useful feature. However, for

Exchange 2000 SP2 onward, the big problem is that you need to update the AD schema to add the necessary attribute (msExchMailboxFolderSet) before you can apply segmentation to an account, and you input the necessary bit mask by selecting the account and updating its attribute with ADSIEDIT. The new attribute holds a list of folders that a user is able to access. This is not a major issue if you apply schema updates at the start of a deployment, but adding an attribute that the AD must then publish to every GC server in the forest will cause a complete refresh of GC data, something that you must plan carefully if your forest is already in full production. You do not have to worry about the schema update for Exchange 2003 if you use Windows 2003 domain controllers, since the Windows 2003 version of the schema includes this change.

Function segmentation works only for OWA and does not affect the options available to other clients.


 < Day Day Up > 

Категории