Laufzeitinformationen

Beim Ausführen einer manuellen Aktivität verarbeitet die Workflow-Engine die in den Metadaten definierte Zuteilungsstrategie, um die Liste der Zuteilungsziele für diese Aufgabe abzurufen. Wenn die Zuteilungsstrategie den Typ 'Funktion' aufweist, verarbeitet die Workflow-Engine die für die zugehörige Zuteilungsfunktion definierten Eingabezuordnungen und ruft diese Funktion auf, um die Liste der Zuteilungsziele abzurufen. Ist die Zuteilungsstrategie vom Typ 'Regel', verarbeitet die Workflow-Engine die Zuordnungen für das angegebene Regelwerk und ruft die Regel-Engine zum Ausführen des Regelwerks aus, mit dem die Liste der Zuteilungsziele abgerufen werden kann. Wenn die Zuteilungsstrategie den Typ 'Ziel' aufweist, ist das Zuteilungsziel ganz einfach das in den Metadaten angegebene Ziel und es ist keine weitere Verarbeitung notwendig.

Wie in den Metadaten für einen Workflowprozess beschrieben (siehe Metadaten der Prozessdefinition), kann eine Fehlerzuteilungsstrategie für einen Prozess festgelegt werden. Diese Strategie wird verarbeitet und verwendet, wenn durch den Aufruf der mit der Aufgabe verknüpften Zuteilungsstrategie keine Zuteilungsziele zurückgegeben werden.

Die Workflow-Engine legt dann mithilfe der Eigenschaft 'curam.custom.workflow.workresolver' die Implementierung der Funktion fest, die zum Zuordnen von Aufgaben in der Anwendung verwendet wird. Diese Funktion wird dann von der Workflow-Engine aufgerufen. Die Workflow-Engine leitet die Liste der durch die Zuteilungsstrategie bestimmten Zuteilungsziele sowie Details der zuzuordnenden Aufgabe an die Funktion weiter.

Nachdem der geschäftliche Resolver für die Aufgabe aufgerufen wurde, ruft die Workflow-Engine die Methode checkTaskAssignment in der Klasse curam.core.sl.impl.TaskAssignmentChecker auf. Diese Funktion überprüft den Zuweisungsstatus der Aufgabe, um sicherzustellen, dass sie mindestens einem Benutzer, einem Organisationsobjekt (Organisationseinheit, Position oder Job) oder einem Gruppenpostfach zugeordnet wurde. Wenn die Aufgabe nicht zugewiesen wurde, wird die Anwendungseigenschaft 'curam.workflow.defaultworkqueue' untersucht, um herauszufinden, was als Standard-Gruppenpostfach für den Workflow angegeben ist. Die Aufgabe wird dann diesem Gruppenpostfach zugewiesen.

Wenn die Aufgabe einem Benutzer zugewiesen und nur ein Benutzer nach der Arbeit aufgelöst wurde, überprüft das System den Wert der Anwendungseigenschaft 'curam.workflow.automaticallyaddtasktousertasks'. Dieses Flag steuert, ob das System die verarbeitete Aufgabe automatisch der Liste der Aufgaben dieses Benutzers hinzufügt, damit sie bearbeitet werden kann. Der Standardwert für die Eigenschaft ist NO. Wenn der Wert jedoch auf YES festgelegt wurde, fügt das System diese Aufgabe automatisch in die Liste 'Meine Aufgaben' des Benutzers in dessen Posteingang ein, damit er sie verarbeiten kann.