Encenação de conteúdos.
A encenação de conteúdos é construir e rever páginas do DXPR Builder antes de os visitantes as verem. Há duas formas: um site de encenação separado cujo conteúdo se move para produção, ou revisões e moderação de conteúdo do Drupal num só site. Esta página abrange ambas, e indica exatamente o que uma gravação do construtor faz a revisões e estados de moderação, porque isso decide que abordagem serve.
O que uma gravação do construtor faz
Cada gravação do editor corre estes passos:
- Carrega a revisão predefinida da página, no idioma a editar.
- Verifica que o utilizador atual pode atualizar a página.
- Escreve o novo HTML no campo.
- Se o tipo de entidade tem revisões, cria uma nova revisão e
torna-a a revisão predefinida. O utilizador atual fica o autor, com a mensagem de registo
Saved with DXPR buildere a hora do pedido. - Remove o bloqueio de edição dessa página e revisão e depois guarda a página.
O pedido por trás de uma gravação está descrito em Endpoints de API.
Por isso, cada gravação num nó ou bloco Drag and Drop cria uma nova
revisão, tenha ou não o tipo de conteúdo Create new
revision marcado, e o separador Revisions enumera cada gravação com
a mensagem de registo do construtor. O Drush dxb:page:update também cria uma
revisão, com a mensagem de registo Updated via dxb:page:update Drush command.
O construtor não tem controlo para estado de moderação e nunca define
moderation_state. Quando a moderação de conteúdo está ativa no
tipo de conteúdo, a nova revisão mantém o estado da revisão que o
construtor carregou, e a moderação de conteúdo aplica as regras desse estado
ao guardar:
- Uma página publicada continua publicada, e a nova revisão entra no ar de imediato.
- Uma página não publicada em Draft continua em Draft.
- Uma página com uma revisão predefinida publicada e um rascunho pendente mais novo é um problema: o construtor carrega a revisão publicada, não o rascunho, por isso uma gravação cria uma nova revisão publicada a partir do conteúdo publicado e deixa de lado as alterações do rascunho.
Use o formulário de edição do nó para mudar estados. Para um processo de revisão dentro de um site, mantenha as páginas não publicadas (Draft) enquanto os editores trabalham nelas no construtor, e publique pelo formulário quando a revisão termina.
Fluxo de trabalho com site de encenação
Um site de encenação separado evita os limites de moderação acima e deixa as partes interessadas reverem a página real.
- Os editores constroem e alteram páginas no site de encenação.
- Os revisores aprovam-nas lá.
- Mova o conteúdo aprovado para produção com um dos métodos abaixo.
- Verifique a página em produção como visitante anónimo.
Cópia da base de dados
Copie toda a base de dados de encenação para produção:
drush sql:sync @staging @production
Isto substitui todo o conteúdo de produção, por isso faça cópia de segurança de produção primeiro e conte perder alterações feitas em produção após a cópia. Os ficheiros não estão incluídos; sincronize-os como descrito abaixo.
Exportação seletiva de conteúdo
Para mover páginas individuais, exporte o nó com um módulo como
Default Content, incluindo a multimédia e os ficheiros que a página refere,
e importe-o em produção. O construtor guarda o HTML no
campo de texto, por isso o valor do campo viaja com o nó. Os caminhos de imagem
no HTML apontam para sites/default/files/dxpr_builder_images,
por isso copie esses ficheiros também.
Implementação só de configuração
Se o que construiu é um esquema reutilizável em vez de uma página específica:
-
Na encenação, guarde o esquema com More > Save as template na barra do contentor. Isto cria um modelo de utilizador.
-
Aceda a DXPR Studio > DXPR Builder > User Templates e escolha Create page template nas operações desse modelo.
-
Exporte a configuração:
drush config:export -
Implemente o ficheiro
dxpr_builder.page_template.*.ymle importe-o em produção:drush config:import -
Os editores começam páginas novas a partir do modelo em produção. Os modelos de página aparecem em contentores vazios.
Sincronização de ficheiros
Os carregamentos do construtor vão para dxpr_builder_images,
dxpr_builder_videos e dxpr_builder_files no diretório
de ficheiros predefinido do site. Sincronize-os com o conteúdo:
rsync -avz staging:/path/to/files/ production:/path/to/files/
Um armazenamento partilhado de ficheiros como S3 montado em ambos os ambientes remove este passo.
Revisões e reversão
Como cada gravação é uma revisão, reverter é uma operação do Drupal:
- Abra o separador Revisions da página.
- Encontre a revisão antes da gravação indesejada; cada gravação do construtor
mostra
Saved with DXPR builder. - Clique em Revert.
Reverter cria outra revisão, por isso o histórico fica intacto.
Bloqueios de edição
Quando um editor clica pela primeira vez num contentor, o editor envia um
pedido dxpr_toggle_content_lock para /dxpr_builder/ajax e a
tabela dxpr_lock regista a entidade, revisão, idioma e utilizador.
Quando outro editor abre a página, o editor consulta
dxpr_content_lock_status, esconde os controlos do contentor e mostra
um botão Locked com o nome do detentor do bloqueio. A gravação
apaga a linha. Outro
editor também pode clicar em Locked e confirmar para sobrepor o bloqueio;
a partir daí, a última gravação vence.
O que se segue?
- Cópia de segurança e restauro antes de correr uma cópia de base de dados.
- Controlo de versões para implementar configuração como modelos de página.