Encenação de conteúdos.

Learn DXPR BuilderManage the siteNaar productie

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:

  1. Carrega a revisão predefinida da página, no idioma a editar.
  2. Verifica que o utilizador atual pode atualizar a página.
  3. Escreve o novo HTML no campo.
  4. 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 builder e a hora do pedido.
  5. 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.

  1. Os editores constroem e alteram páginas no site de encenação.
  2. Os revisores aprovam-nas lá.
  3. Mova o conteúdo aprovado para produção com um dos métodos abaixo.
  4. 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:

  1. Na encenação, guarde o esquema com More > Save as template na barra do contentor. Isto cria um modelo de utilizador.

  2. Aceda a DXPR Studio > DXPR Builder > User Templates e escolha Create page template nas operações desse modelo.

  3. Exporte a configuração:

    drush config:export
    
  4. Implemente o ficheiro dxpr_builder.page_template.*.yml e importe-o em produção:

    drush config:import
    
  5. 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:

  1. Abra o separador Revisions da página.
  2. Encontre a revisão antes da gravação indesejada; cada gravação do construtor mostra Saved with DXPR builder.
  3. 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?