Provider Hosted Add-In für SharePoint Online entwickeln

Für die Entwicklung von einem Provider Hosted Add-In für SharePoint Online wird Visual Studio sowie die Office Developer Tools benötigt. Außerdem ist eine Office 365-Entwickler SiteCollection erforderlich. Eine Anleitung für das Einrichten der Entwicklungsumgebung befindet sich auf msdn.

Um ein neues Provider Hosted Add-In Projekt für Office 365 anzulegen erstellen Sie in Visual Studio ein neues „SharePoint Add-In“ Projekt. Geben Sie anschließend in dem Dialog die URL von der Entwickler SiteCollection ein und wählen die Option „Provider-hosted“ aus.

SharePoint - Provider Hosted Add-In

Melden Sie sich in dem darauf folgenden Anmeldefenster in O365 an und wählen anschließend den Typ der Web Applikation z.B. „ASP.NET MVC Web Application“ und klicken auf Finish um das Projekt anzulegen.

Für das Provider Hosted SharePoint Add-In werden in Visual Studio zwei Projekte angelegt. Das AddIn Projekt beinhaltet die Elemente, die auf dem SharePoint, innerhalb der Add-In Webseite, bereitgestellt werden. Dies kann zum Beispiel ein Client WebPart sein, welches auf eine Seite aus dem Web Projekt verweist.

Das Web Projekt kann auf einem beliebigen Web Server z.B. einer Azure Web-App laufen und beinhaltet bei einem Provider Hosted Add-In die eigentliche Funktionalität von dem Add-In. Mochten Sie über die Web Anwendung auf den SharePoint zugreifen wird das NuGet Package AppForSharePointWebToolkit benötigt um die Klassen SharePointContext sowie TokenHelper für den Zugriff auf den SharePoint zu ermöglichen. Zusätzlich kann die SharePoint PnP Core library für SharePoint Online über das  NuGet Package SharePointPnPCoreOnline hinzugefügt werden.

Während der Entwicklung kann das Add-In über Visual Studio debugged werden, hierbei wird das Add-In auf der Entwickler SiteCollection bereitgestellt. Die Web Anwendung läuft dabei in dem lokalen IIS Express. Nach dem das Add-In auf der SiteCollection deployed wurde muss diesem zunächst vertraut werden.

Trust SharePoint Add-In

Nach der Fertigstellung von dem Add-In wird eine Azure Web-App benötigt, welche über das Azure Portal angelegt werden kann.

Add-In bereitstellen

Um das Add-In bereit zu stellen muss zunächst ein Publishing Profile erstellt werden. Dies ist über den Solution Explorer möglich, indem man im Kontext Menü von dem Add-In Projekt „Publish…“ auswählt.

Publish your add-in

Unter „Current profile“ kann ein neues Profile angelegt werden. Für das Profil muss eine Client ID sowie eine Client Secret eingegeben werden. Diese Werte müssen mit den Parametern der web.config aus dem Webprojekt übereinstimmen.

Client ID und Client Secret

Anschließend kann das Web Projekt über die Seite „Publish your add-In“ für das Deployment vorbereitet werden, indem man den Button „Deploy your web project“ klickt.

Deploy web project

Unter dem Menüpunkt Profile kann man sich über den Link „Microsoft Azure App Service“ in Azure anmelden und die zuvor erstellte Web-App auswählen. Über den Button Publish wird die Web Application in Azure bereitgestellt.

In der Seite „Publish your add-In“ kann jetzt, über den Button „Package the add-in“, das Add-In Paket erstellt werden. Hierbei wird eine app Datei erstellt, welche in dem App Katalog vom SharePoint hochgeladen werden kann. Alternativ kann das Add-In auch für eine bestimmte SiteCollection deployed werden.

Um das Add-In im SharePoint bereitstellen zu können muss dieses zunächst registriert werden. Dies ist durch Aufruf der URL „https://MySiteCollection/_layouts/15/AppRegNew.aspx“ möglich. Bei der Registrierung muss die in der web.config angegebene Client ID sowie die Client Secret eingegeben werden. Außerdem wird die Domain von der Azure Web-App sowie die Startseite von der Webseite benötigt.