Adicionar colunas personalizadas
Para exibir os dados do workflow na caixa de entrada, precisamos definir e preencher variáveis no workflow. O valor da variável precisa ser definido antes que uma tarefa seja atribuída a um usuário. Para você ter uma vantagem inicial, fornecemos um fluxo de trabalho de amostra pronto para ser implantado em seu servidor AEM.
Este workflow tem duas variáveis definidas (isMarried e revenue) e seus valores são definidos usando o componente set variable. Essas variáveis são disponibilizadas como colunas para serem adicionadas à caixa de entrada do AEM
Criar serviço
Para cada coluna que precisamos exibir em nossa caixa de entrada, precisaríamos gravar um serviço. O serviço a seguir permite adicionar uma coluna para exibir o valor da variável 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);
}
}
Testar no servidor
- Fazer logon no console da Web do AEM
- Implantar e iniciar o pacote de personalização da caixa de entrada
- Abra sua caixa de entrada
- Abra o Admin Control clicando em Exibição de lista ícone ao lado de Criar botão
- Adicione a coluna Casado à Caixa de entrada e salve as alterações
- Ir para a interface do FormsAndDocuments
- Importar o formulário de amostra selecionando Upload de arquivo de Criar menu
- Visualizar o formulário
- Selecione o estado civil e enviar o formulário
exibir caixa de entrada
O envio do formulário acionará o fluxo de trabalho e uma tarefa será atribuída ao usuário "administrador". Você deve ver um valor na coluna Casado, como mostrado nesta captura de tela