Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

SharePoint 2013: SharePoint-hosted Apps als Vorlage einsetzen

Können Apps als Vorlage bezeichnet werden? Kann eine SharePoint-hosted App eine Vorlage sein?

In diesem Beitrag werden beide Fragen mit „Ja“ beantwortet.

Es werden kurz die Möglichkeiten von SharePoint-hosted Apps umrissen und anschließend Argumente für und wider den Einsatz als Vorlage zusammengetragen.

Kann eine App eine Vorlage sein?

Als Vorlage (engl. Template) im weitesten Sinne lässt sich bezeichnen, was dem Anwender in der Benutzungsoberfläche Arbeit abnimmt. Eine Liste, die vorkonfiguriert bereitgestellt wird, ist eine Vorlage. Ein Inhaltstyp, den der Anwender nicht selber anlegen muss, ist eine Vorlage.

Eine App kann genau diese Aufgaben übernehmen: Listen anlegen, Inhaltstypen bereitstellen, Dokumentenbibliotheken befüllen und vieles mehr. Daher lässt sich auch eine App als Vorlage bezeichnen.

Für den Anwender macht es keinen Unterschied, ob er eine Vorlage aus der Vorlagengalerie verwendet oder eine App aktiviert. Das Ergebnis zählt – es werden Inhalte vorkonfiguriert bereitgestellt.

Apps können also die Funktion einer Vorlage erfüllen. Wenden wir uns daher dem einfachsten App-Typ zu: der SharePoint-hosted App.

Was können SharePoint-hosted Apps?

SharePoint-hosted Apps werden im Browser des Anwenders ausgeführt. Sie sind berechtigt, alle Aktionen auszuführen, die der am SharePoint angemeldete Nutzer ausführen kann – oder weniger, jedoch niemals mehr.

Es kommt ausschließlich Client-Code zum Einsatz. SharePoint-Funktionen werden über das JavaScript Object Model (JSOM) aufgerufen. Im Gegensatz zu Provider-hosted und Autohosted Apps wird keine serverseitige Implementierung oder Azure-Anbindung benötigt, auch nicht zur Authentifizierung.

Ein wichtiges Konzept von SharePoint-hosted Apps ist die Trennung zwischen App Web und Host Web. Mit Installation der App in einer Site (dem Host Web) wird das zur App gehörende App Web angelegt. Wird die App wieder entfernt, werden auch das App Web und alle enthaltenen Daten entfernt.

SharePoint-hosted Apps können sowohl ihr App Web als auch das Host Web manipulieren. Da es uns um die Verwendung von Apps als Vorlage geht, ist für uns die Manipulation des Host Webs interessant.

SharePoint-hosted Apps als Host Web Manipulator

SharePoint-hosted Apps können also im Rahmen der Rechte des angemeldeten Nutzers das Host Web manipulieren.

Damit kann die App dem Nutzer Aufgaben abnehmen, die er sonst „manuell klicken“ müsste.

Bereitstellung von Inhalt im Host Web mittels SharePoint-hosted App

Wie im Bild zu sehen ist, wird das App Web nicht verwendet. Sollte die App deinstalliert werden gehen also keine Inhalte verloren, da die App allein im Host Web arbeitet.

Was spricht gegen den Einsatz von SharePoint-hosted Apps als Vorlage?

Beginnen wir mit den Punkten, die gegen einen Einsatz von Apps als Vorlage sprechen.

Hoher Aufwand

Verglichen mit serverseitigen Lösungen (siehe Übersicht) ist der Bereitstellungsaufwand hoch. Jede Aktion wie bspw. das Erzeugen einer Liste muss mit JSOM Client-Code programmiert werden. Ohne den Einsatz einer Code-Bibliothek ist vor allem der initiale Aufwand sehr hoch. Ist der Code einmal geschrieben, kann er jedoch wiederverwendet werden.

Risiko: JSOM-Limitierungen

Mittels JSOM werden nicht alle Teile der SharePoint-API bereitgestellt. Das Risiko beim Einsatz von JSOM ist, dass eine Limitierung zu spät erkannt wird und damit das gesamte App-Konzept gefährdet wird. „Exotische“ Funktionen sollten prototypisch umgesetzt werden.

Risiko: App-Limitierungen

Eine SharePoint-hosted App hat maximal so viele Zugriffsrechte wie der angemeldete Nutzer (User + app policy; es gibt keine App-only policy). Soll eine App bspw. Zugriffsrechte im Host-Web manipulieren, dann benötigt der angemeldete Nutzer ebenfalls dieses Recht.

(Diese Limitierung besteht nicht beim Einsatz anderer App-Typen bspw. autohosted Apps.)

Soll die App später im Office Store bereitgestellt werden, darf die App keine Full Control Berechtigungen benötigen.

Automatische Bereitstellung ist umständlich

Im Normalfall initiiert der Anwender die Bereitstellung der Vorlageninhalte, indem er die App aufruft. Manchmal ist es aber notwendig, die Vorlageninhalte ohne Nutzerinteraktion bereitzustellen.

Da SharePoint-hosted Apps ausschließlich client-seitig im Browser ausgeführt werden, ist die Automatisierung umständlich. Auf dieses Problem wird in einem separaten Beitrag detaillierter eingegangen.

On-demand-Bereitstellung von Inhalten

Der Anwender muss aktiv werden und Apps aktiv aufrufen. Dies erfordert u.U. Schulung, gerade wenn das App-Konzept noch neu im Unternehmen ist.

Was spricht für den Einsatz von SharePoint-hosted Apps als Vorlage?

Nun soll es um die Vorteile gehen, die der Einsatz von Apps als Vorlage mit sich bringt.

On-demand-Bereitstellung von Inhalten

Dieser bereits als Nachteil gelistete Punkt ist gleichzeitig ein Vorteil. Der Anwender kann entscheiden, wann und wo er welche Inhalte bereitgestellt bekommen möchte, indem er die App aktiviert.

Keine Entwicklung von Server-Code

Das ist eines der Haupt-Argumente für die App-Entwicklung im SharePoint. Bei fehlerhaftem Code besteht keine Gefahr, dass die SharePoint-Farm in Mitleidenschaft gezogen wird.

Bereit für die Cloud

Sollte der Weg in die Cloud führen, dann ist man mit SharePoint-hosted Apps auf der sicheren Seite. Diese Apps funktionieren auch in der Cloud, server-seitiger Code ist hier nicht erlaubt.

Bereit für den Office Store

SharePoint-hosted Apps können im Office Store angeboten werden.

Wiederverwendbarkeit

SharePoint-hosted Apps lassen sich sehr einfach in verschiedenen Farmen bereitstellen. Damit lassen sich bestehende Lösungen wiederverwenden.

Zentrale Bereitstellung

SharePoint-hosted Apps lassen sich über den App Catalog zentral im SharePoint bereitstellen. Bei entsprechender Konfiguration sind Apps in allen Site Collections sofort bereitgestellt; das gilt auch für neu angelegte Site Collections.

Modulare Bereitstellung von Inhalten

Nicht jeder Anwender benötigt jeden Vorlageninhalt. Durch die Verwendung mehrerer Apps ist es möglich, Vorlagen zu modularisieren. Auch innerhalb einer App kann dem Nutzer die Wahl gegeben werden, verschiedene Inhalte bereitgestellt zu bekommen.

Integration von Vorlageninhalten in bestehende Sites

Der Anwender kann Vorlageninhalte in bestehenden Sites bereitstellen lassen und nutzen.

Fazit und Ausblick

SharePoint-hosted Apps können als Vorlage eingesetzt werden, mit den genannten Vor- und Nachteilen. Im Rahmen der Alternativen ist im Einzelfall abzuwägen, ob diese Art der Vorlage die richtige Lösung darstellt.

Ist die Wahl auf Apps gefallen werden die nächsten Beiträge sicherlich hilfreich sein. Hier wird sich nämlich alles um SharePoint-hosted Apps und JSOM drehen:

  1. JSOM im produktiven Einsatz – die definitive Liste getesteter Funktionen
  2. Zentrale Bereitstellung von SharePoint-hosted Apps mittels App Catalog – und die Auswirkungen auf das App Web
  3. JSOM und der richtige ClientContext

Stay tuned.

 

Kommentar hinterlassen


Pin It on Pinterest