Versões comparadas

Chave

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

Projetos criados no Cronapp possuem muitos arquivos e diretórios. Todo esse conteúdo é responsável por gerar um projeto base e manter uma estrutura de fácil desenvolvimento. Dessa forma, desenvolvedores Cronapp não necessitam conhecer as diversas bibliotecas utilizadas em seu projeto, pois o Cronapp encapsula isso em recursos visuais de forma simples, permitindo rápido desenvolvimento e baixa curva de aprendizado.

Âncora
modo-avancado
modo-avancado

Opção Modo Avançado

A árvore de arquivos (destaque 3 da figura 1.1) exibe os diretórios e arquivos pertencentes ao seu projeto. Porém, a forma como o conteúdo será exibido dependerá da configuração da opção Modo Avançado


Figura 1.1 - Alterando entre as opções de Modo Avançado


O que muda quando alteramos o Modo Avançado:

  1. Desabilitado:
    • O conteúdo é organizado com base na sua funcionalidade, ou seja, arquivos de mesmo propósito permanecem juntos.
    • Apenas arquivos com recursos low-code são exibidos.
    • As extensões de alguns tipos de arquivos ficarão ocultas, melhorando a legibilidade dos arquivos na árvore.
    • O caminho do diretório raiz até o arquivo é exibido em seu endereço virtual ou localização.
      • LocalizaçãoFormulários/Mobile/Autenticado/home
    • Funcionalidades como o Editor de views ou Editor de bloco de programação ocultam a subaba "Código", exibindo apenas o conteúdo visual.
  2. Habilitado:
    • O conteúdo é organizado com base na sua estrutura hierárquica, ou seja, diretório pai contém diretórios filhos e seus arquivos.
    • Todos os arquivo ou diretório são exibidos.
    • As extensões dos arquivos são exibidas.
    • O caminho do diretório raiz até o arquivo é exibido em seu endereço real.
      • Endereçosrc/main/mobileapp/www/views/logged/home.view.html
    • Funcionalidades como o Editor de views ou Editor de bloco de programação exibem a subaba "Código", permitindo que o usuário acesse o código fonte gerado pelo recurso visual.


O principal objetivo da opção Modo Avançado é simplificar ainda mais o desenvolvimento no Cronapp. Para alterar entre os modos, acesse o botão alternância (destaque 1 da figura 1.1) ou através da opção Modo de uso da IDE no menu do sistema (2 da figura 1.1). A alternância entre os modos pode ser feita a qualquer momento durante o desenvolvimento do projeto e não gera qualquer impacto no resultado final. Assim, ao exportar seu projeto, independente do modo em que estiver trabalhando, a hierarquia de arquivos estará igual ao apresentado no Modo Avançado, pois trata-se do endereço real. 

Na figura abaixo, as duas estruturas estão com o mesmo diretório aberto, a pasta dos blocos de programação web, e com o mesmo arquivo "Bloco" selecionado (destaque 1 da figura 1.2). Porém, a árvore da esquerda (Modo Avançado desabilitado) exibe o conteúdo de forma muito mais simples e resumida. 


Figura 1.2 - Diferença ao visualizar os arquivos com a opção Modo Avançado habilitada e desabilitada



Informações

Ao criar ou mover arquivos, certifique-se que ele corresponde àquele diretório - por exemplo, na pasta Blockly só deve conter os arquivos pertencentes aos blocos de programação, assim como os arquivos do diagrama de dados devem estar na pasta diagram e assim em diante.

Além de melhorar a organização do seu projeto, diversas funcionalidades esperam encontrar tipos específicos de arquivos em sua pasta correspondente, caso isso não ocorra, esses arquivos podem não ser mapeados.

Modo Analista

Ao desativar o Modo Avançado, a árvore do projeto não exibe arquivos na pasta raiz, apenas os diretórios dos principais recursos low-code. As pastas estão ordenadas com base na recomendação de desenvolvimento no Cronapp: primeiro criamos o diagrama do projeto, as páginas e, em paralelo, os blocos de programação.

A pasta principal (raiz) possui o nome do projeto e um ícone que identifica se o projeto é mobile e web (ícone smartphone, figura 2.1) ou apenas web (ícone monitor). Descrevemos abaixo o objetivo dos diretório logo abaixo da raiz do projeto quando a opção Modo Avançado está desativada.


Figura 2.1 - Diretórios do projeto quando o Modo Avançado está desativado



Alguns dos diretórios listados abaixo são virtuais, ou seja, não existem no projeto. São visíveis apenas quando a opção Modo Avançado está desativada e tem o intuito de agrupar conteúdo com a mesma funcionalidade. Diretórios virtuais não possuem menu de contexto.


  • Diagrama de dados 

    Tooltip
    onlyIcontrue
    appendIconKein Icon

    Endereço: diagram

    contém os arquivos de diagrama de classe do projeto.

  • Formulários: diretório virtual para agrupar as pastas de formulários dos projetos mobile e web.

    • Mobile 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: src/main/mobileapp/www/views

      diretório que organiza as telas do aplicação mobile,

    • Web 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: src/main/webapp/views

      : diretório onde ficam organizadas as páginas web.

  • Blocos de programaçãodiretório virtual para agrupar as pastas dos blocos de programação mobile, servidor e web.
    • Mobile 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: src/main/mobileapp/www/js/blockly

      : contém os arquivos de bloco de programação mobile (cliente).

    • Servidor 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: src/main/java/blockly

      : contém os arquivos de bloco de programação servidor (back-end).

    • Web 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: src/main/webapp/js/blockly

      : contém os arquivos de bloco de programação web (cliente).

  • Relatórios

    Tooltip
    onlyIcontrue
    appendIconinfo-circle

    Endereço: src/main/java/reports

    : armazena os relatórios criados no projeto.

  • Recursosdiretório virtual para agrupar arquivos estáticos para os projetos mobile, servidor e web.
  • Fluxo de Trabalho 

    Tooltip
    onlyIcontrue
    appendIconinfo-circle

    Endereço: src/main/resources/bpm

    : contém os arquivos de fluxo de trabalho do Cronapp BPM.

  • Testes 

    Tooltip
    onlyIcontrue
    appendIconinfo-circle

    Endereço: src/test/java/blockly

    : pasta reservada para os blocos de programação de teste do projeto servidor.

  • Documentação 

    Tooltip
    onlyIcontrue
    appendIconinfo-circle

    Endereço: docs

    : hospeda os arquivos de documentação do projeto, nele você poderá criar diagramas UML, fluxogramas, diversos recursos para ajudar no desenvolvimento do projeto,

Modo Avançado

Com o Modo Avançado habilitado, a árvore do projeto exibe todos os arquivos, incluindo o conteúdo high-code. As pastas serão ordenadas com base na hierarquia de diretórios do projeto. Outra característica desse modo, são os ícones de Visualização que ficam disponíveis, permitindo exibir alguns diretórios e arquivos com nomes virtuais, mais amigáveis, ao invés dos nomes reais. Independente do modo de visualização, a estrutura dos arquivos permanece a mesma. (Figura 3.1)


Figura 3.1 - Diferença entre os modos de visualização por Categorias e Pastas


  1. Visualização de Categoriaexibe alguns diretórios e arquivos com nomes mais amigáveis. 
  2. Visualização de Pastasexibe os diretórios e arquivos com seus nomes originais.


A pasta principal (raiz) possui o nome do projeto e um ícone que identifica se o projeto é mobile e web (ícone smartphone, figura 3.2) ou apenas web (ícone monitor). Descrevemos abaixo a função de alguns arquivos e subdiretórios do projeto.


Figura 3.1 - Divisão da árvore de arquivos


Os diretórios e arquivos da raiz do projeto:

  • src (Códigos Fonte): diretório principal do projeto.
    • main (Principal): dependendo de como foi criado o projeto, esse diretório possuirá os seguintes subdiretórios:
      • java (Códigos Fonte Servidor): armazena a camada DAO, Entity, código Java, arquivo de configuração do projeto, relatórios e outros arquivos do servidor da aplicação;
      • mobileapp (Códigos Fonte Mobile): armazena os formulários HTML, código JavaScript, plugins, CSS, Splash e outros arquivos do projeto mobile da aplicação;
      • webapp: (Códigos Fonte Web): armazena os formulários HTML, código JavaScript, plugins, CSS e outros arquivos do projeto web da aplicação.
    • Arquivos do Template: permite criar ou customizar templates do seu projeto.
    • config (Configurações): contém arquivos de teste e configurações:
      • app.config (Configurações do Projeto): abre a janela de configurações do projeto;
      • context.xml (Bancos de dados): abre a janela de configurações dos bancos de dados do projeto.
    • diagram (Diagrama de dadis): contém os arquivos de diagrama de classe do projeto.
    • docs (Documentação)arquivos de documentação do projeto, nele você poderá criar diagramas UML, fluxogramas, diversos recursos para ajudar no desenvolvimento do projeto.
    • .gitignore: estão descritos os arquivos que serão ignorados na hora de fazer o commit / push para o git.
    • Dockerfile: arquivo de configuração do Docker.
    • pom.xml (Definições Maven): ferramenta que gerencia os plugins e bibliotecas Maven do projeto.
    • README.md: arquivo de texto que apresenta um pequeno tutorial de importar projeto GIT. O conteúdo é exibido na tela inicial do seu projeto na página git;
    • template.properties: propriedades do template utilizado pelo projeto.

Âncora
codigos-fonte-servidor
codigos-fonte-servidor

Diretório java

Dentro desse diretório estão contidas as camadas DAO e Entity, pastas com arquivos de configurações, internacionalização. relatórios e demais arquivos do servidor da aplicação.


Figura 43.4 2 - Arquivos do Servidor da Aplicação


Os subdiretórios e arquivos da pasta java (Código Fonte Servidor):

  • app: o diretório com o  diretório do Namespace principal do servidor:
    • dao: contém os arquivos responsáveis pela comunicação das entidades com o banco de dados;
    • entity: diretório que contém as classes das entidades da aplicação;
    • AppConfiguration.java: arquivo de configurações iniciais do projeto java;
    • populate.json: arquivo que contém os dados para popular o banco no momento que ele é iniciado pela primeira vez. Esse conteúdo é configurado pela funcionalidade Permissão de segurança.
  • blockly (Bloco Blocos de Programação): diretório onde contém as funções de blocos de programação do servidor;

  • i18n: diretório que contém às propriedades de internacionalização no lado servidor do projeto;
  • META-INF: diretório relacionados a arquivos JAR para configurar aplicações, extensões, carregadores de classes e serviços;:
      SpringBootMain
      • customQuery.
      java: classe que inicia o contexto de aplicação do SpringBoot;
      • json: arquivo de configuração das Fontes de dados do sistema;
      • persistence.xml: arquivo utilizado pelo JPA.
    • Relatórios: diretório que armazena os relatórios criados no projeto. Por padrão, essa pasta não existe quando o projeto é criado, mas para o fazê-lo, clique em seu ícone (destaque 1 da Figura 43.42) na barra de atalhos da árvore de arquivos.
    • SpringBootMain.java: classe que inicia o contexto de aplicação do SpringBoot.

    Âncora
    codigos-fonte-mobile
    codigos-fonte-mobile

    Códigos Fonte Mobile

    Diretório mobileapp

    Arquivos responsáveis por gerar a aplicação mobile (Android e iOS).


    Image Modified

    Figura 43.5 3 - Estrutura do diretório Códigos Fonte Mobile


    Os subdiretórios e arquivos da pasta mobile (Código Fonte Mobile):

    • certsCertificate Enrollment Requests, esse diretório contém certificados que foram requisitados e estão com status pendentes ou já foram rejeitados.
    • hooks: representa o diretório de scripts especiais que podem ser adicionados ao sistema para customizar comandos Cordova, que é uma estrutura apache de desenvolvimento de aplicativos móveis.
    • res: pasta criada por padrão para uso de recursos na com recursos recursos da aplicação:
      • icon: ícones utilizados na aplicação mobile;
      • screen: plano de fundo da aplicação mobile.
    • www (Arquivos da Aplicação): armazena a estrutura da aplicação mobile (verificar tópico diretório www);.
    • .gitignore: estão descritos os arquivos que serão ignorados na hora de fazer o commit / push para o git;.
    • config.xml: arquivo de configuração global que controle aspectos de uma aplicação Cordova;.
    • network_security_config.xml: arquivo utilizado para a configuração de rede em aplicações mobile.
    • package.json: responsável por descrever o projeto, informar as engines (versão do node e do npm), URL do repositório, versão do projeto entre outros coisas.

    Âncora
    diretorio-www
    diretorio-www

    Diretório www

    Diretório que armazena a estrutura da aplicação mobile, como telas, imagens, os blocos de programação que geram código fonte JavaScript, internacionalização e mais.


    Image Modified

    Figura 3.4 .5.1 - Estrutura da pasta www


    Os subdiretórios e arquivos da pasta www (Arquivos da Aplicação):

    • bowerscripts: arquivos referente bowerscripts: arquivo referente ao Bower, uma ferramenta que ajuda no gerenciamento das dependências do front-end;.
    • css: local onde ficam armazenadas as estilizações armazenados as estilizações feitas em low-code na janela de edição visual;.
    • i18n: diretório onde ficam os arquivos de internacionalização da de internacionalização da aplicação mobile;.
    • img: local usado para armazenar imagens usadas na aplicação;.
    • js (Regras de Negócio): diretório de que mantém os arquivos blockly e JavaScript e blockly do lado cliente mobile:responsáveis por tratar as rotas Angular, autenticação e regras de negócios do sistema:
      • blockly (Blocos de Programação
      • bloco de programação (blockly): diretório onde ficam as funções de bloco de programação , possui um subdiretório com funções usadas durante a autenticação (6 da Figura 4.1)da aplicação:
        • auth: blocos de programação que tratam a autenticação dos usuários no sistemas mobile.
    • node_modules: local onde ficam armazenadas diversas bibliotecas usadas no projeto. Durante
      Durante as atualizações do Cronapp, o conteúdo dessa pasta é alterado ou substituído, por isso não recomendamos atualizar ou adicionar nada manualmente;.
    • views (Formulários (views): diretório que organiza as telas do da aplicação mobile:
      • error (Erros (error): telas de informação de erros do sistema, os usuários serão encaminhados para essas telas quando ocorrer um erro no sistema;
      • Autenticado Logged (loggedAutenticado): contém as páginas telas com permissão de acesso apenas para os usuários logados no sistema;
      • Públicopublic (publicPúblico): páginas telas sem restrição de acesso;
      • login.view.html: por padrão é a primeira página exibida para o usuário. Acesse Alterar tela inicial, caso queira mudar a tela inicial da sua aplicação.
    • .bowerrc: pacote de gerenciamento dos componentes mobile, bibliotecas, frameworks;.
    • bower.json: arquivo JSON de gerenciamento das dependências do projeto;.
    • cordova.js: arquivo JavaScript que tem as principais funções do Cordova;.
    • cordova_plugins: arquivos JavaScript que exporta os plugins do Cordova;.
    • favicon.ico: ícone do Cordova;.
    • index.html: contém as referências de plugins e CSS usados nas telas do sistema;.
    • package.json: responsável por descrever a parte mobile, informando a versão do projeto, o nome do projeto, a descrição, a URL do repositório, a página principal e entre outros coisas;-lock.json: arquivo de configuração do Node Package Manager (npm).
    • package.json: arquivo de configuração do Node Package Manager (npm).
    • README.md: arquivo de texto que README.md: arquivo de texto que apresenta um pequeno tutorial de como usar o template do Ionic Framework.

    Âncora
    codigos-fonte-web
    codigos-fonte-web

    Códigos Fonte Web

    Diretório webapp

    Diretório que armazena a estrutura do sistema web, como as páginas, os blocos de programação que geram código fonte JavaScript, internacionalização e outros.


    Image Modified

    Figura 43.6 5 - Estrutura do diretório Códigos Fonte Web


    • bowerscripts: arquivo referente ao Bower, uma ferramenta que ajuda no gerenciamento das dependências do front-end.
    • css:  local local onde ficam armazenadas as estilizações armazenados as estilizações feitas em low-code na janela de edição visual.
    • i18n:  diretório diretório onde ficam os arquivos de internacionalização do sistema de internacionalização da aplicação web.
    • js (Regras de Negócio): diretório de que mantém os arquivos blockly e JavaScript e blockly do lado cliente web:responsáveis por tratar as rotas Angular, autenticação e regras de negócios do sistema:
      • blockly (Blocos de Programação
      • Bloco de programação (blockly): diretório onde ficam as funções de bloco de programação (8 da Figura 4.1)da aplicação:
        • MutualAuth.blockly: bloco responsável pela autenticação do usuário no sistema web.
    • node_modules: local onde ficam armazenadas diversas bibliotecas usadas no projeto. Durante
      Durante as atualizações do Cronapp, o conteúdo dessa pasta é alterado ou substituído, por isso não recomendamos atualizar ou adicionar nada manualmente.
    • Formulários: diretório onde ficam as páginas web:
      • Administrativo admin (adminAdministrativo): contém as páginas com permissão de acesso apenas para os usuários com perfil de administrador do sistema;
      • Erros error (errorErros): páginas com informação de erros do sistema, os usuários serão encaminhados para essas páginas quando ocorrer um erro no sistema;
      • Autenticado Logged (loggedAutenticado): contém as páginas com permissão de acesso apenas para os logados no sistema;
      • public (Público (public): páginas sem restrição de acesso.
      • login.view.html: por padrão é a primeira página exibida para o usuário. Acesse Alterar página inicial, caso queira mudar a página inicial da sua aplicação.
    • .bowerrc: pacote de gerenciamento dos componentes webbowerrc: pacote de gerenciamento dos componentes web, bibliotecas, frameworks.
    • bower.json: arquivo JSON de gerenciamento das dependências do projeto.
    • index.html: contém as referências de plugins e CSS usados nas páginas do sistema.
    • package-lock.json: arquivo de configuração do Node Package Manager (npm).
    • package.json:  responsável por descrever a parte web, informando a versão do projeto, o nome do projeto, a descrição, a URL do repositório, a página principal e entre outros coisas.arquivo de configuração do Node Package Manager (npm).

    <TODO>

    Menu de contexto

    Existem algumas ações que podem ser feitas ao clicar com o botão direito do mouse na raiz do projeto (nome do projeto). O conteúdo exibido no menu de contexto varia com o tipo de projeto: servidor, mobile e web.


    Figura 4.7 - Menu de contexto da raiz do projeto


    • Importar: importa um projeto Cronapp em formato .zip ou obtém serviços de uma estrutura SOAP.
    • Exportar: exporta o projeto em um dos seguintes formatos: GIT/SVN, war ou zip.
    • Banco de dadosabre a funcionalidade de configuração do banco de dados do projeto.
    • Recompilar projeto: complicação do projeto.
    • Recompilar e reabrir projeto: compilação, fecha o projeto e o reabre.
    • Recarregar: recarrega novamente a árvore de arquivos.
    • Baixar: faz o download do conteúdo selecionado, no caso de diretórios, o mesmo é compactado em formato .zip.
    • Compartilhar Pasta: abre uma janela que disponibiliza um link que permite que o usuário faça o download dessa pasta. Também é possível enviar esse link por e-mail.
    • Abrir terminal: abre o diretório selecionado em um terminal linux.
    • Arquivar projeto: arquiva o projeto, no qual seus arquivos serão mantidos no sistema, porém suas funcionalidades estarão desativadas.
    • Fazer Backup: cria uma cópia do projeto no estado atual. Acesse o backup através da funcionalidade Gerenciamento de Backup.
    • Conceder acesso remoto: abre uma janela que gera um link para permitir o acesso remoto por outro usuário, o Cronapp solicitará sua autorização quando o novo usuário abrir o projeto. Também é possível enviar o link de compartilhamento por e-mail, basta inserir os e-mails que deseja enviar o link.
    • Novo: cria ou adiciona um novo arquivo:
      • Fazer upload: faz upload de um arquivo do computador para o projeto;
      • Fazer upload de um zip: faz upload de um .zip para o projeto, esse processo descompacta automaticamente o conteúdo compactado no local selecionado;
      • Fazer upload de um link: permite realizar o upload de um arquivo passando a sua URI;
      • Existem diversas opções de arquivos para serem criados, como JavaScript, JSON, XML, HTML, relatório ou você pode usar a opção Outro para criar um arquivo com outra extensão.
    • Adicionar novo plugin: abre a janela para selecionar e adicionar um plugin ao projeto;
    • Aplicar modelo: retorna a tela de seleção do tipo de projeto e tema, então os arquivos serão sobrescritos pelos do novo modelo;
    • Compartilhar Projeto: abre uma janela que disponibiliza um link que permite que outro usuário copie o projeto para sua conta. Também é possível enviar esse link por e-mail;
    • Configuração: abre a janela de configurações gerais do projeto;
    • Fechar: fecha o projeto.

    Menu de contexto de pasta e arquivos

    Existem algumas ações que podem ser feitas ao clicar com o botão direito num diretório ou arquivo na árvore da IDE.


    Figura 4.8 - Menu de contexto de um diretório e um arquivo respectivamente


    • Recarregar: recarrega novamente a árvore de arquivos.
    • Compartilhar Pasta: abre uma janela e disponibiliza um link público que permite o usuário fazer o download desse diretório compactado em formato .zip. Também é possível enviar esse link por e-mail.
    • Abrir terminal: abre o diretório selecionado em um terminal linux.
    • Arquivar projeto: arquiva o projeto, seus arquivos serão mantidos no sistema, porém as funcionalidades dele estarão desligadas.
    • Fazer Backup: cria uma cópia do projeto no estado atual. Acesse o backup através da funcionalidade Gerenciamento de Backup.
    • Novo: cria ou adiciona um novo arquivo;
      • Fazer upload: faz upload de um arquivo do computador para o projeto;
      • Fazer upload de um zip: faz upload de um .zip para o projeto, esse processo descompacta automaticamente o conteúdo compactado no local selecionado;
      • Fazer upload de um link: permite realizar o upload de um arquivo passando uma URL;
      • Existem diversas opções de arquivos para serem criados, como JavaScript, Json, XML, HTML, relatório ou você pode usar a opção Outro para criar um arquivo com outra extensão.
    • Renomear: renomeia o arquivo ou diretório selecionado.
    • Remover: exclui o arquivo ou diretório selecionado.
    • Copiar: copia o arquivo ou diretório selecionado.
    • Recortar: recorta o arquivo ou diretório selecionado.
    • Colar: cola o arquivo ou diretório que foi recortado ou copiado.
    • Duplicar: duplica o arquivo ou diretório selecionado.
    • Propriedades: mostra as propriedades do arquivo ou diretório selecionado.
    • Abrir: abre o arquivo selecionado.
    • Abrir com: abre o arquivo como editor de texto.
    • Baixar: faz o download do conteúdo selecionado, no caso de diretórios o mesmo é compactado em formato .zip.
    • Compartilhar Arquivo: abre uma janela e disponibiliza um link público que permite o usuário fazer o download desse arquivo. Também é possível enviar esse link por e-mail.


    Propriedades


    Figura  - Acesse as propriedade de arquivos e diretórios para saber o endereço real

    Menu de contexto do arquivo Maven

    O arquivo Definições Maven (pom.xml) possui uma categoria a parte em seu menu de contexto.


    Figura 4.9 - Ações específicas para o Maven


    • Maven: ferramenta que faz o gerenciamento de dependências da aplicação e automatização de builds (versionamento e documentação):
      • Processar alvos: abre uma janela para executar comandos do Maven;
      • Empacotar e baixar WAR: compacta os arquivos Maven e faz o download do .war gerado.


Nesta página

Índice