Añadir columnas personalizadas
Para mostrar los datos del flujo de trabajo en la bandeja de entrada, es necesario definir y rellenar variables en el flujo de trabajo. El valor de la variable debe establecerse antes de asignar una tarea a un usuario. AEM Para ayudarle a empezar, hemos proporcionado un flujo de trabajo de ejemplo que está listo para implementarse en su servidor de.
Este flujo de trabajo tiene dos variables definidas (isMarried y revenue) y sus valores se establecen mediante el componente de variable set. AEM Estas variables están disponibles como columnas para añadirlas a la bandeja de entrada
Crear servicio
Para cada columna que necesitemos 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);
}
}
Realizar pruebas en el servidor
- AEM Iniciar sesión en la consola web de la
- Implementar e iniciar el paquete de personalización de bandeja de entrada
- Abrir la bandeja de entrada
- Para abrir el Control de administración, haga clic en el icono Vista de lista junto al botón Crear
- Agregue la columna Casado a la bandeja de entrada y guarde los cambios
- Ir a la interfaz de usuario de FormsAndDocuments
- Importe el formulario de ejemplo seleccionando Cargar archivos en el menú Crear
- Vista previa del formulario
- Seleccione estado civil y envíe el formulario
ver bandeja de entrada
Al enviar el formulario, se almacenará en déclencheur el flujo de trabajo y se asignará una tarea al usuario "administrador". Debería ver un valor en la columna Casado, como se muestra en esta captura de pantalla