Árvore de páginas

Versões comparadas

Chave

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

Índice
minLevel3

Acesso

O gerador pode ser acessado através da url http://cxs-squad-tools:9301/

No momento, não existe necessidade de um login, então basta acessar o endereço e utilizar.

Obs: existe um bug no framework (po-ui) que aleatoriamente a página não é exibida completamente. Se isso acontecer, apenas recarregue a página.

Tipos de projeto

Atualmente, são gerados os artefatos:

  • Progress (API e BO)
    API no padrão T-Talk, e BO com consulta dinâmica usando GpsQuery
  • Frontend Portinari 1
    Tela padrão de CRUD, utilizando portinari@1 + angular8
  • Frontend PO-UI 2/2
    Tela padrão de CRUD, utilizando po-ui@2 + angular9, ou po-ui@3 + angular10
  • Frontend PO-UI 2/3 Simplificado (Angular9)
    Tela padrão de CRUD com codificação simplificada, utilizando po-ui@2 + angular9, ou po-ui@3 + angular10
  • Testes Automatizados Progress - TAST
    Casos de teste automatizados para a BO gerada pela ferramenta

Alguns artefatos possuem dependências específicas a serem adicionadas no projeto.
Para verificar as dependências, acessa a página de dependências.

Utilização

Na tela inicial, podem ser pesquisadas as aplicações que já estão cadastradas, incluir uma nova, editar uma já existente, excluir e gerar os artefatos da aplicação.

Image Added

Cadastrando uma aplicação

Uma nova aplicação pode ser cadastrada através do botão Adicionar, ou uma aplicação existente pode ser alterada através da ação de editar.

Os dados básicos da aplicação estão dentro da sessão Dados da aplicação.

Image Added

Os dados a serem informados:

  • Tabela: nome da tabela do banco de dados. As tabelas são atualizadas todos os dias, após aplicação do dicionário de dados
  • Nome do componente: é o nome da aplicação que será gerada
  • Descrição: titulo da aplicação
  • Módulo: módulo, dentro do padrão de APIs. Ex: "hcg", "hfp"
  • Versão: versão, dentro do padrão de APIs. Ex: "v1", "v2"
  • Time responsável: nome do time responsável. Ex: "contratos", "financas"

O nome do componente segue um padrão específico (lower case, palavras separadas por hífen). Caso o nome não esteja neste padrão, ao sair do campo o nome será corrigido automaticamente.

Adicionando campos

Image Added

Um campo pode ser adicionado através da ação Adicionar dentro da tabela Campos disponíveis.
Ao clicar em adicionar, caso exista alguma aplicação que a chave primária seja similar ao campo em questão, será solicitado se deseja adicionar um novo relacionamento. Neste caso, será aberta a tela conforme o item Adicionando zooms logo abaixo.
Obs: o gerador pode sugerir um zoom de algum campo que tenha o nome parecido, mas que não seja correto, devido as diferentes variações de nomes de campos que temos no banco de dados.

Image Added

O preenchimento dos campos deve seguir as informações abaixo:

  • Propriedade: nome da propriedade no modelo de dados (nome interno, deve ser usado camelCase e nomenclatura em inglês)
  • Descrição: label em tela para este campo. Será sugerido o label cadastrado no dicionário de dados
  • Tipo ABL: tipo do dado Progress. Já será sugerido o tipo correto
  • Valor Fixo ABL: campo o campo possuir um valor fixo a ser aplicado diretamente no backend
  • Tipo JS: tipo do dado JavaScript. Já será sugerido o tipo correto
  • Valor Inicial JS: quando houver um valor inicial para a propriedade em tela
  • Formato Entrada: máscara do campo
  • Tamanho máximo: limite de caracteres permitido no campo em tela
  • Chave Primária
  • Obrigatório
  • Editável: indica se o campo estará disponível para alteração durante a edição do registro (na inclusão, continua disponível)
  • Auto-incremento: indica se o campo (numérico) terá o valor incrementado automaticamente (neste caso, não estará habilitado na inclusão)
  • Visível: indica se o campo deve aparecer na tela de detalhes
  • Listado em grid: indica se o campo deve aparecer na tela de listagem
  • Link: indica se, na tela de listagem, o campo terá um link para tela de detalhes
  • Filtro: indica se o campo será considerado para pesquisa
  • Filtro por faixa: indica se o campo de filtro, será por faixa (inicial e final)

Quando houver algum relacionamento cadastrado na aplicação, será exibido um campo adicional chamado Enumerador / Zoom, ao qual terá a lista de relacionamentos que podem ser utilizados.

Adicionando enumeradores

Image Added

Ao clicar em Adicionar na tabela Relacionamentos, e selecionar a opção Enumerador, a tela para cadastro de enumeradores será aberta.

Image Added

Deve ser informado o nome do componente (mesmas regras do nome do componente da aplicação), uma descrição informativa do zoom, e os valores do mesmo.

Âncora
zoom
zoom
Adicionando zooms

Image Added

Ao clicar em Adicionar na tabela Relacionamentos, e selecionar a opção Zoom, a tela para cadastro de enumeradores será aberta.

Image Added

Só pode ser criado zoom para uma aplicação já cadastrada no gerador. Ao informar a aplicação de zoom, novas opções serão abertas para seleção.

Image Added

O campo chave se refere ao campo que será utilizado como valor na aplicação, e o campo label se refere ao campo que será utilizado como descrição do valor.

Na tabela logo abaixo, serão exibidos todos os campos cadastrados na aplicação de referência do zoom, e devem ser selecionados os campos a serem exibidos na tela do zoom.

Gerando os artefatos

Na tela inicial, ao selecionar uma aplicação existente, e acionar a opção Executar, será aberta a tela para gerar os artefatos.

Image Added

Devem ser selecionados os tipos de artefato que serão gerados.

Ao confirmar a execução, serão gerados os artefatos em um caminho de rede, ao qual irá aparecer no rodapé da tela. Também terá um link para copiar o caminho para a área de transferência.

Image Added

Resolvendo problemas

Caso a tabela a ser utilizada não seja exibida na seleção, execute o job do Gerador para atualizar a lista de tabelas: http://jason:8080/job/GeradorCRUD_-_Atualizacao_Dicionario%28MANUAL%29/ .

Caso o gerador deixe de funcionar, existe um job para parar e iniciar o serviço do mesmo.

Acesse o Jenkins pelo endereço http://cxs-squad-tools:8080 e logue com o usuário dev (senha totvs@123).

Na view CodeGen, você vai encontrar os jobs necessários.

Image Added