Nova interface do Protheus com PO UI

Seguindo a evolução tecnológica do Protheus com relação ao uso de novas linguagens e arquiteturas, a partir da Lib de Label 20201123 será disponibilizada a nova interface do Protheus.


Nessa primeira fase, a novidade chega com a tela de login e a de seleção de ambiente:


Além da renovação na aparência, que segue o guideline definido pelo time de UX da Totvs, a mudança é bem significativa para a parte técnica.

O novo formato tem o front-end construído em Angular com a utilização do PO UI, e o back-end com o Rest 2.0, que permite a utilização de API’s tradicionais em ADVPL e também as novas em TL++. Sua apresentação é realizada através de um navegador embarcado na janela do Smartclient através do TWebEngine.

Para que seja possível a utilização desses recursos de forma automática, fazemos uso da porta multiprotocolo (MPP - Multi-Protocol Port), que faz a comunicação das mensagens no formato TCP e HTTP, além de responder os arquivos estáticos e requisições do REST.

01. REQUISITOS

Componente

Requisito

Appserver

Lobo-guará versão 19.3.1.2 ou superior.

Lib

Label 20201123 ou superior.

Appserver.ini
  • Estar com a MPP(Multi-protocol port) ativada.
  • Ter a chave App_Environment configurada na sessão [GENERAL].

Exemplo de configuração:

[Drivers]
Active=TCP
MULTIPROTOCOLPORT=1
MULTIPROTOCOLPORTSECURE=0

[TCP]
TYPE=TCPIP
PORT=1234

[General]
MAXSTRINGSIZE=10
App_Environment=Seu_Ambiente

* Este exemplo utiliza a MPP com a segurança desligada apenas para não entrarmos aqui na questão de configuração de SSL e da utilização de um certificado válido, que não estão diretamente relacionados à nova interface. Para detalhes da configuração de porta segura (altamente recomendável) favor consultar a documentação da porta multiprotocolo aqui.

02. PROXIMAS TELAS

Nessa versão as telas que são exibidas após a tela de seleção de ambiente continuam com o layout anterior e com a utilização dos componentes padrões do Smartclient.

A evolução da tecnologia será feita de forma gradativa e com cuidado para manter compatibilidade com alguns recursos já existentes.

03. NOVOS COMPORTAMENTOS

Existem algumas mudanças que visam acompanhar o novo padrão de utilização em aplicativos Web, como por exemplo a paginação dos registros de uma consulta padrão através de um botão “Carregar mais”. Outra mudança é a validação do campo de senha que só habilita o botão de confirmar após a digitação da mesma. (Para se logar com um usuário que tenha a senha em branco é necessário digitar um espaço).

Como há uma mudança de tecnologia com a migração para uma aplicação web, há comportamentos de que estamos acostumados no Smartclient que não são possíveis de serem reproduzidos em componentes do Angular.

Mudanças de comportamentos que não sejam impeditivas para a utilização mas que sejam incômodas aos usuários poderão ser questionadas através da abertura de chamados para avaliarmos a possibilidade da simulação de algum comportamento antigo.

04. ERROS COMUNS

Caso a segurança da MPP esteja ligada e haja algum problema com relação à segurança no certificado utilizado, poderá ser exibida uma tela com algum erro como o seguinte exemplo: ERR_CERT_AUTHORITY_INVALID


Caso haja algum problema na configuração do SSL, poderá ser exibida alguma mensagem do tipo: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Em ambos os casos e em casos semelhantes recomenda-se rever as configurações e a segurança do certificado.

Para mais detalhes sobre a segurança da MPP:

https://tdn.totvs.com/display/tec/Application+Server+-+Porta+Multiprotocolo 

Outra mensagem de erro que pode aparecer, mas que não está relacionada com a segurança é a ERR_EMPTY_RESPONSE:

Essa mensagem é comum apenas para o ambiente de teste, onde são realizadas compilações ou aplicação de patch e que consequentemente são derrubadas todas as threads da porta MPP e por isso ela não responde mais nenhuma requisição. Após a reinicialização do Appserver o erro não deve mais aparecer.


Outro problema que pode acontecer é, ao acessar a nova interface os campos "Grupo" e "Filial" ficam vazios em vermelho e não podem ser preenchidos.

esse problema está geralmente ligado ao fato das tabelas XX8 e  XX9 estarem vazias, isso ocorre mais comumente em ambientes com dicionário na system.
Para corrigir esse problema é necessário desabilitar a nova interface para o ambiente em questão, acessar o configurador, menu: Ambiente > Empresas > Grupo de empresas
Ao acessar essa rotina as tabelas em questão serão recriadas baseadas no sigamat.

Após isso pode-se habilitar novamente a nova interface que deve funcionar corretamente.

05. ASSUNTOS RELACIONADOS

https://angular.io/

https://po-ui.io/

Application Server - Porta Multiprotocolo

https://tdninterno.totvs.com/display/tec/TWebEngine

Entendendo as novidades do REST




Atualizado em 26/01/2024
Este artigo foi útil?  
Agradecemos sua avaliação.