Páginas filhas
  • Customização Novo Portal Meu RH

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Com o lançamento do novo Portal do ProfessorMeu RH, surgiu a necessidade de customizar para alterar e/ou adicionar novas telas no sistema através das customizações. Para esse fim, foi desenvolvido um componente customizado que permite exibir novas páginas, via iframe, dentro do novo portal do professor, com os menus sendo endpoint para carregar as paginas customizadas dinamicamente após a carga inicial do produto padrão.

Os menus customizados são carregados a partir do banco de dados (tabela GMENUHTML).PCUSTOMMENUS) e podem ser permissionados a partir das tags de segurança convencionais de customização (Geração de tags no FSWPack).


O Diagrama a seguir mostra como é feito a carga dos menus customizados através da API nativa do Meu RH:

Image Added

No diagrama, vemos que após o login e a carga dos menus da aplicação, o portal faz uma requisição a API para verificar e carregar as customizações cadastradas na tabela PCUSTOMMENUS.

Após carregar e devolver os menus customizados o sistema já está apto a abrir as telas em uma nova aba


A seguir Nesse documento, será detalhado o passo a passo para criar novas customizações no Portal Meu RH.


Pré-requisitos

O portal do professor Portal Meu RH é desenvolvido utilizando o framework Angular com a biblioteca PO UI. Portanto, recomendamos (não é impeditivo) que as customizações também devem ser sejam desenvolvidas nessa tecnologia e utilizem a mesma estrutura de diretório do produto padrão, para que diversas funcionalidades possam ser reaproveitadas, como segurança, autenticação, storage, uso de APIS como contexto do educacional contexto  entre outros.

Para iniciar o desenvolvimento, é necessário que seja já ter instalado o Node.jse o Angular na máquina.


Passo a passo para criação

...

Após isso, podemos criar o projeto customizado, que no exemplo será Agenda Inteligente.novo projeto de customização:

Bloco de código
ng new agendaprojeto-inteligentecustomizado

Em seguida, devemos adicionar a biblioteca angular PO UI

...

Com o projeto criado, devemos adicionar o menu customizado na tabela GMENUHTMLPCUSTOMMENUS

Bloco de código
INSERT INTO GMENUHTMLPCUSTOMMENUS (ID,PARENTID,CODSISTEMA,CAPTION,PATH, LABELKEYSHORT, LABELKEYLONG, URL, IMAGEPATH, FEATURED, OPERATORSONID, CHECKPERMISSION, ONLYLARGESCREEN, ONLYSMALLSCREEN, HIDEONIOSIONIC3, ONLYMOBILE, GROUPER, REMOVEMENUITEM, CHILDOF, INSERTATINDEX, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, MODULE, SECURITYID, IDPORTALEXECUTIONID) 
VALUES ('CST_GOOGLE_ACOMPMENTORIA'vacation', 'im-vacation', 'CUSTOMIZATIONim-vacation', 'Shttps://localhost/FrameHTML/web/app/Cst/PortalMeuRH/#/vacation', 'Acompanhamento Mentoria', 'customizacao/agendainteligente/#/acompanhamento-mentoria/', 0, 2)ico-sun', NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 'customizacao',  GETDATE(),'customizacao', GETDATE(), 'P', '890004021', '0');
GO;


Além disso é necessário habilitar o Meu RH para carregar os menus customizados no momento da carga dos menus da aplicação. Isso é feito através do arquivo properties.json localizado em C:\RM\Atual\Release\FrameHTML\web_src\app\RH\PortalMeuRH\.

Ao abrir o arquivo deve-se adicionar as seguintes tags ao final do documento:

Bloco de código
"USE_TOKEN": true,
"USE_CUSTOM_MENU": true


Após implementação do projeto, o mesmo deve ser compilado para a pasta que estão sendo publicados os novos portais. Por padrão os novos projetos de portal estão sendo disponibilizados na pasta C:\RM\Atual\Release\FrameHTML\web\app\[SiglaProduto]\. Por este motivo os novos projetos de customização devem ser publicados na pasta:  C:\RM\Atual\Release\FrameHTML\web_src\app\Cst\.


A criação da API segue o modelo padrão da TOTVS, com os controllers herdando das classes da Lib.


A geração do instalador com o projeto compilado ainda é feita usando o tipo Cópia de arquivos no Hefesto posterior mente esse processo deve ser alterado para usar o novo gerador de instaladores da Fabrica.


Limitações / Restrições

As customizações no Portal Meu RH ficam limitadas apenas ao portal web, não sendo possível customizar as telas do portal no mobile.

As paginas do produto customizáveis ficam limitadas às paginas vinculadas aos menus da aplicação. Paginas como a de notificações ou de perfil não são customizáveis, pois não são menus e sim rotas fixas no Meu RHNo exemplo acima, o projeto deve ser copiado para a pasta customizacao/Agenda Inteligente e a rota que será exibida é acompanhamento-mentoria.


Seção com links importantes:Configuração do novo portal professor


Página PO UI: https://po-ui.io/

Página Angular: https://angular.io/