Utilização do LDAP com o fluxo de trabalho do AEM Forms
Atribuir a tarefa de fluxo de trabalho AEM Forms ao gerente do remetente.
Ao usar o Formulário adaptável no fluxo de trabalho do AEM, você atribuiria dinamicamente uma tarefa ao gerente do remetente do formulário. Para realizar esse caso de uso, teremos que configurar o AEM com Ldap.
As etapas necessárias para configurar o AEM com LDAP estão explicadas em detalhe aqui.
Para os fins deste artigo, estou anexando arquivos de configuração usados na configuração do AEM com o Adobe Ldap. Esses arquivos estão incluídos no pacote que pode ser importado usando o gerenciador de pacotes.
Na captura de tela abaixo, buscamos todos os usuários que pertencem a um centro de custo específico. Se quiser buscar todos os usuários no LDAP, você não poderá usar o filtro extra.
Na captura de tela abaixo, atribuímos os grupos aos usuários buscados do LDAP no AEM. Observe o grupo de formulários-usuários atribuído aos usuários importados. O usuário precisa ser membro desse grupo para interação com o AEM Forms. Também armazenamos a propriedade manager no nó profile/manager na AEM.
Depois de configurar o LDAP e importar usuários para o AEM, podemos criar um workflow que atribuirá a tarefa ao gerente dos remetentes. Para o propósito deste artigo, desenvolvemos um simples fluxo de trabalho de aprovação de uma etapa.
A primeira etapa do fluxo de trabalho definiu o valor de initialstep como No. A regra de negócios no formulário adaptável desativará o painel "Detalhes do remetente" e mostrará o painel "Aprovado por" com base no valor da etapa inicial.
A segunda etapa atribui a tarefa ao gerente do remetente. Obtemos o gerente do remetente usando o código personalizado.
public String getParticipant(WorkItem workItem, WorkflowSession wfSession, MetaDataMap arg2) throws WorkflowException{
resourceResolver = wfSession.adaptTo(ResourceResolver.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable workflowInitiator = userManager.getAuthorizable(workItem.getWorkflow().getInitiator());
.
.
String managerPorperty = workflowInitiator.getProperty("profile/manager")[0].getString();
.
.
}
O trecho de código é responsável por buscar a id de gerentes e atribuir a tarefa ao gerente.
Pegamos a pessoa que iniciou o workflow. Em seguida, obtemos o valor da propriedade do gerenciador.
Dependendo de como a propriedade do gerenciador é armazenada no LDAP, talvez seja necessário fazer alguma manipulação de string para obter a ID do gerenciador.
Leia este artigo para implementar seu próprio ParticipantChooser .
Para testar isso em seu sistema (para funcionários da Adobe, você pode usar essa amostra imediatamente)
- Baixe e implante o conjunto setvalue. Este é o pacote OSGI personalizado para definir a propriedade do gerenciador.
- Baixe e instale o DevelopingWithServiceUserBundle
- Importe a Assets associada a este artigo para o AEM usando o gerenciador de pacotes. Incluídos como parte deste pacote estão arquivos de configuração LDAP, fluxo de trabalho e um formulário adaptável.
- Configure o AEM com seu LDAP usando as credenciais LDAP apropriadas.
- Faça logon no AEM usando suas credenciais LDAP.
- Abra o timeoffrequestform
- Preencha o formulário e envie.
- O gerente do remetente deve obter o formulário para revisão.