Pegar a URL do Servidor dentro de evento de Processo e/ou Formulário

Olá,

Estou montando templates de E-Mail e seguindo os exemplos do Fluig quero usar o parâmetro ${SERVER_URL} pra não deixar a URL escrita diretamente no template.

Porém o Fluig não passa esse parâmetro automaticamente para o template, então preciso inserir a URL do servidor nos parâmetros do e-mail.

Alguém sabe como conseguir a URL do servidor dinamicamente?

Sei que usando WCMAPI.serverURL eu consigo a URL do servidor, mas isso só funciona para scripts que rodam no navegador, não para os eventos que rodam no servidor (que é o caso dos eventos do workflow e formulários).

Bruno, dentro do formulário eu costumo utilizar assim:



var wcmapi = parent.WCMAPI;

var urlImagemBase = wcmapi.serverURL + "/webdesk/";
var urlDocumentoBase = wcmapi.tenantURL + "/ecmnavigation?app_ecm_navigation_doc=";

salvo em um campo hidden e no evento do processo pego a url pra incluir no template dos e-mails.

Obrigado, Otto. É uma solução, mas não fica tão dinâmico por que se trocar a URL após o formulário salvo ainda constará a antiga. Eu tive esse problema com processos já rodando. Quando instalaram o Fluig o deixaram sem https e na porta 8080, aí com vários processos já em andamento tivemos que trocar pra https (e por padrão porta 443), aí as URLs ficaram quebradas nos e-mails. Talvez eu crie um Dataset que consulte direto no banco de dados do Fluig pra pegar o valor de lá. Ao menos sempre estará atualizado.

Verdade, outra solução, já que a possível troca de url é eminente, pode-se utilizar o serviço ECMGlobalParamService. Nele tem um método getGlobalParam que um dos atributos é o webdeskServer.

Então, mas aí teria que fazer toda uma chamada a um web service né. Eu resolvi de um jeito mais simples. Vou postar a solução

Resolvi de um jeito mais simples do que fazendo a consulta direta ao banco de dados.

Usando o PageService.

No evento eu faço:


var pageService = fluigAPI.getPageService();
parametrosDoEmail.put("SERVER_URL", pageService.getServerURL())

Já aproveitei e coloquei a documentação (ao menos o que encontrei) da PageService no meu repositório de tipos do Fluig (pra auxiliar no VSCode) https://github.com/brunogasparetto/fluig-declaration-type

boa. E a proposito, muito bom a documentação que você fez.