# Manual de atualização

Este manual descreve como atualizar uma instalação existente do **Business Intelligence (BI)** para uma versão nova. Ele se destina à equipe de infraestrutura (TI).

> Para a primeira instalação, consulte o **Manual de instalação**.

## Como identificar a versão

A versão instalada aparece no **rodapé** de todas as telas do BI, inclusive na tela de login — por exemplo, *Versão: 2026.10.7.1*. A versão segue o formato **Ano.Mês.Dia.Build**.

Cada pacote novo é entregue como `BI-<versão>.zip`, com a mesma estrutura do pacote de instalação (`INSTALAR.bat`, `api/`, `frontend/`, `api-demo/`).

## O que é mantido e o que é substituído

| Item | Na atualização |
|---|---|
| Painéis, fontes de dados, usuários, links compartilhados, auditoria | **Mantidos** — ficam no banco Oracle. |
| Configuração (`C:\BI\api\appsettings.Production.json`): Oracle, chave de segurança, endereços | **Mantida.** |
| Chaves de criptografia (`C:\BI\dados\chaves`) | **Mantidas.** |
| Sites do IIS, firewall, tarefas agendadas | **Mantidos** (e conferidos). |
| Programas (`C:\BI\api`, `C:\BI\frontend`, `C:\BI\api-demo`) | **Substituídos** pela versão nova. |
| Estrutura do banco | **Atualizada automaticamente** pela API na primeira inicialização, quando a versão nova exigir. |

> **Atenção:** qualquer arquivo alterado manualmente dentro de `C:\BI\api`, `C:\BI\frontend` ou `C:\BI\api-demo` (por exemplo, o `web.config`) é **sobrescrito** pela versão nova. A única exceção é o `appsettings.Production.json`.

## 1. Antes de atualizar

1. **Avise os usuários**: o BI fica indisponível por alguns minutos durante a atualização.
2. **Faça cópia de segurança** de:
   - `C:\BI\api\appsettings.Production.json`;
   - a pasta `C:\BI\dados`;
   - a pasta `C:\BI` inteira (para voltar à versão anterior, se necessário);
   - o **schema do BI no Oracle** (com o DBA) — recomendado, porque a atualização pode alterar a estrutura do banco e essa alteração não é desfeita automaticamente.
3. Copie o pacote novo (`BI-<versão>.zip`) para o servidor e **extraia o zip inteiro** em uma pasta nova (não extraia por cima de `C:\BI`).

## 2. Atualizar (recomendado: com o instalador)

1. Na pasta do pacote novo, dê dois cliques em **`INSTALAR.bat`** (ele pede permissão de administrador).
2. O instalador reconhece que o BI já está instalado e:
   - **não** pergunta de novo os dados do Oracle nem do administrador — mostra *"Configuracao existente mantida"*;
   - para os sites do BI no IIS;
   - substitui os programas pelos da versão nova;
   - liga os sites novamente e confere IIS, firewall e APIs de demonstração.
3. Aguarde a etapa **8/8 – Testando**. Na primeira inicialização da versão nova, a API pode levar **1 a 2 minutos** para responder, se precisar atualizar a estrutura do banco.
4. Ao final deve aparecer **"BI INSTALADO COM SUCESSO"**.

> Se o BI tiver sido instalado em outra pasta (opção `-InstallDir`), rode o instalador com a **mesma** opção, pelo PowerShell como administrador: `.\Instalar-BI.ps1 -InstallDir D:\BI`.

## 3. Depois de atualizar

1. Abra o BI no navegador e confira a **versão no rodapé**.
2. Peça aos usuários que recarreguem a página com **Ctrl+F5**, para o navegador não usar a versão antiga guardada.
3. Abra um painel e confira se os dados aparecem.
4. Em caso de aviso amarelo ou erro no instalador, guarde o log `C:\ProgramData\BI-instalacao-<data>.log` e envie para a equipe do BI.

## 4. Atualizar só as APIs de demonstração

Quando a atualização envolver apenas as APIs de demonstração, a equipe do BI envia o pacote pequeno `BI-demo-<versão>.zip`:

1. Extraia o zip no **servidor da API do BI**.
2. Dê dois cliques em **`INSTALAR-DEMO.bat`**.
3. Ao final deve aparecer **"APIS DE DEMONSTRACAO PRONTAS"**.

Esse pacote não mexe na tela, na API do BI, no IIS nem no banco.

## 5. Atualização manual (sem o instalador)

Use apenas se não for possível executar o `INSTALAR.bat`.

1. Faça as cópias de segurança do item 1.
2. No Gerenciador do IIS, **pare** os pools de aplicativos **BI-API** e **BI-Web**.
3. Substitua o conteúdo de `C:\BI\api` pelo da pasta `api/` do pacote novo, **preservando** o `appsettings.Production.json`.
4. Substitua o conteúdo de `C:\BI\frontend` pelo da pasta `frontend/` do pacote novo.
5. **Inicie** os pools **BI-API** e **BI-Web**.
6. Faça as conferências do item 3.

## 6. Voltar à versão anterior

Se a versão nova apresentar problema:

1. Pare os pools **BI-API** e **BI-Web** no IIS.
2. Restaure a cópia da pasta `C:\BI` feita antes da atualização.
3. Se a versão nova tiver alterado a estrutura do banco, peça ao DBA para **restaurar o backup do schema do BI** — a versão anterior pode não funcionar com a estrutura nova.
4. Inicie os pools e confira a versão no rodapé.
5. Informe a equipe do BI, enviando o log da instalação.

## Histórico de versões

| Versão | Principais mudanças |
|---|---|
| **2026.10.7.1** | Nova interface (visual renovado, tema claro/escuro); filtro por clique nos gráficos mais fluido; instalador automático (`INSTALAR.bat`); APIs de demonstração incluídas, com nomes próprios (`api.saneamento.cebi`, `api.os.cebi`); a API aceita vários endereços da tela (`Frontend:BaseUrl` separado por vírgula). |
| 2026.6.12.1 | Primeira versão entregue para publicação no servidor. |