Show Menu
TÓPICOS×

Desenvolvimento e extensão de fluxos de trabalho

O AEM fornece várias ferramentas e recursos para criar modelos de fluxo de trabalho, desenvolver etapas de fluxo de trabalho e interagir de forma programática com fluxos de trabalho.
Os fluxos de trabalho permitem que você automatize processos para gerenciar recursos e publicar conteúdo em seu ambiente AEM. Os fluxos de trabalho 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 fluxos de trabalho do AEM e aplicados a conteúdo específico.
Os principais aspectos são abordados abaixo, enquanto as páginas a seguir cobrem mais detalhes:
Para obter informações sobre:

Modelo

Um WorkflowModel representa uma definição (modelo) de um fluxo de trabalho. É feito de WorkflowNodes e WorkflowTransitions . As transições conectam os nós e definem o fluxo . O Modelo sempre tem um nó inicial 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 a de modelo de fluxo de trabalho.
As edições no modelo de fluxo de trabalho que ocorrem e/ou os modelos de tempo de execução que são gerados após a instância específica ter sido iniciada não serão aplicados a essa instância.
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 que a sincronização seja acionada), 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.
  • Contêiner (Sub fluxo de trabalho): Esse tipo de etapa inicia 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: Autoadvance e Timeout alertas (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 que passa por uma Workflow instância de uma WorkflowModel . Ele contém o WorkflowData 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 uma ou várias 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, o 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

É 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 atribuídos WorkItems estão acessíveis.
Eles 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:
  • Padrão
    Esses são os fluxos de trabalho predefinidos incluídos em uma instância padrão do AEM.
  • Fluxos de trabalho personalizados (nenhum indicador no console)
    Esses são fluxos de trabalho que foram criados como novos ou de fluxos de trabalho prontos para uso que foram sobrepostos com personalizações.
  • Legado
    Fluxos de trabalho 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 depois importados para a nova versão.

Fluxos de trabalho transitórios

Os fluxos de trabalho 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.
Fluxos de trabalho transitórios podem ser usados para qualquer fluxo de trabalho que:
  • são executados com frequência.
  • não precisa do histórico de fluxo de trabalho.
Fluxos de trabalho transitórios foram introduzidos 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.
Consulte Criação de um fluxo de trabalho temporário para obter mais detalhes.
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 um 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 mantida
Em um fluxo de trabalho temporário, você não deve usar uma Etapa Ir para .
Isso ocorre quando a Etapa Ir para cria um trabalho de sling para continuar o fluxo de trabalho no goto momento. 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 o OU Dividir .
Consulte Práticas recomendadas para os ativos para obter mais informações sobre como os fluxos de trabalho transitórios afetam o desempenho dos ativos.

Suporte a vários recursos

A ativação do 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 o suporte a vários recursos não estiver ativado para 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.
Consulte Configuração de um fluxo de trabalho para suporte a vários recursos para obter mais detalhes.

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, como quando o fluxo de trabalho é executado, o usuário pode visualizar o progresso descrito pelo Stage (em vez de cada etapa).
Como os nomes de etapas individuais podem ser específicos e técnicos, os nomes de etapas podem ser definidos para fornecer uma visão conceitual do progresso do fluxo de trabalho.
Por exemplo, para um fluxo de trabalho com seis etapas e quatro etapas:
    • 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
  1. Quando o fluxo de trabalho é executado, o usuário pode exibir 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 .

Fluxos de trabalho e formulários

Normalmente, os fluxos de trabalho são usados para processar envios de formulário no AEM. Isso pode ocorrer com os componentes principais do formulário disponíveis em uma instância padrão do AEM ou com a solução Fluxo de trabalho centrado em formulários no OSGi 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.

Fluxos de trabalho e tradução

Os fluxos de trabalho também são parte integrante do processo de Tradução .