Atualizar os fragmentos de conteúdo para referências UUID upgrade-content-fragments-for-UUID-references
Para otimizar a estabilidade dos filtros do GraphQL, você pode atualizar as referências de conteúdo e fragmento nos fragmentos de conteúdo para que elas usem identificadores universalmente exclusivos (UUID).
Originalmente, os Modelos de Fragmento de Conteúdo forneceram os tipos de dados de Referência de Conteúdo e Referência de Fragmento. Ambas as referências usam um caminho para apontar para o recurso referenciado, e esse caminho pode se tornar desatualizado se o recurso for movido. Embora essas referências sejam mais do que suficientes na maioria dos cenários, os modelos de fragmento de conteúdo foram estendidos para também fornecer referências com base em uma UUID:
- Referência de conteúdo (UUID)
- Referência de fragmento (UUID).
Esses novos tipos de referência podem ser usados em novos modelos e fragmentos de fragmento de conteúdo e para estender instâncias existentes.
Para atualizar fragmentos de conteúdo e modelos existentes, você pode executar o procedimento documentado aqui.
O que está atualizado what-is-upgraded
As seguintes atualizações são feitas:
-
Campos dos tipos de dados:
- Referência de Conteúdo são convertidas em Referência de Conteúdo (UUID)
- Referência de fragmento convertida em Referência de fragmento (UUID)
-
Os valores das referências baseadas em caminho mantidas nesses campos são substituídos pelas UUIDs correspondentes
O que NÃO é atualizado what-is-not-upgraded
As seguintes referências não estão atualizadas:
-
Referências de página - As UUIDs ainda não são compatíveis
-
Qualquer referência inválida; por exemplo, onde o destino do caminho do Fragmento de conteúdo, ou caminho do ativo, não existe
-
Referências inválidas não são atualizadas, como se o caminho do Fragmento de conteúdo, ou o caminho do Ativo, fosse inválido. Não há uma UUID correspondente para atribuir. A referência original permanece intocada.
-
Use uma simulação para detectar referências inválidas.
note note NOTE Por serem inválidos, eles não podem ser usados, independentemente da atualização. -
Quando não for necessário atualizar when-you-should-not-upgrade
Não atualizar:
- Quando qualquer um dos fragmentos de conteúdo usa referências de página, as referências de página ainda não têm suporte para UUIDs
Limitações de referências UUID limitations-of-uuid-references
Atualmente, as seguintes limitações se aplicam ao usar referências baseadas em uma UUID:
-
Modelos
- Novos modelos de fragmento de conteúdo com campos UUID de fragmento de conteúdo ou UUID de referência de conteúdo não podem ser criados por meio de OpenAPI.
- O campo
id
para modelos não foi alterado para ser baseado em UUID. Ele usa o caminho decodificado na base64 do modelo. Os modelos não podem ser movidos, portanto, esse valor ainda é estável.
-
Ativos
- Ao criar um fragmento de conteúdo por meio de OpenAPI, os tipos de campo
fragment-reference
oucontent-reference
devem ser usados para especificar referências a um fragmento ou ativo, respectivamente - mesmo ao definir o valor de um campo de referência baseado em UUID.
- Ao criar um fragmento de conteúdo por meio de OpenAPI, os tipos de campo
Planejamento de atualização upgrade-planning
Existem algumas etapas de preparação antes de executar sua atualização.
Executar uma simulação execute-a-dry-run
Recomenda-se que a cada vez que atualizar seu conteúdo, você primeiro execute uma simulação. Isso criará arquivos de log com entradas que destacam possíveis problemas:
- Referências inválidas
- Referências de página
Executar a atualização de conteúdo no modo dryRun
para:
- identificar quaisquer referências inválidas; listando-as nos arquivos de log
Você pode corrigir essas referências antes de executar a atualização de conteúdo real. - identificar quaisquer referências de página; listando-as nos arquivos de log
Quando forem detectadas referências de página, você não deverá executar a atualização de conteúdo.
Forçar um congelamento de conteúdo enforce-a-content-freeze
A execução da atualização de conteúdo deve ser planejada durante um período de congelamento de conteúdo.
A duração do congelamento do conteúdo depende do volume dos Fragmentos de conteúdo que estão sendo atualizados. Dessa forma, a atualização pode variar de alguns minutos a algumas horas e também depende dos parâmetros usados ao iniciar a atualização de conteúdo.
Execução da atualização de conteúdo running-the-content-upgrade
A atualização de conteúdo pode ser gerenciada usando o ponto de extremidade: /libs/dam/cfm/maintenance.json
Administrator
para acessar o ponto de extremidade.Iniciar uma atualização de conteúdo start-a-content-upgrade
/libs/dam/cfm/maintenance.json
POST
start
uuidUpgradeService
1000
/conf
Especifique:
- a raiz
/conf
para atualizar todas as configurações de AEM - um caminho de configuração do AEM selecionado. para o qual a atualização de conteúdo é executada
Por exemplo:/conf/wknd-shared
atualiza somente o único locatáriowknd-shared
10
replicate
, noReplicate
replicate
: replica o mesmo trabalho em todas as instâncias do AEM PublishnoReplicate
: executa o trabalho somente em instâncias do Autor AEM
true
, false
false
: simular a atualização de conteúdo, sem salvar as alterações de conteúdotrue
: faça a atualização do conteúdo e salve as alterações
UUID
A ID do trabalho que executa a atualização de conteúdo.
- Essa ID é necessária em todas as chamadas subsequentes relacionadas a essa execução.
- Se o valor de
mode
estiver definido comoreplicate
, a execução em instâncias do AEM Publish também precisará estar sob o mesmojobId
.
Exemplo de solicitação de atualização de conteúdo example-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|
Obter o status de uma atualização de conteúdo get-the-status-of-a-content-upgrade
/libs/dam/cfm/maintenance.json
GET
<UUID>
jobId
retornado da chamada para iniciar a atualização de conteúdo.Contém o status detalhado da atualização de conteúdo:
-
Atualizado após cada intervalo (segundos).
-
A execução de
uuidUpgradeService
tem duas fases:- fase 0 para atualizar modelos de fragmento de conteúdo
- fase 1 para atualizar fragmentos de conteúdo
-
Em cada fase, as estatísticas são atualizadas após cada intervalo.
-
"jobStatus": "COMPLETED" marca a atualização como concluída com êxito.
-
Outros valores de status são autoexplicativos.
Exemplo de solicitação de status de atualização de conteúdo example-content-upgrade-status-request
code language-http |
---|
|
code language-http |
---|
|
Além do status de uma atualização de conteúdo em execução obtida do endpoint HTTP, os logs de AEM fornecem informações detalhadas sobre o progresso no nível de conteúdo. Por exemplo:
code language-xml |
---|
|
Além disso, após o processamento de cada segmento (lote) de fragmentos e modelos de conteúdo, um status acumulado é registrado, resumindo o progresso até o momento. Por exemplo:
code language-xml |
---|
|
Anular uma atualização de conteúdo abort-a-content-upgrade
- não reverte as alterações já feitas
- pode deixar o conteúdo em um estado misto
/libs/dam/cfm/maintenance.json
POST
<UUID>
jobId
retornado da chamada para iniciar a atualização de conteúdo.Contém o status detalhado da atualização de conteúdo:
- O status a ser observado é "jobStatus": "ABORTED".
Após uma ação de anulação, os segmentos de dados pendentes não serão processados. - Se o jobStatus for "CONCLUÍDO" antes de um abort, a chamada não terá efeito.
Exemplo Anular uma solicitação de atualização de conteúdo example-abort-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|