Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

HTML
<script>
    (function() {
        function toggleAreas(isExpand, $parent) {
            var $items = $parent.find('.panel');

            $.each($items, function(idx, el) {
                var $arrow = $(el).find('span.cloakToggle').find('span');
                var $content = $(el).find('span.cloak');
                if (isExpand) {
                    $arrow.removeClass('cloakDefaultOpen').addClass('cloakDefaultClose');
                    $content.show();
                } else {
                    $arrow.addClass('cloakDefaultOpen').removeClass('cloakDefaultClose');
                    $content.hide();
                }
            });
        }

        $(document).on('click', '#toggleAll-12', function(ev) {
            ev.preventDefault();
            var isExpand = $(this).data('expand');
            var $parent = $(this).nextAll('.sectionColumnWrapper').first();
            toggleAreas(isExpand, $parent);
            $(this).data('expand', !isExpand);
        });
    })();
</script>
<a id="toggleAll-2" href="#" data-expand="true">Abrir/fechar todos os exemplos</a>

...

HTML
<script>
    (function() {
        function toggleAreas(isExpand, $parent) {
            var $items = $parent.find('.panel');

            $.each($items, function(idx, el) {
                var $arrow = $(el).find('span.cloakToggle').find('span');
                var $content = $(el).find('span.cloak');
                if (isExpand) {
                    $arrow.removeClass('cloakDefaultOpen').addClass('cloakDefaultClose');
                    $content.show();
                } else {
                    $arrow.addClass('cloakDefaultOpen').removeClass('cloakDefaultClose');
                    $content.hide();
                }
            });
        }

        $(document).on('click', '#toggleAll-23', function(ev) {
            ev.preventDefault();
            var isExpand = $(this).data('expand');
            var $parent = $(this).nextAll('.sectionColumnWrapper').first();
            toggleAreas(isExpand, $parent);
            $(this).data('expand', !isExpand);
        });
    })();
</script>
<a id="toggleAll-3" href="#" data-expand="true">Abrir/fechar todas as dúvidas</a>
Section
Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-1
Qual a diferença entre os componentes Exclusivo, Paralelo e Inclusivo?

Cloak
id@saiba-mais-1

Basicamente, a diferença entre esses componentes é:

  • Exclusivo: decide o destino da solicitação baseado em condições e a direciona para o fluxo da primeira condição atendida. A partir disso, ela segue adiante em um fluxo único;

    #ebecf0

    trueExemplo



  • Paralelo: divide o fluxo em várias etapas que podem ser executadas em paralelo e, depois de finalizadas, o fluxo se torna único novamente;

    #ebecf0

    trueExemplo
    Em um processo de Lançamento de produto, as etapas Marketing, Logística e Treinamento de vendas podem ser feitas simultaneamente. Dessa forma, esse componente divide o fluxo em três etapas e indica o início dessas etapas que serão executadas em paralelo. Quando finalizadas, as três etapas são unificadas pelo componente Join e o fluxo volta a ser único.


  • Inclusivo: é uma junção do Exclusivo e do Paralelo, ou seja, divide o fluxo no número de etapas correspondente ao número de condições que foram atendidas.

    #ebecf0

    trueExemplo


Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-2
O componente Exclusivo pode afetar o desempenho do processo?

Cloak
id@saiba-mais-2

Não. O componente Exclusivopor si só não costuma comprometer o desempenho de um processo de forma significativa. No entanto, o impacto no desempenho depende mais do contexto em que ele é utilizado e das decisões associadas a ele.

Se houver muitas condições complexas sendo avaliadas ou se o processo tiver muitos componentes Exclusivos com decisões complicadas em cada passo, isso pode, de fato, afetar o desempenho de forma indireta, mas não por causa do componente em si, mas pela lógica de decisão ou pela quantidade de verificações necessárias.

Além disso, em ambientes que exigem processamento de alta carga ou baixa latência, o número excessivo de verificações de condições em componentes Exclusivos pode, em alguns casos, aumentar o tempo de execução do processo. Isso seria mais um reflexo da lógica e da complexidade da aplicação do que do componente em si.

No geral, o componente Exclusivo não costuma ser a causa direta de baixo desempenho, mas a forma como ele é aplicado, em conjunto com outras práticas e a complexidade das condições envolvidas, pode influenciar no tempo de execução do processo.

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-3
 É possível utilizar múltiplas regras no mesmo componente Exclusivo?

Cloak
id@saiba-mais-3

Sim, é possível criar múltiplas regras para cada condição, bem como, criar múltiplas condições para serem verificadas em cada componente Exclusivo de um processo.

Porém, vale ressaltar que as condições são verificadas na ordem em que são criadas. Por isso, é importante garantir que a lógica de decisão seja clara para evitar que rotas inadequadas sejam seguidas.

Também é importante que exista um fluxo padrão, que funciona como um escape e será seguido quando nenhuma das condições for atendida.

Em resumo, é possível utilizar várias regras e condições, desde que cada rota tenha sua própria expressão condicional. A escolha da rota a ser seguida é feita de forma exclusiva com base na verificação dessas condições.

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-4
Como alternar entre a condição Simples e a Avançada?

Cloak
id@saiba-mais-4

Xxxxxxxxxxxxxx

Importante!

Xxxxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-5
 Como testar se as condições definidas estão corretas?

Cloak
id@saiba-mais-5

Xxxxxxxxxxxxxx

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-6
 Por que a solicitação parou depois do componente Exclusivo?

**

Cloak
id@saiba-mais-6

Existem alguns motivos pelos quais uma solicitação pode ficar "presa" no componente Exclusivo e geralmente eles estão associados à forma como as condições e lógicas de decisão foram configuradas. Os motivos mais comuns são:

  • condição não atendida: nenhuma das condições configuradas para o componente foi atendida e não existe um fluxo padrão de escape. Isso pode ocorrer quando as condições não foram configuradas corretamente, não consideraram algum cenário mais específico ou a lógica das condições não foi definida de forma adequada;
  • dados ou variáveis de entrada ausentes ou inválidos: quando dados ou variáveis que são utilizados para determinar a rota que a solicitação deve seguir não estão presentes no processo ou são inválidas. Por exemplo, um dado ou variável que deveria ter sido preenchida anteriormente e não foi;
  • inconsistência de execução: se ocorrer alguma inconsistência ou falha técnica na plataforma que está executando o processo no momento de avaliar as condições do componente, o fluxo pode ser interrompido sem ser direcionado para uma rota válida. Isso também pode ocorrer por questões de timeout – se o fluxo envolve tempos de espera ou tempos máximos e esses tempos tenham sido atingidos sem que existam definições sobre como lidar com esses casos – e por questões de integração – quando o fluxo depende de dados de uma fonte externa (como API, banco de dados ou integração com outros produtos) e ocorrer alguma falha nessa fonte;
  • falta de fluxo padrão: não há um fluxo padrão por onde a solicitação possa seguir caso nenhuma das condições seja atendida. É uma boa prática sempre definir um fluxo padrão, pois garante que o fluxo não seja interrompido quando nenhuma condição foi atendida;
  • falhas em subprocesso ou etapas anteriores: se antes do componente um subprocesso ou etapa falhou ou não foi completada corretamente – não fornecendo as informações necessárias para a decisão, por exemplo – pode afetar a verificação das condições e impedir o avanço da solicitação.

Para resolver essas questões, é importante revisar as regras e condições, garantir que as variáveis de entrada estão sendo corretamente inseridas e sempre definir um fluxo padrão para que sempre haja uma rota válida para a solicitação seguir adiante.

Painel
borderColor#ebecf0

Toggle Cloak
id@saiba-mais-7
Quais linguagens são suportadas para criar scripts na condição Avançada?

Cloak
id@saiba-mais-7

Apenas a linguagem JavaScript pode ser utilizada para criar as expressões para compor as condições.

...