Como combinar alterações de dois utilizadores numa aplicação de campo offline?
Quando duas pessoas alteram o mesmo registo numa aplicação de campo offline, a regra «vence a última escrita» não serve para todas as tarefas. Considere a versão do registo, os campos alterados…
O que contém este artigo?
Resposta curta
Quando duas pessoas alteram o mesmo registo numa aplicação de campo offline, a regra «vence a última escrita» não serve para todas as tarefas. Considere a versão do registo, os campos alterados e a importância da operação. Apresente conflitos por resolver ao utilizador ou à equipa operacional autorizada, em vez de esconder perdas de dados numa mensagem de sucesso.
Combinação técnica e decisões de negócio são diferentes
Alterar notas diferentes não equivale a mudar a mesma quantidade em stock. Texto livre, transições, inventário e aprovação precisam de regras próprias. Registe última versão conhecida e campos alterados por cada utilizador. Reenviar o registo inteiro sobrepondo campos antigos pode causar perda.
Uma ordem de trabalho pode ser encerrada enquanto outro dispositivo edita a versão antiga offline. O servidor não deve aceitar a operação só por chegar mais tarde. Verifique estado atual e permissões. A hora do dispositivo não ordena fiavelmente operações; distinga criação local e aceitação no servidor.
Mostrar três estados ao utilizador
Guardado localmente, transferido para o servidor e a aguardar resolução são estados diferentes. Offline, “registo concluído” pode significar para o utilizador aprovação de todo o trabalho. Explique armazenamento e passo pendente. Em conflito, mostre campos relevantes de ambas as versões e a pessoa responsável.
O Firestore suportar acesso offline não significa resolver automaticamente corretamente os conflitos de negócio. Compare sincronização documentada com regras de stock, aprovação e ordens. Relacione filas de ficheiros e registos; defina o estado de um registo cuja fotografia falta.
Um teste repetível com dois dispositivos
Abra o mesmo registo em dois dispositivos e desligue-os. Mude estado num e descrição no outro, reconectando em ordem inversa. Teste também o mesmo campo, trabalho cancelado e acesso revogado. O resultado deve mostrar qual versão foi aceite e porquê, não apenas sincronização terminada. Devolva registos não resolvidos à fila de tratamento.
Lista de verificação da implementação
- Cada campo crítico tem uma regra de conflito?
- É enviada a versão do registo?
- Distinguem-se gravação local e aceitação no servidor?
- Verificam-se as permissões e o estado atual da operação?
- Existe um teste com dois dispositivos e reconexão em ordem inversa?
Perguntas frequentes
Vence a última escrita é suficiente?
Pode ser escolhido para notas; stock e aprovação exigem avaliação separada.
A hora do dispositivo prova a ordem?
Não por si só. Relógios incorretos e transferências atrasadas devem ser tratados separadamente.
Âmbito e limites
As regras dependem do tipo de dados, fornecedor e processo da organização. Defina separadamente segurança dos dispositivos e conservação de dados pessoais offline.
Fontes e atualidade
Verificação das fontes: 7 de outubro de 2026. As versões dos documentos associados e as condições dos fornecedores podem mudar. Consulte a versão atual da fonte relevante antes da implementação.
- Firebase — Acesso offline a dados Firestore
- OWASP — Norma de verificação da segurança de aplicações móveis
