Hinzufügen benutzerdefinierter Spalten

Um Workflow-Daten im Posteingang anzuzeigen, müssen wir Variablen im Workflow definieren und befüllen. Der Wert der Variablen muss festgelegt werden, bevor eine Aufgabe einer Benutzerin oder einem Benutzer zugewiesen wird. Damit Sie sofort loslegen können, haben wir Ihnen einen Beispiel-Workflow zur Verfügung gestellt, der direkt auf Ihrem AEM-Server bereitgestellt werden kann.

Für diesen Workflow sind zwei Variablen definiert („isMarried“ und „income“). Die zugehörigen Werte werden mithilfe der Komponente zum Festlegen einer Variablen angegeben. Diese Variablen werden als Spalten bereitgestellt, die dem AEM-Posteingang hinzugefügt werden können.

Erstellen eines Dienstes

Für jede Spalte, die im Posteingang angezeigt werden soll, müssen wir einen Dienst erstellen. Mit dem folgenden Dienst können wir eine Spalte hinzufügen, um den Wert der Variablen „isMarried“ anzuzeigen.

import com.adobe.cq.inbox.ui.column.Column;
import com.adobe.cq.inbox.ui.column.provider.ColumnProvider;

import com.adobe.cq.inbox.ui.InboxItem;
import org.osgi.service.component.annotations.Component;

import java.util.Map;

/**
 * This provider does not require any sightly template to be defined.
 * It is used to display the value of 'ismarried' workflow variable as a column in inbox
 */
@Component(service = ColumnProvider.class, immediate = true)
public class MaritalStatusProvider implements ColumnProvider {@Override
public Column getColumn() {
return new Column("married", "Married", Boolean.class.getName());
}

// Return True or False if 'ismarried' is set. Else returns null
private Boolean isMarried(InboxItem inboxItem) {
Boolean ismarried = null;

Map metaDataMap = inboxItem.getWorkflowMetadata();
if (metaDataMap != null) {
if (metaDataMap.containsKey("isMarried")) {
    ismarried = (Boolean) metaDataMap.get("isMarried");
}
}

return ismarried;
}

@Override
public Object getValue(InboxItem inboxItem) {
return isMarried(inboxItem);
}
}
NOTE
Sie müssen „AEM 6.5.5 Uber.jar“ in Ihr Projekt einbeziehen, damit der obige Code funktioniert.

uber-jar

Testen auf Ihrem Server

Durch Übermittlung des Formulars wird der Workflow ausgelöst und der Admin-Benutzerin bzw. dem Admin-Benutzer eine Aufgabe zugewiesen. In diesem Screenshot sollte unter der Spalte „Verheiratet“ ein Wert angezeigt werden.

Spalte „Verheiratet“

Nächste Schritte

Anzeigen der Spalte „Verheiratet“

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e