feat: upgrade to async extractor, add RAG processing, link healing and Docker support

This commit is contained in:
rodolpho
2026-05-07 18:43:43 -03:00
parent 68dc35abbd
commit 570292d8a9
116 changed files with 16277 additions and 388 deletions
@@ -20,9 +20,9 @@ A seguir são apresentados os comandos e sua utilização:
| Comando | Descrição |
| --- | --- |
| @wcm.header | Macro especial do fluig, insere o cabeçalho no *layout*. Veja mais em [Biblioteca WCM](http://tdn.totvs.com/display/fluig/Biblioteca+WCM). |
| @wcm.menu | Macro especial do fluig, insere o menu no *layout*. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| @wcm.renderSlot | Macro especial do fluig, insere um *slot* no *layout*. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| @wcm.footer | Macro especial do fluig, insere o rodapé no layout. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| @wcm.menu | Macro especial do fluig, insere o menu no *layout*. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM).md)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| @wcm.renderSlot | Macro especial do fluig, insere um *slot* no *layout*. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM).md)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| @wcm.footer | Macro especial do fluig, insere o rodapé no layout. Veja mais em [Biblioteca WCM](../../Recurso de Páginas e Widgets (WCM).md)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Biblioteca WCM.md). |
| assign | Cria uma variável, ou substitui uma variável existente, veja mais em *[Assign](http://freemarker.org/docs/ref_directive_assign.html#ref.directive.assign)*. |
| attempt | Faz com que a página renderize, mesmo que uma parte da renderização falhe. Veja mais em *[Attempt](http://freemarker.org/docs/ref_directive_attempt.html#ref.directive.attempt)*. |
| break | Veja *[Switch](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598)* ou *[List](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598)*. |
@@ -33,12 +33,12 @@ A seguir são apresentados os comandos e sua utilização:
| function | Cria um método. Se o método não contém um retorno, então é retornada uma variável *undefined*. Veja mais em *[Function](http://freemarker.org/docs/ref_directive_function.html#ref.directive.function)*. |
| flush | Quando o Freemarker gera o *output*, geralmente ele guarda esse *output* gerado e envia para o *client* em um ou mais pedaços. Esse ato se chama fazer o *flush*. Normalmente ele ocorre automaticamente. Veja mais em *[Flush](http://freemarker.org/docs/ref_directive_flush.html#ref.directive.flush)*. |
| global if | Você pode utilizar as diretivas *if*, *elseif* e *else* para condicionalmente pular uma seção do template. As condições devem traduzir para um valor *booleano*, caso contrário, um erro irá interromper o processamento do *template*. Os *elseif* e *else* devem ocorrer dentro de um *if* (ou seja, entre as tags de inicio e fim do *If*). O *if* pode conter qualquer numero de *elseif* (incluindo 0) e, no final, opcionalmente, um *else*. Veja mais em [If](http://freemarker.org/docs/ref_directive_if.html#ref.directive.if). |
| import | Importa uma biblioteca. Veja mais em *[Import](http://freemarker.org/docs/ref_directive_import.html#ref.directive.import)* e [Criar uma biblioteca personalizada](../../Recurso de Páginas e Widgets (WCM)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Criar uma biblioteca personalizada.md). |
| import | Importa uma biblioteca. Veja mais em *[Import](http://freemarker.org/docs/ref_directive_import.html#ref.directive.import)* e [Criar uma biblioteca personalizada](../../Recurso de Páginas e Widgets (WCM).md)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Criar uma biblioteca personalizada.md). |
| include | Inclui outro *template* Freemarker dentro do seu *template*. Veja mais em *[Include](http://freemarker.org/docs/ref_directive_include.html#ref.directive.include)*. |
| list | Processa uma seção de *template* para cada variável contida dentro de uma sequência. Veja mais em *[List](http://freemarker.org/docs/ref_directive_list.html#ref.directive.list)*. |
| local | Cria ou substitui uma variável local. Funciona apenas dentro de uma [Macro](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598) ou *[Function](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598)*. Veja mais em [Local](http://freemarker.org/docs/ref_directive_local.html#ref.directive.local). |
| lt | *Left Trim*: ignora todos os espaços em branco precedentes na linha. Veja mais em [LT](http://freemarker.org/docs/ref_directive_t.html#ref.directive.lt). |
| macro | Cria uma variável de macro. Veja mais em [Macro](http://freemarker.org/docs/ref_directive_macro.html#ref.directive.macro) e [Criar uma biblioteca personalizada](../../Recurso de Páginas e Widgets (WCM)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Criar uma biblioteca personalizada.md). |
| macro | Cria uma variável de macro. Veja mais em [Macro](http://freemarker.org/docs/ref_directive_macro.html#ref.directive.macro) e [Criar uma biblioteca personalizada](../../Recurso de Páginas e Widgets (WCM).md)/Construção de Widgets e Layouts/Layouts/Desenvolvimento de layouts personalizados/Criar uma biblioteca personalizada.md). |
| nested | Executa o fragmento do *template*. Veja a diretiva [Macro](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598). |
| nt | *No Trim*: desabilita a remoção de espaços em branco na linha onde ele é utilizado. Ele também desabilita os efeitos de outras diretivas de *trim*. Veja mais em [NT](http://freemarker.org/docs/ref_directive_nt.html#ref.directive.nt). |
| recover | Veja *[Attempt](https://tdn.totvs.com/pages/viewpage.action?pageId=185748598)*. O bloco de *recover* é executado no lugar do bloco *attempt*. Caso nenhum erro ocorra durante a execução do bloco *attempt* então o bloco *recover* é ignorado. |
@@ -20,7 +20,7 @@ Ao acessar o modo **BPMN Extendido**você terá um acréscimo de mais 33 novos e
# Script condicional
Um dos novos conceitos existentes no BPMN 2.0 foi a adoção de scripts condicionais. Scripts condicionais são desenvolvidos usando a linguagem javascript e permitem ao Fluig consultar serviços externos permitindo a criação de processos mais elaborados. Scripts condicionais geralmente estão atrelados a agendadores que determinam o período ou a frequência no qual esses scripts serão executados. Quando o script conseguir retornar um valor lógico igual a true significa que o script foi executado com sucesso movimentando as solicitações workflow de acordo com elemento de modelagem utilizado. Maiores detalhes sob como funciona e exemplos de uso podem ser encontrados neste artigo dedicado a [scripts condicionais](Configuração de Processos com Componentes Avançados (BPMN 2.0)/Scripts Condicionais.md).
Um dos novos conceitos existentes no BPMN 2.0 foi a adoção de scripts condicionais. Scripts condicionais são desenvolvidos usando a linguagem javascript e permitem ao Fluig consultar serviços externos permitindo a criação de processos mais elaborados. Scripts condicionais geralmente estão atrelados a agendadores que determinam o período ou a frequência no qual esses scripts serão executados. Quando o script conseguir retornar um valor lógico igual a true significa que o script foi executado com sucesso movimentando as solicitações workflow de acordo com elemento de modelagem utilizado. Maiores detalhes sob como funciona e exemplos de uso podem ser encontrados neste artigo dedicado a [scripts condicionais](Configuração de Processos com Componentes Avançados (BPMN 2.0).md)/Scripts Condicionais.md).
# Sinal
@@ -52,7 +52,7 @@ Em alguns processos as vezes é necessário criar um fluxo de atividade que acab
Utilizando os eventos de entrada e saída de links é possível ter uma modelagem mais eficiente e elegante. Veja o mesmo processo utilizando os eventos de entrada e saida de links :
![](..\..\..\..\images\liught%20-%20C%C3%B3pia%20(2).png)
![](../../../../images/liught%20-%20C%C3%B3pia%20(2).png).png)
Você obteve exatamente o mesmo processo porém com uma modelagem muito mais clara.
@@ -102,5 +102,5 @@ Segue a lista de variáveis e funções suportadas em scripts condicionais :
| **DatasetBuilder** | Permite a criação de datasets. Maiores detalhes sobre este item se encontram no artigo sobre [construção de datasets.](../../Desenvolvimento de Datasets.md) |
| **ConstraintType** | Determina o tipo de constraint a ser utilizada em uma condição do dataset. Maiores detalhes sobre este item se encontram no artigo sobre [construção de datasets.](../../Desenvolvimento de Datasets.md) |
| **notifier** | Permite realizar notificações extras em eventos e scripts. |
| **WKParams** | Coleção de parâmetros que podem ser utilizados dentro dos scripts como o WKCompany e WKUser. As outras variáveis e o que elas retornam podem ser encontradas no artigo sobre [desenvolvimento de processos workflow](../../../Recurso de Processos (BPM)/Desenvolvimento de Workflow.md) . |
| **hAPI** | Contém operações relacionadas a solicitação workflow em andamento. Está disponível apenas para os scripts de eventos intermediários condicionais. Maiores detalhes sobre as funções da hAPI podem ser encontradas no artigo sobre [desenvolvimento de processos workflow](../../../Recurso de Processos (BPM)/Desenvolvimento de Workflow.md). |
| **WKParams** | Coleção de parâmetros que podem ser utilizados dentro dos scripts como o WKCompany e WKUser. As outras variáveis e o que elas retornam podem ser encontradas no artigo sobre [desenvolvimento de processos workflow](../../../Recurso de Processos (BPM).md)/Desenvolvimento de Workflow.md) . |
| **hAPI** | Contém operações relacionadas a solicitação workflow em andamento. Está disponível apenas para os scripts de eventos intermediários condicionais. Maiores detalhes sobre as funções da hAPI podem ser encontradas no artigo sobre [desenvolvimento de processos workflow](../../../Recurso de Processos (BPM).md)/Desenvolvimento de Workflow.md). |
@@ -14,12 +14,12 @@ No espaço de visualização de projetos, clique com o botão direito sobre o pr
Escolha a opção **Importar Processo**.
![](..\..\..\..\images\exportar_processo%20_ecm(1).png)
![](../../../../images/exportar_processo%20_ecm(1).png).png)
Se você deseja importar um processo do ECM, escolha o formato **ECM** **3.1**.
![](..\..\..\..\images\exportar_processo%20_ecm(2).png)
![](../../../../images/exportar_processo%20_ecm(2).png).png)
Defina o servidor fluig para o qual este processo deverá carregar as informações e selecione o arquivo XML do processo gerado pelo ECM. Dê um nome ao processo e clique em **Finish.**
**![](..\..\..\..\images\exportar_processo%20_ecm(3).png)**
**![](../../../../images/exportar_processo%20_ecm(3).png).png)**