Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Guia para montagem do ambiente de desenvolvimento

Índice

Painel
titleColor#FF9000
titleChecklist de Instalação

Checklist de Instalação

  1. Resgatar os fontes do TFS.

  2. Fazer instalação de todas dependências de compilação.

  3. Acessar o diretório dos fontes do PVI recuperados do TFS para sua máquina.

  4. Executar o comando yarn

  5. Incluir o arquivo de licença compartilhado em ./src/api

  6. Acessar ./src/api e duplicar os arquivos config_ambiente.php.new, config_db.php.new, config_php.php.new.

  7. Dos arquivos duplicados no passo anterior, renomear às cópias removendo a extensão .new, por exemplo, "config_db.php.new copia" para config_db.php.

  8. Rodar o comando de compilação "gulp watch" no diretório raiz.

  9. Apontar o IIS para ler os fontes compilados para servir no endereço: http://localhost:8000

Painel
titleColor#FF9000
titleLocal dos Fontes no TFS

Para compilação do PVI é necessário primeiramente fazer cópia dos fontes no TFS. Para fins didáticos, usaremos como base apenas a versão "Atual" no TFS da TOTVS ($/RM/Atual/Release/FrameHTML/web_src/app/Imb/PVI).

Painel
titleColor#FF9000
titleDependências para compilação

Todas dependências abaixo precisam ser instaladas uma única vez no sistema operacional.

  1. Por uma questão de padronização do local de instalação do PHP, é sugerido extrair o download do PHP em C:\Protos\PHP. Caso faça opção por instalar em diretório diferente do indicado, será necessário editar o arquivo php.ini e alterar o endereço de extensões fixadas com diretório "C:\protos\php\ext\" para seu diretório de instalação.

  2. Mesmo a TOTVS não usando Git para controle de versão PVI é necessário ter o Git para que gerenciador de dependências frontend do PVI possa baixar fontes do Git. Futuramente estaremos remover essa dependência, por enquanto será necessário ter o git.

  3. Node precisar ser versão 10. Caso o desenvolvedor precise ter mais de uma versão do node instalada pode ser usado nvm.

Painel
titleColor#FF9000
titleDependências do Portal

Depois de instalado todas dependências para compilação é necessário fazer instalação de dependencias do próprio PVI.

Dependências do PVI pode ser entendido como bibliotecas de terceiros como AngularJS, Bootstrap, APIs do Google Maps e etc.

Vamos partir do ponto que os fontes do PVI foram resgatados do TFS de $/RM/Atual/Release/FrameHTML/web_src/app/Imb/PVI e mapeados para C:\RM\Atual\Release\FrameHTML\web_src\app\Imb\PVI, então acesse diretório pelo prompt de comando e rode os comandos abaixo:

Bloco de código
themeMidnight
cd C:\RM\Atual\Release\FrameHTML\web_src\app\Imb\PVI
yarn
Painel
titleColor#FF9000
titleConceitos Importantes Pré Compilação

Em ambiente de desenvolvimento será usado apenas o comando usando o gerenciador de tarefas (gulp), esse comando irá gerar os fontes compilados em um subdiretório chamado /build, dentro deste subdiretório base do PVI. Esse comando também ficará verificando se houve alguma modificação nos fontes em /src,caso haja, os fontes serão compilados automaticamente e movidos para build, desse forma, você como desenvolvedor não precisa ficar rodando os comando de build o tempo todo nem fica clicando em botões de build.

Conceitos Importantes Pré Compilação

Em ambiente de desenvolvimento será usado apenas o comando usando o gerenciador de tarefas (gulp), esse comando irá gerar os fontes compilados em um subdiretório chamado /build, dentro deste subdiretório base do PVI. Esse comando também ficará verificando se houve alguma modificação nos fontes em /src,caso haja, os fontes serão compilados automaticamente e movidos para build, desse forma, você como desenvolvedor não precisa ficar rodando os comando de build o tempo todo nem fica clicando em botões de build.
Painel
Painel
titleColor#FF9000
titleArquivos de Configurações

Por padrão, o fonte já vem com alguns arquivo de configuração como exemplo e através destes arquivos de exemplo temos liberdade de ajustar configurações para se adequar às necessidade de cada instalação. Os arquivos de configurações estão localizados no subdiretório: ${your-path}/src/api são:

  • config_ambiente.php.new

  • config_db.php.new

  • config_php.php.new

Para montagem manual dos ambientes, os arquivos listados acima precisam ser duplicados. Dos arquivos duplicados, ele precisam ser renomeados para seus respectivos nomes, porém sem a extensão .new. Por exemplo:

Você duplica (copia e colar) o arquivo config_ambiente.php.new, no arquivo duplicado é que deve ser o arquivo renomeado para config_ambiente.php

Repita esse mesmo processo para todos os outros arquivos.


Aviso
Não renomeie diretamente os arquivos config_ambiente.php.new, config_db.php.new e config_php.php.new, primeiro é necessário fazer uma cópia e renomer SOMENTE às cópias.

Todos os arquivos abordados aqui são são arquivos de configuração de ambientes, bancos de dados e parametrizações da linguagem PHP.

Veja um exemplo do arquivo de configuração de banco de dados (/src/api/config_db.php):


Bloco de código
themeMidnight
<?php

$dsn = [
    'producao'    => [
        'pvi' => [
            'dsn'       => 'sqlsrv:server=%s; database=%s',
            'server'    => 'seu-host',
            'user'      => 'sa',
            'pass'      => 'sua-senha',
            'database'  => 'sua-base-pvi',
            'port'      => '',
            'charset'   => 'utf8',
            'collation' => 'SQL_Latin1_General_CP1_CI_AS',
            'logs'      => false,
            'debug'     => false, // altere para true para salvar as consultas na pasta /log
            'cache'     => true,
        ],
    ],

    'homologacao' => [
        'pvi' => [
            'dsn'       => 'sqlsrv:server=%s; database=%s',
            'server'    => '',
            'user'      => '',
            'pass'      => '',
            'database'  => '',
            'port'      => '',
            'charset'   => '',
            'collation' => '',
            'logs'      => false,
            'debug'     => false,
            'cache'     => true,
        ],
    ],
];
Painel
titleColor#FF9000
titleLicença de uso compartilhada

Devido o controle de licenças, em desenvolvimento necessariamente precisar ser criado no domínio localhost:8000. O arquivo de licença é compartilhado entre todos participantes do time que queiram usar PVI. Para isso, precisa ser baixado por este link e colocado na sua instalação no diretório /src/api.

Painel
titleColor#FF9000
titleCompilando

Para compilação, no diretório base do PVI rode o comando:


Bloco de código
themeMidnight
gulp watch

Caso queira, o comando acima pode ser substituído por uma .bat, dessa forma, basta dar duplo em build.watch.bat. Ambas alternativas chegam ao mesmo resultado.

Painel
titleColor#FF9000
title
Criando Site no IIS

O site precisa ser criado no IIS, para isso basta clicar com lado direito do mouse e adicionar novo site. Feito isso, precisa acessar o site criado, procurar pelo PHP Manager e registrar a versão do PHP instalada nos passos anteriores.

Image Added

Image Added


Painel
titleColor#FF9000
title

Registrando PHP para site do PVI

Escolhendo versão do PHP
Configurações Finais

Agora será necessário no IIS informar onde estão os fontes compilados do PVI, para isso acesse a home do site no IIS e siga os procedimentos da imagem.

Selecionando os fontes no IIS

Image Added

Painel
titleColor#FF9000
titleAlternativas ao IIS

Enquanto em ambiente de desenvolvimento, existe a possibilidade de não se preocupar com IIS e usar o servidor de testes embutido no PHP. Para isso, é necessário que o PHP esteja no PATH das variáveis de ambiente do sistema operacional.

Feito isso, basta que no diretório base dos fontes do PVI seja rodado o seguinte comando:


Bloco de código
themeMidnight
php -S localhost:8000 -t build



Aviso

Certifique que a porta 8000 não esteja sendo usada.

Caso o IIS esteja usando a porta 8000, você pode parar o site pelo IIS ou abrir o prompt de comando como administrador e executar o comando:

Bloco de código
themeMidnight
iisreset /stop