Office Add-ins developer platform community call – September 14, 2022
Office Add-ins developer platform community call - September 14, 2022
This month’s agenda and presenters
The call was hosted by Preethika Kiruveedula, Product Manager, Microsoft
- Microsoft Word Extensibility Update. Four topics covered: Embed an add-in into a Word document, shared runtime support, structured document survey result, and Word panel introduction. Yun Wang, Principal Product Manager, Microsoft.
- Microsoft Outlook Add-in Blazer Sample Update. Step through Blazor environment setup and sample project. Eric Legault.
- Community spotlight. Recognizing Thomas Barnekow, Senior Principal Software Architect, Analog Devices.
- Q&A. See question and answers at end of call and in chat throughout call. Preethika Kiruveedula, Product Manager, Microsoft.
View video segments
- Microsoft Word Extensibility Update 00:54
- Demo - Microsoft Outlook Add-in Blazer Sample Update [9:22] (https://youtu.be/KKAGvdh1Jfk?t=562)
- Community spotlight [23:44] (https://youtu.be/KKAGvdh1Jfk?t=1424)
- Q&A 23:56
Topic summaries
- Microsoft Word Extensibility Update. Four topics covered with UI demos and use scenarios for first two topics. 1) Embed an Add-in into a Word document (using Open in Word Pattern), 2) shared runtime support, 3) structured document survey result, and 4) Word panel (user research community focus group) introduction.
- Microsoft Outlook Add-in Blazer Sample Update. Get started using the Blazor Web framework to build an Office Add-in using C# in addition to .NET and JavaScript. Practical review of Blazor capabilities and incompatibilities, tips for setting up project environment and Blazor project. Learn about using the Blazor client template in Visual Studio and the Office Web Add-in template to add the sideloader project. Walk through sample reference project.
Call to action
- Share your feedback on how we can provide you with a better Office Add-ins development experience. Join a community panel.
- Sign up for the PnP Recognition Program and earn contribution badges.
- Follow us on Twitter to see call agendas, important updates, and release announcements.
- Register for the Microsoft 365 Developer Program and get a free E5 developer tenant with instant availability and other assets.
- Join the next Office Add-ins community call on October 12th at 8:00 AM Pacific Time.
- Please complete the Office add-in developing experience survey
Q&A (Question & Answers)
Our add-in needs the MIME representation of an e-mail message, the conversationId and the internetMessageId. Would it be possible to add support for these properties to office.js? Currently we need to use Outlook REST API (or MS-Graph in the future) to get these values
We currently support these properties. For guidance with using these properties, see the Office.MessageRead API at https://learn.microsoft.com/javascript/api/outlook/office.messageread?view=outlook-js-preview.
Consideration for existing add-ins that use the Outlook REST API is very helpful. Eventually, will all add-ins (existing and new add-ins) be able to use the Outlook REST API until Office 2019 support? I think this is very important, so could you please announce the decision on a dedicated page?
Yes, both new and existing add-ins will be able to use the Outlook REST API until support ends for Office 2019 on October 14, 2025. This announcement has been posted to Use the Outlook REST APIs from an Outlook add-in at https://learn.microsoft.com/office/dev/add-ins/outlook/use-rest-api .
Will the ‘auto-launch’ of an add-in from a Word document also apply to add-ins that are not acquired from the Office Store, but are deployed by an administrator internally as one of the admin-managed add-ins?
Add-ins that are centrally deployed by an administrator are currently supported by auto-launch.
This embedding is nice to have (if it works correctly), but are you considering to come up with the more traditional way, i.e. possibility to ‘install/enable’ the add-in for application level, not per the document? Or is it totally out of scope?
Great and valuable point. We received similar requests, but can’t provide a plan for it right now. It is something that we are also interested in.
The auto launch feature is great! One thing that Word add-ins are missing (still) is the ability to listen for save events (and intercept those).
Thanks for the suggestion. This is great requirement. Unfortunately this is not in our recent plan. You could submit a requirement at https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/idb-p/Microsoft365DeveloperPlatform to help us understand more of your user scenarios.
Which version of Word will support the embedded add-ins? What will happen, if a document with an embedded add-in is opened from an old Word version?
Office 2016, Version 1705, build 16.0.8122.1000 Click-to-Run, or later. For those old versions, the task pane will not show.
Does Blazor support async/await?
Yes, you can write C# code and use async/await. However, Blazor WebAssembly runs in the JavaScript runtime, and therefore runs single-threaded. Be careful not to call .Result, or Wait() as this can block the thread and lead to a deadlock. For more details, and patterns to consider, see https://github.com/dotnet/aspnetcore/issues/14253.
Bumping the One Outlook topic and wondering about improved Mac Outlook support. We still continue to face edge cases and inconsistencies on Mac surrounding writing base64 attachments, as well as inline images.
We’re sorry to hear you’re experiencing issues in Outlook on Mac. If you haven’t already, please submit a GitHub issue, so that we can escalate it to the Outlook team for further investigation.
Additional Resources
- Microsoft Word Extensibility Update
- Blazer Sample Update
- Repo - Office Add-ins code samples
- Sample - Create a Blazor Webassembly Outlook add-in
- Developer sandbox - Join the Microsoft 365 Developer Program today!
- Website – Blazor - Build client web apps with C#
- Documentation - ASP.NET Core Blazor fundamentals
- Documentation - Tooling for ASP.NET Core Blazor
- Documentation - ASP.NET Core Blazor project structure
- Documentation - ASP.NET Core Blazor hosting models
- Documentation - ASP.NET Core Blazor JavaScript interoperability (JS interop)
- Documentation - Host and deploy ASP.NET Core Blazor
- Documentation - ASP.NET Core Razor component lifecycle
- Documentation - Debug ASP.NET Core Blazor WebAssembly
- Documentation - ASP.NET Core Blazor dependency injection Q&A
- Documentation - Office.MessageRead interface
- Documentation - Use the Outlook REST APIs from an Outlook add-in
Stay connected
- Follow our blog posts at Microsoft 365 and Power Platform Community Blog
- Follow @microsoft365dev on Twitter
- Microsoft 365 Platform Community on YouTube
- Invites to all Microsoft 365 Developer Community calls
- Submit questions about Office Add-ins development for our next community call
- Join us for our next community call on October 12th at 8:00 AM PT