Páginas filhas
  • DFWKLOGIX-1557 DT Permitir executar aplicações WEB a partir do menu Logix


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:


appweb.4gl
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"
    }
}



IMPORTANTE!

Disponível a partir do pacote oficial 12.1.2503 ou Framework Fix 12.1.2411(fix01)


05. ASSUNTOS RELACIONADOS

  • Não se aplica.