quinta-feira, 21 de junho de 2018

Asten Processos – Edição Colaborativa de Processos

Disponível nova funcionalidade para edição colaborativa de modelos de processos. Essa funcionalidade tem por objetivo permitir que um modelo possa ser construído por diferentes usuários simultaneamente. A edição colaborativa permite construir o processo sem a necessidade de salvar os dados para que outro usuário possa iniciar novas alterações sobre o mesmo.

A edição colaborativa é iniciada automaticamente em todos os processos durante a alteração de seu modelo. Quando um usuário iniciar a alteração de um modelo e já houver uma edição sendo realizada, esse usuário passará a fazer parte da edição atual, juntando-se aos demais usuários.

Como funciona o processo de edição com múltiplos usuários?

A partir do momento que um usuário inicia a edição de um processo o sistema passa a monitorar sua versão. Quando outros usuários iniciarem a edição desta mesma versão, o sistema verificará a existência de alterações em andamento e sincronizará automaticamente todos os dados.


Conforme as mudanças vão sendo realizadas no modelo, todos os usuários passam a enxergar os mesmos dados, independente de quem realizou a alteração. Por exemplo, se uma nova etapa é adicionada ao processo, essa mesma etapa irá aparecer automaticamente na tela de todos usuários que estão trabalhando na versão.




Elementos em edição

Sempre que um elemento do modelo estiver em edição, o sistema modificará sua aparência permitindo que todos os usuários saibam que alguém está trabalhando naquela entidade no momento.
  • A aparência é modificada independentemente do nível de alteração que está sendo realizado sobre a entidade: documentação de uma etapa, alteração de um formulário, ajuste de regras, ajuste de permissões, etc.



Alterações efetuadas sobre o modelo

Conforme o modelo é construído, o sistema mantém na parte inferior da tela o número de alterações já realizadas pelos usuários presentes na edição colaborativa.


Para visualizar de forma detalhada as alterações realizadas é possível clicar sobre o botão “Edição Colaborativa” mostrado na imagem acima. Na primeira guia da janela, o sistema exibirá a listagem de todas as alterações abertas ou finalizadas, de todos os usuários presentes na edição corrente.


As alterações exibidas são classificadas em 3 estados: 

  • Em Edição: o usuário ainda está trabalhando na funcionalidade.
  • Edição Realizada: o usuário concluiu a edição e realizou alterações sobre os dados.
  • Edição Cancelada: o usuário concluiu a edição, mas não alterou nenhum dado.

Interações entre usuários

A edição colaborativa também permite que os usuários possam interagir entre si através da troca de mensagens. Na segunda guia da janela de “Edição Colaborativa” é possível realizar a comunicação através de mensagens de texto simples. 
  • Apenas usuários que estiverem com o mesmo modelo em edição participarão da conversa. 
  • A conversa também fica disponível para novos usuários que entrarem na edição colaborativa, enquanto ela estiver ativa.

Durante a edição colaborativa a janela contendo o resumo das alterações e o chat pode ser mantida aberta de forma isolada da aplicação. Isso permite que o processo possa ir sendo construído e acompanhado ao mesmo tempo.



Níveis de isolamento da edição de modelos

Durante a construção do processo o sistema controlará todas as funcionalidades afetadas pelas alterações dos usuários. Para garantir a integridade dos dados alterados foram definidos níveis de isolamento durante a edição.
  • O nível de isolamento impede que qualquer usuário inicie a edição de determinada funcionalidade se houver dependência de outra que também se encontra em edição. 
  • O sistema gerencia o nível de isolamento automaticamente, não é necessário que o usuário controle isso. Se houver um conflito, o sistema notificará imediatamente o usuário, impedindo-o de iniciar a alteração.

O isolamento é mantido até que o usuário conclua a alteração da funcionalidade em questão.

Nível de Isolamento
Escopo do Nível
Nível que NÃO pode estar em edição simultânea
1. Modelo e Fluxo
- Qualquer mudança no fluxo de execução
- Inclusão/Exclusão de elementos
- Edição de condições
1. Modelo e Fluxo
2. Desenho
4. Elemento (qualquer)
5. Permissões
6. Repositório
2. Desenho
- Mudanças que envolvem basicamente o layout dos elementos
1. Modelo e Fluxo
2. Desenho
3. Configurações da Versão
- Edição das opções da versão (auto assumir, eliminar instâncias...)
1. Modelo e Fluxo
3. Configurações da Versão
4. Elemento
- Qualquer mudança realizada dentro do elemento (ações, configurações do elemento...)
- Documentação do Elemento
- Restrições de atividade
1. Modelo e Fluxo
4. Elemento (o mesmo)
5. Permissões do Elemento
- Alteração nas permissões de acesso de um elemento
1. Modelo e Fluxo
4. Elemento (o mesmo)
6. Repositório
- Alteração das ações contidas no repositório
1. Modelo e Fluxo
6. Repositório
7. Variáveis
- Inclusão, alteração e exclusão de variáveis
7. Variáveis

Alguns exemplos do comportamento do sistema referente ao quadro mostrado anteriormente:

  • Vários usuários podem construir simultaneamente as interfaces de diferentes passos do processo. Nesse caso há edição simultânea de mesmo nível, mas de elementos diferentes.
  • Um usuário não conseguirá realizar uma mudança no fluxo se outro estiver editando as configurações de um elemento. A mudança no fluxo requer o acesso à todos os elementos do modelo. 
  • As permissões de um elemento podem ser modificadas por um usuário se este mesmo elemento estiver aberto para edição de suas ações por outro usuário. Nessa situação os níveis não dependem um do outro, mesmo para o mesmo elemento.
  • Uma nova variável pode ser criada desde que outro usuário não esteja criando/editando alguma outra. 

Finalização da edição

Quando o modelo é salvo por um dos usuários presentes na edição colaborativa, todos os dados criados/alterados por este usuário e pelos demais serão gravados. Os demais usuários que se encontram com a edição ativa serão notificados imediatamente, sendo forçados a recarregar o modelo salvo. A partir deste ponto é iniciada uma nova edição, se necessário.

  • Se um usuário cancela a edição de seu modelo, os demais permanecem com as alterações realizadas por este.
  • Os dados temporários utilizados na edição colaborativa serão descartados se todos os usuários cancelarem a edição atual do modelo sem que haja o salvamento dos dados.
  • Os dados também serão descartados se uma edição colaborativa não tiver nenhuma alteração sobre o modelo após uma hora de execução.

Desabilitar edição colaborativa

Para desativar a edição de forma colaborativa o usuário pode utilizar a opção “Alterar e Bloquear Modelo”. Essa opção notificará novos usuários que o modelo se encontra bloqueado, caso haja tentativa de edição do mesmo.

Gerenciamento do modo colaborativo

A edição nesse modo é controlada à nível de servidor de aplicação, ou seja, a sincronização dos dados e controle de isolamento se dá em cada servidor. Caso a edição do mesmo modelo de processo ocorra simultaneamente em servidores de aplicação diferentes, o sistema não fará o gerenciamento das alterações. Nessa situação a resolução de conflitos se dará pelo banco de dados através da concorrência dos registros.

O controle das edições leva sempre em conta o Usuário do sistema e IP de origem da alteração. Uma mesma conta de usuário, se acessada de estações de trabalho diferentes, será vista pelo sistema como pessoas diferentes tentando realizar determinada alteração.

A funcionalidade ficará disponível na AVMBDEV/AVMBDEV64 até a conclusão de testes. Dúvidas, bugs ou sugestões, encaminhar email.

Nenhum comentário:

Postar um comentário