Direkt zum Hauptbereich

Benutzer einer SharePoint-Gruppe auslesen (Data One Power Activity for Nintex Workflow)

Ich habe dieser Tage ein kleines Problem mit der Nintex-Aktivität << Data Request >> gehabt. Derzeit ist es leider nur möglich dieser Aktivität einen Benutzer zuzuweisen. Was nun aber tun, wenn mehrere Benutzer diese Dateneingabe vornehmen sollen. Man kann das Ganze umgehen, indem man eine neue SharePoint-Gruppe anlegt und die Benutzer in dieser Gruppe einpflegt.
Hier bin ich dann jedoch auf das nächste Problem gestoßen. Die SharePoint-Gruppe wird nicht aufgelöst, so dass die Aufgabe nicht in den Nintex-Webpart << Meine Workflowaufgaben >> angezeigt wird. Ich habe mir nun Gedanken über eine mögliche Lösung gemacht und bin zu folgendem Ergebnis gekommen.

Schritt 1: SharePoint Webservice
Auslesen der SharePoint-Gruppe mit dem SharePoint Webservice (http://sharepoint/_vti_bin/UserGroup.asmx) und der Methode << GetUserCollectionFromGroup >>. Als Ergebnis bekommen wir folgendes XML-Konstrukt (aus Darstellungsgründen habe ich es auf den LoginName beschränkt):


<GetUserCollectionFromGroup xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/">
   <Users>
        <User  LoginName="Domäne\ps_test"  />
        <User  LoginName="Domäne\tk_bpmhelp" />
        <User  LoginName="Domäne\tk_discmanager"  />
   </Users>
</GetUserCollectionFromGroup>

Schritt 2: Auslesen mit PowerShell
Für die weitere Vorgehensweise werden die einzelnen Benutzer (in diesem Fall der LoginName) benötigt. Das Auslesen der Benutzer habe ich mit der Powershell realisiert. Die meisten werden nun fragen, wie kann ich Nintex Workflow in Verbindung mit der PowerShell nutzen? Ganz einfach, man benutzt die  << Data One PowerActivity for Nintex Workflow >>. Das folgende Script liest die einzelnen Benutzer aus und speichert Sie in einer ArrayList. Das Ergebnis wird dann einer Nintex-Collection-Variablen übergeben und man hat nun die Möglichkeit auf die einzelnen Benutzer dieser SharePoint-Gruppe zuzugreifen.


# path to the xml-file
$InputXML = 'C:\Users\ps\Desktop\UserGroup.xml' 
# get the content from the xml-file
$xml = [xml](Get-Content -Path $InputXML)
# create a variable of type System.Collections.ArrayList
$users = new-object 'System.Collections.ArrayList'
# iterate through the xml-file and get all users of the SharePoint-Group
$xml.GetUserCollectionFromGroup.users.user | foreach { 
$users.Add($_.Loginname)
}


Schritt 3: Zuweisen << Data Request >> an die Benutzer
Damit die Benutzer nun Ihre Aufgaben auch im Webpart << Meine Workflowaufgaben >> sehen können, muss jedem Benutzer ein << Data Request >> zugewiesen werden. In der Collection-Variable, die zuvor in der << Data One PowerActivity >> gefüllt wurde, sind alle Benutzer der SharePoint-Gruppe enthalten. Für jeden Eintrag wird ein << Data Request >> gestellt. Nun müssen wir noch die Abarbeitung der restlichen Aufgaben realisieren, wenn jemand seine Eingabe getätigt hat. Die << Data Request >> Aktivität hat derzeit leider nicht die Möglichkeit, dass man in der Konfiguration angeben kann, dass die erste Antwort zählt (wie man es z.B. vom Flexi-Task gewöhnt ist). Man muss sich die Action-ID's der einzelnen Aufgaben speichern und kann hiermit dann die noch offenen Aufgaben abschließen.

Die Lösung ist zwar nur suboptimal, aber man kann damit arbeiten und diese Aktivität auch mit mehreren Usern nutzen. Ich hoffe, dass in einem der nächsten Releases dieses Feature implementiert sein wird.

Viele Grüße,
Patrick

Kommentare

Beliebte Posts aus diesem Blog

Nutzung der Mehrsprachigkeit in SharePoint 2013

Heute wollte ich mich mit dem Thema <Mehrsprachigkeit und SharePoint 2013> auseinandersetzen. Wie in SharePoint 2010 bietet Microsoft auch diverse Sprachpakete für SharePoint 2013 an. Zum heutigen Zeitpunkt stehen Sie leider noch nicht zum freien Download bereit. Wenn Ihr jedoch eine MSDN-Subscription besitzt, so könnt Ihr die verfügbaren Sprachpakete hier herunterladen. Die folgenden Sprachpakete stehen derzeit zum Download bereit.




















Nachdem ich mir die Pakete installiert und den Config-Wizard laufen gelassen habe (Es hat keine 10 Minuten gedauert, das sieht mir nach Optimierung aus) stehen die Pakete zur Verfügung und ich kann Sie auf den einzelnen Site-Collections aktivieren. Dazu gehe ich wie gewohnt in die <Site-Settings>








und wähle dort die <Language settings> aus und markiere die gewünschte Sprache.


























Das sind alles keine Änderungen gegenüber SharePoint 2010. Meine Seite öffnet sich nun wie erwartet in Deutsch. Nun möchte ich jedoch wieder in die englische Sprache …

Aktivierung Blob Cache (Enable Blob Cache SharePoint 2013)

Heute wollte ich mich mit der neuen Funktionalität der <Image Renditions> (Bildwiedergabe) im SharePoint Server 2013 beschäftigen. Man kann den Punkt <Image Renditions> in den Site-Settings finden. Bevor ich nun jedoch Einstellungen und die Funktionalität nutzen kann erwartete mich zunächst eine Warnmeldung:

"The blob cache is not enabled in this web application. Image Renditions will not be generated until the blob cache is enabled. For information on turning on the blob cache, please review the product information."







Ich habe mich dann einmal in der Zentraladministration auf die Suche nach Einstellungen auf Webanwendungsebene für die Aktivierung des Blob Cache gemacht, bin in der GUI jedoch nicht fündig geworden. Was nun tun? Gibt es eventuell PowerShell cmdlets für SharePoint 2013 zum Aktivieren des Blob Cache. Auch hier bin ich leider nicht fündig geworden. Aber da es sich um Konfigurationseinstellungen der Webanwendung handelt so findet man diese doch bestimm…