Mettre à niveau vos fragments de contenu pour les références UUID upgrade-content-fragments-for-UUID-references
Pour optimiser la stabilité de vos filtres GraphQL, vous pouvez mettre à niveau le contenu et les références aux fragments dans vos fragments de contenu afin qu’ils utilisent des identifiants universels uniques (UUID).
À l’origine, les modèles de fragment de contenu fournissaient les types de données Référence de contenu et Référence de fragment. Ces deux références utilisent un chemin pour pointer vers la ressource référencée. Ce chemin peut devenir obsolète si la ressource est déplacée. Bien que de telles références soient plus que suffisantes dans la plupart des scénarios, les modèles de fragment de contenu ont été étendus pour fournir également des références basées sur un UUID :
- Référence de contenu (UUID)
- Référence de fragment (UUID).
Ces nouveaux types de référence peuvent être utilisés dans les nouveaux modèles de fragment de contenu et fragments, ainsi que pour étendre les instances existantes.
Pour mettre à niveau des fragments de contenu et des modèles existants, vous pouvez exécuter la procédure décrite ici.
Éléments mis à niveau what-is-upgraded
Les mises à jour suivantes ont été effectuées :
-
Champs des types de données :
- Les Référence de contenu sont converties en Référence de contenu (UUID)
- Les Référence de fragment sont converties en Référence de fragment (UUID)
-
Les valeurs des références basées sur le chemin contenues dans ces champs sont remplacées par les UUID correspondants
Éléments NON mis à niveau what-is-not-upgraded
Les références suivantes ne sont pas mises à niveau :
-
Références de page - Les UUID ne sont pas encore pris en charge
-
Toute référence non valide ; par exemple, où la cible du chemin d’accès au fragment de contenu ou à la ressource n’existe pas
-
Les références non valides ne sont pas mises à niveau, comme si le chemin d’accès au fragment de contenu ou à la ressource n’était pas valide. Il n’existe donc pas d’UUID correspondant à attribuer. La référence d’origine reste inchangée.
-
Utilisez une exécution d’essai pour détecter toute référence non valide.
note note NOTE Étant non valides, ils ne sont pas utilisables, quelle que soit la mise à niveau. -
Quand ne pas mettre à niveau when-you-should-not-upgrade
Ne pas mettre à niveau :
- Lorsque l’un de vos fragments de contenu utilise des références de page, car les UUID ne sont pas encore pris en charge pour les références de page.
Limites des références UUID limitations-of-uuid-references
Actuellement, les restrictions suivantes s’appliquent lors de l’utilisation de références basées sur un UUID :
-
Modèles
- Les nouveaux modèles de fragment de contenu avec les champs UUID de fragment de contenu ou UUID de référence de contenu ne peuvent pas être créés via OpenAPI.
- Le champ
id
des modèles n’a pas été remplacé par basé sur l’UUID. Il utilise le chemin décodé base64 du modèle. Les modèles ne peuvent pas être déplacés. Par conséquent, cette valeur est toujours stable.
-
Ressources
- Lors de la création d’un fragment de contenu par le biais d’OpenAPI, les types de champ
fragment-reference
oucontent-reference
doivent être utilisés pour spécifier respectivement les références à un fragment ou à une ressource, même lors de la définition de la valeur d’un champ de référence basé sur UUID.
- Lors de la création d’un fragment de contenu par le biais d’OpenAPI, les types de champ
Planification de la mise à niveau upgrade-planning
Avant d’exécuter la mise à niveau, effectuez quelques étapes de préparation.
Exécution d’un essai execute-a-dry-run
Il est recommandé chaque fois que vous mettez à niveau votre contenu d’effectuer d’abord une exécution d’essai. Vous créez ainsi des fichiers journaux avec des entrées qui mettent en évidence les problèmes potentiels :
- Références non valides
- Références de page
Exécutez la mise à niveau du contenu en mode dryRun
pour :
- identifiez les références non valides en les répertoriant dans les fichiers journaux
Vous pouvez ensuite corriger ces références avant d’exécuter la mise à niveau réelle du contenu. - identifiez les références de page, en les répertoriant dans les fichiers journaux
Lorsque des références de page sont détectées, vous devez pas exécuter la mise à niveau du contenu.
Application d’un gel du contenu enforce-a-content-freeze
L’exécution de la mise à niveau du contenu doit être planifiée pendant une période de gel du contenu.
La durée du gel du contenu dépend du volume de fragments de contenu mis à niveau. Par conséquent, la mise à niveau peut prendre de quelques minutes à quelques heures, et dépend également des paramètres utilisés lors du démarrage de la mise à niveau du contenu.
Exécution de la mise à niveau du contenu running-the-content-upgrade
La mise à niveau du contenu peut être gérée à l’aide du point d’entrée : /libs/dam/cfm/maintenance.json
Administrator
pour accéder au point d’entrée.Démarrer une mise à niveau du contenu start-a-content-upgrade
/libs/dam/cfm/maintenance.json
POST
start
uuidUpgradeService
1000
/conf
Spécifiez l’une des options suivantes :
/conf
racine pour mettre à niveau toutes les configurations AEM- un chemin de configuration AEM sélectionné. pour lequel la mise à niveau du contenu est exécutée
Par exemple :/conf/wknd-shared
ne met à niveau que l’wknd-shared
à client unique
10
replicate
, noReplicate
replicate
: reproduit le même traitement sur toutes les instances de publication AEM.noReplicate
: exécute le traitement uniquement sur les instances d’auteur AEM.
true
, false
false
: simulez la mise à niveau du contenu, sans enregistrer les modifications du contenutrue
: effectuez la mise à niveau du contenu et enregistrez les modifications du contenu
UUID
Identifiant de la tâche qui exécute la mise à niveau du contenu.
- Cet identifiant est requis dans tous les appels suivants liés à cette exécution.
- Si la valeur
mode
est définie surreplicate
, l’exécution sur les instances de publication AEM doit également se faire sous la mêmejobId
.
Exemple de demande de mise à niveau de contenu example-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|
Obtention du statut d’une mise à niveau de contenu get-the-status-of-a-content-upgrade
/libs/dam/cfm/maintenance.json
GET
<UUID>
jobId
renvoyé par l’appel pour démarrer la mise à niveau du contenu.Contient le statut détaillé de la mise à niveau du contenu :
-
Mis à jour après chaque intervalle (secondes).
-
L'exécution d'un
uuidUpgradeService
se divise en deux phases :- phase 0 de mise à niveau des modèles de fragment de contenu
- phase 1 de mise à niveau des fragments de contenu
-
Dans chaque phase, les statistiques sont mises à jour après chaque intervalle.
-
« jobStatus » : « COMPLETED » marque la mise à niveau comme terminée avec succès.
-
Les autres valeurs de statut s’expliquent d’elles-mêmes.
Exemple de demande de statut de mise à niveau du contenu example-content-upgrade-status-request
code language-http |
---|
|
code language-http |
---|
|
Outre le statut d’une mise à niveau de contenu en cours d’exécution obtenu à partir du point d’entrée HTTP, les journaux AEM fournissent des informations détaillées sur la progression au niveau du contenu. Par exemple :
code language-xml |
---|
|
En outre, après le traitement de chaque segment (lot) de fragments de contenu et de modèles, un statut cumulé est consigné, résumant la progression jusqu’à présent. Par exemple :
code language-xml |
---|
|
Abandon d’une mise à niveau de contenu abort-a-content-upgrade
- n’annule aucune des modifications déjà apportées.
- peut laisser votre contenu dans un état mixte.
/libs/dam/cfm/maintenance.json
POST
<UUID>
jobId
renvoyé par l’appel pour démarrer la mise à niveau du contenu.Contient le statut détaillé de la mise à niveau du contenu :
- Le statut à noter est « jobStatus » : « ABORTED ».
Après une action d’abandon, les segments de données en attente ne sont pas traités. - Si le jobStatus est « COMPLETED » avant un abandon, l'appel n'a aucun effet.
Exemple d’abandon d’une demande de mise à niveau du contenu example-abort-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|