Freigeben über


SharePoint-Add-Ins

Es gibt zwei grundlegende Arten von SharePoint-Add-Ins: Von SharePoint gehostet und vom Anbieter gehostet. Um die richtige Entscheidung darüber treffen zu können, welche Art Sie für Ihr Szenario entwickeln sollten, machen Sie sich zunächst einmal damit vertraut, was beide Arten von SharePoint-Add-Ins gemeinsam haben.

Hinweis

Eine Geräte-App, z. B. eine mobile App, ist nicht wirklich ein "SharePoint-Add-In", selbst wenn sie auf SharePoint zugreift. Das gleiche gilt für eine Webanwendung, die außerhalb von SharePoint gestartet wird. Wenn Sie eine dieser Arten von Apps entwickeln möchten, finden Sie weitere Informationen unter Zugreifen auf SharePoint von mobilen und nativen Geräte-Apps.

  • Ein SharePoint-Add-In ist eine eigenständige Funktion, die die Funktionen von SharePoint-Websites erweitert, um ein klar definiertes Geschäftsproblem zu lösen.
  • Add-Ins verfügen nicht über benutzerdefinierten Code, der auf SharePoint-Servern ausgeführt wird. Stattdessen wird die gesamte benutzerdefinierte Logik "nach oben" in die Cloud oder "nach unten" auf Clientcomputer oder "über" auf einen lokalen Server verschoben, der sich außerhalb der SharePoint-Farm oder des SharePoint Online-Abonnements befindet. Wenn Sie benutzerdefinierten Code von SharePoint-Servern fernhalten, erhalten SharePoint-Administratoren die Gewissheit, dass das Add-In ihre Server oder die Leistung ihrer SharePoint Online-Websites nicht beeinträchtigen kann.
  • Die Geschäftslogik in einer SharePoint-Add-In greift über mehrere Client-APIs, die in SharePoint enthalten sind, auf SharePoint-Daten zu. Welche API Sie für ein Add-In verwenden, hängt von bestimmten Entscheidungen ab, die Sie hinsichtlich des Designs treffen.
  • Fast alle Haupttypen von SharePoint-Komponenten kann Teil einer SharePoint-Add-In sein, einschließlich Seiten, Listen, Workflows, benutzerdefinierte Inhaltstypen, Listenvorlagen, Webparts und vieles mehr.
  • Die SharePoint-Websites, für die SharePoint-Add-Ins installiert sind und von denen aus Benutzer sie starten, heißen Hostweb. Die SharePoint-Komponenten befinden sich jedoch in der Regel in einem speziellen untergeordneten Web des Hostwebs, das als Add-In-Webpart bezeichnet wird.
  • SharePoint-Add-Ins können auf verschiedene Weise in eine SharePoint-Website integriert werden:
    • Immersive Vollseiten-SharePoint-App-Erfahrung : Als immersive Ganzseitenerfahrung , die das Aussehen und Verhalten einer SharePoint-Seite haben kann.
    • App-Part-Oberfläche für SharePoint-App : Als Teil einer Webseite wird ein spezielles Steuerelement namens Add-In-Part verwendet, um ein iframe-Element anzuzeigen, das das Add-In enthält.
    • Benutzerdefinierte Aktionserfahrung der SharePoint-App : Als Benutzeroberflächenbefehle, die Menübänder und Menüs für Listen, Dokumente und mehr erweitern.
  • Alle von den Benutzern installierten SharePoint-Add-Ins haben eine Kachel auf der Seite Websiteinhalte der SharePoint-Website. Beim Klicken auf die Kachel wird das Add-In ausgeführt.
  • Ein SharePoint-Add-In wird mithilfe eines Add-In-Manifests konfiguriert – einer XML-Datei, die die grundlegenden Eigenschaften des Add-Ins deklariert, wo es ausgeführt wird und was SharePoint tun soll, wenn das Add-In gestartet wird. Das Manifest kann unter anderem angeben, welche Sprachen das Add-In unterstützt, von welchen SharePoint-Diensten und -Funktionen es abhängt und welche Berechtigungen für das Hostweb das Add-In benötigt. (SharePoint-Add-Ins haben die vollständige Kontrolle über ihr eigenes Add-In-Web.)
  • Sie verteilen SharePoint-Add-Ins in Add-In-Paketen , die immer mindestens das Add-In-Manifest enthalten. (Wenn keine SharePoint-Komponenten vorhanden sind, kann das Add-In-Manifest das einzige Im Add-In-Paket sein.) Wenn das Add-In SharePoint-Komponenten in einem Add-In-Web enthält, werden diese als Gruppe von XML-Dateien in das Paket aufgenommen. Remotekomponenten, die außerhalb von SharePoint gehostet werden, z. B. eine Remotewebanwendung oder eine Datenbank, sind dagegen nicht im Paket enthalten und werden separat vom Add-In-Paket bereitgestellt. (Das Add-In-Manifest gibt jedoch die URLs der Remotekomponenten an.)
  • Add-In-Pakete können auch Office-Add-Ins enthalten. Wenn das SharePoint-Add-In installiert ist, wird das Office-Add-In einem Office-Add-In-Katalog in SharePoint hinzugefügt. Benutzer können es aus dem Katalog in Office-Anwendungen wie Word oder Excel installieren.

Tipp

Sehen Sie sich einige SharePoint-Add-Ins imOffice Store an, um einen Eindruck davon zu erhalten, was Sie entwickeln können. Oder öffnen Sie eine SharePoint-Website, und installieren Sie einige der kostenlosen SharePoint-Add-Ins. Navigieren Sie einfach zu Websiteinhalten, | fügen Sie ein Add-In hinzu| SharePoint Store.

Einige Hinweise für erfahrene SharePoint-Entwickler

Sandkastenlösungen, der benutzerdefinierten serverseitigen Code enthält, wird nicht mehr verwendet. „No code"- Sandkastenlösungen und Sandkastenlösungen, der nur JavaScript enthält, wird weiterhin unterstützt.

SharePoint-Add-Ins verwenden das serverseitige SharePoint-Objektmodell nicht. Die clientseitigen Objektmodelle wurden in SharePoint erheblich erweitert. Auch wenn einige APIs im SharePoint-Serverobjektmodell in den Clientobjektmodellen nicht verfügbar sind, handelt es sich nahezu vollständig um verwaltungs- und sicherheitsbezogene Klassen. Benutzerdefinierte SharePoint-Logik, die diese Bereiche berücksichtigt, ist für ein Windows PowerShell-Skript oder eine klassische SharePoint Farmlösung besser geeignet. Informationen zur Auswahl zwischen SharePoint-Add-Ins, klassischen SharePoint-Farmlösungen und Sandkastenlösungen finden Sie unter SharePoint-Add-Ins im Vergleich zu SharePoint-Lösungen.

Zwei Möglichkeiten zum Verteilen oder Verkaufen eines Add-In-Pakets

Sie haben zwei Möglichkeiten zum Verteilen eines Add-In-Pakets:

  • Zum Add-In-Katalog einer Organisation, bei dem es sich um eine dedizierte SharePoint-Websitesammlung im SharePoint Online-Abonnement oder in der lokalen Farm handelt. Diese Methode wird verwendet, wenn das Add-In speziell für eine bestimmte Organisation erstellt wurde.
  • Zum Office Store. Der Store übernimmt den Marketingprozess für Sie, von der Erkennung über den Erwerb bis hin zu Updates. Microsoft bietet ein Verkäufer-Dashboard, das Sie beim Verkaufen von Add-Ins über den Office Store unterstützt.

Nachdem Sie das Add-In anhand einer der beiden Möglichkeiten bereitgestellt haben, steht es auf der Seite zum Hinzufügen eines Add-Ins auf den SharePoint-Websites zur Verfügung. Wenn das Add-In Berechtigungen für das Hostweb oder das übergeordnete Abonnement benötigt, fordert SharePoint den Benutzer, der das Add-In installiert, zum Gewähren dieser Berechtigungen auf.

Wenn Sie ein Add-In aktualisieren müssen, um einen Fehler zu beheben oder Funktionen hinzuzufügen, nehmen Sie die Änderungen vor, und erhöhen Sie die Versionsnummer des Add-Ins im Manifest. Stellen Sie das Add-In-Paket dann neu im Store oder Add-In-Katalog bereit. Benutzer erhalten innerhalb von 24 Stunden eine Benachrichtigung in der SharePoint-UI, dass ein Update verfügbar ist. Sie können das Update mit nur einem Klick installieren.

Zwei Arten von SharePoint-Add-Ins: von SharePoint-gehostet und vom Anbieter gehostet

Vergleich zwischen von SharePoint und von Anbietern gehosteteten Apps

SharePoint-hosted SharePoint-Add-Ins

Von SharePoint gehostete Add-Ins bestehen fast nur aus SharePoint-Komponenten in einem Add-In-Web. Daher wird auch gesagt, dass sie ihren „Schwerpunkt" in SharePoint haben.

Wie alle SharePoint-Add-Ins kann ein Benutzer ein von SharePoint gehostetes Add-In über eine Kachel auf der Seite Websiteinhalte der SharePoint-Website ausführen, auf der es installiert ist. Optional kann sie auch über zwei andere Arten von Benutzeroberflächenkomponenten im Hostweb verfügen: Add-In-Parts und benutzerdefinierte Aktionen (d. a. benutzerdefinierte Menübandschaltflächen oder Menüelemente). Alles andere in einem von SharePoint gehosteten Add-In wird dem Add-In-Web bereitgestellt. Diese Komponenten werden deklarativ mithilfe von XML-Dateien definiert und können unter anderem Folgendes enthalten:

  • Benutzerdefinierte Seiten
  • Workflows
  • Module (Dateigruppen)
  • Listenvorlagen
  • Listen- und Bibliotheksinstanzen
  • Benutzerdefinierte Listenformulare und Ansichten
  • Angepasste Inhaltstypen
  • Webvorlagen
  • Integrierte Spalten (keine benutzerdefinierten Spalten)
  • Integrierte Webparts (keine benutzerdefinierten Webparts)
  • JavaScript-Dateien
  • Benutzerdefinierte Schaltflächen und Menüelemente für das Add-In-Web

Die gesamte Geschäftslogik in einem von SharePoint gehosteten Add-In verwendet JavaScript, entweder direkt auf einer benutzerdefinierten Seite oder in einer JavaScript-Datei, auf die von einer benutzerdefinierten Seite verwiesen wird. Eine JavaScript-Version des SharePoint-Objektmodells (JSOM) ist verfügbar, um es dem Add-In zu erleichtern, CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren und Löschen) für SharePoint-Daten auszuführen.

Benutzerdefinierte Seiten in einem von SharePoint gehosteten Add-In sind im Allgemeinen ASP.NET-Seiten (ASPX), und sie können deklarativ auf ASP.NET und in-the-box SharePoint-Steuerelemente verweisen, aber es darf kein CodeBehind vorhanden sein. Sie können die SharePoint-Steuerelemente jedoch mithilfe einer clientseitigen Renderingoption und benutzerdefiniertem JavaScript anpassen.

Das JavaScript in von SharePoint gehosteten Add-Ins kann auf Daten und Ressourcen, die sich außerhalb des Add-In-Webparts befinden, mithilfe einer von zwei Techniken für das sichere Umgehen der Richtlinie des Browsers zum selben Ursprung zugreifen: eine spezielle domänenübergreifende JavaScript-Bibliothek oder eine bestimmte JavaScript-WebProxy-Klasse. Mithilfe dieser Techniken kann ein von SharePoint gehostetes Add-In mit Daten im Hostweb, im übergeordneten Abonnement oder an einem beliebigen Ort im Internet arbeiten.

Vom Anbieter gehostete SharePoint-Add-Ins

Alle SharePoint-Komponenten, die in einem von SharePoint gehosteten Add-In sein können, können auch in einem von einem Anbieter gehosteten Add-In vorhanden sein. Vom Anbieter gehostete Add-Ins unterscheiden sich jedoch von von SharePoint gehosteten Add-Ins, da sie mindestens eine Remotekomponente enthalten, z. B. eine Webanwendung, einen Dienst oder eine Datenbank, die extern aus der SharePoint-Farm oder dem SharePoint Online-Abonnement gehostet wird. Dabei kann es sich um einen Server im selben Unternehmensnetzwerk wie eine SharePoint-Farm oder einen Clouddienst handeln. Die externen Komponenten können auf einem beliebigen Webhostingstapel gehostet werden, einschließlich des Linux-, Apache-, MySQL- und PHP-Stapels (LAMP).

Hinweis

Der "Anbieter" ist der Besitzer des Server- oder Cloudkontos. Es kann sich um dasselbe Unternehmen oder dieselbe Organisation handeln, das die SharePoint-Farm oder den SharePoint Online-Mandanten besitzt, in dem das Add-In installiert werden soll. Der Entwickler des Add-Ins kann aber auch der Anbieter sein. Wenn ein Add-In für eine Organisation erstellt wird, stellt die Organisation in der Regel das Hosting bereit. Wenn jedoch ein Add-In für mehrere Organisationen erstellt wird, ist es wahrscheinlicher, dass der Entwickler die Remotekomponenten hostet. Entwicklerhosting ist obligatorisch, wenn das SharePoint-Add-In über den Office Store vermarktet wird, da der Entwickler keine Kontaktinformationen für die Add-In-Käufer hat. In diesem Szenario kennen die verschiedenen Instanzen des Add-Ins den URI der Remotekomponente, da er im Add-In-Manifest angegeben ist.

Sie haben vollständige Flexibilität für das Hostingframework, das Sie für die Remotekomponenten verwenden. Sie müssen keinen Microsoft-Stapel verwenden. Jedes Webhostingframework kann verwendet werden, einschließlich LAMP (Linux, Apache Server, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java, Python und andere, und Sie sind willkommen, Nicht-Microsoft-Entwicklungstools zu verwenden. Darüber hinaus können die Remotekomponenten in Nicht-Microsoft-Clouddiensten gehostet werden.

Remoteseiten im Add-In können mithilfe eines speziellen Chromsteuerelements das Erscheinungsbild und Verhalten von SharePoint-Seiten erhalten.

Remotedaten können unter anderem Blobs, Caches, Nachrichtenwarteschlangen, Netzwerke für die Inhaltsübermittlung (CDN) und Datenbanken sein. Datenbanken können einen beliebigen Typ haben, einschließliche relational und objektorientiert. Auf die Remotedaten kann auf verschiedene Weise zugegriffen werden. Sie können beispielsweise Business Connectivity Services (BCS) verwenden, um die Daten in einer SharePoint-Liste bereitzustellen. Eine weitere Option besteht darin, Daten in einem Raster auf einer Seite einer Remotewebanwendung darzustellen.

SharePoint-Add-Ins verwenden SharePoint-APIs für die Verbindung und Integration mit SharePoint -Funktionen wie Suche, Workflow, soziale Netzwerke, Taxonomie, Benutzerprofile, BCS und mehr. Damit können sie Dokumente lesen, Suchen durchführen, Benutzer verbinden und CRUD-Vorgänge ausführen. Es gibt verschiedene Sätze von APIs:

  • Wenn die Remotekomponenten mit .NET implementiert werden, ist die Bibliothek des clientseitigen SharePoint-Objektmodells (CSOM) mit verwaltetem Code verfügbar.
  • Für Remotekomponenten, die nicht auf .NET basieren, können eine Reihe von REST/OData-APIs für den Zugriff auf SharePoint-Daten verwendet werden. Diese können auch von einem .NET-Client verwendet werden, wenn Sie das Arbeiten mit einer OData-Schnittstelle bevorzugen.
  • Die JSOM-Bibliothek, die weiter oben erwähnt wurde, kann nicht auf einer Remoteseite verwendet werden. Von einem Anbieter gehostete Add-Ins können jedoch benutzerdefinierte SharePoint-Seiten in einem Add-In-Web haben, und JavaScript auf diesen Seiten kann die JSOM-Bibliothek verwenden.

Von einem Anbieter gehostete Add-Ins, die auf SharePoint zugreifen, sind Sicherheitsprinzipale, ebenso wie Benutzer und Gruppen es sind. Der Add-In-Prinzipal muss ebenso wie der Benutzer authentifiziert und autorisiert werden. Das Add-In benötigt Berechtigungen, um Vorgänge an SharePoint-Daten im Hostweb durchzuführen. In den meisten Szenarien sind die effektiven Berechtigungen eines Benutzers, der mit SharePoint über eine SharePoint-Add-In arbeitet, die Schnittstelle der Berechtigungen des Benutzers und des Add-Ins, obwohl es einige Szenarien gibt, in denen ein Benutzer Aktionen mit einem Add-In ausführen kann, für das er andernfalls keine Berechtigung hätte.

Von einem Anbieter gehostete Add-Ins können eine Verbindung zu einem beliebigen internen oder öffentlichen Webdienst herstellen, und im Gegensatz zu von SharePoint gehosteten Add-Ins können sie SharePoint-Listen- und -Listenelementereignisse verarbeiten, z. B. das Hinzufügen eines Elements zu einer Dokumentbibliothek.

Auswählen des richtigen Weges für die SharePoint-Entwicklung

Sind Sie bereit zu beginnen?

Hinweis

Wenn Sie Anfänger in der SharePoint- und Webentwicklung sind, profitieren Sie am meisten, wenn Sie mit dem kostenlosen Kurs der Microsoft Virtual Academy oder einem Buch zur SharePoint-Entwicklung beginnen.

Siehe auch