Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core workflow 3.0 > Übersicht vorhandener Knoten


commit

Interne ID: agorum.flow.commit

Dieser Knoten beendet die Verarbeitung des aktuellen Tokens und setzt sie im Hintergrund fort. Dadurch kann der Benutzer direkt mit der Bearbeitung des nächsten Tokens fortfahren, ohne auf die nachfolgenden Schritte warten zu müssen.

Wenn bei der Hintergrundverarbeitung ein Fehler auftritt, hat der Workflow die Möglichkeit, darauf zu reagieren. Dazu prokolliert der commit-Knoten den Fehler.

 

Aussehen des Knotens

Verhaltensweise


Bei der Hintergrundverarbeitung verlässt der Workflow den Knoten zunächst durch das Outlet try. Stößt die Verarbeitung dabei auf einen Fehler, startet der Workflow einen weiteren Versuch, dieses Mal über das Outlet catch. Tritt hierbei ebenfalls ein Fehler auf, bricht der Verarbeitungsversuch ab, der Fehler wird protokolliert und die Variable sys_acw_error gesetzt.

Die Variable sys_acw_error enthält zwei Abschnitte: den Stacktrace im Abschnitt stack und die Fehlermeldung im Abschnitt message. Sie können die Fehlermeldung nutzen, etwa um eine Information für Benutzer über den UI-Knoten auszugeben.

Endpoints


Standard Veränderbar? Weitere Endpoints möglich?
Default (Inlet) Nein, kann nur ausgeblendet werden. ja, beliebig viele
try (Outlet) Nein, kann nur ausgeblendet werden. nicht nötig
catch (Outlet) Nein, kann nur ausgeblendet werden. nicht nötig

Parameter


Dieser Knoten besitzt keine Parameter.

Beispiel für die Verwendung der Variable sys_acw_error im UI-Knoten


Sie können den Protokoll-Inhalt der Variable sys_acw_error etwas wie folgt im UI-Knoten verwenden, um Benutzer in der Oberfläche über den Fehler zu informieren:

 

Beispiel: Workflow mit Anzeige der Commit-Meldung über den UI-Knoten

 

Die Ausgabe für den Benutzer sieht wie folgt aus, wenn Sie sie einfach durchreichen.

 

Beispiel: Ausgabe der Commit-Meldung für Benutzer in der UI

In diesem Beispiel wird die Fehlermeldung aus der Variable sys_acw_error mit dem Label Meldung und der Stacktrace mit dem Label Stack dem Benutzer angezeigt:

let aguila = require('common/aguila');

let widget = aguila.create({
  type: 'agorum.composite.wrapper',
  wrap: {
    type: 'agorum.composite.form.basic',
    name: 'form',
    labelPosition: 'top',
    elements: [
      {
        type: 'agorum.composite.form.element.text',
        name: 'errorMessage',
        label: 'Meldung',
        readOnly: true,
      },
      {
        type: 'agorum.composite.form.element.text',
        name: 'errorStack',
        label: 'Stack',
        textArea: true,
        readOnly: true,
        monospace: true,
      },

      // buttons
      {
        type: 'agorum.spacer',
        height: 24,
      },
      {
        type: 'agorum.hbox',
        items: [
          {
            type: 'agorum.spacer',
            flexible: true,
          },
          {
            type: 'agorum.composite.form.element.button',
            name: 'ok',
            text: 'OK',
            icon: 'aguila-icon check',
          },
        ],
      },
    ],
  },
});

let form = widget.down('form');

widget
  .incoming('value', value => {
    let error = value.sys_acw_error || {};

    form.value = {
      errorMessage: error.message || '',
      errorStack: error.stack || '',
    };
  })
  .outgoing('value', () => {});

form.on('action', action => {
  switch (action.name) {
    case 'ok':
      widget.fire('leave', 'ok');
      break;
  }
});

widget;