Mise à niveau des fragments de contenu pour les références UID 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 universellement uniques (UUID).
À l’origine, les modèles de fragment de contenu fournissaient les types de données Référence du contenu et Référence du fragment. Ces deux références utilisent un chemin d’accès pour pointer vers la ressource référencée, et ce chemin peut devenir obsolète si la ressource est déplacée. Bien que ces références soient plus que suffisantes dans la plupart des scénarios, les modèles de fragment de contenu ont été étendus afin de fournir également des références basées sur un UUID :
- Référence du contenu (UUID)
- Référence de fragment (UUID).
Ces nouveaux types de référence peuvent être utilisés à la fois dans les nouveaux modèles de fragment de contenu et dans les fragments, et pour étendre les instances existantes.
Pour mettre à niveau des fragments et des modèles de contenu existants, vous pouvez exécuter la procédure décrite ici.
Éléments mis à niveau what-is-upgraded
Les mises à jour suivantes sont effectuées :
-
Champs des types de données :
- Référence du contenu sont convertis en Référence du contenu (UUID)
- Référence du fragment sont convertis en Référence du fragment (UUID)
-
Les valeurs des références basées sur un 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 de fragment de contenu ou du chemin d’accès à la ressource n’existe pas
-
Les références non valides ne sont pas mises à niveau, comme si le chemin du fragment de contenu ou le chemin d’accès à la ressource n’était pas valide, il n’y a pas d’UUID correspondant à affecter. La référence d'origine reste intacte.
-
Utilisez un dry run pour supprimer les références non valides.
note note NOTE Invalides, elles ne sont pas utilisables, quelle que soit la mise à niveau. -
Lorsque vous ne devez pas effectuer la mise à 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 l’UUID de fragment de contenu ou les champs UUID de référence du contenu ne peuvent pas être créés via OpenAPI.
- Le champ
id
des modèles n’a pas été modifié pour être 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 via OpenAPI, les types de champ
fragment-reference
oucontent-reference
doivent être utilisés pour spécifier respectivement des 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 l’UUID.
- Lors de la création d’un fragment de contenu via OpenAPI, les types de champ
Planification de la mise à niveau upgrade-planning
Il existe quelques étapes de préparation avant d’exécuter la mise à niveau.
Exécution d’une exécution d’essai execute-a-dry-run
Il est recommandé que chaque fois que vous mettez à niveau votre contenu, vous réalisiez une exécution d’essai. Cela crée des fichiers journaux avec des entrées qui mettent en évidence tout problème potentiel :
- Références non valides
- Références de page
Exécutez la mise à niveau du contenu en mode dryRun
pour :
- identifier 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. - identifier 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, ne doit pas exécuter la mise à niveau de contenu.
Application d’un gel du contenu enforce-a-content-freeze
L'exécution de l'upgrade de contenu doit être planifiée pendant une période de gel du contenu.
La durée du gel du contenu dépend du volume des fragments de contenu mis à niveau. Par conséquent, la mise à niveau peut aller 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 de terminaison : /libs/dam/cfm/maintenance.json
Administrator
pour accéder au point de terminaison .Commencer une mise à niveau de contenu start-a-content-upgrade
/libs/dam/cfm/maintenance.json
POST
start
uuidUpgradeService
1000
/conf
Spécifiez l’une des options suivantes :
- la racine
/conf
pour mettre à niveau toutes les configurations AEM - un chemin de configuration d’AEM sélectionné. pour lequel la mise à niveau du contenu est exécutée
Par exemple :/conf/wknd-shared
met uniquement à niveau le client uniquewknd-shared
10
replicate
, noReplicate
replicate
: réplique la même tâche sur toutes les instances Publish AEMnoReplicate
: exécute uniquement la tâche sur les instances d’auteur AEM
true
, false
false
: simuler la mise à niveau du contenu, sans enregistrer les modifications du contenutrue
: effectuez la mise à niveau du contenu et enregistrez les modifications du contenu
UUID
L’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 Publish AEM doit également se trouver sous le mêmejobId
.
Exemple de demande de mise à niveau de contenu example-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|
Obtention de l'état d'un upgrade 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 l'état détaillé de la mise à niveau du contenu :
-
Mise à jour après chaque intervalle (secondes).
-
L’exécution de
uuidUpgradeService
comporte deux phases :- phase-0 pour mettre à niveau les modèles de fragments de contenu
- phase-1 pour mettre à niveau les fragments de contenu
-
Dans chaque phase, les statistiques sont mises à jour après chaque intervalle.
-
"jobStatus" : "COMPLETED" marque la fin de la mise à niveau.
-
Les autres valeurs d’état sont explicites.
Exemple de demande d’état de mise à niveau de contenu example-content-upgrade-status-request
code language-http |
---|
|
code language-http |
---|
|
Outre l’état d’une mise à niveau de contenu en cours d’exécution obtenue à partir du point de terminaison HTTP, les journaux d’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 état 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
- ne rétablit pas les modifications déjà effectué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 l'état 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 seront pas traités. - Si jobStatus est "COMPLETED" avant un abandon, l’appel n’a aucun effet.
Exemple d’abandon d’une demande de mise à niveau de contenu example-abort-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|