Aktualisieren Ihrer Inhaltsfragmente für UUID-Referenzen upgrade-content-fragments-for-UUID-references
Um die Stabilität Ihrer GraphQL-Filter zu optimieren, können Sie die Inhalts- und Fragmentreferenzen in Ihren Inhaltsfragmenten so aktualisieren, dass sie Universally Unique Identifiers (UUIDs) verwenden.
Ursprünglich wurden bei Inhaltsfragmentmodellen die Datentypen Inhaltsreferenz und Fragmentreferenz bereitgestellt. Beide Referenzen verweisen mithilfe eines Pfads auf die referenzierte Ressource. Dieser Pfad kann veraltet sein, wenn die Ressource verschoben wurde. Obwohl solche Referenzen in den meisten Fällen mehr als ausreichend sind, wurden die Inhaltsfragmentmodelle erweitert, um auch Referenzen auf Grundlage einer UUID bereitzustellen:
- Inhaltsreferenz (UUID)
- Fragmentreferenz (UUID).
Diese neuen Referenztypen können sowohl in neuen Inhaltsfragmentmodellen und Inhaltsfragmenten als auch zur Erweiterung vorhandener Instanzen verwendet werden.
Um vorhandene Inhaltsfragmente und Inhaltsfragmentmodelle zu aktualisieren, können Sie das hier beschriebene Verfahren durchführen.
Was aktualisiert wird what-is-upgraded
Die folgenden Aktualisierungen werden durchgeführt:
-
Felder der Datentypen:
- Inhaltsreferenz wird in Inhaltsreferenz (UUID) umgewandelt.
- Fragmentreferenz wird in Fragmentreferenz (UUID) umgewandelt.
-
Die Werte der pfadbasierten Referenzen in diesen Feldern werden durch die entsprechenden UUIDs ersetzt.
Was NICHT aktualisiert wird what-is-not-upgraded
Die folgenden Verweise (Referenzen) werden nicht aktualisiert:
-
Seitenverweise – UUIDs werden noch nicht unterstützt.
-
Alle ungültigen Referenzen, z. B. wenn das Ziel des Inhaltsfragment- oder Asset-Pfads nicht vorhanden ist.
-
Ungültige Referenzen werden nicht aktualisiert, wenn der Inhaltsfragmentpfad oder der Asset-Pfad ungültig ist und so keine entsprechende UUID zugewiesen werden kann. Die ursprüngliche Referenz bleibt hiervon unberührt.
-
Führen Sie einen Probelauf durch, um ungültige Referenzen zu erkennen.
note note NOTE Wenn sie ungültig sind, können sie unabhängig von der Aktualisierung nicht verwendet werden. -
Wann nicht aktualisiert werden sollte when-you-should-not-upgrade
Es sollte nicht aktualisiert werden:
- wenn eines Ihrer Inhaltsfragmente Seitenverweise verwendet, da UUIDs für Seitenverweise noch nicht unterstützt werden.
Einschränkungen bei UUID-Referenzen limitations-of-uuid-references
Derzeit gelten die folgenden Einschränkungen beim Verwenden von Referenzen, die auf einer UUID basieren:
-
Modelle
- Neue Inhaltsfragmentmodelle mit Inhaltsfragment-UUID- oder Inhaltsreferenz-UUID-Feldern können nicht über die OpenAPI erstellt werden.
- Das Feld
id
für Modelle wurde nicht dahingehend geändert, dass es UUID-basiert ist. Es verwendet den dekodierten base64-Pfad des Modells. Modelle können nicht verschoben werden. Daher ist dieser Wert weiterhin stabil.
-
Assets
- Beim Erstellen eines Inhaltsfragments über die OpenAPI müssen die Feldtypen
fragment-reference
odercontent-reference
verwendet werden, um Verweise auf ein Fragment bzw. ein Asset anzugeben. Dies gilt selbst dann, wenn der Wert eines UUID-basierten Referenzfelds festgelegt wird.
- Beim Erstellen eines Inhaltsfragments über die OpenAPI müssen die Feldtypen
Aktualisierungsplanung upgrade-planning
Es gibt einige vorbereitende Schritte, bevor Sie Ihre Aktualisierung ausführen.
Ausführen eines Probelaufs execute-a-dry-run
Es wird empfohlen, bei jeder Aktualisierung Ihres Inhalts zunächst einen Probelauf durchzuführen. Dadurch werden Protokolldateien mit Einträgen erstellt, die auf potenzielle Probleme hinweisen:
- Ungültige Verweise
- Seitenverweise
Führen Sie die Inhaltsaktualisierung im Modus dryRun
aus, um:
- ungültige Referenzen zu identifizieren, indem Sie sie in den Protokolldateien auflisten.
Sie können diese Referenzen dann vor der eigentlichen Inhaltsaktualisierung korrigieren. - alle Seitenverweise zu identifizieren, indem sie sie in den Protokolldateien auflisten.
Wenn Seitenverweise erkannt werden, sollten Sie die Inhaltsaktualisierung nicht ausführen.
Erzwingen des Einfrierens von Inhalten enforce-a-content-freeze
Inhalte sollten aktualisiert werden, wenn sie eingefroren sind.
Wie lange Inhalte eingefroren sind, hängt von der Menge der Inhaltsfragmente ab, die aktualisiert werden. Dementsprechend kann die Aktualisierung zwischen einigen Minuten und einigen Stunden dauern und richtet sich auch nach den Parametern, die beim Starten der Inhaltsaktualisierung verwendet werden.
Ausführen der Inhaltsaktualisierung running-the-content-upgrade
Die Inhaltsaktualisierung kann mithilfe des Endpunkts /libs/dam/cfm/maintenance.json
gesteuert werden.
Administrator
.Starten der Inhaltsaktualisierung start-a-content-upgrade
/libs/dam/cfm/maintenance.json
POST
start
uuidUpgradeService
1000
/conf
Geben Sie Folgendes an:
- den Stamm
/conf
, um alle AEM-Konfigurationen zu aktualisieren, ODER - einen ausgewählten AEM-Konfigurationspfad, für den die Inhaltsaktualisierung ausgeführt wird.
Beispiel:/conf/wknd-shared
aktualisiert nur den einzelnen Mandantenwknd-shared
.
10
replicate
, noReplicate
replicate
: Repliziert den gleichen Auftrag in allen AEM-Veröffentlichungsinstanzen.noReplicate
: Führt den Auftrag nur in AEM-Autoreninstanzen aus.
true
, false
false
: Simuliert die Inhaltsaktualisierung, ohne Inhaltsänderungen zu speichern.true
: Führt die Inhaltsaktualisierung durch und speichert Inhaltsänderungen.
UUID
Die ID des Auftrags, der die Inhaltsaktualisierung ausführt.
- Diese ID wird bei allen nachfolgenden Aufrufen im Zusammenhang mit dieser Ausführung benötigt.
- Wenn der Wert
mode
aufreplicate
gesetzt ist, muss die Ausführung in AEM-Veröffentlichungsinstanzen ebenfalls unter derselbenjobId
erfolgen.
Beispielhafte Anfrage zur Inhaltsaktualisierung example-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|
Abrufen des Status einer Inhaltsaktualisierung get-the-status-of-a-content-upgrade
/libs/dam/cfm/maintenance.json
GET
<UUID>
jobId
, die beim Aufruf zum Starten der Inhaltsaktualisierung zurückgegeben wurde.Enthält den detaillierten Status der Inhaltsaktualisierung:
-
Wird nach jedem Intervall (Sekunden) aktualisiert.
-
Die Ausführung von
uuidUpgradeService
umfasst zwei Phasen:- Phase 0 zum Aktualisieren von Inhaltsfragmentmodellen
- Phase 1 zum Aktualisieren von Inhaltsfragmenten
-
In jeder Phase werden Statistiken nach jedem Intervall aktualisiert.
-
„jobStatus“: „COMPLETED“ kennzeichnet die Aktualisierung als erfolgreich abgeschlossen.
-
Die anderen Statuswerte sind selbsterklärend.
Beispiel einer Anfrage zum Status der Inhaltsaktualisierung example-content-upgrade-status-request
code language-http |
---|
|
code language-http |
---|
|
Zusätzlich zum Status einer laufenden Inhaltsaktualisierung, die vom HTTP-Endpunkt abgerufen wurde, liefern AEM-Protokolle detaillierte Informationen zum Fortschritt auf Inhaltsebene. Zum Beispiel:
code language-xml |
---|
|
Außerdem wird nach der Verarbeitung jedes Segments (Batches) von Inhaltsfragmenten und Modellen ein kumulierter Status protokolliert, der den bisher erzielten Fortschritt zusammenfasst. Zum Beispiel:
code language-xml |
---|
|
Abbrechen einer Inhaltsaktualisierung abort-a-content-upgrade
- werden bereits vorgenommene Änderungen nicht rückgängig gemacht,
- werden Ihre Inhalte möglicherweise in einem gemischten Status belassen.
/libs/dam/cfm/maintenance.json
POST
<UUID>
jobId
, die beim Aufruf zum Starten der Inhaltsaktualisierung zurückgegeben wurde.Enthält den detaillierten Status der Inhaltsaktualisierung:
- Der Status, auf den Sie achten sollten, lautet „jobStatus“: „ABORTED“.
Nach einer Abbruchaktion werden ausstehende Datensegmente nicht verarbeitet. - Wenn „jobStatus“ vor einem Abbruch als „COMPLETED“ angegeben wird, hat der Aufruf keine Auswirkungen.
Beispielhafte Anfrage zum Abbruch einer Inhaltsaktualisierung example-abort-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|