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 bezeich­net wer­den? Kann eine SharePoint-hosted App eine Vorlage sein?

In die­sem Beitrag wer­den beide Fragen mit "Ja" beant­wor­tet.

Es wer­den kurz die Möglichkeiten von SharePoint-hosted Apps umris­sen und anschlie­ßend Argumente für und wider den Einsatz als Vorlage zusam­men­ge­tra­gen.

Kann eine App eine Vorlage sein?

Als Vorlage (engl. Template) im wei­tes­ten Sinne lässt sich bezeich­nen, was dem Anwender in der Benutzungsoberfläche Arbeit abnimmt. Eine Liste, die vor­kon­fi­gu­riert bereit­ge­stellt wird, ist eine Vorlage. Ein Inhaltstyp, den der Anwender nicht sel­ber anle­gen muss, ist eine Vorlage.

Eine App kann genau diese Aufgaben über­neh­men: Listen anle­gen, Inhaltstypen bereit­stel­len, Dokumentenbibliotheken befül­len und vie­les mehr. Daher lässt sich auch eine App als Vorlage bezeich­nen.

Für den Anwender macht es kei­nen Unterschied, ob er eine Vorlage aus der Vorlagengalerie ver­wen­det oder eine App akti­viert. Das Ergebnis zählt – es wer­den Inhalte vor­kon­fi­gu­riert bereit­ge­stellt.

Apps kön­nen also die Funktion einer Vorlage erfül­len. Wenden wir uns daher dem ein­fachs­ten App-Typ zu: der SharePoint-hosted App.

Was können SharePoint-hosted Apps?

SharePoint-hosted Apps wer­den im Browser des Anwenders aus­ge­führt. Sie sind berech­tigt, alle Aktionen aus­zu­füh­ren, die der am SharePoint ange­mel­dete Nutzer aus­füh­ren kann – oder weni­ger, jedoch nie­mals mehr.

Es kommt aus­schließ­lich Client-Code zum Einsatz. SharePoint-Funktionen wer­den über das JavaScript Object Model (JSOM) auf­ge­ru­fen. Im Gegensatz zu Provider-hosted und Autohosted Apps wird keine ser­ver­sei­tige Implementierung oder Azure-Anbindung benö­tigt, auch nicht zur Authentifizierung.

Ein wich­ti­ges Konzept von SharePoint-hosted Apps ist die Trennung zwi­schen App Web und Host Web. Mit Installation der App in einer Site (dem Host Web) wird das zur App gehö­rende App Web ange­legt. Wird die App wie­der ent­fernt, wer­den auch das App Web und alle ent­hal­te­nen Daten ent­fernt.

SharePoint-hosted Apps kön­nen sowohl ihr App Web als auch das Host Web mani­pu­lie­ren. Da es uns um die Verwendung von Apps als Vorlage geht, ist für uns die Manipulation des Host Webs inter­es­sant.

SharePoint-hosted Apps als Host Web Manipulator

SharePoint-hosted Apps kön­nen also im Rahmen der Rechte des ange­mel­de­ten Nutzers das Host Web mani­pu­lie­ren.

Damit kann die App dem Nutzer Aufgaben abneh­men, die er sonst "manu­ell kli­cken" müsste.

Bereitstellung von Inhalt im Host Web mittels SharePoint-hosted App

Wie im Bild zu sehen ist, wird das App Web nicht ver­wen­det. Sollte die App deinstal­liert wer­den gehen also keine Inhalte ver­lo­ren, da die App allein im Host Web arbei­tet.

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

Beginnen wir mit den Punkten, die gegen einen Einsatz von Apps als Vorlage spre­chen.

Hoher Aufwand

Verglichen mit ser­ver­sei­ti­gen Lösungen (siehe Übersicht) ist der Bereitstellungsaufwand hoch. Jede Aktion wie bspw. das Erzeugen einer Liste muss mit JSOM Client-Code pro­gram­miert wer­den. Ohne den Einsatz einer Code-Bibliothek ist vor allem der initiale Aufwand sehr hoch. Ist der Code ein­mal geschrie­ben, kann er jedoch wie­der­ver­wen­det wer­den.

Risiko: JSOM-Limitierungen

Mittels JSOM wer­den nicht alle Teile der SharePoint-API bereit­ge­stellt. Das Risiko beim Einsatz von JSOM ist, dass eine Limitierung zu spät erkannt wird und damit das gesamte App-Konzept gefähr­det wird. "Exotische" Funktionen soll­ten pro­to­ty­pisch umge­setzt wer­den.

Risiko: App-Limitierungen

Eine SharePoint-hosted App hat maxi­mal so viele Zugriffsrechte wie der ange­mel­dete Nutzer (User + app policy; es gibt keine App-only policy). Soll eine App bspw. Zugriffsrechte im Host-Web mani­pu­lie­ren, dann benö­tigt der ange­mel­dete Nutzer eben­falls die­ses Recht.

(Diese Limitierung besteht nicht beim Einsatz ande­rer App-Typen bspw. auto­hos­ted Apps.)

Soll die App spä­ter im Office Store bereit­ge­stellt wer­den, darf die App keine Full Control Berechtigungen benö­ti­gen.

Automatische Bereitstellung ist umständ­lich

Im Normalfall initi­iert der Anwender die Bereitstellung der Vorlageninhalte, indem er die App auf­ruft. Manchmal ist es aber not­wen­dig, die Vorlageninhalte ohne Nutzerinteraktion bereit­zu­stel­len.

Da SharePoint-hosted Apps aus­schließ­lich client-seitig im Browser aus­ge­führt wer­den, ist die Automatisierung umständ­lich. Auf die­ses Problem wird in einem sepa­ra­ten Beitrag detail­lier­ter ein­ge­gan­gen.

On-demand-Bereitstellung von Inhalten

Der Anwender muss aktiv wer­den und Apps aktiv auf­ru­fen. Dies erfor­dert 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 gelis­tete Punkt ist gleich­zei­tig ein Vorteil. Der Anwender kann ent­schei­den, wann und wo er wel­che Inhalte bereit­ge­stellt bekom­men möchte, indem er die App akti­viert.

Keine Entwicklung von Server-Code

Das ist eines der Haupt-Argumente für die App-Entwicklung im SharePoint. Bei feh­ler­haf­tem Code besteht keine Gefahr, dass die SharePoint-Farm in Mitleidenschaft gezo­gen wird.

Bereit für die Cloud

Sollte der Weg in die Cloud füh­ren, dann ist man mit SharePoint-hosted Apps auf der siche­ren Seite. Diese Apps funk­tio­nie­ren auch in der Cloud, server-seitiger Code ist hier nicht erlaubt.

Bereit für den Office Store

SharePoint-hosted Apps kön­nen im Office Store ange­bo­ten wer­den.

Wiederverwendbarkeit

SharePoint-hosted Apps las­sen sich sehr ein­fach in ver­schie­de­nen Farmen bereit­stel­len. Damit las­sen sich bestehende Lösungen wie­der­ver­wen­den.

Zentrale Bereitstellung

SharePoint-hosted Apps las­sen sich über den App Catalog zen­tral im SharePoint bereit­stel­len. Bei ent­spre­chen­der Konfiguration sind Apps in allen Site Collections sofort bereit­ge­stellt; das gilt auch für neu ange­legte Site Collections.

Modulare Bereitstellung von Inhalten

Nicht jeder Anwender benö­tigt jeden Vorlageninhalt. Durch die Verwendung meh­re­rer Apps ist es mög­lich, Vorlagen zu modu­la­ri­sie­ren. Auch inner­halb einer App kann dem Nutzer die Wahl gege­ben wer­den, ver­schie­dene Inhalte bereit­ge­stellt zu bekom­men.

Integration von Vorlageninhalten in bestehende Sites

Der Anwender kann Vorlageninhalte in bestehen­den Sites bereit­stel­len las­sen und nut­zen.

Fazit und Ausblick

SharePoint-hosted Apps kön­nen als Vorlage ein­ge­setzt wer­den, mit den genann­ten Vor- und Nachteilen. Im Rahmen der Alternativen ist im Einzelfall abzu­wä­gen, ob diese Art der Vorlage die rich­tige Lösung dar­stellt.

Ist die Wahl auf Apps gefal­len wer­den die nächs­ten Beiträge sicher­lich hilf­reich sein. Hier wird sich näm­lich alles um SharePoint-hosted Apps und JSOM dre­hen:

  1. JSOM im pro­duk­ti­ven Einsatz – die defi­ni­tive Liste getes­te­ter Funktionen
  2. Zentrale Bereitstellung von SharePoint-hosted Apps mit­tels App Catalog – und die Auswirkungen auf das App Web
  3. JSOM und der rich­tige ClientContext

Stay tuned.

 

Related Posts

Pin It on Pinterest