none
customizing OWA under ES2007/10: associated contents table woes RRS feed

  • Question

  • Hi,


    Dev environment:

    I am investigating adding custom extensions to OWA Premium.

    I am currently working on Win2008 R2 with ES2007 SP3 as my Exchange base-line & ideally want a solution that is also suppported under ES2010.

    So far, i've successfully deployed a custom ASP application under /owa/forms/ running in the MSExchangeOWAAppPool application pool.  Using the Exchange Web Services Managed API 1.1 I am able to do some fairly interesting stuff with right-click menu extensions & custom forms.

     

    Question:

    Under ES2010 I can access a hidden item in the Inbox associated contents table using the following kind of approach:

     

    SearchFilter oFilter = new
     SearchFilter.IsEqualTo(EmailMessageSchema.ItemClass, "IPM.VSpecialHiddenUserSettings"
    );
    PropertySet oHiddenPropSet = new
     PropertySet(BasePropertySet.FirstClassProperties);
    ItemView oView = new
     ItemView(1);
    oView.PropertySet = oHiddenPropSet;
    oView.Traversal = ItemTraversal.Associated; //but oh no!! this is an ES2010 supported feature only!!
    
    
    FindItemsResults<Item> olItems = oExchangeService.FindItems(WellKnownFolderName.Inbox, oFilter, oView);
    Does anyone know the simplest way i might achieve the same under ES2007?    
    Would i need to use CDO (not included with ES2007,lol) or unwrapped EWS xml hair-shirts or is there some better way?

     

    Monday, March 7, 2011 4:07 PM

Answers

  • If IPM.VSpecialHiddenUserSettings is a item that you are creating then don't store it in the associated Items collection if you want to use it on 2007. You can still hide it from the user if your create a normal item and just store it in the NON_IPM_Subtree and this means you will then be able to use EWS to access the Item. Otherwise you will need to use either WebDAV or CDOEX on 2007 to access this hidden item (which if your trying to do something like setting the OWA signature you will need to do).

    Cheers
    Glen

     

    • Marked as answer by violet313 Tuesday, March 8, 2011 1:17 PM
    Tuesday, March 8, 2011 1:55 AM

All replies

  • If IPM.VSpecialHiddenUserSettings is a item that you are creating then don't store it in the associated Items collection if you want to use it on 2007. You can still hide it from the user if your create a normal item and just store it in the NON_IPM_Subtree and this means you will then be able to use EWS to access the Item. Otherwise you will need to use either WebDAV or CDOEX on 2007 to access this hidden item (which if your trying to do something like setting the OWA signature you will need to do).

    Cheers
    Glen

     

    • Marked as answer by violet313 Tuesday, March 8, 2011 1:17 PM
    Tuesday, March 8, 2011 1:55 AM
  • Hi Glen, thx for your response -&btw i've also found your blogs to be v. helpful =).

    As you say, there are other ways of hiding custom user settings that are supported with EWS. & in any case, i would be unhappy about using WebDAV or CDOEX -at the moment i'm just hacking about trying to find out what is and is not possible, to arrive at a design that avoids the legacy.

    I did have a /quick/ look at the underlying EWS xml & used wsdl.exe to generate my own EWS proxy classes..But assuming i'm planning on using C#, i can't see any reason not to use the new Managed API ??

     

    cheers,

    v.

     

    Tuesday, March 8, 2011 1:16 PM
  • Re the Managed API this will basically save you a lot of time when your coding eg what you can do with the Managed API may take double to triple the coding effort and number lines to achieve in proxy code hence more effort to debug and maintain. You also have a built in autodiscover library in the Managed API. But try it yourself write a simple finditems in the proxy code then do the same thing in the managed api then try an update item request setting multiple extended properties.

    Cheers
    Glen 

    Wednesday, March 9, 2011 2:34 AM
  • lol, did already -as you imply, tis more effort, tho a breeze compared to mapi, cdo, webdav etal,, so well done ms! (& the pure xml clearly a boon to those that want to code in non ms ways ~ms.. feeling the pressure at last,lol?)

    i guess that performance might be an issue.. in my case i'm wanting to run managed ews under owa so i might want to worry about this. perhaps i would be better off using the xml in ways other than asp/c#.. but i guess another thread at another time will suffice

     

    • Edited by violet313 Wednesday, March 9, 2011 9:42 PM
    Wednesday, March 9, 2011 8:55 PM
  • gods, what a nightmare this forum is!! -i hardly dare edit anything for fear that it craps everything up worse than before! -esp. making source code snippets look good, lol
    Wednesday, March 9, 2011 9:30 PM
  • Your more likely to write bad code if you use raw XML as the Managed API enforces some good techniques such as paging that said you can still write bad code either way (and we all do lets face it) its the way you write it not the method you use the will determine this as ultimately they all just generate a SOAP requests to the CAS server I can't see that using the library would be worse rather then better in regards to parse performance etc.

    Cheers
    Glen

    Thursday, March 10, 2011 2:49 AM