01. DADOS GERAIS
Produto: |
|
---|---|
Linha de Produto: | Linha Logix |
Segmento: | Tecnologia |
Módulo: |
Framework (Linha Logix) - Administração Logix
|
Função: | Menu Logix e algumas funções utilitárias. |
País: | Brasil |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DFWKLOGIX-1557 |
02. SITUAÇÃO/REQUISITO
Permitir executar uma aplicação WEB a partir do menu Logix.
03. SOLUÇÃO
Desenvolvimento de nova classe LWEBDialog que permite realizar execução de um programa ou página com interface WEB.
Para programas que forem hospedados e configurados juntamente com o ambiente do AppServer será preciso configurar ambiente WEB para a pasta raiz de aplicações WEB chamada /apps.
O logix tenta identificar de forma automática o endereço URL para acesso da aplicação, no entanto caso não seja possível, existe a possiblidade de configurar uma chave de profile chamada logix.app.baseURL com o seguinte formato no valor: [protocolo]://[host]:[porta]
Para aplicações desenvolvidas em PO-UI deve-se desenvolver um arquivo fonte com extensão 4gl com o seguinte código como exemplo, ajustando os valores conforme nome da aplicação:
DATABASE logix DEFINE m_container_reference VARCHAR(10) DEFINE m_webdialog_reference VARCHAR(10) #------------------------------------------------------------------# FUNCTION exemploweb() #------------------------------------------------------------------# INITIALIZE m_webdialog_reference TO NULL IF LOG_initApp([CHAVE_SISTEMA_LICENCA]) = 0 THEN LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG") CALL _ADVPL_set_property(m_webdialog_reference,"INIT_APP","exemploweb") END IF END FUNCTION #------------------------------------------------------------------# FUNCTION exemploweb_getRelativePath() #------------------------------------------------------------------# #Caminho relatorio localizado abaixo da pasta /apps onde estão localizados os artefatos da página WEB para acesso/execução #A pasta /apps é obrigatoria e está localizada abaixo da pasta indicada como ROOTPATH no ambiente do appserver. RETURN "/exemplos/" END FUNCTION #------------------------------------------------------------------# FUNCTION exemploweb_version_info() #------------------------------------------------------------------# RETURN "$Archive: exemploweb.4gl $|$Revision: 1 $|$Date: 16/12/24 00:38 $|$Modtime: 16/12/24 00:38 $|$BranchId: DFWKLOGIX-1557 $" # Informações do controle de versão de fontes Logix - Não remover esta linha (FRAMEWORK) END FUNCTION
04. DEMAIS INFORMAÇÕES
Para que o programa WEB possa acessar algumas informações da sessão do usuário conectado ao menu Logix, deve-se recuperar o parâmetro enviado na URL de abertura da tela chamado tokenID.
Através de uma requisição REST API para a URL REST do appserver com o endpoint (GET) [protocolo]://[host]:[porta_rest]/[URL_baseREST]/applogin/params/[tokenID]
O retorno desta requisição GET será um JSON contendo a lista de algumas informações da sessão do usuário conectada no menu Logix, conforme exemplo a seguir:
{ "params": { "userID": "admlog", "sourceID": "exemploweb", "companyID": "01", "envID": "LOGIX12_ORA", "sessionID": "2576976", "sessionDttime": "2024-12-16 21:08:24", "systemKeyID": "DEVTEST" } }
Disponível a partir do pacote oficial 12.1.2503 ou Framework Fix 12.1.2411(fix01)IMPORTANTE!
05. ASSUNTOS RELACIONADOS
- Não se aplica.