Ein häufig auftretendes Problem, welches in SharePoint 2007 und Nintex Workflow 2007 Projekten vorkommt ist, dass man Informationen aus einer zentralen übergeordneten Liste übernehmen muss. Grds. gibt es hier verschiedene Ansätze, bspw. mit zentralen Nachschlagespalten.
Ich möchte an dieser Stelle eine Lösung mit Nintex Workflow zeigen. Diese ist bewusst generisch gehalten.
Das Scenario sieht wie folgt aus:
- In einer andern Website befindet sich eine Liste mit Werten, welche man in eine eigene Liste in der aktuellen Website kopieren möchte.
- Für jedes Item soll ein eigener Eintrag erstellt werden.
Den Lösungsweg möchte ich kurz mit Screenshots illustrieren.
-
Als erstes wird eine Collection Variable benötigt in der die Einträge aus der übergeordneten Liste gespeichert werden
-
Anschließend können wir die Daten per Query List Item aus der Liste holen. Hierfür benötigen wir einige CAML Kenntnisse. Der Query String sieht dann wie folgt aus:
-
Zu dem CAML String sind drei Hinweise nötig.
- Die GUID der Liste kann man aus der URL der Zielliste entnehmen.
- <Webscope = „SiteCollection“> ist der Teil, der das Action Item befähigt, auf Site Collection Ebene nach der Liste zu Suchen
- Was auffällt ist, dass man die GUID der Liste zweimal übergeben muss. Dies ist laut Nintex wegen eines bekannten Fehlers nötig. Falls man die GUID nur einmal übergibt sucht das Item trotz des Websites Scopes nur in der aktuellen Website. Dieser Fehler wird im nächsten Release behoben werden.
- Die Ergebnisse werden in der erstellten Collection Variable zwischen gespeichert.
-
Anschließend wird für das Abarbeiten der Einträge eine Workflow Variable vom Type List Item ID benötigt.
-
Das Speichern in einer neuen Liste erfolgt dann über das For Each Item.
-
In jeder For Each Schleife wird dann ein neues Item basierend auf dem Wert der Collection Varible erstellt
Das sind grob die Schritte die für das Eingangsbeschriebene Scenario nötig sind. Der Workflow sieht dann in etwa wie folgt aus:
Anmerkungen:
- Was in diesem Artikel nicht beschrieben wird ist der Auslöser für den Workflow. Dies ist bewusst geschehen, da sich das stark nach Ihrem Einsatzscenario richtet.
- Das Beispiel kann beliebig erweitert werden, bspw. über eine Filterung der Werte die Ausgelesen werden sollen.
- Auch können mehr Werte als nur der Titel gesucht werden. Dies erfordert dann aber ein wenig mehr Aufwnad und würde den Rahmen hier sprengen.
Den Artikel als PDF finden Sie hier: Zugriff auf eine Liste in einer anderen Website mit Nintex Workflow und CAML
Kommentar verfassen