Revisões e Revisão
O Chinaski mantém histórico editorial em três camadas: rascunhos autos salvos para quem digita, snapshots completos para cada versão salva de um item, e um fluxo de aprovação que move rascunhos através de revisão. Esta página explica cada camada e o ciclo "retornar para revisão" que fecha o laço.
Respostas rápidas
- O que acontece quando salvo? Um snapshot completo da page, post ou document é capturado antes de sua alteração ser gravada, o histórico está sempre pelo menos um passo atrás da sua edição atual.
- Enquanto ainda estou digitando? Sua edição em progresso autosavela como um rascunho por usuário, mantido separado do conteúdo salvo e dos rascunhos de outros usuários. Descartá-lo restaura a versão salva.
- O que acontece quando uma revisão é "retornada"? O item pendente volta para o editor com uma razão opcional (registrada e enviada por e-mail), e ele pode revisar e resseguir.
Revisões
Cada page, post e document mantém seu próprio trilho de revisões:
- Visão de lista - mais recentes primeiro, com um sumário no nível de campo e um marcador de quais campos mudaram em comparação à revisão seguinte. Quando a lista excede o limite visível, a lista o diz.
- Diffs - compare qualquer revisão com o conteúdo vivo atual, ou duas revisões entre si.
- Restaurar - pages e posts podem ser revertidos a qualquer revisão selecionada; a restauração em si é auditada.
Cada entidade mantém um histórico limitado (as entradas mais recentes por item são mantidas; as muito antigas rolam para fora), de modo que o histórico não possa crescer sem limite.
Rascunhos (autosave)
Enquanto você edita, seu formulário autosavela como um rascunho que pertence a você, uma chave de rascunho combina seu ID de usuário com o item, de modo que dois editores trabalhando na mesma page tenham cada um seu próprio estado de autosave e não possam sobrescrever as teclas inacabadas uns dos outros. Você pode descartar seu rascunho explicitamente; ele também nunca sobrescreve a página commitada automaticamente.
O fluxo de revisão
Quando Require approval (Settings → Workflow) está ativado, o conteúdo de não-admins passa por um ciclo de revisão com quatro estados:
Draft → Pending review → Approved (published)
com Rejected como o estado de retorno.
- Submit for review - um editor envia o item para cima; ele passa para revisão pendente (isso também é o que acontece automaticamente quando a aprovação está ativada e um editor clica "publish"). O e-mail de notificação de revisão configurado recebe uma mensagem com o título, o nome do submetedor, e um link direto para revisá-lo.
- Approve - um admin aprova: o item é imediatamente publicado e um build é despachado; qualquer data de agendamento futura restante é limpa para que a page aprovada efetivamente entre no ar. O criador do conteúdo recebe um e-mail de aprovação se sua conta tiver um endereço, e a notificação é auditada.
- Reject (retornar para revisão) - um admin rejeita com uma razão opcional. O item retorna ao seu editor com o status "rejected", a razão é registrada no log de auditoria, e o criador é notificado por e-mail. Ele pode então editar e resseguir.
- Um item rejeitado ou em rascunho pode ser reenviado quantas vezes for necessário; as reaprovações são todas decisões frescas.
Duas coisas a saber na prática
- Notificações por e-mail precisam de SMTP (Settings → Email) e são puladas completamente em modo air-gap, o fluxo ainda funciona; a entrega das mensagens é o que falta. Todo o resto (status, entradas de auditoria, confirmações flash) continua funcionando.
- Aprovar publica e reconstrói. Aprovar não é um rubro sobre um estado de rascunho anterior: ele vira o item para publicado e dispara o build do site para aquele conteúdo.
Reutilização de revisões em todos os lugares
Outros tipos de conteúdo reutilizam a mesma maquinaria: blocks e stacks mantêm seus próprios trilhos de revisão com a mesma interface de diff-e-restaurar, itens de mídia fazem snapshot a cada salvamento, e cada ação de restauração é auditada com o nome do autor.