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

Verwaltung von Microsoft Teams über das Office 365 Admin Center

Microsoft Teams - derzeit das Tool zur Steigerung der Produktivität und Zusammenarbeit im Unternehmen. Für die Endanwender ergeben sich viele Vorteile, wie. z.B. die schnelle Bereitstellung der notwendigen Funktionalitäten für eine effektive Zusammenarbeit oder auch die Einbindung unterschiedlicher Dienste und Konnektoren . Schnell hat man als Anwender einen externen Dienst oder Anwendung, wie z.B. MindMeister oder auch BitBucket hinzugefügt ohne das Arbeitstool, in diesem Fall MS Teams, verlassen zu müssen - kein Hin- und Herspringen mehr in Browsern oder Anwendungen. Wo die Daten liegen spielt hier eher eine untergeordnete Rolle. Oder mal eben einen weiteren Cloud-Speicher wie z.B. Dropbox hinzugefügt. Was kann man als Endanwender noch mehr verlangen - auch mobil arbeiten zu können - aber auch das ist kein Problem mehr dank verfügbarer Apps. Das hört sich doch alles mehr als gut an - wären da nicht auch die IT-Administratoren, rechtlichen Grundlagen und Unternehmensrichtlinien. Wel

Google Chrome Tastaturlayout

Ich hatte heute das Problem, dass sich mein Tastaturlayout in meinem Google Chrome Browser geändert hat. Auf einmal stand mir mir nur das englische Tastaturlayout zur Verfügung. Ich habe mich dann auf die Suche in den Browsereinstellungen gemacht und mich dem Punkt << Sprachen >> (in den erweiterte Einstellungen zu finden) gewidmet. Die Einstellungen sehen in Ordnung aus, somit kam dann eigentlich nur noch eine Tastenkombination zum Umschalten des Tastenlayouts in Frage. Bei meiner Suche auf google ;-) habe ich dann auch schnell die folgende Kombination Alt+Shift gefunden. Einmal ausgeführt und schon habe ich wieder mein gewohntes Tastaturlayout. Viele Grüße, Patrick