Note: This repo is archived and no longer actively maintained. Security vulnerabilities may exist in the project, or its dependencies. If you plan to reuse or run any code from this repo, be sure to perform appropriate security checks on the code or dependencies first. Do not use this project as the starting point of a production Office Add-in. Always start your production code by using the Office/SharePoint development workload in Visual Studio, or the Yeoman generator for Office Add-ins, and follow security best practices as you develop the add-in.
Table of Contents
- Overview
- Web Application Installation
- iOS, Android, Cordova, and Xamarin Mobile Applications
- iOS Apps Installation
- Android App Installation
- Cordova App Installation
- Xamarin App Installation
- Office Add-in for Outlook (previously known as a Mail App for Office)
- Office Add-in for Outlook Installation
- API Notes
- Office Add-in for Outlook Notes
- Deep Links
- License
The Property Management Code Sample demonstrates how to create a line of business system with Office 365 and mobile technologies.
See the sample in action!
You can watch the entire end to end demo of the sample in the following video. If you are looking to see everything this code sample does and all the pieces of the Office 365 platform it uses then this is the video you want to watch.
Speaker: Todd Baginski
Where can I find things in this repo?
- Web application
- The Property Management web app is located in the PropertyManagerMyApp folder.
- Mobile applications
- The iOS Inspection App is located in the iOSRepairApp folder.
- The iOS Repair App is located in the iOSInspectionApp folder.
- The Android Repair App is located in the AndroidRepairApp folder.
- The Cordova Repair App is located in the CordovaRepairApp folder.
- The Xamarin Repair App is located in the XamarinRepairApp folder.
- Office Addiin
- The Office Add-in for Outlook is located in the MailAFO folder.
What does the sample do?
The Property Manager web application demonstrates many different patterns used in real world scenarios. At a high level, the Property Manager web application does the following things.
- Provisions the Site Collection used by the Property Manager web application
- Provisions information architecture and supporting components into the new Site Collection
- Provisions content into the new Site Collection
- Provisions Azure Active Directory groups and users
- Assigns Office 365 licenses to Azure Active Directory users
- Provisions Office 365 unified groups
- Adds Azure Active Directory users to Office 365 unified groups
- Provisions videos to the Office 365 Video Portal
- Serves as a line of business application
This Property Manager web application provides a dashboard application used in a property management scenario. This dashboard is used by dispatchers at the property management company's home office to coordinate inspections and repairs. The dashboard uses the Microsoft Graph, Office 365 APIs, and the SharePoint REST APIs to read and write information in Active Directory, Office 365 Groups, Exchange and SharePoint.
The README files linked below provide more information about these patterns and how to get up and running.
See the Training README for more training resources.
See the Web App Installation README for web application installation instructions.
The iOS, Android, Cordova, and Xamarin mobile apps demonstrate many different patterns used in real world scenarios. At a high level, the mobile apps do the following things.
- Provide property inspectors and repair people information about properties they are scheduled to inspect and repair.
- Allow property inspectors and repair people to submit photos and comments about inspections, incidents, and repairs.
The demo relies upon the iOS inspection mobile app and any version of the repair mobile app to function end to end. The repair mobile app is written in iOS, Android, Cordova, and Xamarin. You may use any version of the repair mobile app that you like.
Some configuration is required to enable the iOS Apps to work with an Office 365 environment.
See the iOS Inspection App README for iOS Inspection App installation instructions.
See the iOS Repair App README for iOS Repair App installation instructions.
The mobile Repair App in the demo may also be run on Android in addition to the iOS version. The Android version of the Repair App is written in Java, the native language for an Android device.
Some configuration is required to enable the Android Repair App to work with an Office 365 environment. See the Install Android README for complete instructions.
The mobile Repair App in the demo may also be run on Cordova in addition to the iOS version. The Cordova version of the Repair App is written in HTML, JavaScript and CSS. It uses the Knockout.js framework for data binding.
The Cordova Repair App supports iOS, Android, and Windows devices.
Some configuration is required to enable the Cordova Repair App to work with an Office 365 environment. See the Install Cordova README for complete instructions.
The mobile Repair App in the demo has also been built for Android devices with Xamarin. The Xamarin version of the Repair App is written in .NET.
Some configuration is required to enable the Xamarin Repair App to work with an Office 365 environment. See the Install Xamarin README for complete instructions.
The Office Add-in for Outlook and Outlook Web Access displays data from Office 365 SharePoint lists. The Office Add-in for Outlook is implemented with two main components.
- Office Add-in – xml file installed on the Office 365 tenancy as an Exchange App
- Web pages – Part of the Property Manager web app running on ASP.NET MVC
These files contain the code which implements the Office Add-in for Outlook:
- /Controllers/MailAFOController.cs
- /Views/MailAFO/Redir.cshmtl
- /Views/MailAFO/Index.cshtml
- /Models/MailAFOModel.cs
- /Models/Dashboard.cs
The README files linked below provide more information about these components and how to get up and running.
Some configuration is required to enable the Office Add-in for Outlook to work with an Office 365 environment. See the Install Office Add-in README for complete instructions and a detailed technical description of how the Office Add-in works.
When this demo was built the Microsoft Graph SDKs for ASP.Net and iOS were in the alpha/beta stages. Consequently, some of the code in the demo uses REST based approaches to perform operations with Office 365 services like SharePoint. The following parts of the sample use REST based approaches to access Office 365 Services.
-
Working with SharePoint files in the web app and mobile apps.
See MS Open Tech's open source project Office 365 SDK for iOS to see how this is done.
Additionally, you will notice a project named Microsoft.Graph in the web application. This project generates a Microsoft Graph SDK based on a class obtained by using VIPR against the production Microsoft Graph endpoint. When the Microsoft Graph SDK for ASP.NET is released this sample will be updated accordingly to use the official Microsoft Graph SDK from Microsoft.
The Office Add-in for Outlook included in the demo renders properly in PC web browsers but it does not render in iOS devices in Safari, the OWA app, or the native iOS email client. At this time they are not supported in Safari, the OWA app, or the native iOS email client.
The links in the workflow emails which open the native iOS apps on an iOS device work when using the native iOS email client. At this time they are not supported in Safari or the OWA app.
Copyright (c) Microsoft, Inc. All rights reserved. Licensed under the Apache License, Version 2.0.
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.