Category Archives: Outlook

Allowing different Azure AD app registration permission sets for a single app (user and elevated admin consent) using the v1 auth model

With Azure Active Directory Application Registrations there are two versions of authentication model available.

v1 – all the permission scopes that your app may require must be consented to by the user up front.

v2 – permission scopes can be asked for dynamically as your app is running, if the user hasn’t already consented to the required permission scope then they will be challenged for consent at that time

v2 is a far more flexible model as it allows users try out and/or start using your app without having to consent to everything your app could ever want to get access to. After getting comfortable using the app, as the users explore and use more specific and advanced features in your app, you can ask for further permissions. Even more advantageous, certain API calls require a tenant administrator to consent to the permission on behalf all users. With v2 auth model end users can use features of the app that they have authority to consent access to, and then if a admin consents to some of the admin only permissions then even more features could be lit up in your app.

Here’s a good rundown on the state of app registration and auth in a recent episode of the Microsoft Cloud Show and you can read about the difference between v1 and v2 auth in the official Microsoft docs.

The Problem

Not all backend service APIs support the v2 auth model, and you can’t mix and match v1 and v2 auth model. If one or more of the backend service APIs you require only supports v1, then your entire app (and access to all service APIs) will be done using v1. At the time of writing the Microsoft Graph supports v2 auth, but SharePoint only support v1 auth. There is a technique for taking an refresh token acquired using v2 auth and exchanging it for a SharePoint access token but this technique can only be used from a custom Web API, and not from a Single Page Application (SPA) as it’s not safe to expose a long lived refresh token in client side code (i.e. JavaScript running in the browser).

This means there’s situation where you are stuck with v1 auth for now. Under v1 auth if your app has at least one permission that requires admin consent, then ordinary users are not going to be able to simply start using your app on there own, we are back to the days of having to “go through IT” to have an admin approve the app before it can be used.

The Solution

Well, it’s not a silver bullet solution that is going to fix any scenario, but the technique I’ll discuss here allows you to define two sets of permissions for your app. One set of permissions that contains just the minimal set of permissions to get users started using your app (you wouldn’t want any permission that require admin consent here) – We’ll call this the User Permission Set, then a second set of permissions (that contains those tougher to get approval for permissions that require admin consent) – We’ll call this the Elevated Permission Set.

What we are aiming for is the app to run with just the restricted User Permission Set (so that anyone can quickly start using your app) but maybe not with all the features enabled, and then allow an administrator to optionally provide consent on behalf of all users which then allows the app to use the Elevated Permission set (for all users).

I’ll assume you have already been able to create an app that successfully authenticates and consents a user against a single permission set (here’s a good starting point with Azure authentication concepts if you aren’t to this stage yet)

Step 1 – Create an Application Registration per permission set

Create an application registration for both the User Permission set and the Elevated Permission set (this will be a superset of the User Permission set). These registrations should almost be identical (e.g. same Reply URLs), but they will have different Application IDs, and obviously different permissions to represent the different permission sets. We will call these the User App Reg and the Elevated App Reg.

Step 2 – Change the normal auth flow to try to acquire tokens using the Elevated App Reg first

Your normal auth flow would be to try to acquire an access token for the service endpoint specifying the App Reg Id. Now we have two possible App Reg Ids, so what we do is that we try to acquire the access token first using the Elevated App Reg Id. If you are able to get the token then you are away just like the normal app flow (in this case consent must have been granted by an admin previously). But here’s the trick, if you fail to get the token (and the reason returned is that you need to prompt for consent) then proceed with your standard flow to acquire the token this time using the User App Reg Id and prompting for user consent if required. This way the user is able to start using your app as they will have authority to consent to the User App Reg.

Step 3 – Track which App Reg Id is in use

Once this auth flow is complete, track in the state of your app which App Reg Id you successfully acquired the token for, as that token will only work with the App Reg Id used to acquire it. Example: if the call to acquire the token using the Elevated App Reg Id worked then all future calls should specify the Elevated App Reg Id.

Step 4 – Conditionally protect features that require the Elevated App Reg

Now you are tracking which App Reg is in use you will know when your app only has the restricted User Permission Set. You can use this to hide features or prevent them from being used.

Step 5 – Expose a way for administrators to provide admin consent

Somewhere in your app you can provide the ability (e.g. a button) for a an administrator to provide admin consent. This will just launch the prompt for admin consent login URL and (always use the Elevated App Reg Id for this). Now when a user tries to use the app (see step 1) the attempt to acquire the token using the Elevated App Reg Id should work since an administrator has provided the consent.

If you are feeling really awesome you could (in the same session of your app) go through your auth logic again without restarting the app the discard the tokens you will have acquired against the User App Reg and get new tokens now against the Elevated App Reg and light up those new feature of your app immediately.

Video example of an Outlook Add-in utilizing this technique to provide user and elevated permission sets within a single add-in and allowing an admin to dynamically provide consent enabling additional features.

 

 

 

Wonder what a Microsoft 1:1 hackathon looks like? OnePlace Solutions Teams/Graph Engagement Experience

microsoft-teams-logo.jpg

I was fortunate enough to be involved in a 1:1 hack engagement with Microsoft recently where OnePlace Solutions hosted some eager Microsoft engineers for a week long engagement. The intention was to see how we could harness some of Microsoft’s new Teams extensibility options and the Graph API, and for Microsoft to identify limitations or areas for improvement.

The format of the event:

  • brainstorming possible ideas ahead of the event itself
  • discussion and selection of a few possible ideas
  • splitting up into teams and scoping what were would try to achieve within the scope of the hack
  • working in a compressed scrum process (daily stand-ups, task refinement and retros)
  • present to a wider audience on the last day of the hack to show what had been achieved and the business benefit

It was amazing to see how quickly the Microsoft engineers were absorbed into our development team, brought up to speed with our existing code-base, and starting to deliver functionality.

The real takeaway and reason for writing this article it just to let everyone know what an awesome opportunity these engagements are from Microsoft, a bit of what you can expect and that I highly recommend getting involved if the opportunity arises.

What did I see as the biggest benefits to our business of doing this hack with Microsoft?

The tips, tricks and work pattern knowledge sharing that occurred only comes when you truly try to work together on a project and aren’t just academically sharing knowledge. We all work in different ways and by running the hack almost as a true project (in a condensed form) there is a lot more than just the coding that is being discussed. VSTS, scoping, work item tracking, design white-boarding sessions, daily stand ups, retros, git source control, review of pull requests. All this is outside of the actual coding and using the technology being hacked on, but it is also a critical piece of developing in an efficient, scalable and measurable way.

Accelerated and focused learning on new technologies. The speed of getting across where a technology like Teams extensibility is up to, what’s possible when applying to problems we are trying to solve, and that hard first mile of understanding the frameworks, dependencies, and tooling to get the first hello world skeleton running.

Outside of the technology it’s a great opportunity to meet and build relationships with people who share a similar passion and spend a lot of their time working to solve similar problems. At OnePlace Solutions we are a passionate bunch of technologists that enjoy working in a social and supportive environment – from what I’ve experienced the hack is a perfect match for the way we work, with Microsoft bringing the same mindset, energy and support to the hack. We spent as much time laughing and discussing topics outside of technology as we did on it. At the end of the day we are social creatures and I found the hack was a perfect environment that bought people together with a desire to want to work together on a common goal, to challenge and push each other to do more in a fun and supportive way, and have a good laugh at the same time. Having access to global Microsoft resources to get definitive answers quickly, removed the amount of wasted time and frustration which allowed productivity, enthusiasm and energy levels to remain high.

We dedicate an amount of time each sprint to R&D, which usually involves educating ourselves in what is possible with new technologies and APIs and often going as far as prototyping code to see what’s possible and where the limitations are. It’s hard to imagine a better return on investment than spending this R&D time with Microsoft in the format of a 1:1 hack.

So a huge thank you to the Microsoft engineers, we had a great time and my advice to anyone thinking of getting involved with these engagements is that they can have great value to your team.

SharePoint Conference NA – The photos and my takeaways

SharePoint returning to Vegas, would it work like the days of old? There is certainly something special about the SharePoint community and this conference had that tight knit community feel to it.

Vegas amazes me at the amount of people it seems to just be able to soak up without really skipping a beat, making it the perfect place for hosting a conference. There’s no transport required to venues and endless dining and entertainment options.

We had a really busy time on the OnePlace Solutions booth, a big thank you to everyone who stopped by to see what our latest products are capable of and keeping us busy. We had more quality conversations than we were expecting, and it’s great to hear peoples passion for SharePoint and Office 365 coming through in those conversations.

While there was a lot being announced at the conference, I was happiest to see metadata in SharePoint finally getting some love. I had thought that SharePoint had lost it’s way a little on the metadata front in recent years. Especially in the shift to modern UI for document libraries and lists. I believe it is the metadata that made SharePoint so valuable for building solutions on top of. So I was super excited to see the modern document library webpart receive a big overhaul in it’s support of metadata.

Lists also got a refresh and I think the ability to generate a list (and columns of the right type) by directly importing a spreadsheet is genius. I think is a fairly common work pattern for users to start playing with tabular data in Excel and at some point it becomes valuable to share – providing such a simple way of moving from Excel to SharePoint should drive adoption of SharePoint lists as the central shared location for this data and then provide a wealth options on what can be done with that data once it’s in SharePoint.

I was technically impressed (and surprised) by the augmented reality of SharePoint Spaces and the work that had been done to bring this to the masses. I think it appeals more to the content management space than the document management, file management, collaboration and business workflow process areas I typically work in.

Below is a quick video of my reaction after the keynote.

 

 

Family tech support – How to get Office for free?

If you read my blog you are probably working with IT everyday and are familiar with the fact that all your family members (and extended family) use you as the family IT help desk – if only you could charge them your hourly rate…

A frequent family help desk call is the one you get after they have purchased a new laptop or PC. They need help to set it up and get the basic applications installed – one of which is Office.

You can point them towards buying an Office subscription, but these days it’s also worth considering what a Microsoft Live account provides for free. How much are they really going to use the “power” features of Office? I know they want Office installed because they need to feel assured that when they want to start writing a novel or need to fire up Excel for working out their finances and budget that it’s going to be there for them – but in reality it’s probably just the basic features that they require; and guess what, a free Microsoft Live account gives you online versions of Word, Excel and PowerPoint that are actually very good. So much so that I find them faster than their desktop counterparts and in the commercial world find myself using Office Online more and more to read and make changes to Office files (Word, Excel, PowerPoint & OneNote).

So what do you get when you sign up for a consumer Microsoft Live free account?

The sign-up page lists quite a few things but I don’t think it does a great job of telling you what you actually get, lets take a look at them:

  • Account – This is the identity of your user account pretty simple.
  • Outlook – You get an Outlook.com email address and you can use Outlook in a web browser, and native Outlook apps available on iPhone and Android (for free) which are really good. What you don’t get is a license to use the Desktop version of Outlook on Windows. The built in Windows mail app can be used to connect to your Outlook.com account however. It’s not as powerful and feature rich as the Outlook Desktop client but it’s also faster and baked into Windows 10.
  • Office Online – This to me is really the unsung hero of a consumer Microsoft account. What this means is that you get:
    • Word Online (plus native Word on iPhone/iPad and Android) – Read and pretty impressive edit capabilities
    • Excel Online (plus native Word on iPhone/iPad and Android) – Read and pretty impressive edit capabilities
    • PowerPoint Online (plus native Word on iPhone/iPad and Android) – Read and pretty impressive edit capabilities
    • OneNote (Full Windows application plus native Word on iPhone/iPad and Android) – Read and pretty impressive edit capabilities
    • Office Lens – If you haven’t used this app on iPhone or Android it’s going to blow your mind (just a little). It turns your phone into a handheld scanner. Take a photo and it automatically straightens up the page and makes the scan look good (with document, business card and whiteboard modes).
  • Skype – This refers to the consumer version of Skype that you may already have used for free, well since Microsoft acquired in quite a few years ago now your Microsoft Live account has an associated Skype identity.
  • OneDrive – This is personal cloud storage (think DropBox). You can save files to the cloud and they are backed up and available anywhere you log in (Windows PC, Mac, tablet, web browser, iPhone, Android etc).  On the free plan you get 5GB of cloud storage for free.
  • Windows – to get the most out of Windows 10 you really need to have a Microsoft account at the time of setting Windows up. Your free Microsoft Live account provides this Windows identity, this is who you will sign into you new laptop or PC with.
  • XBox Live, Bing, Store, MSN – I don’t think these are anything to rave about they are really just providing you with an identity to these services.

So we’ve covered off the services that Microsoft advertises you get with a Microsoft Live account, but once you have set it up these are the application that you actually get access to (this is accessing your account via a web browser).

In addition to what’s advertised you also get:

  • Calendar – Yes this is pretty much what you’d expect it to be. It’s baked into Windows 10 and the Cortana personal assistant can make use of it too
  • People – This is your central contact management area for your Microsoft Live account
  • Photos – these are stored in OneDrive but you get specific handling of photos with thumbnails, albums and some AI classification as well.
  • Tasks – These are basically a ToDo list but with pretty slick apps for iPhone and Android as well. This has come partly from Microsoft’s acquisition of Wunderlist which was one of the most popular mobile ToDo applications.
  • Sway – this is for creating rich and engaging online presentations
  • Flow – very useful for automating tasks and connecting systems together (even outside the Microsoft ecosystem). Example: every time you receive and email with a certain subject or from a certain sender you want to copy the attachment to a folder in OneDrive – Flow can do that for you. Flow is similar to IFTTT (If This Then That)

The real draw cards here for your family and friends though is Office online (Word, Excel, PowerPoint). The editing capabilities of the online version of these apps is now to the point that it would be sufficient for most use cases. Have a look at the ribbons options on the screenshots below, are they missing anything you’d need for day to day use?

 

 

You’re getting a lot out of the box now with your free Microsoft Live account. It’s by far the smartest move when setting up a new laptop or PC so that your Microsoft Live account is used when you are logging in and you are going to get all of these great apps for free and may even replace the need for buying a Office subscription or installing a desktop version of the Office application. Now that has to cut down your future IT help desk overhead!

It’s a fast moving space and hard to keep up with even when you are working in the space, so cut your family and friends some slack, it may take a little education but they can achieve what they used to with a minimal install and without having to part with any hard earned cash.

Read more about Office Online.

 

Sydney SharePoint User Group – The Transition to Modern Office Add-in Development

sharepoint-user-group-community-sydney-cameron-dwyerI had the pleasure this week of speaking at the Sydney SharePoint User Group on the topic of transitioning to the modern Office Add-in development model.

We discussed:

  • The existing COM/VSTO Office Add-in development model
  • The reasons and drivers for needing a new development model
  • What the modern Office Add-in development is and how it works
  • Benefits of the modern model
  • What this transition means for Office developers
  • A look at the typical modern add-in technology stack and discussing some of the options
  • The wider Office Developer Vision (Extending Office through add-ins + accessing Office 365 data via Graph)

Thanks to those who attended and as promised here’s a link to the slide deck from the nights presentation.

Transitioning to Modern Office Add-in Development (slide deck)

sharepoint-user-group-sydney-cameron-dwyer-office-add-in-dev

Microsoft Ignite 2017 Highlights for the Office & SharePoint Developer

What a massive week in Orlando for Office developers. So many sessions, so much new information, it really was a case of drinking from the fire hose!

Thankfully most sessions were recorded and are progressively being made available along with the relevant slide decks on https://myignite.microsoft.com/videos

If you only have time to watch one session my pick for the SharePoint/Office Developer would be Accelerate your digital transformation with SharePoint and OneDrive presented by Jeff Teper, Dan Holme, Omar Shahine, Naomi Moneypenny. This session was just non-stop announcements on what’s new in SharePoint, Office and OneDrive. Some of the announcements:

  • Office 2019 is coming (Office clients, SharePoint, Exchange, Skype for Business servers – all servers to be available on-prem) – preview due mid 2018
  • A SharePoint specific conference (backed by Microsoft) is coming back in 2018 – and yes it’s going to be in Las Vegas
  • SharePoint hub sites to group related sites together, share branding and navigation and provide rollup of some information
  • SharePoint site provisioning model to allow for scripted customizations during the provisioning process
  • SharePoint Company Theming and an online tool to help (https://aka.ms/spthemebuilder)
  • SharePoint File Preview webpart (supports over 270 file formats)
  • SharePoint Migration tool to move SharePoint content from on-prem to the the cloud (Office 365)
  • Improved external link sharing
  • OneDrive – deeper integration into Windows 10
  • Improved large list support
  • New version of the SharePoint mobile app

Going one level deeper into the Office/SharePoint developer world, here’s some of the news that came out regarding:

Microsoft Graph (Build smarter apps with Office using the Microsoft Graph (Yina Arenas))

  • Generally Available
    • SharePoint Lists
    • File Versions
    • People API
    • App-only support for OneDrive
    • Access to Outlook shared calendars, contacts and mail folders
  • In Preview
    • Graph Extensions for Azure Functions
    • Outlook Categories
    • Outlook Rules
    • Outlook Email Headers
    • Outlook Rooms

Office Add-ins (What’s new and what’s coming for Outlook add-ins (Wey Love, Harshit Kumur))

  • Generally Available
    • Outlook Add-ins for Android
    • Single sign-on API (Web clients)
    • Auto-open task pane
  • Preview
    • Single sign-on API for Outlook
    • Centralized Deployment for Outlook Add-ins
    • Adaptive card support in Outlook (OWA)

SharePoint Framework and Patterns and Practices

  • SharePoint Framework became available on-prem with SharePoint Server Feature pack 2 (this was released a couple of weeks before Ignite)
  • SharePoint Framework Extensions – custom snippets on every page (aka delegate controls) context buttons/actions, customized field rendering
  • Reusable controls and Office Fabric Core

One of the more complex areas of doing modern Office development is authentication and authorization (especially when connection back into Office 365 services). This story is becoming a lot simpler if you can go exclusively through the Graph API. Vittorio Bertocci did a very entertaining session (Office development: Authentication demystified) that really shows you an on-rails experience for how to accomplish this from many different technologies and context. It is well worth a watch and has the potential to save you a lot of time and head scratching. This area of Office development has changed drastically over the last couple of years and there is a lot of conflicting information on the web and much of it is out of date.

 

cameron-dwyer-msignite-2017-yina-arenas-graph

Yina Arenas

 

cameron-dwyer-msignite-2017-vittorio-bertocci-azure-active-directory-auth

Vittorio Bertocci

 

cameron-dwyer-msignite-2017-wey-love-outlook-extensibility

Wey Love

How to Debug Modern Office Add-ins on Devices (iPhone/iPad) using Firebug

firebug-debug-office-addins-ios-iphone-cameron-dwyerDebugging modern Office Add-ins with current tooling can be quite challenging. Although the technology of the add-ins you write is consistent and conforms to web standards (HTML, JavaScript, CSS), the way the add-in is hosted in the different Office clients makes it challenging to use debugging tools (as the add-in isn’t simply running in a web browser).

Debugging in Office Online (web browser versions of the Office products) is probably the simplest to use existing debug tools, and simply using F12 debug tools in IE, Edge, Chrome will give you access to the Console, DOM and inspection of HTML and CSS.

Desktop Office clients make it a bit harder since you can’t just start the F12 debugger tools because you are not in a full browser (like Edge or Chrome). Luckily Microsoft have provided a standalone version of the F12 tools (F12Chooser.exe) that you can use to attach to the running instance of the Desktop Office client.

https://dev.office.com/docs/add-ins/testing/debug-add-ins-using-f12-developer-tools-on-windows-10

Once you start talking about devices such as iPhones and iPads it begins to get even more difficult. Most documentation points you in the direction of Vorlon.JS which provides a good remote debugging experience, but involves a fair bit of setup, configuration and embedded scripts in your addin as well.

https://dev.office.com/docs/add-ins/testing/debug-office-add-ins-on-ipad-and-mac

Rather than go down the Vorlon.JS route, I’ve come up with the a technique which is more lightweight than the Vorlon.JS approach and instead uses Firebug Lite. Firebug Lite is an in-page debugging tool that can be added to a webpage by embedded JavaScript into your add-in. The example below adds a hyperlink to the page that will launch the Firebug debugger when clicked.

<a href="javascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']&&F.documentElement.namespaceURI;E=E?F[i+'NS'](E,'script'):F[i]('script');E[r]('id',b);E[r]('src',I+g+T);E[r](b,u);(F[e]('head')[0]||F[e]('body')[0]).appendChild(E);E=new%20Image;E[r]('src',I+L);})(document,'createElement','setAttribute','getElementsByTagName','FirebugLite','4','firebug-lite.js','releases/lite/latest/skin/xp/sprite.png','https://getfirebug.com/','#startOpened');">Firebug Lite</a>

 

Add-firebug-debugging-link-to-office-addin-cameron-dwyer

 

This link now appears in the add-in and clicking on it starts the Firebug Lite debugger in-page. Due to the amount of screen space (especially on an iPhone) it’s going to be a fiddly trying to do extensive debugging using your finger. Having access to the JavaScript console is really valuable and it also shows the status of AJAX calls being made and any resulting errors.

 

 

Firebug Console (iPhone)

Debug-Office-Addin-iPhone-JavaScript-Console-Cameron-Dwyer

 

Firebug DOM explorer (iPhone)

Debug-Outlook-Addin-DOM-JavaScript-Inspect-Cameron-Dwyer

 

Firebug HTML Inspector (Desktop Outlook)

Debug-Office-Addin-Desktop-Office-Outlook-Firebug-Cameron-Dwyer

How to compare the MAPI property differences between Outlook emails

I was recently working on extracting mail from Outlook to an .msg file and later importing the .msg file back into Outlook. I was concerned that some of the non-obvious properties (there are a lot of non-visible MAPI properties stored on an email) would not be persisted or may change value in the process of the export/import. I thought this was going to be a daunting and time consuming process comparing the value of around 100 MAPI properties and playing spot the difference. Luckily the first thing I tried was the awesome OutlookSpy tool which I’ve found simply brilliant for assisting with Outlook development over the years. What I didn’t realise was that OutlookSpy has a build-in compare feature that will compare the MAPI properties of 2 mail items and highlight:

  • Properties missing/extra on the 2 objects being compared
  • Properties with different values on the on the 2 objects being compared
  • Properties with the same values on the on the 2 objects being compared

 

Steps compare the properties on 2 email messages using OutlookSpy

 

Select one of the emails to compare and select OutlookSpy | IMessage

cameron-dwyer-outlookspy-compare-01-IMessage

 

The IMessage window will appear showing all the MAPI properties on the item. From here select the Compare tab.

cameron-dwyer-outlookspy-compare-02-IMessageWindow

 

In order to compare this email against another email, the compare tab gives you a green area where you can drag and drop the PR_ENTRYID property from a different email message. So to do this leave the IMEssage window open on the compare tab.

cameron-dwyer-outlookspy-compare-03-CompareTab

 

Go and select the email you want to compare to in Outlook and select the OutlookSpy | IMessage button for this new email. You will be presented with the IMessage window and shown the MAPI properties for the new email. Locate the PR_ENTRYID MAPI property in the table (hint: click the column header to sort the table). Now drag and drop the PR_ENTRYID row from the table into the green drag/drop zone on the original IMessage window that you left open.

cameron-dwyer-outlookspy-compare-04-dragdrop-pr-entryid

 

Now the magic happens! The compare tab does a comparison of the 2 items and allows you to switch between properties with the same values, properties with different values, and missing or extra properties.

cameron-dwyer-outlookspy-compare-05-properties-same-on-both-email

 

cameron-dwyer-outlookspy-compare-06-properties-different-on-email

How to clear the Microsoft Outlook for Mac web browser cache and cookies

imageWhen working with Outlook for Mac the content of email messages are rendered in a web browser control that is specific to Outlook (it does not use Safari). So when you have a need to clear any cached data or cookies it is far from obvious how you should go about clearing this cache. I’m a newbie to Mac so maybe this is obvious to seasoned users! Here’s how I went about it.

  • Start the Finder application
  • Open the Go menu
  • You need to get to the hidden Library folder. To get the Library folder to show up under the go menu, hold down the option button on your keyboard
  • Now open the Library folder

image

  • Find the Containers folder under Library and expand it

image

  • You should be able to find a folder called com.Microsoft.OsfWebHost

image

 

  • To clear out the web browser cache I move the following to the trash:
    • com.Microsoft.OsfWebHost/Library/Caches/com.Microsoft.OsfWebHost (folder)
    • com.Microsoft.OsfWebHost/Library/Caches/Cookies/Cookies.binarycookies (file)

image

 

Restart Outlook and you should now have no cached files being used.

Vote for our app in the Office 365 Hack Productivity competition!

image

 

Microsoft is currently running a Hack Productivity competition for creating apps that leverage Office 365 Add-ins and/or APIs to deliver an app that increases user productivity.

I’ve been working with the awesome dev team at OnePlace Solutions to cook up a modern Outlook Add-in that will run on any device and allow a user to quickly and easily save email and/or attachments from Outlook to SharePoint/Office 365 Groups.

We think it’s an awesome productivity app as it makes use of the “dead-time” you get during the day when you haven’t got time to do any heavy work but have your phone or tablet handy. This allows you to do those tasks like filing emails into your Project Management System in SharePoint while catching the train to work, or saving that updated document you’ve been sent into your Legal Matter Management System in SharePoint while waiting for your doctor’s appointment.

We are using all the cool technologies to make the magic happen. Running as a super fast Angular 2 Outlook Add-in and looking very slick thanks to the Office UI Fabric! We are utilizing the Microsoft Graph, SharePoint and Exchange services of Office 365 and hosting the app 100% on Microsoft’s Azure Cloud.

We didn’t just cobble together an app for the Hackathon, we built this app to be ready for the prime time and it will become a commercial product offering in the very near future. We have released the app into the Office Store as a preview where you can take a look at what we’ve built and try it out for yourself.

Please take a look and vote for our submission to the Hackathon

Get the OnePlaceMail for SharePoint Online preview app from the Office Store today.

 

OnePlaceMail for SharePoint Online – screenshot 1OnePlaceMail for SharePoint Online – screenshot 2OnePlaceMail for SharePoint Online – screenshot 3

 

Learn more about the app by visiting the OnePlace Solutions website

http://www.oneplacesolutions.com/oneplacemail-for-office365-sharepoint-online.html

image

%d bloggers like this: