Exchange Server 2007 SP1, Outlook Web Access Customization: Part 2, UIExtensions.xml

Published 24 March 09 07:49 PM

I’ve seen a few cases come through where customer’s are trying to implement the customization features that were introduced with Exchange Server 2007 SP1.  There’s a few key areas that seem to cause trouble so I figured it would be worth walking through a simple scenario that covered many of the different aspects. (Link to Part 1 of the series)

We continue our effort to implement our HelpTicket Outlook Web Access form by adding an element to the UIExtensions.xml file in the C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\forms\Customization directory.  This file allows you to make a few different types of customizations (all covered in more detail here), but the one that we are interested in is the inclusion of a new element in the New dropdown in the OWA Interface like so:

image

 

The following example UIExtensions.xml file only contains the minimum tags needed for our scenario, but there is a “.template” version of the file in the Customization directory that has samples for the other customization types as well.


<?
xmlversion="1.0" encoding="UTF-8" ?>
<
OWAUICustomizations>
  <
NewItemMenuEntries>
    <
NewItemMenuEntry ItemType="IPM.Note.HelpTicket" Icon="ticket.gif">
          <
stringlanguage="en-us" text="New Helpdesk Ticket"/>
    </
NewItemMenuEntry>
  </
NewItemMenuEntries>
</
OWAUICustomizations>

Note:  the Icon attribute of the NewItemMenuEntry tag specifies the icon to utilize and Exchange looks for this file in the directory where the UIExtensions.xml file is located. To be consistent with the other icons this should be a 16x16 square image that can be displayed in a browser, such as a .gif, .jpg, or .png.

Place the UIExtensions.xml and your ticket.gif  files into C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\forms\Customization and restart IIS with “iisreset /noforce” and you should have a new element in the “New” dropdown in OWA.

Just like for the Registry.xml file, the Event viewer is the best place to start if you are troubleshooting a problem with UIExtensions.xml.  OWA does not write an entry for a successful read of UIExtensions.xml, but you will see an error EventId 72 with a source of MSExchange OWA if there is an error parsing this file, similar to this:

image  

If you have completed the steps from Part 1 and also put in place a dummy NewHelpTicket.ASPX file (this can just be a text or html file saved in the directory referenced in Part 1), then you should be able to launch the form by clicking the “New Help Ticket” item in the New dropdown in OWA.

In Part 3 of this series we will look at building the NewHelpTicket.ASPX file and using Exchange Web Services to create a new mail item to represent our helpticket.

by Rick_H
Filed under: , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Ivan said on June 29, 2009 9:56 AM:

Can you please show a sample implementation of NewHelpTicket.aspx? To be more specific, how to access properties of current item.

# Rick_H said on June 29, 2009 10:25 AM:

Thanks for the feedback Ivan.  This is on my todo list, and I'll make sure to include some code to address properties.  Are there specific properties that you're looking for information about accessing, or is it just the normal message properties like To, From, Subject, etc?

# Ivan said on June 29, 2009 12:49 PM:

Thank you for reply. Yes, basic properties should be enough. Also, do you have any idea how to register custom form for Basic client mode?

# Rick_H said on June 29, 2009 1:26 PM:

You can see the note at the end of this MSDN article for more details (http://msdn.microsoft.com/en-us/library/bb891801.aspx), but the short answer is that you cannot register custom forms for Basic mode.  

# Ivan said on June 29, 2009 6:09 PM:

Too sad :( Or IE-only solution which is not very good.

# Ivan said on June 30, 2009 6:13 AM:

Is there any chance to change the message before it is show to end user? I've been analyzing OWA assemblies via Reflector, however all the useful members are private internal :( Looking now at Exchange 2010 OWA.

# Rick_H said on June 30, 2009 8:07 AM:

Unfortunately OWA doesn't provide any real way to hook in and alter the behavior of the default forms.  The customization scenarios are fairly limited and I tried to cover this in a previous blog post at: http://blogs.msdn.com/rickhall/archive/2009/02/04/what-are-the-supported-ways-to-customize-outlook-web-access-for-exchange-server-2007-sp1.aspx

I know that these limitations don't always meet up with customer's expectations or needs when it comes to customization of OWA, and some folks go down the 'unsupported' path.  I would just caution that going that route you can break OWA in unexpected ways, and you run the real risk of having things stop working when you update Exchange via service packs or update rollups.

# Ivan said on June 30, 2009 9:57 AM:

Thanks I've read all your post about OWA and they are very useful. However, we have no choice except of going to unsupported way which is pretty much hacking.

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

This Blog

Syndication

Page view tracker