ValidateUpdateSetDependencies
O validador ValidateUpdateSetDependencies identifica todos os subfluxos chamados no fluxo de trabalho atual e determina se algum desses subfluxos está sendo editado em um conjunto de atualizações diferente (em andamento).
Este aviso informa ao usuário que o fluxo de trabalho e uma ou mais dependências estão sendo modificados ativamente de uma maneira que não será implantada simultaneamente em outra instância sem esforço adicional.
Para obter informações sobre conjuntos de atualizações, consulte Criação e seleção de um conjunto para atualização.
Resumo da validação
- Risco: se um fluxo de trabalho primário for editado em um conjunto de atualizações e seu subfluxo dependente for editado em outro, os dois fluxos de trabalho poderão não ser compatíveis quando movidos para uma instância diferente. Mudanças feitas de maneira independente, como valores comuns ou esperados, poderão tornar os dois fluxos de trabalho incompatíveis.
- Nível de gravidade: Aviso
- Resultado válido: Válido
- Mensagem válida: Não foram encontrados problemas de dependência de conjunto de atualizações.
- Resultado inválido: Inválido
- Mensagem Inválida: Este fluxo de trabalho tem fluxos de trabalho dependentes que estão em um conjunto de atualizações diferente.
- Ação sugerida: modifique e implante ambos os fluxos de trabalho no mesmo conjunto de atualizações. Se você precisar modificar dependências em conjuntos de atualizações separados, use um destes métodos:
- Assegure que todos os conjuntos de atualizações sejam migrados simultaneamente.
- Antes de implantar o conjunto de atualizações de fluxo principal, mescle as dependências em um conjunto de atualizações antes de sua conclusão.
- Publicável: Sim
- Executável: Sim
- Informações relacionadas: Movimentação de fluxo de trabalho com conjuntos de atualizações
Solução de problemas
Um fluxo de trabalho é adicionado a um conjunto de atualizações somente quando o fluxo de trabalho é publicado. Este validador emite um aviso quando existe uma das seguintes condições:
- Um subfluxo publicado está em um conjunto de atualizações diferente do fluxo de trabalho primário, e esse conjunto de atualizações está em andamento.
- Um subfluxo foi submetido a check-out por outro usuário, que está trabalhando em um conjunto de atualizações diferente daquele do usuário atual.
Exemplo
O exemplo a seguir mostra um cenário de desenvolvimento em risco, no qual dois usuários criam dependências entre fluxos de trabalho em diferentes conjuntos de atualizações.
Usuário A:
- Define o Conjunto de atualizações A como o conjunto de atualizações atual.
- Submete o Fluxo de trabalho A ao check-out.
- Altera o valor de retorno do tipo Cadeia de caracteres no Fluxo de trabalho A para um tipo Referência/Usuário.
- Publica o Fluxo de trabalho A, causando uma entrada no Conjunto de atualizações A.
Usuário B:
- Define o Conjunto de atualizações B como o conjunto de atualizações atual.
- Submete o Fluxo de trabalho B ao check-out.
- Inclui o Fluxo de trabalho A como subfluxo.
- Usa o valor de retorno de referência do usuário do Fluxo de trabalho A como atribuição de aprovação.
- Publica o Fluxo de trabalho B, causando uma entrada no Conjunto de atualizações B.
Riscos
- O Usuário B move o Conjunto de atualizações B para uma instância diferente que tem uma versão mais antiga do Fluxo de trabalho A. O valor de retorno não é uma referência do usuário, o que faz com que o resultado do Fluxo de trabalho B seja diferente daquele quando foi testado no desenvolvimento.
- O Usuário B move o Conjunto de atualizações B para uma nova instância que não tem uma versão do Fluxo de trabalho A. O Fluxo de trabalho B tem uma falha de validação no tempo de execução e não pode ser executado. Uma entrada de log é adicionada ao log do fluxo de trabalho do registro atual.
Possíveis soluções
Solução 1
Migre o fluxo de trabalho primário e todos os fluxos de trabalho dependentes juntos para uma nova instância usando o mesmo conjunto de atualizações.
- Defina o conjunto de atualizações como aquele que você quer usar para migrar as novas instâncias.
- Verifique e publique novamente os fluxos de trabalho que precisam ser incluídos. Esta ação força uma entrada no conjunto de atualizações atual.
- Conclua o conjunto de atualizações com todas as dependências.
- Siga os procedimentos padrão para migrar conjuntos de atualizações para instâncias locais.
Solução 2
Mova fluxos de trabalho dependentes entre conjuntos de atualizações.
- Identifique o conjunto de atualizações que contém o fluxo de trabalho principal a ser migrado.
- Navegue até Conjuntos de atualizações do sistema > Conjuntos de atualizações locais.
- Encontre e selecione o conjunto de atualizações que contém as dependências do fluxo de trabalho principal.
- Na lista relacionada Atualizações do cliente, selecione a versão do fluxo de trabalho do subfluxo que você deseja mover.
- Selecione o conjunto de atualizações que contém o fluxo de trabalho primário no campo Conjunto de atualizações. Se esse campo não estiver no formulário de atualização do cliente, configure o formulário e adicione o campo.
- Clique em Atualizar e o sistema de base moverá o subfluxo dependente para o conjunto de atualizações selecionado.
- Repita as etapas de 4 a 6 para adicionar subfluxos dependentes adicionais ao conjunto de atualizações do fluxo primário.