Especificação | |||
Produto |
| Framework |
|
Segmento Executor |
| ||
Projeto1 |
| PCREQ-10028 |
|
Requisito1 |
|
| |
País | ( X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Criar um mecanismo para que os itens de menu serão disponibilizados pelo servidor (RM.Host) e não mais pelo cliente (RM.exe e Portal).
Com essa mudança, teremos os seguintes benefícios:
Definição da Regra de Negócio
Todos os produtos possuem o seu respectivo ActionModuleController e nele possui dois métodos sobrescritos (GetModuleMenu e GetProfileMenu) utilizados para retornar a ribbon winforms (com itens a serem apresentados na MDI .NET) e a ribbon profile (com os itens de menu que serão visualizados no portal).
Até agora existiam duas estratégias adotadas pelo produto para inserir itens que não serão visualizados na ribbon porém necessitam de permissão (ou seja, devem ser carregadas na treeView de segurança no cadastro de perfil), são elas:
Dessa forma a Lib fazia o merge dos itens de customização, gestão e ambiente na ribbon do produto e apresentava em winforms e na treeView de segurança no cadastro de perfil.
A partir de agora os métodos GetModuleMenu e GetProfileMenu estão como obsoletos e serão removidos nas próximas versões (ainda a definir), para isso é necessário que os produtos se adequem da seguinte forma:
Foram criadas 3 propriedades na RMSActionModuleController (que é o ancestral que o produto usa para implementação da Ribbon), são elas:
1) Comportamento da aplicação Winforms
Irá buscar o controller setado na propriedade ServerControllerName e criar uma Ribbon com esses itens + customização, Gestão e Ambiente, lembrando que neste caso o método GetModuleMenu nem será chamado por framework.
2) Comportamento da aplicação Web (Portal)
Irá buscar todos os controllers inseridos na GMENU com o MenuType = 1, com esses menus em memória irá buscar se existe alguma customização dos itens de menu web na tabela GMENUCUSTOM e realizar as devidas adequações no menu, somente após isso entregar para o portal os itens de menu. O menu.xml é completamente ignorado por framework.
3) Comportamento da funcionalidade de gerenciamento de permissões (Perfil)
Irá buscar os 3 controllers e montar a treeView de permissões no perfil, vale ressaltar que a treeview não é montada com os itens que possuem tag de segurança 0 (zero) ou "null"; caso um agrupador esteja com 0 (zero) ou "null" ele e seus filhos não serão apresentados.
4) Como customizar os itens de menu do portal
Esse item será utilizado para customizar o menu do portal, essa customização será utilizada pela fábrica e/ou pelo cliente. Antes era feita diretamente no menu.xml, agora temos um tela onde é permitido realizar a manipulação desses itens com as seguintes regras:
A funcionalidade está disponível em Gestão de Conteúdos/Cadastros/Menu Portal.
5) Foi criado uma parâmetro para ligar/desligar o menu server.
ENABLEMENUSERVER (Default false) e a partir da versão 12.1.16 o Default será true.
Tabelas Utilizadas
Customização de itens de menu (somente para o Portal)
Defina se o item será Padrão ou Customizado:
Para o item Default será permitido alterar a visibilidade, posição e caption do mesmo:
Para itens customizados é permitido criar novas Páginas, Grupos, Itens e Subitens, definindo a posição que o mesmo será inserido.
Esse item será inserido conforme dados cadastrados.
4. Após a criação de um item customizado que possua Tag de segurança, será criado no perfíl do módulo criado, a arvore de permissionamento do item customizado.
Itens customizados que não possuam filhos, que possuam Actions ou NavigateURL preencidos, não serão exibidos no Portal. |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|