locked
Cloud Business App integration with Exchange RRS feed

  • Question

  • I am investigating an opportunity to develop a Cloud Business App (or LightSwitch app) that needs to have fairly good integration with Exchange for the following:

    • Email - associate incoming/outgoing emails with certain entities in app
    • Calendar Events - synchronize these between App and Exchange 
    • People (Contacts) - synchronize these between App and Exchange 
    • Tasks- synchronize these between App and Exchange

    The details are yet to be finalized, but I imagine that the user would have public folders set up in Exchange where emails can be dragged and dropped into to have the App pick them up and link them to entities inside the App based on the email address. It would be great to be able to automatically associate new emails that form part of an existing email conversation with the App entities when those emails are sent or received, rather than to have to manually drag and drop them each time.

    I want to be able to view an entity inside the App with a view of all related emails for example.

    Not sure yet about how to handle Calendar Events, People (Contacts) and Tasks, but perhaps a simple server-side background synchronization process will be sufficient.

    I'm looking for ideas and information as to how best to accomplish the above. Cloud Business Apps obviously integrate nicely with Sharepoint (for Document management and User authentication), but what about Exchange, what is the best way to approach that obviously important part of the puzzle? Or can we integrate with Exchange via Sharepoint already?

    Or is a RIA service the only way to go here for the Exchange part?

    EDIT: I suspect that the answer lies here: Overview of Office 365 APIs Preview and Exchange for developers

    Thanks in advance


    Regards, Xander. My Blog

    • Edited by novascape Sunday, May 11, 2014 11:42 PM
    Sunday, May 11, 2014 11:21 PM

Answers

  • novascape,

    Yes the new Office365 APIs are the latest a greatest way to integrate with Exchange Online.  Problem is...presently the tools only allow adding the API to MVC web application projects or Windows Store app projects.  With some work, I think you should be able to identify the scripts from a WinStore app and include them in LS CBA project.

    Hopefully soon, LS CBA project will get first-class support for this and perhaps even change the OAuth being used for SharePoint to use the Discovery Service OAuth in Office365 API (?)  If I understand it properly, doing so might even have the added benefit of changing the SharePoint\Exchange connection at runtime(?)

    If your exchange is not Office365 then there is EWS which is ajax/soap method to integrate with Exchange from javascript.

    Josh

    • Marked as answer by Angie Xu Tuesday, May 20, 2014 1:19 AM
    Monday, May 12, 2014 11:14 AM

All replies

  • novascape,

    Yes the new Office365 APIs are the latest a greatest way to integrate with Exchange Online.  Problem is...presently the tools only allow adding the API to MVC web application projects or Windows Store app projects.  With some work, I think you should be able to identify the scripts from a WinStore app and include them in LS CBA project.

    Hopefully soon, LS CBA project will get first-class support for this and perhaps even change the OAuth being used for SharePoint to use the Discovery Service OAuth in Office365 API (?)  If I understand it properly, doing so might even have the added benefit of changing the SharePoint\Exchange connection at runtime(?)

    If your exchange is not Office365 then there is EWS which is ajax/soap method to integrate with Exchange from javascript.

    Josh

    • Marked as answer by Angie Xu Tuesday, May 20, 2014 1:19 AM
    Monday, May 12, 2014 11:14 AM
  • You could try this : http://xpert360.com/products/lightning_office365.aspx Currently it covers only the email, contacts are coming in v1.1. Martin
    Monday, May 12, 2014 6:19 PM
  • And this is brand new: http://blogs.office.com/2014/05/12/net-and-javascript-libraries-for-office-365-apis/
    Tuesday, May 13, 2014 2:54 PM
  • Interesting...looks like the 356 API is supported on more project types with this update...what is a 'multi-device hybrid app'  is that a new name for LS HTML CBA?  Can anyone confirm whether the tools will install in the CBA project template with this update?
    Tuesday, May 13, 2014 3:04 PM
  • We have installed VS2013 Update 2 here over VS2013 Update 1 + March'14 Update. Seems ok so far and it comes with Office Dev Tools May'14 Update. I have skipped the latest Azure SDK and the dreaded db tool updates so far (showing as available updates).

    So that should be ok for you. Plenty of testing still to go and not tried any deployments.

    Dave


    Dave Baker | AIDE for LightSwitch | Xpert360 blog | twitter : @xpert360 | Xpert360 website | Opinions are my own. For better forums, remember to mark posts as helpful/answer.

    Tuesday, May 13, 2014 3:34 PM
  • Thanks Dave. 

    I was curious whether, once installed, Office 365 tools are available under your project node’s context menu in the Solution Explorer by selecting Add->Connected Service.  Does this work in a CBA project template with this new update?

    I would guess not since, while the supported proj types list has grown, it doen't include CBA yet.  Instead it includes something new called:  'multi-device hybrid app' 

    Josh

    Tuesday, May 13, 2014 3:47 PM
  • Hi Josh,

    No sign of that. Json editor works. Some 'OrderBy unique' change to msls-1.5.0.js that I saw.

    I did not see any LightSwitch fixes listed in the manifest of changes, but that is not unexpected. Would be rather nice though :)

    Dave


    Dave Baker | AIDE for LightSwitch | Xpert360 blog | twitter : @xpert360 | Xpert360 website | Opinions are my own. For better forums, remember to mark posts as helpful/answer.

    Tuesday, May 13, 2014 4:13 PM
  • WCF RIA seems to be the right way to integrate LS (CBA) and the new Office 365 APIs. It does not seem possible since class library (WCF RIA service is normally added this way) is not supported project type. Am I right about this?
    Tuesday, May 13, 2014 6:09 PM
  • Thanks everyone for your contributions, it is really appreciated. The game has obviously changed between yesterday and today and there is now lots to contemplate. My gut feel at this point is that a RIA service is the way to go as I'm very certain we would be able to add the new O365 APIs into that, even if not supported out of the box. Anyway, a lot of research is required!

    Regards, Xander. My Blog

    Tuesday, May 13, 2014 8:55 PM
  • Xander,

    One thing to try with your research... I noticed even before this update that the Office365 API could be added to the server project of the CBA template.  VS treats it as if it is an MVC project by adding MVC controller classes seen below. 

    Not being very familiar with MCV I haven't been able to make heads or toes of any of it, so I cannot say what will happen when you publish.  Since you're considering going RIA with server-side code, this might be helpful.  It also adds the server project as an application to Azure AD which is the cornerstone of how the Discovery Service OAuth works.

    Try this on a new CBA solution right-click on Server Project | Add | Connected Service then following the steps.  I wouldn't recommend it on an existing solution since there is no way to easily reverse the changes.  I think you'll find some interesting morsels in the classes that get added.

    Let's hope the CBA template is supported soon for the javascript version of 365API.  Hopefully it's planned, perhaps it's a while out still since there may be a lot of changes needed...Azure AD, etc.

    PS...something sweet I noticed is this may be the path for multi-tenant apps since they are supported with Azure AD.

    HTH,

    Josh

    Wednesday, May 14, 2014 11:18 AM