Ajouter des colonnes personnalisées

Pour afficher les données de workflow dans la boîte de réception, nous devons définir et renseigner les variables dans le workflow. La valeur de la variable doit être définie avant qu’une tâche ne soit affectée à un utilisateur ou une utilisatrice. Pour démarrer, nous vous avons fourni un exemple de workflow prêt à être déployé sur votre serveur AEM.

Deux variables sont définies pour ce workflow (isMarried et income) et ses valeurs sont définies à l’aide du composant de définition de la variable. Ces variables sont disponibles sous forme de colonnes à ajouter à la boîte de réception AEM.

Créer un service

Pour chaque colonne que nous devons afficher dans notre boîte de réception, nous devons écrire un service. Le service suivant nous permet d’ajouter une colonne pour afficher la valeur 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);
}
}
NOTE
Vous devez inclure AEM 6.5.5 Uber.jar dans votre projet pour que le code ci-dessus fonctionne.

uber-jar

Tester sur votre serveur

L’envoi du formulaire déclenche le workflow et une tâche est assignée à l’administrateur ou à l’administratrice. Une valeur devrait s’afficher sous la colonne Marié(e), comme illustré dans cette capture d’écran.

colonne-marié(e)

Étapes suivantes

Affichez la colonne Marié(e).

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