SharePoint, InfoPath und Nintex deployment – Teil 1

​​​​Auch wenn InfoPath inzwischen offiziell eingestellt wurde (Artikel), so gibt es doch noch einige Unternehmen die diese Technologie für Formulare mit Business Logic einsetzen. Je nach Umgebung sollen die Formulare dabei die normalen Application Lifecycle Prozesse durchlaufen und automatisiert in den verschiedenen Umgebungen bereitgestellt werden.​

Diese Beitragsserie soll demonstrieren, wie in SharePoint integrierte InfoPath Formulare mit Listenverbindungen und Nintex Workflows per .WSP Paket bereitgestellt werden können. Hierfür habe ich ein einfaches InfoPath Formular mit den Feldern Title, Cool und How Cool erstellt. Die Werte für das DropDown How Cool sollen aus einer separaten SharePoint Liste kommen.​

deployment-inside-01.png

1. Schritt: Formular im Netzwerk ablegen

Damit dieses Formular von SharePoint bereitgestellt werden kann, muss es über einen Netzwerkpf​​ad verfügbar sein. Ich habe hierzu unter C: den Ordern Share erstellt und freigegeben, den ich nun über Funktion "Publish form to a network location or file share" auswähle:

deployment-inside-02.png

Im anschließenden Dialog werden der Pfad sowie der Namen des Formulars angeben, auf der nächsten Seite folgt die Angabe des Zugriffspfades:

deployment-inside-03.png

Bei der Veröffentlichung ist es wichtig, in InfoPath keinen Alternate Access Path anzugeben, da dies zu dem "XSN can not be used on server" Fehler führt.

deployment-inside-04.png

2. Schritt: SharePoint 2013 Projekt anlegen

In Visual Studio habe ich ein leeres SharePoint 2013 Projekt angelegt und das veröffentlichte InfoPath dort als Modul eingebunden. Damit das Deployment funktioniert, ist das Formular als ElementFile einzubinden und der Pfad für die Elements.xml und die Datei zu leeren:

deployment-inside-05.png

In der Elements.xml des Moduls steht folgendes:

	
​​<Module Name="Form" Url="FormServerTemplates" RootWebOnly="TRUE">
	<File Path="SampleForm.xsn" Url="SampleForm.xsn" Type="GhostableInLibrary" />
</Module>​​
​​

3. Schritt: Feature mit dem Scope "Site" anpassen

Das Modul habe ich anschließend an ein Feature mit dem Scope Site (Voraussetzung) angefügt. In den Properties des Features sind folgende Anpassungen vorzunehmen:

  • Receiver Assembly: Microsoft.Office.InfoPath.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
  • Receiver Class: Microsoft.Office.InfoPath.Server.Administration.XsnFeatureReceiver

Eine Beschreibung des XsnFeatureReceiver findet sich hier: Artikel

Beim Aktivieren des Features sorgt der Feature Receiver für die Installation des Formulars, beim Deaktivieren sorgt er für die Deinstallation.​​

deployment-inside-06.png deployment-inside-07.png

In meinem nächsten Beitrag werde ich beschreiben, wie die dazugehörigen Spalten, Inhaltstypen und Listen sowie die DataConnection Files für die Verbindungen zu den SharePoint Listen bereitgestellt werden können.

Hier habe ich euch nochmal ein B​eispiel zur Vorhergehensweise zusammengestellt:http://1drv.ms/1pldq2T

Comments