Desenvolvimento e extensão de Workflows

AEM fornece várias ferramentas e recursos para criar modelos de fluxo de trabalho, desenvolver etapas do fluxo de trabalho e interagir programaticamente com workflows.

Os workflows permitem que você automatize processos para gerenciar recursos e publicar conteúdo no seu ambiente AEM. Os workflows são compostos de uma série de etapas, com cada etapa realizando uma tarefa discreta. Você pode usar dados de lógica e tempo de execução para tomar decisões sobre quando um processo pode continuar e selecionar a próxima etapa de uma de várias etapas possíveis.

Por exemplo, os processos de negócios para criação e publicação de páginas da Web incluem tarefas de aprovação e aprovação por vários participantes. Esses processos podem ser modelados usando workflows AEM e aplicados a conteúdo específico.

Os principais aspectos são abordados abaixo, enquanto as páginas a seguir abordam mais detalhes:

Observação

Para obter informações sobre:

Modelo

Um WorkflowModel representa uma definição (modelo) de um fluxo de trabalho. É feito de WorkflowNodes e WorkflowTransitions. O transição conecta os nós e define o fluxo. O Modelo sempre tem um nó de start e um nó final.

Modelo de tempo de execução

Os modelos de fluxo de trabalho têm controle de versão. Ao executar uma instância de fluxo de trabalho, ele usará (e manterá) o modelo de tempo de execução do fluxo de trabalho (conforme disponível no momento em que o fluxo de trabalho foi iniciado).

Um modelo de tempo de execução é gerado quando Sincronizar é acionado no editor de modelo de fluxo de trabalho.

As edições no modelo de fluxo de trabalho que ocorrem e/ou nos modelos de tempo de execução que são gerados, depois de a instância específica que foi iniciada não serão aplicadas a essa instância.

CUIDADO

As etapas executadas são as definidas pelo modelo de tempo de execução; isso é gerado no momento em que a ação Sincronizar é acionada no editor do modelo de fluxo de trabalho.

Se o modelo de fluxo de trabalho for alterado após esse ponto no tempo (sem Sincronizar ser acionado), a instância do tempo de execução não refletirá essas alterações. Somente os modelos de tempo de execução gerados após a atualização refletirão as alterações. As exceções são os scripts ECMA subjacentes, que são mantidos somente uma vez, portanto, as alterações são feitas.

Etapa

Cada etapa realiza uma tarefa discreta. Existem diferentes tipos de etapas do fluxo de trabalho:

  • Participante (usuário/grupo): Essas etapas geram um item de trabalho e o atribuem a um usuário ou grupo. Um usuário deve concluir o item de trabalho para avançar no fluxo de trabalho.
  • Processo (Script, chamada de método Java): Essas etapas são executadas automaticamente pelo sistema. Um script ECMA ou uma classe Java implementa a etapa. Os serviços podem ser desenvolvidos para acompanhar eventos de fluxo de trabalho especiais e executar tarefas de acordo com a lógica comercial.
  • Container (Sub fluxo de trabalho): Esse tipo de etapa start outro modelo de fluxo de trabalho.
  • OU Dividir/Ingressar: Use a lógica para decidir qual etapa executar em seguida no fluxo de trabalho.
  • E dividir/unir: Permite que várias etapas sejam executadas simultaneamente.

Todas as etapas compartilham as seguintes propriedades comuns: Alertas Autoadvance e Timeout (com script).

Transição

Um WorkflowTransition representa uma transição entre dois WorkflowNodes de um WorkflowModel.

  • Ela define o link entre duas etapas consecutivas.
  • É possível aplicar regras.

Item de trabalho

Uma WorkItem é a unidade transmitida por uma instância Workflow de uma WorkflowModel. Ele contém o WorkflowData em que a instância atua e uma referência para o WorkflowNode que descreve a etapa de fluxo de trabalho subjacente.

  • É usado para identificar a tarefa e é colocado na respectiva caixa de entrada.
  • Uma instância de fluxo de trabalho pode ter um ou vários WorkItems ao mesmo tempo (dependendo do modelo de fluxo de trabalho).
  • O WorkItem faz referência à instância do fluxo de trabalho.
  • No repositório, WorkItem é armazenado abaixo da instância do fluxo de trabalho.

Carga

Faz referência ao recurso que deve ser avançado por meio de um fluxo de trabalho.

A implementação da carga faz referência a um recurso no repositório (por caminho, UUID ou URL) ou por um objeto java serializado. A referência a um recurso no repositório é muito flexível e em conjunção com lingas muito produtivas; por exemplo, o nó referenciado poderia ser renderizado como um formulário.

Ciclo de vida

É criado ao iniciar um novo fluxo de trabalho (escolhendo o respectivo modelo de fluxo de trabalho e definindo a carga) e termina quando o nó final é processado.

As seguintes ações são possíveis em uma instância do fluxo de trabalho:

  • Finalizar
  • Suspender
  • Retomar
  • Reiniciar

As instâncias concluídas e terminadas são arquivadas.

Caixa de entrada

Cada conta de usuário tem sua própria caixa de entrada de fluxo de trabalho na qual os WorkItems atribuídos estão acessíveis.

Os WorkItems são atribuídos à conta de usuário diretamente ou ao grupo ao qual pertencem.

Tipos de Fluxo de Trabalho

Há vários tipos de fluxo de trabalho, conforme indicado no console Modelos de fluxo de trabalho:

wf-upgrade-03

  • Padrão

    Esses são os workflows prontos para uso incluídos em uma instância AEM padrão.

  • Workflows personalizados (nenhum indicador no console)

    Esses são workflows que foram criados como novos ou de workflows prontos para uso que foram sobrepostos com personalizações.

  • Legado

    Workflows criados em uma versão anterior do AEM. Eles podem ser retidos durante uma atualização ou exportados como um pacote de fluxo de trabalho da versão anterior e, em seguida, importados para a nova versão.

Workflows transitórios

Workflows padrão salvam informações de tempo de execução (histórico) durante sua execução. Você também pode definir um modelo de fluxo de trabalho como Transitório para evitar que esse histórico seja persistente. Isso é usado para ajuste de desempenho, pois economiza/evita o tempo/recursos usados para persistir nas informações.

Workflows transitórios podem ser usados para qualquer workflows que:

  • são executados com frequência.
  • não precisa do histórico de fluxo de trabalho.

Foram introduzidos workflows transitórios para carregar um grande número de ativos, onde as informações do ativo são importantes, mas não o histórico de tempo de execução do fluxo de trabalho.

Observação

Consulte Criando um fluxo de trabalho temporário para obter mais detalhes.

CUIDADO

Quando um modelo de fluxo de trabalho é sinalizado como Transitório, há alguns cenários em que as informações do tempo de execução ainda serão mantidas:

  • O tipo de carga (por exemplo, vídeo) requer etapas externas para processamento. nesses casos, o histórico do tempo de execução é necessário para a confirmação do status.
  • O fluxo de trabalho entra em AND Split; nesses casos, o histórico do tempo de execução é necessário para a confirmação do status.
  • Quando o fluxo de trabalho temporário entra em uma etapa do participante, ele muda de modo (no tempo de execução) para não transitório; como a tarefa está sendo passada para uma pessoa, a história precisa ser persistente
CUIDADO

Em um fluxo de trabalho temporário, você não deve usar Etapa Ir para.

Isso ocorre quando Ir para a Etapa cria um trabalho de sling para continuar o fluxo de trabalho no ponto goto. Isso derrota a finalidade de tornar o fluxo de trabalho temporário e gera um erro no arquivo de log.

Para tomar decisões em um fluxo de trabalho temporário, você pode usar OU Dividir.

Observação

Consulte Práticas recomendadas para os ativos para obter mais informações sobre como os Workflows transitórios afetam o desempenho dos ativos.

Suporte a vários recursos

Ativar Suporte a vários recursos para o modelo de fluxo de trabalho significa que uma única instância de fluxo de trabalho será iniciada mesmo quando você selecionar vários recursos; estes serão anexados como um pacote.

Se Suporte a vários recursos não estiver ativado para o seu modelo de fluxo de trabalho e vários recursos estiverem selecionados, uma instância de fluxo de trabalho individual será iniciada para cada recurso.

Observação

Etapas do fluxo de trabalho

As Etapas do fluxo de trabalho ajudam a visualizar o progresso de um fluxo de trabalho ao manipular tarefas. Eles podem ser usados para fornecer uma visão geral de até onde o fluxo de trabalho está por meio do processamento, pois quando o fluxo de trabalho é executado, o usuário pode visualização o progresso descrito por Stage (em vez de uma etapa individual).

Como os nomes de etapas individuais podem ser específicos e técnicos, os nomes de etapas podem ser definidos para fornecer uma visualização conceitual do progresso do fluxo de trabalho.

Por exemplo, para um fluxo de trabalho com seis etapas e quatro etapas:

  1. Você pode configurar as Etapas do Fluxo de Trabalho (que mostram o Progresso do Fluxo de Trabalho) e, em seguida, atribuir a etapa apropriada a cada etapa do seu fluxo de trabalho:

    • Vários nomes de palco podem ser criados.
    • Em seguida, um nome de estágio individual é atribuído a cada etapa (um nome de estágio pode ser atribuído a uma ou mais etapas).
    Nome da etapa Estágio (atribuído à etapa)
    Etapa 1 Criar
    Etapa 2 Criar
    Etapa 3 Análise
    Etapa 4 Aprovar
    Etapa 5 Concluir
    Etapa 6 Concluir
  2. Quando o fluxo de trabalho é executado, o usuário pode visualização o progresso de acordo com os nomes do Palco (em vez dos nomes das etapas). O andamento do fluxo de trabalho será exibido na guia INFORMAÇÕES DO FLUXO DE TRABALHO da janela de detalhes da tarefa do item de trabalho listado na Caixa de entrada.

Workflows e Forms

Normalmente, os workflows são usados para processar envios de formulário em AEM. Isso pode ser feito com os componentes principais de formulário disponíveis em uma instância AEM padrão, ou com a solução AEM Forms.

Ao criar um novo formulário, o envio do formulário pode ser facilmente associado a um modelo de fluxo de trabalho; por exemplo, para armazenar o conteúdo em um local específico do repositório ou notificar um usuário sobre o envio do formulário e seu conteúdo.

Workflows e tradução

Workflows também são parte integrante do processo Translation.

Nesta página