84 lines
4.6 KiB
Markdown
84 lines
4.6 KiB
Markdown
|
|
---
|
|||
|
|
title: Widgets Aplicação ERP e Container ERP
|
|||
|
|
source: https://tdn.totvs.com/pages/viewpage.action?pageId=204965658
|
|||
|
|
path: \Plataforma Documentação técnica\Recurso de Páginas e Widgets (WCM)\Widgets de experiência de uso\Widgets Aplicação ERP e Container ERP.md
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Índice
|
|||
|
|
|
|||
|
|
- 1 [Objetivo](#WidgetsAplicaçãoERPeContainerERP-Objetivo)
|
|||
|
|
- 2 [Introdução](#WidgetsAplicaçãoERPeContainerERP-Introdução)
|
|||
|
|
- 3 [Funcionamento e configuração](#WidgetsAplicaçãoERPeContainerERP-Funcionamentoeconfiguração)
|
|||
|
|
- 3.1 [Aplicação ERP](#WidgetsAplicaçãoERPeContainerERP-AplicaçãoERP)
|
|||
|
|
- 3.2 [Container ERP](#WidgetsAplicaçãoERPeContainerERP-ContainerERP)
|
|||
|
|
- 4 [Proxy reverso](#WidgetsAplicaçãoERPeContainerERP-Proxyreverso)
|
|||
|
|
|
|||
|
|
# Objetivo
|
|||
|
|
|
|||
|
|
O objetivo deste guia é apresentar brevemente a configuração dos *widgets* Aplicação ERP e Container ERP e seus detalhes técnicos de funcionamento.
|
|||
|
|
|
|||
|
|
# Introdução
|
|||
|
|
|
|||
|
|
Os *widgets* Aplicação ERP e Container ERP permitem que telas do ERP que usem tecnologia do Framework HTML sejam exibidas dentro do fluig. O primeiro é utilizado para aplicações (telas) e o segundo para *widgets* do ERP.
|
|||
|
|
|
|||
|
|
# Funcionamento e configuração
|
|||
|
|
|
|||
|
|
A configuração e o funcionamento de ambos é simples, bastando suprir o contexto do ERP para possibilitar o carregamento dos dados.
|
|||
|
|
|
|||
|
|
## Aplicação ERP
|
|||
|
|
|
|||
|
|
Neste *widget* é possível configurar o contexto na edição de página e informar o valor padrão, se houver parâmetros no restante da URL neste formato: /portal/p/[Código de Empresa]/[Página]#/[Contexto do ERP]/[Restante da Página]/ i.e.: /portal/p/empresa/erpapp#/erp1/path/to/application, este valor vai suprimir a configuração.
|
|||
|
|
|
|||
|
|
Se for necessário obter a URL da página a partir da qual a aplicação ERP foi chamada para incluir um botão Voltar / Cancelar, por exemplo, a partir do **fluig 1.5.6** é possível por meio do seguinte comando javascript:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
WCMAPI.getSessionAttribute('ERPApplication_referrer');
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Container ERP
|
|||
|
|
|
|||
|
|
Neste *widget* somente é configurada a URL na edição de página, isso permite colocar vários *widgets* em uma página e montar um painel com informações relevantes ou em uma comunidade onde estes dados possam ser relevantes.
|
|||
|
|
|
|||
|
|
Para funcionar corretamente, o *framework* tem que ser disponibilizado junto ao contexto do ERP. Aqui, como exemplo, será usado o valor /erp1 e segue a estrutura:
|
|||
|
|
|
|||
|
|
| Hierarquia de pastas | Descrição |
|
|||
|
|
| --- | --- |
|
|||
|
|
| /\* | Contexto do TOTVS Fluig Plataforma. |
|
|||
|
|
| /erp1 <- contexto do erp1 | Contexto do ERP. |
|
|||
|
|
| /totvs-html-framework | |
|
|||
|
|
| /js | Dependências javascript. |
|
|||
|
|
| /setup/config-app.js | Configuração do BASE\_URL usado como referência pelo RequireJS. |
|
|||
|
|
| /fluig | Arquivos de configuração do TOTVS Fluig Plataforma. |
|
|||
|
|
| /main.js | Carregamento do RequireJS e definição das dependências. |
|
|||
|
|
| /erp2 <- contexto do erp2 | Contexto do ERP |
|
|||
|
|
| /totvs-html-framework | |
|
|||
|
|
| /... | Mesmo padrão de estrutura. |
|
|||
|
|
|
|||
|
|
O *framework* desenvolvido é baseado no RequireJs para o gerenciamento das dependências do Javascript, então para evitar conflito com as dependências do próprio Fluig Plataforma, estas devem ser carregadas somente ao final do carregamento da página.
|
|||
|
|
|
|||
|
|
Após as configurações e RequireJs, são carregadas as dependências do Angular e finalmente o conteúdo do ERP.
|
|||
|
|
|
|||
|
|
A chamada a seguir realiza a injeção do componente em um div pré-existente na página.
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
login.checkLogin( html , error, url, angular, that.widgetLink)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Após a injeção do componente na página todo o comportamento da tela é de responsabilidade do ERP.
|
|||
|
|
|
|||
|
|
Caso haja algum problema no carregamento será exibida uma mensagem na tela e o log do browser vai informar mais detalhes, além disso é possível usar as ferramentas disponibilizadas pelo browser para identificar os arquivos indisponíveis e possíveis problemas de lentidão.
|
|||
|
|
|
|||
|
|
# *Proxy* reverso
|
|||
|
|
|
|||
|
|
Como o Fluig Plataforma e o ERP são servidores distintos, cada um atendente em um domínio distinto, o que fere a política *Same-Origin* dos *browsers*, deve ser configurada uma ferramenta de *proxy* reverso pare evitar esta situação, i.e. Apache Server.
|
|||
|
|
|
|||
|
|
Os mapeamentos devem ser feitos de forma que o Fluig Plataforma fique na raiz do domínio e o ERP fique em um contexto abaixo, conforme demonstrado na tabela de hierarquia de pastas.
|
|||
|
|
|
|||
|
|
A configuração do proxy é de responsabilidade do ERPs, estes são os mapeamentos informados:
|
|||
|
|
|
|||
|
|
| Produto | Contexto | Destino |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| Fluig | / | <HOST fluig>:<PORTA FLUIG> |
|
|||
|
|
| Logix | Não foi definido | <HOST LOGIX>:<PORTA LOGIX> |
|
|||
|
|
| Datasul | /dts\* /josso | <HOST DATASUL>:<PORTA DATASUL> |
|
|||
|
|
| RM | /rm | <HOST RM>:<PORTA RM> |
|