Com o lançamento do novo Portal do ProfessorMeu RH, surgiu a necessidade de 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, método para carregar as paginas customizadas dinamicamente com os menus sendo carregados a partir do banco de dados (tabela GMENUHTMLPCUSTOMMENUS).
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, as customizações também devem ser desenvolvidas nessa tecnologia, para que diversas funcionalidades possam ser reaproveitadas, como segurança, autenticação, uso de APIS como contexto do educacional contexto entre outros.
Para iniciar o desenvolvimento, é necessário que seja já ter instalado o Node.js na máquina.
...
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 FabricaNo 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:
...