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.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
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.