Añadir columnas personalizadas

Para mostrar los datos de flujo de trabajo en la bandeja de entrada, es necesario definir y rellenar las variables en el flujo de trabajo. El valor de la variable debe configurarse antes de que se asigne una tarea a un usuario. Para ayudarle a empezar, hemos proporcionado un flujo de trabajo de muestra que está listo para implementarse en su servidor AEM.

Este flujo de trabajo tiene dos variables definidas (isMarried e revenue) y sus valores se establecen mediante el componente de variable set . Estas variables estarán disponibles como columnas para agregarlas a la bandeja de entrada de AEM

Crear servicio

Por cada columna que necesitamos mostrar en nuestra bandeja de entrada, necesitaríamos escribir un servicio. El siguiente servicio nos permite agregar una columna para mostrar el valor de la variable isMarried

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);
}
}
NOTA

Debe incluir AEM 6.5.5 Uber.jar en el proyecto para que funcione el código anterior

uber-jar

Realizar pruebas en el servidor

Al enviar el formulario, se activará el flujo de trabajo y se asignará una tarea al usuario "admin". Debería ver un valor debajo de la columna Casado como se muestra en esta captura de pantalla.

mary-column

En esta página