Lägg till anpassade kolumner

Senaste uppdatering: 2024-01-26
  • Skapat för:
  • Experienced
    Developer

Om du vill visa arbetsflödesdata i en inkorg måste vi definiera och fylla i variabler i arbetsflödet. Värdet för variabeln måste anges innan en uppgift tilldelas en användare. Vi har tagit fram ett exempelarbetsflöde som är klart att distribueras på AEM.

Det här arbetsflödet har två definierade variabler (isGift och Inkomst) och dess värden ställs in med den angivna variabelkomponenten. Dessa variabler är tillgängliga som kolumner som ska läggas till i AEM inkorg

Skapa tjänst

För varje kolumn som vi måste visa i vår inkorg måste vi skriva en tjänst. Med följande tjänst kan vi lägga till en kolumn som visar värdet för variabeln isMarry

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

Du måste inkludera AEM 6.5.5 Uber.jar i projektet för att ovanstående kod ska fungera

uber-jar

Testa på servern

Om du skickar formuläret kommer arbetsflödet att utlösas och en uppgift tilldelas"admin"-användaren. Du bör se ett värde under kolumnen Gift, vilket visas i skärmbilden

gift-kolumn

Nästa steg

Visa gift kolumn

På denna sida