Duvida sobre compartilhamento de codigos

pessoal,

uma duvida, como você estão fazendo quando vocês tem que reaproveitar seus códigos nos processos?

ex uma function que e comum para em todos os processo? por exemplo, quer enviar algumas informações depois do afterProcessCreate para outro serviço.

Olá Leandro, Depende das necessidades que você tem. Por exemplo, se vai usar as mesmas funções em mais de um processo, é necessário copiar a função .JS para o Projeto fluig no Eclipse.

Se você vai utilizar funções Javascript em vários formulários, é possível criar uma arquivo .WAR que servirá como uma biblioteca de funções, não confunda com uma widget, a forma de deploy no fluig continua a mesma.

Você cria sua biblioteca e faz o deploy dela copiando no diretorio "apps" de instalação do fluig.

É uma prática interessante para refatorar código. Compartilhei um exemplo em anexo.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Peter não consigo visualizar o anexo compartilhado. Poderia compartilhar novamente ?

Disponibilizei o arquivo neste link para download:

Muito obrigado.

“Por exemplo, se vai usar as mesmas funções em mais de um processo, é necessário copiar a função .JS para o Projeto fluig no Eclipse.”

Em qual pasta exatamente o arquivo .js deve estar para que eu possa utilizar as funções nos scripts de workflow? Existe algum padrão de nomenclatura?

Não há um padrão estabelecido, existem sugestões, mas fica a critério de cada desenvolvedor.

A pasta Apps possui os arquivos compilados pelo servidor de aplicação, basta publicar neste diretório que contém outros arquivos *.war para utilizar em seu desenvolvimento e reaproveitar em qualquer formulário que esteja desenvolvendo.

Entendi Peter. Bom, mas a utilização dessa sugestão servem para compartilhamento apenas em formulários (browser) ou também podem ser utilizados em scripts de workflow ou de datasets?

Rafael, em eventos de formulário (validateForm, dispplayFields) e eventos de processos (BeforeStateEntry) não é possível acessar estas bibliotecas customizadas (javascript - *.war), os eventos ocorrem no servidor, enquanto os scripts são acessados no web browser pelo servidor de aplicação (client).

Entendi Peter. É justamente o que eu quero saber, se é possível compartilhar funcionalidades customizadas entre os scripts que rodam no servidor. Pelo que você falou, não é possível, certo?
Eu tenho essa dúvida porque eu vi em uma implementação oficial de exemplo da TOTVS eles utilizando funções javascript customizadas dentro de uma implementação de dataset e eles mencionam que devemos incluir um arquivo .js ao nosso projeto para poder utilizar as funcionalidades.
TOTVS Developers (Source Code > Aba Fluig)

São coisas diferentes, a biblioteca *.WAR só pode ser acessar pelo web Brownser. Se você quer criar uma biblioteca para os EVENTOS, basta você criar uma função javascript fora das outras já existentes, o problema é que você sempre terá que copiar as funções/bibliotecas nos EVENTOS.

Obrigado pelas informações Peter.

o que realmente eu queria era poder ter codigos compartilhados no processo ou nos eventos do formulário…