none
Store custom items in Oulook RRS feed

  • Question

  • I'm looking for advice on the best method to display non-outlook items in outlook. I have a number of different objects that I want to view in outlook (things like my goals) and I spent the best part of half a day researching and am not much further ahead...

    I first came across this image (taken from this article) which would achieve what I want...

    I then came across several articles where custom MAPI items/stores are discussed but I couldn't find any descriptions on how to do this (and one article advised against it due to the complexities).

    The third thing I'm considering is displaying another app 'within' outlook... I don't even know whether this is possible but I was imaging creating an application using something like WPF and then have this displayed 'in' an outlook window.

    Is any of these a better method than the others and if so, why? Does anyone have any experience with either method that they'd be prepared to share?

    Thanks.

    Tuesday, December 17, 2013 2:49 AM

Answers

All replies

  • I have visual studio 2013 and Outlook 2010. I'm willing to research further if anyone has any useful links they could post...
    Tuesday, December 17, 2013 2:50 AM
  • Hello Jakethepeg1,

    The screenshot consists of two separate parts:

    1. It looks like you are interested in the SolutionsModule class which was introduced in Outlook 2010. On the screenshot the solutions module represents a custom folder structure displayed on the left side of screenshots (discussed in the article too). You can read more about this in the Programming the Outlook 2010 Solutions Module article in MSDN.
    2. The other part of the screenshot contains a form which is displayed for the WebViewPane layout (the name of layout comes from Add-in Express). As a workaround, you can try to customize an Outlook home folder page instead (see How to programmatically create an Outlook home folder page in the Outlook Today style ). Note, Add-in Express uses hooks for subclassing Outlook window(s) and diplaying your own forms instead. It requires some knowledge of Windows API.

    Also you may be interested in implementing Outlook Form Regions , publishing your own Custom Outlook Forms .


    Tuesday, December 17, 2013 1:59 PM
  • For a way of handling what are called adjacent windows (Add-In Express calls themWebViewPane) without having to use Add-In Express see http://blogs.msdn.com/b/stephen_griffin/archive/2010/06/01/adjacent-windows-in-outlook.aspx. You would have to do all the Win32 API work that is done for you by Add-In Express but you wouldn't be dependent on Add-In Express.

    Ken Slovak MVP - Outlook

    Tuesday, December 17, 2013 3:11 PM
    Moderator
  • Thanks for both replies... I'll do some further investigating and post back if I have further issues. I'll also mark and answer once I've had chance to investigate.

    One slightly irrelevant question: in that article you've supplied the link for it's mentioned that this method is not supported... does that mean that add-in express is based on unsupported methods?

    Tuesday, December 17, 2013 5:58 PM
  • Unsupported in cases like this means "if you run into any problems you're on your own, we can't help you". The same technique was used by Xobni and LinkedIn and addins from other companies. There can be problems though if more than one application is using these techniques.

    Ken Slovak MVP - Outlook

    Tuesday, December 17, 2013 6:04 PM
    Moderator
  • OK, thanks for clarifying that... does this mean it may not always work?
    Tuesday, December 17, 2013 6:21 PM
  • It means that you have to be very careful, and that if any other code is also using the same technique there may be conflicts.

    Ken Slovak MVP - Outlook

    Tuesday, December 17, 2013 6:38 PM
    Moderator
  • Thanks.

    Has anyone got any suggestions around custom MAPI items/stores?

    Tuesday, December 17, 2013 6:43 PM
  • Ken,

    You are on the wrong avenue. Adjacent windows are not only the WebViewPane layout. WebViewPane is just a name of the form's layout.  

    Tuesday, December 17, 2013 7:02 PM
  • Hi Jakethepeg1,

    Be aware that the process of subclassing windows requires a good knowledge of Windows API and internal structure of Outlook windows. Each Outlook version can have their own structure of windows. Moreover, you need to support the x86 and x64 architectures.

    Ken provided a link to a sample project that demonstrates the way how it can be done. You need to do a lot of work before publishing it to users.

    >  does that mean that add-in express is based on unsupported methods?

    No, it doesn't. It is not forbidden to subclass windows. But you may face with some issues, for example:

    • an antivirus software may conflict with your code (subclassing is not a safe operation in terms of antivirus mechanism);
    • your code may crash the whole Outlook application without telling you why.

    It is not easy to develop, it is hard to support ;)

    Tuesday, December 17, 2013 7:18 PM
  • Implementing a custom MAPI store is not an easy task and requires a deep knowledge of Extended MAPI (Messaging API). But you can easily implement customs MAPI items. For example, you may publish your own form for a custom message class (your own message class). Also, as described in your initial post, the Solutions module can be used.

    Tuesday, December 17, 2013 7:26 PM
  • Thanks very much for your detailed response.

    I have very little understanding of the technologies mentioned so I think I'll stop before I cause too many problems :-)

    • Edited by Jakethepeg1 Tuesday, December 17, 2013 7:30 PM Update
    Tuesday, December 17, 2013 7:28 PM
  • Thank you very much for you replies...

    But you can easily implement customs MAPI items...

    So if I wanted to store goals in outlook what do you suggest? Should I customise the Task form by removing all current controls and adding the ones I need or is that not what this is intended for?

    • Edited by Jakethepeg1 Tuesday, December 17, 2013 7:34 PM Edit
    Tuesday, December 17, 2013 7:34 PM
  • Well, it depends on your needs (they are not clear to me). I have described all potential technologies you can involve in your add-in in my first reply to you.  
    Tuesday, December 17, 2013 8:28 PM