4. Presenters
Kim Brandl
Sr. Dev Writer
Doug Mahugh
Sr. Dev Writer Sr. Program Manager
Nitesh Golchha
David Chesnut
Sr. Dev Writer
Sohail Zafar
Principal Program Manager
Sudheer Maremanda
Sr. Program Manager
Mark Roden
Director of Technical Solutions
PSC Group, LLC
9. Developer tools and
resources
Let us hear from you!
* What tools and resources are most valuable?
* What tools and resources are missing?
https://aka.ms/ODPcommunitysurvey
11. Requirement Set 1.7 (Released)
Feature API Brief Description Old
OWA
New
OWA
O2016
C2R
O2016
MSI
O2013 Mac iOS Android
Shared
Folders
From Modifies to get the from value in Compose
mode.
Prod Prod Prod Not
Planned
Not
Planned
Prod TBD TBD
Shared
Folders
Organizer Modifies to get the organizer value in
Compose mode.
Prod Prod Prod Not
Planned
Not
Planned
Prod TBD TBD
Recurrence Recurrence Manage the recurrence pattern of an
appointment/ meeting item.
Not
Planned
Prod Prod Not
Planned
Not
Planned
In Progress Calendar isn’t
supported
Calendar isn’t
supported
Recurrence SeriesId Adds a new property that gets the id of the
series an occurrence belongs to.
Not
Planned
Prod Prod Not
Planned
Not
Planned
In Progress Calendar isn’t
supported
Calendar isn’t
supported
Events RecurrenceChanged Event that tells when meeting/ appointment
recurrence is changed
Not
Planned
Prod Prod Not
Planned
Not
Planned
In Progress Calendar isn’t
supported
Calendar isn’t
supported
Events RecipientsChanged Event that tells when recipients are changed Not
Planned
Prod Prod Not
Planned
Not
Planned
In Progress Compose isn’t
supported
Compose isn’t
supported
Events AppointmentTimeChanged Event that tells when meeting/ appointment
time is changed
Not
Planned
Prod Prod Not
Planned
Not
Planned
In Progress Compose isn’t
supported
Compose isn’t
supported
Events addHandlerAsync Adds an event handler for a supported
event.
Not
Planned
Prod Prod Not
Planned
Not
Planned
Prod TBD TBD
Events removeHandlerAsync Removes the event handlers for a supported
event type.
Not
Planned
Prod Prod Not
Planned
Not
Planned
Prod TBD TBD
12. Requirement Set 1.8 (In Progress)
Feature API Brief Description Old
OWA
New
OWA
O2016
C2R
O2016
MSI
O2013 Mac iOS Android
Attachments addFileAttachmentFromBase64 Attach a file represented as a base64 encoded string
to a message or appt.
Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Attachments getAttachmentContent Get the content of a specific attachment Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Attachments getAttachments Gets an item's attachments in compose mode Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Attachments AttachmentChanged Event Event telling when an attachment is added or
removed
Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Internet
Headers
Internet Headers Represents the internet headers of a message item Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Categories Categories Get/Set categories on an item Not
Planned
In Progress In Progress Not
Planned
Not
Planned
In Progress TBD TBD
Categories CategoryList Manage mailbox categories Not
Planned
In Progress In Progress Not
Planned
Not
Planned
In Progress TBD TBD
Resources Enhanced Location API Get/set room locations on a meeting/ appointment Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Resources locationChanged Event Event telling when a location is changed Not
Planned
In Progress Prod Not
Planned
Not
Planned
In Progress TBD TBD
Shared
Folders
sharedProperties Represents the properties of an item in a shared
folder, calendar, or mailbox
Not
Planned
In Progress Insiders Not
Planned
Not
Planned
In Progress TBD TBD
Block on
Send
OnSend event Allows an Add-in to block sending of a message. Prod In Progress In Progress Not
Planned
Not
Planned
In Progress TBD TBD
13. General Updates
• Shared folders/ delegate access in preview
• OnSend in internal dogfood. Current plan is LOB only
15. What is SSO in Office Add-ins
User
Roaming
Access
to User’s
Identity
No Login
Prompts
Access
to Graph
Gets access to user’s M365 Graph Add-in can uniquely identify a user
Users need not consent again if they have consented once,
irrespective of the machine from which they login
Users will not see another login prompt
if they have signed-in to Office
End User
Office Add-in
16. • We briefly supported SSO last year but rolled back the support as we
found user experience issues
• Blocked currently as there are hard technical roadblocks that we’re hitting
• Deployment of SSO enabled add-ins through store is monitored and
blocked
• Deployment of SSO enabled add-ins through corporate catalog is not
monitored but we do not recommend such deployment since there will be
no support
• However, team is working actively towards a plan to ship incrementally –
we’re in planning phase currently for the next quarter
• Request to community: Fill a brief survey (new) to tell us what you think at
https://aka.ms/office-add-ins-sso-likelihood-survey
SSO – Current State
17. Total respondents: 21
Key insights:
- 43% said identity management (AuthN) is the primary
motivation behind using SSO
- 62% said that they use corp catalog for deploying
their add-ins
- Of all that deploy through corp catalog, 38% said
their primary motivation behind using SSO is
authN
- 40% said that they prefer showing consent
dynamically to their users
Survey Results and Analysis
19. What are Patterns and Practices
• Developer code legos
• Can be expressed as
• Code
• Written guidance
• Or combination of both
• Community driven!
20. Where PnP fits in with docs
• Product docs
• Getting started
• Tutorials
• Core feature scenarios
• Reference
• PnP docs
• Integrations (Azure, SQL…)
• Moving from VSTO to Office web add-ins
• Customer needed scenarios
Azure
SQL
From VSTO
to web add-
in
Best
practices
The developer’s concerns
24. Edge
WebView
Edge Webview control is the modern web control
available on Windows 10
- Performance, standards compliant
- Supports full set of HTML 5 features including
media, recording, location
- Support for ECMAScript 2015+
• Starting with Windows 10 version 19XX
and Office 16.0.11425+, Edge WebView
control will be rolled out as the default
control on Win32 for Office add-ins.
25. Impact of this rollout
• Starting with Office version 16.0.11425+, Edge control will be the default
control where available
• On Windows 18XX and lower builds we will continue to use IE / Trident as the
default web control
• This means – you may have to make a few changes to make your add-in
work on both the IE/Trident as well as the Edge WebView control
• This change does not impact:
• Versions of Office lower than 16.0.11425+. We will continue to use IE /
Trident as the web control there
• Non-Windows Office versions, such as Office on Mac, iOS, Android, and
Office Online
26. Known Issues
[current]
- Error occurred while trying to reach your add-in from
https://localhost
• When loading an Office add-in from https://localhost or when using Fiddler, you
may see an error stating that a problem occurred while trying to reach your add-
in.
• To fix this, follow either of these steps to add a local loopback exemption to
“Desktop App Web Viewer”:
• Open a command prompt as Administrator and run the following
command: CheckNetIsolation LoopbackExempt -a -
n="microsoft.win32webviewhost_cw5n1h2txyewy"
• Using Fiddler: Select Tools > Win8 Loopback Exemptions and add an
exemption to “Desktop App Web Viewer.”
- All certificates need to be in computer store.
- https://github.com/OfficeDev/generator-office/blob/master/src/docs/ssl.md
- Navigating to sub-domains of source location is broken
- Add list of all subdomains to AppDomains in manifest
27. Call to Action
• Test your add-in[s] with the new Edge control and give us feedback
• Make any changes necessary to your add-in to support both IE/Trident and Edge
WebView
• Report issues on GitHub under OfficeDev/Office-js
• It’s your responsibility to make changes [that may be needed] to your add-in
to support Edge WebView
• Only report issues that you cannot address using standard web
development practices [Eg: Crashes, Scroll issues etc]
To test your add-in
• Get the latest preview versions of Office and Windows
• Min Office version 16.0.11425+
• Min Windows version 19XX
• Note: For debugging use Edge Dev Tools [see details]
28. Customer spotlight -
Word add-in with SharePoint
Mark Roden
Director of Technical Solutions @ PSC Group, LLC
29. Dr. Mark Roden
• Director - Technology Solutions
• Delivery Quality / Sales Enablement
• Head of PSC Labs
• Mentor
• Evangelist
33. Build 2019
• There’s still time to register for
Microsoft’s premier developer
conference.
• May 6-8 in Seattle
• Registration and more information:
https://aka.ms/build2019
34. Engage with us!
Are you interested in...
* Presenting during an upcoming call?
* Providing feedback about the docs?
aka.ms/office-add-ins-engage
36. Learn
Engage
Developer resources
What Where
Office 365 Developer Program https://aka.ms/officedevprogram
Script Lab https://aka.ms/getscriptlab
Office Add-ins documentation https://aka.ms/office-add-ins-docs
Excel JS API Open spec https://aka.ms/excel-js-open-spec
Custom Functions https://aka.ms/customfunctions
What Where
Stack Overflow (questions) https://stackoverflow.com
office-js
outlook-web-addins
GitHub (issues) https://github.com/OfficeDev/office-js
UserVoice (feature requests) https://officespdev.uservoice.com
Send a Smile or Frown Inside Office
37. • Recording will be available soon on Office Developer YouTube
• https://aka.ms/OfficeDevYouTube
• Next call: Wednesday April 10th, 2019
• Submit your questions: https://aka.ms/officeaddinsform
• Add to your calendar: https://aka.ms/officeaddinscommunitycall
Thank you
PnP is like legos. You can take a PnP pattern and reuse it in your project for a specific solution need. For example, take our asyncstorage pattern and use it with any auth technique you want to store and share your access token.