Post on 07-Apr-2016
ESTRUTURAS / NOMENCLATURAS
WAR ROOM FRAMEWORK TOTVS HTML, JULHO 2015
ESTRUTURA TFS
ESTRUTURA TFS
ESTRUTURA TFS
• Criação do diretório html dentro da branch “Datasul”;
• Criação de cada módulo dentro do diretório html;
• Obs.: Os módulos de todos os produtos ficariam abaixo da mesma estrutura. Isso evita que tenhamos a divisão com produtos de módulos com o mesmo nome (sendo que o contexto neste caso teria que ser o mesmo).
ESTRUTURA TFS
ESTRUTURA TFS
• Exemplo real de módulos:• crm• mcc• mce• mmi• mpd• utb
• “Helpers” que servirão para todos os módulos deverão ficar em: • dts-utils
ESTRUTURA DO MÓDULO
ESTRUTURA DO MÓDULO
ESTRUTURA DO MÓDULO
• html: onde estarão os arquivos referente a interface (htmls, controllers...)
• js: onde estarão os arquivos de “serviços”, separados por seus tipos:• zoom: serviços referentes a zoms• api: serviços referentes a apis• dbo: serviços referentes a dbos• O arquivo de “helper” do módulo
ficará neste diretório também, com o nome de <módulo>-utils.js. Exemplo: utb-utils.js
ESTRUTURA DO MÓDULO
NOMENCLATURA DE ARQUIVOS HTML
• Dentro do diretório html, deverão ser criados sub-diretórios para cada funcionalidade.
• Esses sub-diretórios deverão ter seu nome definido em inglês:
Exemplos:purchaseordersalesorder
ESTRUTURA DO MÓDULO
NOMENCLATURA DE ARQUIVOS HTML
• Os arquivos HTML deverão ser criados conforme seu propósito:
Listagem: <rotina>.list.htmlDetalhe: <rotina>.detail.htmlInclusão/Alteração: <rotina>.edit.htmlFiltro avançado: <rotina>.advanced.search.htmlRelatório: <rotina>.report
Exemplos:purchaseorder.list.htmlpurchaseorder.detail.htmlpurchaseorder.edit.html
ESTRUTURA DO MÓDULO
NOMENCLATURA DE ARQUIVOS HTML
Se houver necessidade de “quebras” de funcionalidades, por exemplo, pai x filho, a sugestão é seguir a seguinte estrutura:
<rotina>.<ação>.<quebra>
Exemplo:
purchaseorder.list.item.htmlpurchaseorder.edit.item.htmlpurchaseorder.detail.item.html
ESTRUTURA DO MÓDULO
NOMENCLATURA DE ARQUIVOS HTML
Deverá ser criado um controller para cada HTML, sendo registrado com a estrutura de: módulo.funcionalidade.<Ação>Ctrl
Exemplos: mcc.purchaser.DetailCtrlmcc.purchaser.EditCtrlmcc.purchaser.ListCtrl
Para modais a sugestão é registrar como: Módulo.funcionalidade.Modal<Ação>
ESTRUTURA DO MÓDULO
NOMENCLATURA DOS SERVIÇOS
• BOs: utilizar o mesmo nome que no progress.
Exemplo: boin295.js
• APIs: utilizar o mesmo nome que no progress
Exemplos: ccapi353.jsfchmatenterresquests.js
O registro dos serviços deverá ser feito no formato: módulo.nome-api-bo.factory
Exemplos: mcc.boin295.factorymcc.ccapi353.factory
ESTRUTURA DO MÓDULO
ZOOMS
• Os zooms deverão ficar no diretório js/zoom;
• Cada tabela de zoom deve possuir um arquivo js separadamente (podem haver dois serviços de zoom para a mesma tabela);
• No serviço do zoom deverão estar definidos os métodos para zooms e select (se houver);
• O registro dos zooms deverá ser no formato: módulo.tabela.zoom
Exemplo: mcc.pedido-compr.zoom
ESTRUTURA DO MÓDULO
ZOOMS
• Zooms: utilizar o nome da tabela:
Exemplos:
pedido-compr.js item.jstab-unidade.js
Obs. 1: Definido desta forma, pois entre os produtos há diferenças de nomenclaturas e o nome da tabela é comum a todos.
Obs. 2: Sempre definir os nomes de arquivos com hífen ( - ) ao invés de underline ( _ )
ESTRUTURA DO MÓDULO
ESTRUTURA DO MÓDULO
• Cada módulo deverá gerar um war com a seguinte nomenclatura:• html-<módulo>-<versão>.war
• Exemplo:• html-mcc-11.5.X-SNAPSHOT.war
• Para estruturação do projeto no maven, seguir o exemplo disponibilizado no TFS para o “dts-utils”.
ESTRUTURA DE MENU
ESTRUTURA DE MENU
CONVERSÕES – NOME DE MENU
• Para as conversões a sugestão é utilizar o mesmo do progress ou Flex, precedido por “html.”, exemplo:
• cc0300 html.cc0300• cd1406 html.cd1406
• Isso fará com que o usuário quando procure o programa progress por exemplo no menu, apareça na busca o novo programa também.
ESTRUTURA DE MENU
CONVERSÕES – DESCRIÇÃO DE PROGRAMAS
• Quanto a descrição do programa no menu sugere-se o seguinte:
• Progress: Descrição (Modo Clássico)• Flex: Descrição (Flex)• HTML: Descrição
• O HTML passará a ser o “principal”, e os demais poderão ser retirados do menu posteriormente, se for necessário.
ESTRUTURA DE MENU
NOVAS FUNCIONALIDADES - NOME DE MENU
• Para novas funcionalidades, para o código do programa sugere-se a estrutura de módulo.funcionalidade:
Exemplo: mcc.purchaseorder
Obrigado ;)
Inovação