Pular para o conteúdo principal

Modo Offline

A aplicação Bemba suporta um modo offline permitindo continuar a trabalhar sem ligação à internet, depois sincronizar os dados quando a ligação for restabelecida.

Visão geral

┌─────────────────────────────────────────────────────────────────────────┐
│ MODO OFFLINE │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ONLINE │ --> │ OFFLINE │ --> │SINCRONIZAÇÃO │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ Dados em Ações em Upload das │
│ tempo real fila de espera modificações │
│ │
└─────────────────────────────────────────────────────────────────────────┘

Funcionamento

Deteção de ligação

A aplicação deteta automaticamente:

EstadoDescriçãoIndicador
OnlineLigação ativa ao servidorVerde
OfflineSem ligaçãoVermelho
Ligação lentaRede 2G ou instávelLaranja

Um indicador é apresentado na barra de estado:

┌─────────────────────────────────────────┐
│ 🟢 Online │ 🔴 Offline │
│ ou │ Modo offline │
│ 🟠 Ligação │ 5 modificações │
│ lenta │ em espera │
└─────────────────────────────────────────┘

Cache

Os seguintes dados são automaticamente colocados em cache:

DadosDuraçãoAtualização
Listas (agregados, beneficiários)24hAutomática
Detalhes consultados1hA pedido
Dados geográficos7 diasRara
Configuração24hAutomática

Fila de espera

As modificações efetuadas offline são armazenadas localmente:

  1. Armazenamento: IndexedDB no navegador
  2. Ordem: As modificações têm carimbo temporal
  3. Prioridade: Tratamento na ordem de registo
  4. Persistência: Conservadas mesmo se o navegador for fechado

Utilização

Passar para modo offline

O modo offline ativa-se automaticamente quando:

  1. A ligação à internet é perdida
  2. O servidor não está acessível
  3. A rede está demasiado lenta

Também pode forçar o modo offline:

  1. Clique no indicador de ligação
  2. Selecione Trabalhar offline

Ações disponíveis offline

AçãoDisponívelNotas
Consultar as listasDados em cache
Ver os detalhesSe já consultados
Criar um agregadoEm fila de espera
Modificar um agregadoEm fila de espera
Criar uma reclamaçãoEm fila de espera
Adicionar comentárioEm fila de espera
Pesquisa avançadaRequer servidor
Exportação ExcelRequer servidor
Upload de documentosRequer servidor

Indicadores visuais

Em modo offline, verá:

  • Badge vermelho: Indicador offline
  • Contador: Número de modificações em espera
  • Ícone relógio: Nos elementos à espera de sync
  • Faixa: Mensagem de aviso no topo da página

Sincronização

Sincronização automática

Quando a ligação volta:

  1. A aplicação deteta a reconexão
  2. A sincronização inicia automaticamente
  3. As modificações são enviadas uma a uma
  4. Os conflitos são sinalizados

Sincronização manual

Para forçar a sincronização:

  1. Clique no indicador de ligação
  2. Selecione Sincronizar agora
  3. Acompanhe a progressão

Progressão

┌─────────────────────────────────────────────────────────────────┐
│ SINCRONIZAÇÃO EM CURSO │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ████████████████████░░░░░░░░░░ 60% │
│ │
│ ✓ Agregado MEN-2026-001 sincronizado │
│ ✓ Agregado MEN-2026-002 sincronizado │
│ ⟳ Reclamação PLT-2026-003 em curso... │
│ ○ Comentário em espera │
│ ○ Agregado MEN-2026-004 em espera │
│ │
│ 3/5 elementos sincronizados │
│ │
└─────────────────────────────────────────────────────────────────┘

Gestão de conflitos

Um conflito ocorre quando:

  • Os mesmos dados foram modificados online e offline
  • Os dados foram eliminados online
┌─────────────────────────────────────────────────────────────────┐
│ CONFLITO DETETADO │
├─────────────────────────────────────────────────────────────────┤
│ │
│ O agregado MEN-2026-001 foi modificado no servidor enquanto │
│ estava offline. │
│ │
│ As suas modificações: Servidor: │
│ - Nome: Diallo Mamadou - Nome: Diallo M. │
│ - Tel: +245955123456 - Tel: +245955999999 │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Manter as minhas │ │ Usar o servidor │ │
│ └──────────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Opções de resolução:

OpçãoDescrição
Manter as minhas modificaçõesAs suas alterações substituem o servidor
Usar o servidorOs dados do servidor são conservados
FundirEscolher campo a campo (se disponível)

Armazenamento local

IndexedDB

Os dados são armazenados em IndexedDB:

StoreConteúdo
sync_queueModificações em espera
cached_dataDados consultados
sync_metaMetadados de sync

Capacidade

NavegadorLimite típico
ChromeAté 80% do disco
FirefoxAté 2 GB
Safari50-100 MB
EdgeAté 80% do disco

Limpeza

Para libertar espaço:

  1. Abra os Parâmetros da aplicação
  2. Secção Armazenamento local
  3. Clique em Limpar a cache
Atenção

Limpar a cache elimina os dados não sincronizados! Sincronize primeiro.

Boas práticas

Antes de passar para offline

  1. Sincronize: Certifique-se de ter os dados mais recentes
  2. Consulte: Abra as fichas de que vai precisar
  3. Verifique: Confirme que nenhuma modificação está em espera

Durante o modo offline

  1. Limite as modificações: Evite grandes volumes
  2. Anote os conflitos potenciais: Evite modificar dados partilhados
  3. Verifique o armazenamento: Monitorize o espaço disponível

Ao voltar online

  1. Sincronize imediatamente: Não atrase
  2. Verifique os conflitos: Resolva-os rapidamente
  3. Confirme: Verifique que tudo está sincronizado

Limitações

Não disponível offline

  • Pesquisa global
  • Exportação de relatórios
  • Upload de ficheiros
  • Criação de ciclos de pagamento
  • Validação de documentos
  • Notificações em tempo real

Limites técnicos

  • Tamanho máx: ~50 MB de dados em cache
  • Duração máx: 7 dias sem sincronização
  • Modificações: 100 elementos máx em fila de espera

Resolução de problemas

A sincronização falha

  1. Verifique a sua ligação à internet
  2. Tente atualizar a página
  3. Limpe a cache e tente novamente
  4. Contacte o suporte se o problema persistir

Dados em falta em modo offline

  1. Os dados devem ter sido consultados pelo menos uma vez
  2. Abra as fichas necessárias antes de passar para offline
  3. Utilize a função "Descarregar para offline" se disponível

O navegador apresenta "Armazenamento insuficiente"

  1. Limpe a cache de outros sites
  2. Elimine os dados antigos da aplicação
  3. Utilize um navegador com mais capacidade

Compatibilidade

NavegadorSuporte
Chrome 90+✓ Completo
Firefox 85+✓ Completo
Safari 15+✓ Limitado
Edge 90+✓ Completo
Chrome Mobile✓ Completo
Safari Mobile✓ Limitado
Progressive Web App

A aplicação pode ser instalada como PWA para uma melhor experiência offline. Consulte o guia de instalação PWA.