Hinzufügen benutzerdefinierter Spalten

Um Workflow-Daten im Posteingang anzuzeigen, müssen wir Variablen im Workflow definieren und füllen. Der Variablenwert muss festgelegt werden, bevor eine Aufgabe einem Benutzer zugewiesen wird. Um Ihnen einen Beginn zu geben, haben wir einen Beispielarbeitsablauf bereitgestellt, der auf Ihrem AEM bereitgestellt werden kann.

Dieser Arbeitsablauf umfasst zwei Variablen (isVerheiratet und Einkommen) und seine Werte werden mithilfe der Komponente set variable festgelegt. Diese Variablen stehen als Spalten zur Verfügung, die AEM Posteingang hinzugefügt werden sollen

Dienst erstellen

Für jede Spalte, die wir in unserem Posteingang anzeigen müssen, müssten wir einen Dienst schreiben. 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);
}
}
HINWEIS

Sie müssen AEM 6.5.5 Uber.jar in Ihr Projekt aufnehmen, damit der oben genannte Code funktioniert

uber-jar

Testen auf dem Server

Beim Senden des Formulars wird der Arbeitsablauf Trigger und dem Benutzer "admin"wird eine Aufgabe zugewiesen. Sie sollten einen Wert unter der Spalte Verheiratet sehen, wie in diesem Screenshot dargestellt

heiratet-column

Auf dieser Seite