A gestão do tempo
01Porque é uma funcionalidade, não um detalhe #sec_fe499f4b
Uma campanha de certificação é feita de compromissos datados: uma data limite a cumprir, uma janela para contestar, uma data de certificação que faz fé. Assim que um cliente opera em vários fusos horários — uma sede em Paris, uma filial em Tóquio, um centro de serviços nos Açores — a questão « que dia é hoje? » deixa de ter uma resposta única. A maioria das ferramentas ignora-a: vivem na hora do seu servidor, e o cliente descobre um dia que uma data limite caiu duas horas demasiado cedo, ou que um relatório perdeu o seu último dia.
REVIEWIT trata o tempo como um dado de governança à parte inteira. Cada valor temporal do produto pertence a uma de duas naturezas, e cada uma obedece a regras próprias:
O instante — o momento preciso em que algo aconteceu: uma decisão tomada, uma delegação criada, um evento de auditoria. Um instante é absoluto; é registado em tempo universal e restituído na hora do leitor.
A data civil — um dia no calendário: a data limite de uma campanha, o fim de um plano, um dia feriado, um ciclo de santuário. Uma data civil não tem hora; só faz sentido no fuso de quem a concerne, e aí fica.
Toda a funcionalidade decorre desta distinção. Uma data limite nunca « desliza » porque um servidor está noutro lugar; um carimbo de data/hora de prova nunca muda de valor consoante quem o lê — só a sua exibição se adapta.
02O fuso de referência: o do cliente, ao seu nível de governança #sec_69e30f9e
Cada valor temporal é avaliado num fuso de referência, resolvido segundo uma cadeia clara:
O workspace em primeiro lugar. O workspace é o perímetro de governança delegada: uma entidade pilota as suas próprias datas limite. Uma filial de Tóquio encerra as suas campanhas à hora de Tóquio, seja qual for a localização da sede ou da plataforma.
A subscrição em seguida. Se o workspace não declarou um fuso, aplica-se o da subscrição — a configuração que o administrador do cliente define nos seus parâmetros.
O tempo universal em último recurso — nunca a hora do servidor, que não é a de ninguém. Este recuo é registado, para que uma configuração incompleta seja visível pelo operador em vez de sofrida pelo utilizador.
A mudança de fuso de um workspace tem efeito imediato, sem interrupção de serviço: as datas limite, contagens decrescentes e carimbos de data/hora exibidos seguem a nova configuração logo na reconexão dos ecrãs.
03O que isto muda, superfície por superfície #sec_a1ebd790
Campanhas e datas limite
O « D−3 » de uma campanha conta dias do calendário do workspace, não fatias de 24 horas desde um servidor. Uma campanha planeada « para o 28 » lança-se no 28 no cliente — não no 27 à noite porque a plataforma está a leste. A barra de progresso « hoje », os marcos de lançamento e encerramento, os lembretes: todos falam o calendário do workspace.
A fila do revisor, multi-sites por natureza
Um proprietário de recursos pode revisar para vários workspaces ao mesmo tempo — é um princípio do produto. A sua fila de trabalho exibe portanto, lado a lado, pedidos vindos de perímetros diferentes: cada linha conta os seus dias no fuso da sua própria campanha. Dois pedidos vizinhos podem legitimamente exibir dois « hoje » diferentes, porque já é amanhã em Tóquio. Um atraso, uma data limite próxima, uma contagem decrescente: tudo é verdade linha a linha.
A data de certificação: um ato, uma só data
Quando um pedido é certificado, a data inscrita é a do dia no fuso do workspace que porta a campanha — nunca a do servidor, nunca a do fuso pessoal de quem clica. Dois revisores situados a dez fusos de distância que certificam a mesma campanha no mesmo dia produzem a mesma data. É isto que faz desta data uma peça oponível: ela é retomada tal qual nos dossiers de certificação e nas provas.
A pista de auditoria: o instante exato, legível localmente
Cada evento de auditoria é registado ao instante universal exato — é a matéria da prova, ela nunca varia. No ecrã, estes instantes são restituídos na hora do perímetro consultado, bornes de pesquisa incluídas: uma pesquisa « do 4 ao 21 » cobre do início do 4 ao fim do 21, horas locais do cliente. Verificado em condições reais: o mesmo evento, consultado desde três configurações de fuso, exibe-se a três horas locais exatas — incluindo a passagem ao dia seguinte quando ela tem lugar.
Comunicações: publicadas « a 12 », abertas a 12 em cada um
Uma atualidade ou uma notificação publicada pelo editor « de 12 a 20 » abre-se ao início do 12 no fuso de cada subscrição, e fecha-se ao fim do 20 — em cada um. Um cliente de Auckland e um cliente de Montreal veem a mesma janela de publicação, cada um no seu calendário, sem que nenhum a veja amputada ou desfasada.
Planos e subscrições: o serviço devido até ao fim do último dia
Uma data de fim de plano é um compromisso de calendário: o serviço é prestado até ao fim do último dia no cliente, período de graça incluída. O ciclo de vida automático das subscrições (ativo, período de graça, arquivamento) aplica esta regra — a mesma que a exibida nas consolas de administração, para que um cliente nunca veja o seu serviço parar antes do que o seu ecrã lhe anuncia.
Ciclos de governança: santuário, delegações, papéis
As datas limite de reexame do santuário, os períodos de delegação, as datas de expiração dos papéis são datas civis do workspace. « Adicionado há 5 dias », « expira em 30 dias », « reexame devido »: todas estas contas fazem-se em dias do calendário do cliente. Uma expiração de papel aplica-se no dia certo, em todo o lado, para toda a gente — o ecrã que a exibe, aquele que a cria e o tratamento que a suspende lêem o mesmo calendário.
Relatórios, gráficos e exportações
Os relatórios cortados « sobre os 30 últimos dias » cobrem dias civis inteiros do workspace — o último dia incluído. Os gráficos de atividade alinham as suas barras sobre estes mesmos dias, de modo que duas consultas no dia mostram as mesmas fatias. Os ficheiros exportados portam a hora local do cliente no seu nome: eles classificam-se corretamente num dossier de transferências, e um rodapé de documento indica uma hora local — ou uma hora universal explicitamente marcada como tal.
04As garantias de fundo #sec_5648f06c
O armazenamento é em tempo universal, a exibição é local. Os instantes são conservados sob uma forma absoluta e sem ambiguidade; a conversão para a hora do leitor faz-se no momento da exibição, nunca antes. Nenhum valor « já convertido » circula nem se armazena: é isto que torna impossível a dupla conversão e o desfasamento acumulado.
As datas civis não se convertem. Uma data limite inserida « a 28 » é conservada como o dia 28 — ela nunca se torna « a 27 às 22 h » em algum lugar. Passar um workspace de um fuso para outro não desloca nenhuma data limite existente.
A hora do servidor não intervém em lado nenhum. Nem nas datas limite, nem nas provas, nem nas exibições. A plataforma pode ser alojada em qualquer região — e deslocada — sem que nenhum valor de negócio mude.
Os casos limite do calendário são cobertos. Mudanças de hora sazonais, incluindo os fusos que oscilam à meia-noite; horas ambíguas de outono e horas inexistentes de primavera: uma faixa de datas nunca é amputada nem transborda por causa de uma transição.
O comportamento é verificado, não suposto. A cadeia completa — inserção, armazenamento, avaliação, restituição — é coberta por controlos automáticos, e foi validada em aplicação real sobre três configurações de fuso simultâneas (fuso explícito, oscilação a quente, recuo de configuração), provas cifradas em apoio.
05Em resumo #sec_5b091ae2
O tempo, em REVIEWIT, é tratado com a mesma exigência que os direitos de acesso: cada valor tem um proprietário, uma natureza e uma regra — e a infraestrutura não tem voz no capítulo.