- How this Article is Organized
- Obtaining the Scripts and Tools for this Article
- Integration – A Historical Perspective
- Pre-Cooking and General Preparation
- Outlook Fat Client a la Carte Recipe
- Outlook Express Messaging Soup Recipe
- OWA Over a Netlet With a DNS Twist Recipe
- OWA Luau with Rewriter Fire Dancing: the 3 o'clock Show
- OWA Luau with Rewriter Hula Dancing: the 6 o'clock Show
- Glossary
- About the Author
- Acknowledgements
- Bibliography
- Ordering Sun Documents
- Accessing Sun Documentation Online
OWA Luau with Rewriter Hula Dancing: the 6 o'clock Show
This Sun ONE Secure Portal 6.0 recipe is similar to the recipe for the Secure Portal 3 called "OWA Luau with Rewriter Fire Dancing: the 3 o'clock Show" on page 22. This recipe explains the details that are particular to version 6.0.
Main Course: Internet ExplorerIngredients
Client
Internet Explorer 5.5SP2 + December 2002 Security update
Exchange
8 modifications to exchweb scripts and/or HTML component files
Portal Server
Sun ONE Portal Server 6.0 + 6.0SRAExchangeFixes
New Exchange-specific ruleset (owa_sp3_ruleset.xml)
Advantages
No client required for access.
Exposes native Exchange functionality to the web browser.
No client configuration required.
Encryption/Decryption done using SSL.
User interface is the same when accessed from within or outside the internal corporate network.
Takes advantage of new 6.0 architecture where the ruleset can be associated with a particular Gateway which may be used to access the Exchange server.
Disadvantages
Requires changes to Exchange server exposed scripts and component files in addition to configuration changes and fixes for the portal server software.
Integration is fragile in the sense that rules and modifications are very strict and inflexible or major functionality will fail or be inaccessible.
Exchange Feature Completeness
For a complete feature listing, refer to the section "Exchange Feature Completeness ~99%" on page 23 under the Sun ONE Portal Server 3 recipe. Feature completeness for the 6.0 rewriter integration is on par with that list, except for the additional known problems described below.
Know Problems With Exchange
Problem 1: Rich Text Editing in Email Composition Does Not Work
This feature operates from an ActiveX control which will not appear in the menu bar when the OWA interface is accessed through the Sun ONE Portal Server Gateway.
Workaround: In the ctrl_FormatBar20.htc file, add quotation marks to the following line. . .
<attach event=ondocumentready handler=onDocumentReady />
so it looks like the following:
<attach event="ondocumentready" handler="onDocumentReady" />
Problem 2: Submenu Does Not Display Correctly From Folder View
This submenu is opened by right mouse selecting over a folder name when in the folder view of OWA. The menu is not displayed correctly because a necessary event (ondocumentReady) never fires for the handler in ctrl_DropMenu20.htc to create the DHTML necessary for the menu contents.
Workaround: In the ctrl_DropMenu20.htc file, add quotation marks to the following line. . .
<attach event=ondocumentready handler=dOnReady />
so it looks like the following:
<attach event="ondocumentready" handler="dOnReady" />
What
Create a new rewriter ruleset for Exchange.
Install the Portal 6 patch containing Exchange-related fixes.
Make necessary modifications to Exchange controls files.
Enable Rewriting of CSS content.
NOTE
Any change made to the Outlook Web Access source .htc, .js, or .xsl files that exist in the Exchweb folder is unsupported by Microsoft.3 Any customization changes which affect these files that have already been made may affect or prevent a successful integration using this document. Future minor and major releases of Exchange from Microsoft may overwrite these changes, and make other modifications that break the integration through the rewriter. Upgrading to new releases of either product should be made in a controlled, responsible manner in a testing only environment.
How
To Create a New Rewriter Ruleset for Exchange
-
Log in to the Administration Console from a browser that has local access to the scripts and tools that you downloaded for these recipes.
-
Select View: Service Management.
-
Under the Portal Server Configuration section in the left view pane, select the link next to Rewriter.
-
In the right view pane, select New under the Rules section.
-
Change the Ruleset id attribute value to something easily identifiable like owa_sp3_ruleset.
-
Select save.
-
Select Upload link next to the new ruleset name.
-
As the local file, choose the owa_sp3_ruleset.xml file (one of the downloadable files for this article)
-
Select the Gateway link under the SRAP Configuration section of the left view pane.
-
Select the Edit link for the profile which will be used by the Gateway node accessing the Exchange server.
-
Under the Domain-Based Rulesets section in the right view pane, add the domain for the Exchange server if it is not there already, or modify the existing mapping to use the new ruleset.
-
Select Save.
-
Restart the gateway node(s) to reread the new profile information.
See "Obtaining the Scripts and Tools for this Article" on page 3.
... <RuleSet id="owa_sp3_ruleset"> ...
sub.domain.com|owa_sp3_ruleset
Sub and domain are the subdomain if one exists, and DNS domain of the Exchange server.
To Install Portal 6 Patch Containing Exchange-Related Fixes
For information on how to obtain Sun ONE Secure Portal patches, see "Obtaining the Required Patches" on page 5.
The patch you need for this recipe is called 6.0SRAExchangeFixes (patch ID 115156-01).
If you have added or changed files in the Portal web-apps directory, back it up in case the changes are overwritten or lost when the service is redeployed.
Uncompress and untar the patch contents.
Install the patch using the Solaris patchadd command, first on the profile and platform nodes, and then on the Gateway node.
# cp install_dir/SUNWps/web_apps \ install_dir/SUNWps/web_apps_pre6.0SRAExchangeFixes
# gunzip 6.0SRAExchangeFixes.tar.gz # tar -xvf 6.0SRAExchangeFixes.tar
# patchadd 115156-01 Checking installed patches... Executing prepatch script... Verifying sufficient filesystem capacity (dry run method)... Installing patch packages... Patch number 115156-01 has been successfully installed. See /var/sadm/patch/115156-01/log for details Executing postpatch script... Checking for previous patch revisions... Restarting SunONE Portal Server Gateway w/ original settings. stopping gateway ... done. starting gateway ... done. Gateway restarted. Please wait a moment before connecting to it. Postpatch processing complete. Patch packages installed: SUNWpsgw SUNWpsrw
To Make Necessary Modifications to Exchange Controls Files.
Follow the steps outlined in the 3.0 Rewriter recipe for making changes to these files using the modfiles.ksh script, or by editing the files directly. See "To Update the Exchange Files" on page 28.
To Enable Rewriting of CSS Content
Log in to the Portal Administration Console.
Select View: Service Management.
Select the link next to Gateway in the left view pane.
Select the Edit link next to the appropriate Gateway profile in the right view pane.
Under the MIME mappings sections, add CSS=text/html.
Select Save.
Restart the Gateway.
Why
Do I Need to Create a New Rewriter Ruleset?
By creating a separate ruleset specifically for Exchange-related integration, the ruleset can be maintained and modified independently of other default rulesets to prevent rule trumping and to extend the ability to create a particular Gateway node Exchange users will log in to in order to access OWA. The owa_sp3_ruleset.xml file is a migration of the rewriter rules required for the 3.0 rewriter recipe. For more information about what the rules are and why they are required, refer to the tables in the 3.0 recipe.
Do I Need to Install a Portal Patch For Exchange to Work?
The Exchange integration requires a combination of configuration changes (the rewriter ruleset), Exchange modifications (the control files), and fixes or enhancements in the Portal Server Gateway component. The Portal patch contains the following fixes:
BugID 4780863 Gateway strips off XML declaration tag.
BugID 4788050 Rewriter should ignore comments which occur prior to opening the XSL tag.
BugID 4778676 Gateway should not translate special characters (XML Entities) when rewriting XML.
Pages or response bodies that contain an XML namespace identifier which look like <?xml version="1.0" ?> end up having the root tag dropped. The direct effect on Exchange is not clear unless something depends on this root element being present.
If the opening XSL tag is preceded by anything else, the page will be rewritten. The correct fix for this particular problem needs to be carefully considered because there might be times when the XSL code has to be rewritten because it is used in a transform that will control URL values.
For example, when an email message is expanded, Exchange sends a DAV SEARCH request with the following message body:
<searchrequest xmlns="DAV:"> <sql>SELECT "http://schemas.microsoft.com/exchange/x-priority-long" as prop1, "http://schemas.microso ft.com/exchange/smallicon" as prop2, "http://schemas.microsoft.com/mapi/proptag/x10900003" as prop3, "urn:schemas:httpmail:hasattachment" as prop4,"http://schemas.microsoft.com/mapi/subject" as prop5, " urn:schemas:httpmail:datereceived" as prop6, "http://schemas.microsoft.com/mapi/proptag/x0e080003" as prop7,"urn:schemas:httpmail:read" as read, "http://schemas.microsoft.com/exchange/outlookmessageclas s" as messageclass, "DAV:href" as davhref FROM Scope('SHALLOW TRAVERSAL OF ""') WHERE "http://schemas .microsoft.com/mapi/proptag/0x67aa000b" = false AND "DAV:isfolder" = false ORDER BY "http://schemas.m icrosoft.com/mapi/sent_representing_name" ASC, "urn:schemas:httpmail:datereceived" DESC</sql> <range type="find" rows="1">WHERE "http://schemas.microsoft.com/mapi/sent_representing_name " >= CAST("System Administrator" AS "string")</range> </searchrequest>
There are no URL references which matter that are not being rewritten correctly, but the > character is being translated by the Gateway XML parser. By the time it gets to the Exchange backend, the XML is no longer syntactically correct for the request to be serviced and a multistatus response is sent with a 404 status in the response body.
BugID 4781754 Not rewriting the URLs in CSS Content. CSS is used in many places through the OWA code. This is a fix for added functionality done in Portal 3 that has not yet been ported to the portal server 6 software.
Do I Need to Make Modifications to Exchange Files?
For more information about the specific reasons these changes must be made for the integration to work, refer to the 3.0 Rewriter recipe.
Why Do I Need to Enable the Rewriting of CSS Content?
CSS content is used in various places throughout OWA. To keep the interface consistent with what a user would see accessing the Exchange server directly, it is necessary to enable the rewriting of CSS content.