Automatischer Workflow-Start bei der Objekterstellung

Funktion

Mit Hilfe dieser Erweiterung ist es möglich, dass bei der Erstellung eines neuen Objektes (Arbeitsmappe, Dokument, Ordner oder Listenelement) automatisch ein Workflow gestartet wird. 

Voraussetzungen

docuvita Version WorkflowServer-Lizenz
ab 2.0.1050 Nein *

* Zum Starten von individuellen Workflows wird eine WorkflowServer-Lizenz benötigt. Die docuvita Standardworkflows (Wiedervorlage, Information und Freigabe) können auch ohne eine zusätzliche Lizenz verwendet werden.

docuvita online

Wenn Sie ein docuvita online Kunde sind, wenden Sie sich bitte an unseren Vertrieb.

Installation

Um diese Erweiterung verwenden zu können, müssen Sie die von uns zur Verfügung gestellten Dateien…

  • dvs.OperationPlugin.StartWorkflow.dll
  • dvs.OperationPlugin.StartWorkflow.yml
  • dvs.YamlConfigurationManager.dll
  • YamlDotNet.dll

in das “plugins”-Verzeichnis des docuvita Servers kopiert werden.

Standardpfadd

Der Standardpfad des “plugins”-Verzeichnis lautet: C:\Program Files (x86)\docuvita\docuvita Server 2.0\docuvita.Server\plugins

Konfiguration

Die Konfiguration erfolgt über die im “plugins”-Verzeichnis vorhandene Datei dvs.OperationPlugin.StartWorkflow.yml. Öffnen Sie diese Datei mit einem aktuellen Texteditor.

Paramter Beschreibung Beispiel
isActive Wenn der Wert auf true gesetzt ist, dann ist diese Konfiguration aktiviert. true
parentObjectId Diese Objekt-ID (z.B. Ordner Eingangsrechnung) wird überwacht. Wird in diesem Ordner ein neues Objekt erstellt, dann startet ein neuer Workflow. Mit dem Wert 0 kann die Überwachung des Parent abgeschaltet werden.
Evtl. vorhandene Kombinationen mit dem Parameter objectTypeId werden berücksichtigt.
123456
objectTypeId Dieser Objekttyp wird überwacht. Wird ein neues Objekt von diesem Typ erstellt, dann startet ein neuer Workflow. Mit dem Wert 0 kann die Einschränkung auf dem Objekttyp deaktiviert werden.
Evtl. vorhandene Kombinationen mit dem Parameter parentObjectId werden berücksichtigt.
6
workflowName Technischer Name des zu startenden Workflows FreigabeEingangsrechnung
workflowStartParameter Komma getrennte Liste der gewünschten Startparameter. Die Eingabe erfolgt mit <technischer Feldname>:<Feldwert> MeinErsterParameter:Hallo mit Leerzeichen,MeinZweiterParameter:12
skipStartingIfWorkflowExists Wenn auf true wird vor dem Starten des Workflows geprüft, ob aktuell ein weiterer Workflow vom selben Typ auf dem selben Objekt aktiv ist. Wenn ja, wird kein weiterer Workflow gestartet. false

Änderungen in der Konfigurationsdatei

Zum Übernehmen von Änderungen in der Konfigurationsdatei ist es notwendig, den Dienst docuvita.Server neu zu starten.

Falls mehrere Workflows bzw. unterschiedliche Objekttypen, Ordner verwendet werden sollen, kann der komplette Eintrag kopiert werden.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    - isActive: true
    # Wenn 0 dann wird nur der Objekttyp überwacht. Ansonsten die Kombination aus parentObjectId und objectTypeId.
    parentObjectId: 0 
    # Wenn 0 dann wird nur das Parent (direkt Übergeordnete Element) überwacht.  Ansonsten die Kombination aus parentObjectId und objectTypeId.
    objectTypeId: 9 
    # Technischer Name des Workflows
    workflowName: 'Test_Workflow' 
    # Komma getrennte Liste der Startparameter. z.B. 'Parameter1:Hallo du,Paramter2:17'
    workflowStartParameter: 'STARTBYUSER:Personal' 
    # Wenn true dann wird kein zweiter Workflow des selben Types gestartet
    skipStartingIfWorkflowExists: true 

    - isActive: true
    # Wenn 0 dann wird nur der Objekttyp überwacht. Ansonsten die Kombination aus parentObjectId und objectTypeId.
    parentObjectId: 0
    # Wenn 0 dann wird nur das Parent (direkt Übergeordnete Element) überwacht.  Ansonsten die Kombination aus parentObjectId und objectTypeId. 
    objectTypeId: 12 
    # Technischer Name des Workflows
    workflowName: 'Test_Workflow' 
    # Komma getrennte Liste der Startparameter. z.B. 'Parameter1:Hallo du,Paramter2:17'
    workflowStartParameter: 'STARTBYUSER:Buchhaltung' 
    # Wenn true dann wird kein zweiter Workflow des selben Types gestartet
    skipStartingIfWorkflowExists: true