Ajouter des colonnes personnalisées
- Rubriques :
- Formulaires adaptatifs
Créé pour :
- Expérimenté
- Développeur
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);
}
}
Tester sur votre serveur
- Connexion à la console web AEM
- Déployez et démarrez le lot de personnalisation de la boîte de réception.
- Ouvrir votre boîte de réception
- Ouvrir le contrôle administration en cliquant sur l’icône Vue Liste en regard du bouton Créer.
- Ajouter une colonne Marié(e) à la boîte de réception et enregistrer vos modifications
- Accédez à l’interface utilisateur Formulaires et documents.
- Importez l’exemple de formulaire en sélectionnant Chargement du fichier dans le menu Créer.
- Prévisualisez le formulaire.
- Sélectionnez l’état civil et envoyez le formulaire.
Affichez la boîte de réception.
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.