Histórico da Página
...
Os navegadores possuem características e medidas de segurança que podem trazer mudanças de comportamento ao WebApp durante o uso do ERP, este documento descreve essas características, para apoia-los durante a transição.
🚨 Um bom exemplo é o TWebEngine TWebEngine, no SmartClient Desktop este componente é um Chromium embutido na aplicação, enquanto no WebApp, ele é um iframe. 🚨
...
Neste link você terá acesso às informações de download, configuração e notas de release do WebApp:
Configurando a Porta Multiprotocolo
...
A porta multiprotocolo é um facilitador, criando rotas para ferramentas como o WebApp, WebMonitor, Rest e outras.
A documentação abaixo é importante para sua correta configuração:
- Application Server - Porta Multiprotocolo
- Porta Multiprotocolo - Geração de Certificado
- Porta Multiprotocolo - Instalação de Certificado
Ao utilizar o TWebEngine (iframe):
Não é possível executar o método navigate para a página https://www.google.com/
...
Caso seja imprescindível para sua aplicação abrir um site com este bloqueio, pode utilizar a função ShellExecute, mais informações no link: TWebEngine:Navigate
Exemplo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
// Exemplo de uso para Windows ShellExecute( "open", "http://www.google.com.br", "", "", 1 ) // Exemplo de uso para Linux shellExecute("Browser", "/usr/bin/firefox", "http://www.google.com.br", "/", 1 ) |
...
Esta também é uma medida de segurança dos navegadores, como contorno, recomendamos copiar o arquivo em questão para uma pasta temporária no Servidor através da função CpyF2Web, acessando este arquivo na sequencia, mais informações no link: TWebEngine:Navigate
Exemplo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
DEFINE DIALOG oDlg TITLE "Contorno para file://" FROM 0,0 TO 800,1200 PIXEL // Copia o arquivo da Estacao para o Servidor, retornando seu caminho // Este exemplo foi escrito para Linux, ao utilizar em Windows, // basta mudar o caminho para o arquivo, ex: "c:/dir/arquivo" cFilePath := CpyF2Web("l:/home/mansano/totvs/file.txt", .T., .F., .F., .F.) oWebEngine := TWebEngine():New(oDlg, 0, 0, 100, 100,,) oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT // Executa o Navigate para o arquivo temporario no Servidor oWebEngine:navigate(cFilePath) ACTIVATE DIALOG oDlg CENTERED |
Ao utilizar o TWebEngine (iframe):
Comportamento do InactiveTimeout ao
...
digitar/navegar em uma aplicação HTML
...
(
...
POUI)
...
O tempo de inatividade (inactive timeout) é definido pelo administrador do ERP para garantir, que caso uma conexão fique inativa por N minutos, ela seja automáticamente encerrada.
Para o WebApp avaliar se uma rotina está realmente em uso, enquanto o usuário digita/navega em uma aplicação HTML carregada em um iframe, é necessário executar um conjunto de scripts.
Porém, por questões de segurança, um iframe navegador só permite a execução desses scripts, quando a página carregada neste em um iframe possuir o mesmo protocolo+host-name+porta da página principal.
...
Mais informações no link: WebEngine+InactiveTimeout
🚨 O mecanismo da Porta Multiprotocolo pode ajudar, garantindo que possam publicar sub-rotinas, respeitando o mesmo protocolo+host-name+porta, mudando apenas a rota para esta sub-rotina.
Exemplo:
Neste exemplo temos dois serviços (sub-rotinas) utilizando o mesmo caminho, cada um em sua respectiva rota, o primeiro o WebApp, o segundo o WebMonitor.
Protocolo | Host name / IP | Porta | Rota |
---|---|---|---|
http:// | 10.173.1.12 | :8081 | /webapp |
http:// | 10.173.1.12 | :8081 | /webmonitor |
A importância do WebAgent para a integração com a estação de trabalho
...
Mais informações no link: SmartClient HTML (WebApp) - Navegadores homologados
🚨 O WebAgent não é homologado para dispositivos móveis, devido à diversas limitações de segurança impostas pelo Android/IOS.
Cadastro de Clientes sendo executado em um Galaxy S a partir do Samsung Dex
...
Mais informações no link: 2. WebApp - WebAgent#2.WebAppWebAgent-Launch
Execução de
...
rotinas sem interface através do WebAgent (parâmetro launch com --headless)
...
Informações |
---|
O parâmetro --headless está disponível a partir da versão 1.0.9 do WebAgent. |
Existem algumas rotinas de processamento que não necessitam de interface (tela), é possivel executar essas rotinas utilizando em conjunto os parâmetros launch e --headless.
...
Mais informações no link: 2. WebApp - WebAgent#2.WebAppWebAgent-Headless
Diferenças na aplicação de CSS (SetCSS) entre o WebApp e o SmartClient Desktop
...
Mais informações no link: Telas de toque Toque (touchscreenTouchscreen) / mobile Mobile - mudança Mudança de comportamentoComportamento
Templatedocumentos |
---|