onion.net SharePoint Integration Datasource Server

1. SharePoint konfigurieren

In diesem Teil der Installation wird auf dem SharePoint Server die Integration soweit vorbereitet, so dass die onion.net Render Engines auf den onion.net SharePoint Integration Datasource Server (im folgenden als Datasource Server genannt) zugreifen und Daten aus SharePoint lesen können.

1.1 Dienstkonto einrichten

BenutzereigenschaftenFür die Impersonierung des Datasource Servers wird ein Benutzer benötigt, welcher die nötigen Rechte besitzt, um Daten aus SharePoint auszulesen.

Erstellen Sie dazu einen neuen Windows-Benutzer in der Benutzerverwaltung und fügen Sie dem Benutzer die Gruppe WSS_ADMIN_WPG hinzu.

 

 

SQL Server BerechtigungenWechseln Sie nun in das SQL Server Management Studio. Der eben erstellte Benutzer benötigt für die SharePoint Konfigurationsdatenbank, sowie für die SharePoint Inhaltsdatenbank die Berechtigung public und db_owner.

Der Standardname der Konfigurationsdatenbank ist SharePoint_Config. Der Standardname der Inhaltsdatenbank ist WSS_Content.

Nach dem der Benutzer die Berechtigungen im SQL Server erhalten hat, wechseln Sie in die Websitesammlung des SharePoints, für welche der Datasource Server installiert und konfiguriert werden soll.

Der Benutzer muss folgende Rechte in dieser Websitesammlung besitzen:

  • Registrierung von EventReceiver für Webs, Listen und Listeneinträge
  • Lesezugriff auf:
    • die Webs der Site
    • die Metadaten der Webs
    • die Listen der Webs
    • die Metadaten der Listen
    • die Listeneinträge
    • die ContentTypes

1.2 Datenbank vorbereiten

Der Datasource Server benötigt für das Aufzeichnen der SharePoint Events eine Datenbank. Erstellen Sie nun eine Datenbank, bspw. mit dem Namen ONION_SPEvents, im SQL Server und weisen Sie einem SQL Server Benutzer die Berechtigung db_owner zu.

Der verwendete Benutzer muss ein Benutzer mit SQL Server Authentifizierung sein, da dieser Benutzer sowohl im Datasource Server, als auch in SharePoint als der Verbindungszeichenfolge gespeichert werden muss.

Verzeichnisstruktur1.3 Datasource Server in das Projektverzeichnis kopieren

Wechseln Sie in das aktuelle Distributionsverzeichnis und anschließend in das Verzeichnis onion.net SharePoint 2010 Integration, kopieren Sie den Ordner "Datasource Server" unter "c:\onion.net\services" und benennen das Verzeichnis ggf. um.

1.4 Windowsdienst installieren

.NET basierte Windowsdienste werden über das Kommandozeilenprogramm installutil.exe installiert. Öffnen Sie dazu einfach eine Kommandozeile und wechseln Sie in das kopierte Verzeichnis. Sollten Sie auf dem Server nicht mit dem Administrator angemeldet sein und UAC (User Account Control) aktiviert sein, so müssen Sie die Kommandozeile als Administrator starten.

Das benötigte Programm installutil.exe befindet sich bereits auf Ihrem Rechnersystem im Verzeichnis "%WINDIR%\microsoft.net\framework\v2.0.50727\".

Zur Installation führen Sie es mit folgenden Argumenten aus:

installutil.exe /servicename=ONION_SharePointIntegration Onion.SharePointIntegration.DatasourceServer.WindowsService.exe

Das Argument /servicename steuert den Namen des Dienstes. Für jede Instanz dieses Dienstes muss ein eindeutiger Name vergeben werden.

Nach der Ausführung des Kommandos kann der Dienst in der Windows Dienstekonsole eingesehen werden. Öffnen Sie dort nun das Eigenschaften-Fenster des Dienstes. Im aktuellen Reiter sollten Sie für den Betrieb den Starttyp auf "Automatisch (Verzögerter Start)" auswählen.

Wechseln Sie nun zum Reiter "Anmelden". In diesem Reiter wählen Sie die Option "Dieses Konto:" aus und tragen den unter Punkt 1.1 erstellten Benutzer als Ausführungskonto ein.

Konfigurationsdatei1.5 Konfiguration des Datasource Servers

Im Instanzverzeichnis des Datasource Server befindet sich eine Konfigurationsdatei names "Onion.SharePointIntegration.DatasourceServer.WindowsService.exe.config".

1.5.1 SharePoint Verbindung

In der Konfigurationsdatei finden Sie unter configuration/onion/sharepointintegration das Attribut siteUri. Als Wert des Attributes konfigurieren Sie die SharePoint Site, mit welcher sich der Datasource Server verbinden soll.

1.5.2 SQL Server Verbindung

Für das Abrufen der aufgezeichneten SharePoint Events benötigt der Datasource Server eine Verbindung zum SQL Server. Tragen Sie im Abschnitt configuration/onion/sharepointintegration für das Attribut eventConnectionString die Verbindungsinformationen ein, die Sie im Punkt 1.2 erstellt haben.

1.5.3 Dienstverfügbarkeit über .NET Remoting

Unter diesem Punkt können Sie die Bindung des Dienstes konfigurieren. Die wichtigste Einstellung bei mehreren Instanzen ist die Port-Bindung. Als Standardport ist der Port 8081 angegeben. Der angegebene Port darf nicht bereits durch eine andere Anwendung blockiert sein.

1.6 Trustlevel der Websitesammlung konfigurieren

In der web.config der Websitesammlung gibt es ein Element trust mit dem Attribut level. Sollte das level noch nicht auf Full geändert sein, so ändern Sie diesen Wert auf Full.

1.7 SharePoint Solution installieren und bereitstellen

WebsiteeinstellungenWechseln Sie in das aktuelle Distributionsverzeichnis und anschließend in das Verzeichnis onion.net SharePoint 2010 Integration / WebPart.

In diesem Verzeichnis befindet sich eine SharePoint Solution Datei (wsp). Diese Lösung installieren Sie in SharePoint und stellen es der im Datasource Server konfigurierten Site zur Verfügung. Sollten Sie bereits das onion.ner Render Engine WebPart installiert und in der gleichen Websitesammlung zur Verfügung gestellt haben, so muss diese Solution nicht mehr installiert und bereit gestellt werden.

In den Websitesammlungsfeatures gibt es nun ein onion.net SharePoint Integration feature, welches Sie aktivieren müssen, danach gibt es in den Websiteeinstellungen einen neuen Punkt onion.net Konfiguration mit zwei Unterpunkten.

Klicken Sie nun auf den Link onion.net Datasource Server konfigurieren. Auf dieser Seite konfigurieren Sie die Verbindungseinstellungen zur Datenbank, welche Sie unter Punkt 1.2 erstellt haben.

Die Installation des Dienstes ist damit fertig gestellt und kann nun gestartet werden.

2. onion.net Render Engine konfigurieren

Nachdem der Datasource Server fertig konfiguriert wurde, kann nun SharePoint als weitere Datenquelle in der onion.net Render Engine hinzugefügt werden.

Dafür wechseln Sie im Distributionsverzeichnis in das Verzeichnis onion.net SharePoint 2010 Integration / Render Engine Datasource. Dort befinden sich DLLs, welche in das bin-Verzeichnis der onion.net Render Engine kopiert werden.

Anschließend öffnen Sie die web.config der onion.net Render Engine und fügen innerhalb des Elements dataSources den folgenden weiteren Abschnit hinzu.

 <source xlinkPrefix="sharepoint" type="Onion.RenderEngine.DataSources.SharePointIntegration.Client.SharePointRepository, Onion.RenderEngine.DataSources.SharePointIntegration.Client">
  <server uri="tcp://localhost:8081/onion/sharepointintegration" versionFilter="true" />
</source> 

Konfigurieren Sie in dem eingefügten Abschnitt die uri auf den Datasource Server. Speichern Sie die Konfigurationsdatei. 

Als initialen Test können Sie für die onion.net Render Engine die autoconfig.ashx aufrufen. Kann diese Seite gerendert werden, so konnte eine Verbindung zum Datasource Server aufgebaut werden.

3. onion.net Editor Modul importieren

Optional kann das Editor Modul importiert werden. Dieses Modul bietet für diesen Teil der Integration Editoren zur einfachen Auswahl von Referenzen zu SharePoint-Inhalten.

Das Modul befindet sich im aktuellen Distributionsverzeichnis im Verzeichnis onion.net SharePoint 2010 Integration / Editor Module.

Sollte nach dem Import des Moduls eine Fehlermeldung im Dateneditor zu sehen, dass die DLL Onion.SharePointIntegration.Editor.dll nicht gefunden werden konnte, kann dies zwei Gründe haben:

  • Es gibt Probleme mit dem onion.net Managment Service
    • Nicht installiert
    • Nicht in der web.config des Editors konfiguriert
    • Der Dienst darf nicht in das bin-Verzeichnis des Editors schreiben
  • oder aber die Seite wurde zu schnell geladen, noch bevor der Management Service die DLL in das bin-Verzeichnis kopieren konnte.

Im letzten Fall einfach die Seite noch mal aktualisieren, dann sollte der Editor normal funktionieren.

give feedback