• Facebook
  • RSS Feed
  • Instagram
  • LinkedIn
  • Twitter
Nov 242009

As many people will know the Enterprise Vault Outlook Add-in uses the Exchange Client Extensions to display archived items when you double click on them in the Outlook interface.  In other words.. the dreaded forms.

Over the many releases of the Enterprise Vault Outlook Add-in more has been done to try to limit the problems that can be encountered with deploying the Outlook forms.  Most notable is the policy setting which can be used to Deploy Forms Locally.

This saves alot of the administrative overhead in trying to update Organisation Forms library in a large enterprise – in fact many large enterprises just don’t allow Organisational Forms changes, because of the problems that have been encountered with them in the past.

Another thing that has been changed, and is available by the usage of a client-side registry key (currently) is what method is used to display items.  There are many other Outlook add-ins that people may have deployed in a corporate environment such as Microsoft CRM client, antivirus plugins, and security/encryption plugins.  One of the problems caused by the Exchange Client Extensions (apart from it’s age!) is the fact that the events which fire get passed to our add-in, and we aren’t able to pass on those events which we are not interested in.  This means that those other plug-ins may fail to work.

To the rescue is DisplayItemsUsingOOM.  You add the client side registry key as follows :

Enterprise Vault

Type : DWORD
Name : DisplayItemsUsingOOM
Value: 1

With this key set the Enterprise Vault Outlook Add-in will use the Outlook Object Model in order to display items.  Using the Outlook Object Model means that events which fire which we aren’t interested in, can be passed on to other add-ins and/or Outlook.  No more problems with other Outlook add-ins… at least not in the testing we’ve done so far.

The registry key was added in Enterprise Vault 7 SP 2, however in Enterprise Vault 7 and 2007 there are some limitations, so it’s probably best not to make widespread use of it in that version unless you have an urgent need, and feel your organisation won’t be restricted by the limitations.  Here are the limitations :

1. The download format would have to be DVS (rather than MSG) and therefore PSTs could not be disabled on user’s desktops. This is because when the download format is MSG, the message is downloaded and opened from memory, rather than being saved to a PST. The OOM method to open and display an item requires the item to be located in a message store.

2. Our hooks to handle the following user actions on the opened item would not occur:

* Save: Any changes would be saved to the temporary item in the PST and would be lost (currently user is prompted that the item is archived and therefore the item has to be saved in the Drafts folder of the mailbox (the user has the option to choose another folder).

* Delete: The item in the temporary PST would be deleted (currently we action the ‘Delete means delete’ functionality).

* Previous/next: The previous and next buttons would not function when items are launched from Archive Explorer

In Enterprise Vault 8, all of these restrictions are no longer present, and in testing so far, seems to work a treat.  It works with both the full and the lite clients.

You can see the key in use in the Outlook client trace as follows :

5/08/2009 11:55:37.706[3844]: DesktopCommonConfig::GetConfigValue: 0x0
25/08/2009 11:55:37.707[3844]:  DISPLAYITEMSUSINGOOM = 1 [Registry]
25/08/2009 11:55:37.707[3844]: ~DesktopCommonConfig::GetConfigValue: 0x0
25/08/2009 11:55:37.707[3844]: CDesktop::CreateTempMsgEx: 0x0
25/08/2009 11:55:37.708[3844]: CDesktopPSTHelperBase::CDesktopPSTHelperBase
25/08/2009 11:55:37.708[3844]: ~CDesktopPSTHelperBase::CDesktopPSTHelperBase
25/08/2009 11:55:37.708[3844]: CDesktopPSTHelperBase::SetMAPISession: 0x0
25/08/2009 11:55:37.709[3844]: ~CDesktopPSTHelperBase::SetMAPISession: 0x0
25/08/2009 11:55:37.709[3844]: CPSTHelper::OpenTemporaryPST: 0x0
25/08/2009 11:55:37.709[3844]: DesktopCommon::GetEVTempPath: 0x0
25/08/2009 11:55:37.712[3844]: ~DesktopCommon::GetEVTempPath: 0x0
25/08/2009 11:55:37.714[3844]: CDesktopPSTHelperBase::OpenNamedPST: 0x0
25/08/2009 11:55:37.714[3844]: CDesktopPSTHelperBase::AddService: 0xo
25/08/2009 11:55:37.727[3844]: ~CDesktopPSTHelperBase::AddService: 0x0
25/08/2009 11:55:37.727[3844]: CDesktopPSTHelperBase::OpenPST: 0x0
25/08/2009 11:55:37.727[3844]: CDesktopPSTHelperBase::ClosePST: 0x0
25/08/2009 11:55:37.728[3844]: ~CDesktopPSTHelperBase::ClosePST: 0x1
25/08/2009 11:55:37.728[3844]: CDesktopPSTHelperBase::ConfigurePST: 0x0
25/08/2009 11:55:38.078[3844]: ~CDesktopPSTHelperBase::ConfigurePST: 0x0
25/08/2009 11:55:38.122[3844]: CDesktopPSTHelperBase::HandlePSTDisableGrow: 0x0
25/08/2009 11:55:38.122[3844]: ~CDesktopPSTHelperBase::HandlePSTDisableGrow: 0x0
25/08/2009 11:55:38.123[3844]: ~CDesktopPSTHelperBase::OpenPST: 0x0
25/08/2009 11:55:38.123[3844]: CDesktopPSTHelperBase::RemoveService: 0x0
25/08/2009 11:55:38.125[3844]: ~CDesktopPSTHelperBase::RemoveService: 0x0
25/08/2009 11:55:38.125[3844]: ~CDesktopPSTHelperBase::OpenNamedPST: 0x0
25/08/2009 11:55:38.125[3844]: ~CPSTHelper::OpenTemporaryPST: 0x0
25/08/2009 11:55:38.126[3844]: CDesktopPSTHelperBase::GetRootFolder: 0x0
25/08/2009 11:55:38.126[3844]: ~CDesktopPSTHelperBase::GetRootFolder: 0x0
25/08/2009 11:55:38.128[3844]: ~CDesktop::CreateTempMsgEx: 0x0
25/08/2009 11:55:38.149[3844]: CShortcutItem::Callback…Display downloaded item

This is followed by :

25/08/2009 11:55:38.150[3844]: DesktopCommon::ViewItem: 0x0
25/08/2009 11:55:38.150[3844]: DesktopCommonConfig::GetConfigValue: 0x0
25/08/2009 11:55:38.150[3844]:  DISPLAYITEMSUSINGOOM = 1 [Registry]
25/08/2009 11:55:38.151[3844]: ~DesktopCommonConfig::GetConfigValue: 0x0
25/08/2009 11:55:38.151[3844]: ::DisplayItem: 0x0
25/08/2009 11:55:38.628[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.628[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.629[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.641[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.641[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.641[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.641[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.880[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.881[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.881[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.881[3844]: ::COutlookItemEvents
25/08/2009 11:55:38.882[3844]: COutlookItemEvents::SetupConnection: 0x0
25/08/2009 11:55:38.882[3844]: COutlookItemEvents::QueryInterface: 0x0
25/08/2009 11:55:38.882[3844]: COutlookItemEvents::AddRef
25/08/2009 11:55:38.882[3844]: ~COutlookItemEvents::AddRef
25/08/2009 11:55:38.883[3844]: ~COutlookItemEvents::QueryInterface: 0x0
25/08/2009 11:55:38.883[3844]: COutlookItemEvents::AddRef
25/08/2009 11:55:38.884[3844]: ~COutlookItemEvents::AddRef
25/08/2009 11:55:38.891[3844]: COutlookItemEvents::Release
25/08/2009 11:55:38.891[3844]: ~COutlookItemEvents::Release
25/08/2009 11:55:38.892[3844]: ~COutlookItemEvents::SetupConnection: 0x0
25/08/2009 11:55:38.892[3844]: ::AutoWrap: 0x0
25/08/2009 11:55:38.892[3844]: ~::AutoWrap: 0x0
25/08/2009 11:55:38.892[3844]: ~::COutlookItemEvents
25/08/2009 11:55:38.893[3844]: ::COutlookItemInspectorEvents
25/08/2009 11:55:38.893[3844]: COutlookItemInspectorEvents::SetupConnection: 0x0
25/08/2009 11:55:38.893[3844]: COutlookItemInspectorEvents::QueryInterface: 0x0
25/08/2009 11:55:38.894[3844]: COutlookItemInspectorEvents::AddRef
25/08/2009 11:55:38.894[3844]: ~COutlookItemInspectorEvents::AddRef
25/08/2009 11:55:38.894[3844]: ~COutlookItemInspectorEvents::QueryInterface: 0x0
25/08/2009 11:55:38.894[3844]: COutlookItemInspectorEvents::AddRef
25/08/2009 11:55:38.921[3844]: ~COutlookItemInspectorEvents::AddRef
25/08/2009 11:55:38.921[3844]: COutlookItemInspectorEvents::Release
25/08/2009 11:55:38.921[3844]: ~COutlookItemInspectorEvents::Release
25/08/2009 11:55:38.922[3844]: ~COutlookItemInspectorEvents::SetupConnection: 0x0
25/08/2009 11:55:38.922[3844]: ~::COutlookItemInspectorEvents
25/08/2009 11:55:38.923[3844]: ~::DisplayItem: 0x0
25/08/2009 11:55:38.923[3844]: ~DesktopCommon::ViewItem: 0x0

References :

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>