Inspiration?
Office Floor Plan Navigator was inspired by the need to solve the problem of locating people, meeting rooms, etc. within an indoor setting. There are a plethora of mapping systems for the outdoor world, so, why not create a mapping system for the indoor world?
What?
Office Floor Plan Navigator takes indoor building floor plans and turns them into an interactive mapping platform allowing you to assign a location to anything from your favorite pen to a meeting room.
How?
Office Floor Plan Navigator is built using an open source web based Geographic Information System (GIS) JavaScript framework. To retrieve data from Office 365, we use the Microsoft Graph API to pull user profile data including the thumbnail image. The Microsoft Graph API is called via PHP.
Assign a unique ID (add to any Azure AD field) to a desk, printer or meeting room, then, use Office Floor Plan Navigator to attach an XY coordinate to the ID. Then, query the Azure AD for a person etc and Office Floor Plan Navigator will zoom to the corresponding XY location on the office floor plan and bring up their profile details.
The custom SharePoint Employee Directory is built via ASP.net. The embedded Office Floor Plan Navigator employs the use of a SharePoint web part and an iframe.
Challenges?
A couple of technical glitches were encountered when registering the application. Permission to read user profiles did not appear to be granted. After much random clicking this was resolved.
Also, one annoyance discovered was the lack of profile information integration between Azure AD, Office 365 user manager, and SharePoint Online. One example would be having to upload a thumbnail employee photo to each system to keep in sync.
What's next?
Live employee tracking and asset management.
Application links:
SharePoint Online Demos Username: michaelscott@laudontechInc.onmicrosoft.com Password: Office365!
Built With
- azure-ad
- gis
- javascript
- microsoft-graph-api
- office-365
- openlayers
- php
- sharepoint-online
Log in or sign up for Devpost to join the conversation.