Guia para montagem do ambiente de desenvolvimento

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


Local 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).


Dependê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 (a partir da versão 2310 usamos node 14). Caso o desenvolvedor precise ter mais de uma versão do node instalada pode ser usado nvm.


Dependê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:

cd C:\RM\Atual\Release\FrameHTML\web_src\app\Imb\PVI

yarn


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.


Arquivos 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.

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):


<?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,

],

],

];



Licenç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.

Compilando


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

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.

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.

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

Alternativas 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:

php -S localhost:8000 -t build

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:

iisreset /stop