I have written a plug-in and would like to know if it was fired by , the web service api, Import data, web form or outlook client.
Is this possible?
Look at the IPluginExecutionContext.CallerOrigin property (http://msdn.microsoft.com/en-us/library/cc156395.aspx). You can determine if it was from the application, async service, API, or if the plugin is being replayed after coming from offline.
Related
I am working on an Outlook add-in that uses the Outlook REST API extensively ... this works great in Outlook for the Web. It's very responsive and when I take an action against the REST API the UI updates almost instantaneously.
However, the same add-in when used in Outlook for Windows, has an extremely poor user experience. When I click a button to take an action, the action happens against the mailbox almost instantaneously (I can see it refresh in the web client open at the same time) but it can take 5-10 seconds before the UI on the full Outlook client updates.
Is there anything I can do to force the Outlook client to refresh the same way as Outlook web client or is this just a deficiency of the full Outlook?
Update:
I've created a side-by-side video of the full client and web client showing what I mean - https://www.youtube.com/watch?v=RGEskXTt7S4
By default the rich native Outlook client uses Cached Exchange Mode for a better overall user experience. This means that the rich native client relies on a local cache which gets updated periodically. The online/web client, however, is always online. Since you are making a REST call to the server, the web client will pick up the changes faster. After a few seconds, those changes will be pulled to the native client. There are also other differences between the rich client and the web client that could contribute in the delay you are experiencing. This delay will be observed for almost any REST call to make changes to the mailbox.
One way to address this issue is an Outlook add-in API which acts directly on the client. Unfortunately, we don't have such an API. We have a UserVoice page for tracking Outlook add-in feature requests. Please add a request there. Feature requests on UserVoice are considered when we go through our planning process.
I'm looking for a solution where my bot can understand users request(may be with LUIS this can be achieved) and verifies/validates the user/requirement with master data. If all good, then connect to my native database(Siebel CRM via API) to perform the defined action and log a reference ticket(via API) and finally send an email to user using outlook. Is this achievable using azure service?
Yes, the Bot Framework can do all of those things:
my bot can understand users request
LUIS is perfect for this.
verifies/validates the user/requirement with master data
All of this can be done within Waterfall dialogs or Prompts. You can either store the master data in the bot code, or query it from an external source and have the bot validate against it.
Here's a good sample for prompts and validation.
connect to my native database(Siebel CRM via API) to perform the defined action and log a reference ticket(via API)
The bot runs on C#/Node, so anything (including calling your APIs) that you can do in C#/Node, you can do in your bot.
send an email to user using outlook
Bot Framework has a specific Email Channel for this or you can use the Graph API.
Recommended Resources
Docs and QuickStarts
Samples Repo
Reference Docs: C# / TypeScript
LUIS Docs
We have to integrate calendar feature of outlook exchange in our application, need to customize the UI for meeting room booking.
One way will be to use via registering the app in Azure AD and call the Graph API's for accessing data.
Can we access these API's without registering the app in Azure AD?
No, you cannot access Graph APIs without registering your application. The registration manifest declares how your app will authenticate against Graph, its web server location and which resources it requires access to. Without this mechanism anybody can write code to delete all of your email.
Is it possible to do a Web Hook subscribe with Dynamics CRM?
Eg: Have an external application, which should be able to push changes into DynamicsCRM (like, update of a record), when the external application undergoes a change.
Is it possible to use WebSockets in Dynamics CRM?
Can I force my CRM server to cause a change in the CRM UI, to maybe, show an alert message / redirect the form?
Thanks in advance!
Reposted from https://community.dynamics.com/crm/f/117/t/282877
No. CRM can make Web Hook requests out, but cannot accept Web Hook requests. You'd need something like an Azure function with a Web Hook binding in the middle where the external application makes a request to the function and the function makes a request to CRM.
No. If you are using CRM on-premises you could build something custom but this isn't built into the platform.
I am trying to build my own WOPI host using ASP.NET MVC and its WebAPI functions according to this example
https://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6
I successfully used that example to connect to my Office Web App Server and I can use that to access files of Excel and PowerPoint in local path and I am able to edit it, but I cannot use it to open word document in editing mode as the Post action handler isn't implemented completely without any response so that it cannot handle any edit request.
In order to add support for editing of Office document, I tried this example with POST request handler based on Cobalt library extracted from Office Web App Server.
https://github.com/marx-yu/WopiHost
With this example I managed to edit ans save all kinds of document with Office Web App Server. However, when I tried to integrate these two together I found that even if I can enter the edit window of Excel and PowerPoint and I can see that Post Requests from Office Web App Server like locking and Cobalt are handled by my WOPI Post API action handler. Those change doesn't take any effect on my local file at all. Moreover, I still cannot edit word document and when I checked the back log of Office Web App Server, I found the error message is Cobalt is not supported while I have already set the SupportsCobalt in CheckFileInfo response to true! Any help is very appreciated!
I think I have exactly what you are looking for. Check out my implementation of the WOPI host. It's an MVC6 app that takes the best from the both examples you are referring to and adds some extra features.