Histórico da Página
...
Índice | ||||||
---|---|---|---|---|---|---|
|
Desenvolvimento de Workflow
Propriedades Extensão
As propriedades de extensão contêm informações especiais que podem alterar o comportamento padrão do processo em algum ponto. Elas devem ser utilizadas principalmente durante a fase de customização ou conter "flags" especiais que alterem alguma lógica interna (apenas em casos especiais).
...
Na imagem a seguir é possível visualizar o atributo adicionado, definindo as atividades 2 e 4 (separadas por vírgula) como atividades automáticas do processo.
Eventos do Processo
Os eventos de um processo são um conjunto de scripts carregados pela API de workflow. Tais scripts são desenvolvidos com o uso da linguagem JavaScript e chamados ao longo da execução do processo em momentos pré-determinados, como por exemplo a criação da solicitação do processo ou a entrada em uma nova atividade.
...
Para criar um novo evento do processo, clicar com o botão direito do mouse no projeto, acessar a opção New e em seguida a opção Other. No assistente aberto, selecionar a opção "Script Evento Workflow", presente na pasta Fluig, e clicar no botão Next. Na nova tela selecionar qual o evento que será criado e relacionar ele a um processo já existente. Para finalizar, clicar no botão Finish:
Acompanhamento de eventos
A partir do Fluig 1.4.9, é possível acompanhar a execução dos eventos através do componente de loading. Com este acompanhamento, é possível apresentar mensagens para o usuário tomar conhecimento das rotinas que estão sendo executadas quando a solicitação é avançada. Essa ferramenta também pode ser muito útil para o desenvolvedor identificar pontos de baixa performance nos desenvolvimentos realizados sob a plataforma.
hAPI
Em todos os eventos do processo é possível obter informações da API de Workflow. Cada evento possui acesso ao handle da API de workflow através da variável global hAPI. Os seguintes métodos estão disponíveis através da hAPI:
...
Nota | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Importante: Não é possível capturar (hAPI.getCardValue) ou adicionar (hAPI.setCardValue) dados no formulário na inicialização do processo, sendo possível somente a partir da segunda tarefa. Para isso pode ser utilizado a seguinte lógica:
|
Customização do Processo
Com o uso de eventos, o Fluig permite que um processo seja customizado possibilitando a execução de ações definidas pelo usuário, tais como:
...
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||
|
Tratamento de Exceções
As exceções podem ser tratadas nos seguintes eventos: beforeStateEntry, beforeTaskSave e beforeCancelProcess. O tratamento de exceção no evento beforeStateEntry pode ser utilizado na inicialização de solicitações, pois ele impede que a solicitação seja iniciada. O tratamento de exceção no evento beforeTaskSave pode ser utilizado somente se a solicitação já estiver inicializada.
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function beforeTaskSave(colleagueId, nextSequenceId, userList) { if (getValue("WKUserComment") == null || getValue("WKUserComment") == "") { throw "A observação deve ser preenchida"; } } function beforeCancelProcess(colleagueId, processId) { if (getValue("WKUserComment") == null || getValue("WKUserComment") == "") { throw "A observação deve ser preenchida"; } } |
Mecanismo de Atribuição
Os mecanismos de atribuição são instrumentos utilizados durante um processo de workflow que permitem criar, segundo um critério estabelecido pelo próprio mecanismo, uma lista de possíveis usuários para uma atividade. Esta lista pode ser utilizada em dois momentos:
...
Mecanismo de Atribuição | Descrição |
---|---|
Para um Papel (Pool) | Permite atribuir tarefas a um papel e não apenas a um usuário. Assim, qualquer um dos usuários neste papel pode assumir as tarefas para completá-las. |
Para um Grupo (Pool) | Permite atribuir tarefas a um grupo e não apenas a um usuário. Assim, qualquer um dos usuários deste grupo pode assumir as tarefas para completá-las. |
Por Associação | Permite compor lógicas complexas de atribuição por intermédio da associação de vários mecanismos. |
Por Campo de Formulário | Permite atribuir tarefas ao usuário informado em um campo do formulário do processo. |
Por Executor de Atividade | Permite selecionar os usuários que executaram uma atividade anterior. |
Por Grupo | Permite filtrar apenas os usuários que façam parte de um determinado grupo. |
Por Grupos do Usuário | Permite filtrar apenas os usuários que pertençam a um dos grupos do usuário corrente, ou do usuário que iniciou o processo (solicitante). Também permite filtrar apenas os usuários cujo grupo de trabalho seja o mesmo do usuário (corrente ou solicitante). |
Por Papel | Permite filtrar apenas os usuários que possuam um determinado papel. |
Por Usuário | Permite atribuir tarefas a um usuário específico. |
Como criar um Mecanismo de Atribuição
A criação de um mecanismo de atribuição é realizada pelo Fluig Studio, sendo necessário já existir um projeto Fluig.
...
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||
|
Parâmetros Workflow para Customização de Formulários
Para processos que possuem uma definição de formulário definida são passados alguns parâmetros com informações sobre o processo para serem utilizados nos eventos da definição de formulário, conforme abaixo:
...