Pular para conteúdo

Projeto eCosif 02/2026

ecosif-web (angular) -- versão: 0.7.01.202601282\ Notas de Versão e Impacto

versão documento data responsável
0.7.01.202601282 20/02/2026 José Augusto de Lima Pereira

Índice

Ecosif-angular - Release Notes e Impacto na Execução 2

1. Resumo executivo 2

2. Novidades e melhorias (release notes para o cliente) 3

2.1 Interface e funcionalidades 3

2.2 Configuração e build 4

2.3 Docker e deploy 4

3. Mudanças que afetam a execução do serviço 4

3.1 Variáveis de ambiente --- ação recomendada 4

3.2 Docker e imagem de produção 5

3.3 Context path e API Gateway 6

3.4 Build (CI/CD) 6

4. Checklist de atualização (0.6.00.x → 0.7.01.x) 6

\ {#section-1} =

Ecosif-angular - Release Notes e Impacto na Execução

Versão anterior: 0.6.00.x\ Versão atual: 0.7.01.x

Este documento descreve as alterações entre a versão 0.6.00.x e a versão 0.7.01.x, em formato de release notes para o cliente, e as mudanças que afetam a execução e a operação do serviço (build, Docker e variáveis de ambiente).

1. Resumo executivo

Aspecto 0.6.00.x (antes) 0.7.01.x (atual)
Versão (referência) 0.5.x / 0.6.00.x 0.7.01.202601282
Angular 14.2.x 14.2.x (mantido)
Configuração em runtime window.env (envsubst no entrypoint) window.env + config.json (entrypoint com sed/envsubst)
Variáveis de ambiente Nomes variados (API_AUTH, IS_DEBUG, APP_PORT, etc.) ECOSIF_ANGULAR_* (padronizado)
Docker (produção) Dockerfile único com envsubst Dockerfile.prod multi-stage (Node build + Nginx), entrypoint dedicado
Health check Conforme config Nginx (ex.: /healthcheck) /health (Nginx)
Documentação Dispersa / buildInfo docs/ (technical, operational, functional, aws-ecs-api-gateway)

A atualização pode exigir reconfigurar as variáveis de ambiente do contentor (ou do build) para os nomes ECOSIF_ANGULAR_* e garantir que o health check no ALB/API Gateway use o path /health.

2. Novidades e melhorias (release notes para o cliente)

2.1 Interface e funcionalidades

  • Login: Melhorias no formulário de login (Azure AD e API interna), tratamento de erros e timeout; suporte a e-mail em vez de apenas username onde aplicável.
  • Balancete Geral: Checkboxes independentes para "Gera Layout TXT" e "Gera Layout XML"; correção de download de XML; nomes de layout COS4010.BC e COS4010.XML (codigoDocumento); remoção do checkbox "Gera Arquivo BC" e correção de desabilitação de radio buttons PDF/TXT.
  • Relatórios: Ajustes em Balancete Mensal (data fim do mês, filial padrão 999999999); padronização de limites e datas na listagem de lançamentos; correções em Relatório 4010 e termo de abertura e encerramento; filtro de relatório diário geral.
  • Cadastros: Melhorias no formulário de criação de empresa e filial; validação de CNPJ (novo formato); campo CVM com validação alfanumérica; correções em cadastro de conta contábil e plano de contas referencial; máscaras (ngx-mask em vez de angular2-text-mask).
  • Lançamentos / listagem: Validação dos campos lancamentoDe e lancamentoAte (máximo 5 caracteres); diagnóstico e inicialização do formulário de listagem; download único quando DRE não solicitado; paginação com infinite scroll e parâmetro configurável.
  • Compliance: Módulo de compliance (regras, pré-validação, download); opção de XML no 4010; manutenção de regras.
  • Administração: Tela de Logs Docker (consulta de logs de contentores); controle de visibilidade do menu admin via ECOSIF_ANGULAR_HIDE_ADMIN_MENU; interface de limpeza de consolidação.
  • Sessão e usabilidade: Gerenciamento de sessão baseado em atividade do usuário (idle/keepalive); reforço de sessão e menu aberto; snack-bars para sucesso e erros em relatórios; loading e tratamento de erros de validação.

2.2 Configuração e build

  • Configuração dinâmica em runtime: Suporte a window.env e a config.json (gerado a partir de config.template.json e variáveis de ambiente no entrypoint).
  • Variáveis padronizadas: Uso de ECOSIF_ANGULAR_API_AUTH_URL, ECOSIF_ANGULAR_API_MASTERDATA_URL, etc., e ECOSIF_ANGULAR_PRODUCTION como fonte da verdade para ambiente em runtime.
  • Ambiente de produção: environment.prod.ts com fallbacks para URLs relativas (ex.: /ecosif-auth, /ecosif-masterdata) e suporte a complianceApiUrl; MSAL (Azure) configurável via variáveis de build/runtime.

2.3 Docker e deploy

  • Dockerfile.prod: Build multi-stage (Node para compilar, Nginx para servir); otimização de camadas e uso de npm ci; health check em /health.
  • Entrypoint: Script dedicado (docker-entrypoint.sh ou conf/docker-entrypoint.sh) que gera env.js e, quando aplicável, config.json a partir das variáveis de ambiente (ECOSIF_ANGULAR_*).
  • Nginx: Configuração com try_files para SPA, cache para assets e endpoint /health retornando 200.

3. Mudanças que afetam a execução do serviço

3.1 Variáveis de ambiente --- ação recomendada

Os nomes das variáveis foram padronizados para o prefixo ECOSIF_ANGULAR_*. O entrypoint do contentor (0.7.01.x) espera essas variáveis para gerar window.env e, quando existir template, config.json.

Tabela de equivalência (0.6.00.x → 0.7.01.x):

0.6.00.x (antigo) 0.7.01.x (atual) Observação
API_AUTH, API_BASE_URL + sufixos ECOSIF_ANGULAR_API_AUTH_URL Base do ecosif-auth (ex.: /ecosif-auth).
(idem para masterdata, moviments, querys, reports) ECOSIF_ANGULAR_API_MASTERDATA_URL, ECOSIF_ANGULAR_API_MOVIMENTS_URL, ECOSIF_ANGULAR_API_QUERYS_URL, ECOSIF_ANGULAR_API_REPORTS_URL Bases das APIs; em domínio único use paths relativos.
(não existia) ECOSIF_ANGULAR_API_COMPLIANCE_URL Base do ecosif-compliance (ex.: /ecosif-compliance).
IS_PROD ECOSIF_ANGULAR_PRODUCTION true em produção; usado como fonte da verdade para ambiente.
IS_DEBUG ECOSIF_ANGULAR_DEBUG Modo debug (ex.: false em prod).
(não existia) ECOSIF_ANGULAR_HIDE_ADMIN_MENU true para ocultar menu "Ferramentas Administrativas" (ex.: Logs Docker).
APP_PORT ECOSIF_ANGULAR_PORT Porta em que o Nginx escuta (ex.: 80).
AUTH_TOKEN ECOSIF_ANGULAR_AUTH_TOKEN Chave localStorage do JWT (opcional).
(build) ECOSIF_API_BASE_URL Em dev ou quando não há domínio único; em prod com domínio único não é necessário.
(Azure) ECOSIF_AZURE_CLIENT_ID, ECOSIF_AZURE_AUTHORITY, ECOSIF_AZURE_TENANT_ID Login Azure AD (MSAL).
(não existia) ECOSIF_PAGINATION_SIZE Tamanho padrão de paginação (ex.: 100).

Importante: Em produção com domínio único (ex.: https://app.ecosif.banco.com.br), as bases das APIs são apenas paths relativos (/ecosif-auth, /ecosif-masterdata, etc.); não é obrigatório definir ECOSIF_API_BASE_URL no frontend.

3.2 Docker e imagem de produção

  • Imagem: Na versão 0.7.01.x o deploy de produção usa Dockerfile.prod (multi-stage: Node → Nginx). O Dockerfile antigo (build + envsubst no CMD) pode ainda existir para outros contextos, mas o recomendado é Dockerfile.prod.
  • Entrypoint: O contentor não usa apenas envsubst sobre um único arquivos; usa um script que pode gerar env.js e config.json a partir das variáveis ECOSIF_ANGULAR_*. Garanta que todas as variáveis necessárias estejam definidas na task definition ou no docker-compose.
  • Porta: O Nginx escuta na porta 80 (ou na definida por ECOSIF_ANGULAR_PORT). Expor essa porta no ALB/API Gateway.
  • Health check: O endpoint de health check é /health (retorna 200). Configure o ALB e o API Gateway para usar GET /health na porta 80.

3.3 Context path e API Gateway

  • O frontend é servido na raiz do domínio (path /). Não há context path no Nginx; o API Gateway encaminha / (e paths não reservados para as APIs) para o ALB do serviço ecosif-angular.
  • As chamadas das APIs são feitas para a mesma origem (ex.: https://app.ecosif.banco.com.br/ecosif-auth/...). Confirme que ECOSIF_CORS nos backends inclui a URL exata do frontend.

3.4 Build (CI/CD)

  • Node: Recomendado Node 14+ ou 16+; memória sugerida para build (ex.: 6GB) com node --max_old_space_size=6144 se necessário.
  • Comando: npm ci (ou npm install) e npm run build com configuração production. Variáveis de build (ECOSIF_ANGULAR_*) podem ser passadas no CI para sobrescrever fallbacks.
  • Saída: dist/ecosif-web/. O Dockerfile.prod copia essa pasta para /usr/share/nginx/html no estágio Nginx.

4. Checklist de atualização (0.6.00.x → 0.7.01.x)

  • [ ] Variáveis de ambiente: Atualizar para os nomes ECOSIF_ANGULAR_* na task definition, docker-compose ou arquivos de configuração (ver tabela em 3.1).
  • [ ] Imagem Docker: Usar a imagem construída com Dockerfile.prod (multi-stage, Node + Nginx) e o entrypoint que gera env.js (e config.json se aplicável).
  • [ ] Health check: Configurar o ALB/API Gateway para GET /health na porta 80 do contentor.
  • [ ] URLs das APIs: Em domínio único, definir apenas paths relativos (ex.: ECOSIF_ANGULAR_API_AUTH_URL=/ecosif-auth); não é necessário ECOSIF_API_BASE_URL no frontend.
  • [ ] Menu admin: Definir ECOSIF_ANGULAR_HIDE_ADMIN_MENU=true em produção se a tela de Logs Docker (e outras ferramentas administrativas) não devam ser expostas a todos os utilizadores.
  • [ ] Produção: Definir ECOSIF_ANGULAR_PRODUCTION=true para que a aplicação considere o ambiente como produção (comportamento e chamadas às APIs).
  • [ ] Documentação: Após o deploy, validar o carregamento da SPA em https://<domínio>/ e o acesso às APIs (login, cadastros, relatórios) conforme o context path dos backends.