Uppgradera dina innehållsfragment för UUID-referenser upgrade-content-fragments-for-UUID-references
För att optimera stabiliteten hos dina GraphQL-filter kan du uppgradera innehålls- och fragmentreferenserna i dina innehållsfragment så att de använder UUID (Universally Unique Identiters).
Ursprungligen tillhandahöll Content Fragment Models datatyperna för Content Reference och Fragment Reference. Båda dessa referenser använder en sökväg för att peka på den refererade resursen, och den här sökvägen kan bli inaktuell om resursen flyttas. Även om sådana referenser är mer än tillräckliga i de flesta scenarier, har modeller för innehållsfragment utökats så att de även innehåller referenser som baseras på ett UUID:
- Innehållsreferens (UUID)
- Fragmentreferens (UUID).
Dessa nya referenstyper kan användas både i nya modeller för innehållsfragment och fragment samt för att utöka befintliga instanser.
Om du vill uppgradera befintliga innehållsfragment och modeller kan du köra proceduren som beskrivs här.
Vad uppgraderas? what-is-upgraded
Följande uppdateringar görs:
-
Fält för datatyperna:
- Innehållsreferens konverteras till Innehållsreferens (UUID)
- Fragmentreferens konverteras till Fragmentreferens (UUID)
-
Värdena för sökvägsbaserade referenser som finns i dessa fält ersätts med motsvarande UUID
Vad uppgraderas INTE what-is-not-upgraded
Följande referenser har inte uppgraderats:
-
Sidreferenser - UUID:n stöds inte ännu
-
Alla ogiltiga referenser, till exempel där målet för sökvägen för innehållsfragment eller resurssökvägen inte finns
-
Ogiltiga referenser uppgraderas inte, som om sökvägen för innehållsfragment eller resursen är ogiltig, finns det inget motsvarande UUID att tilldela. Den ursprungliga referensen ändras inte.
-
Använd en torr körning för att ta bort ogiltiga referenser.
note note NOTE Om de är ogiltiga går de inte att använda, oavsett uppgraderingen. -
När du inte ska uppgradera when-you-should-not-upgrade
Uppgradera inte:
- När något av dina innehållsfragment använder sidreferenser, eftersom UUID ännu inte stöds för sidreferenser
Begränsningar för UUID-referenser limitations-of-uuid-references
Följande begränsningar gäller för närvarande vid användning av referenser baserade på ett UUID:
-
Modeller
- Det går inte att skapa nya modeller för innehållsfragment med antingen UUID för innehållsfragment eller UUID-fält för innehållsreferens via OpenAPI.
- Fältet
id
för modeller har inte ändrats till UUID-baserat. Den använder modellens base64-avkodade sökväg. Det går inte att flytta modeller, därför är det här värdet fortfarande stabilt.
-
Assets
- När du skapar ett innehållsfragment via OpenAPI måste fälttyperna
fragment-reference
ellercontent-reference
användas för att ange referenser till ett fragment eller en resurs - även när du anger värdet för ett UUID-baserat referensfält.
- När du skapar ett innehållsfragment via OpenAPI måste fälttyperna
Upgrade Planning upgrade-planning
Du måste göra några förberedelser innan du kör uppgraderingen.
Kör en torr körning execute-a-dry-run
Vi rekommenderar att varje gång du uppgraderar ditt innehåll utför du en torr körning. Detta skapar loggfiler med poster som markerar potentiella problem:
- Ogiltiga referenser
- Sidreferenser
Kör innehållsuppgraderingen i dryRun
-läge för att:
- identifiera ogiltiga referenser genom att lista dem i loggfilerna
Du kan sedan åtgärda dessa referenser innan du kör den faktiska innehållsuppgraderingen. - identifiera sidreferenser, genom att lista dem i loggfilerna
När sidreferenser upptäcks bör du inte köra innehållsuppgraderingen.
Tvinga innehåll att frysa enforce-a-content-freeze
Körning av innehållsuppgraderingen ska planeras under en period då innehållet fryser.
Hur länge innehållet fryser beror på den volym innehållsfragment som uppgraderas. Uppgraderingen kan därför variera från några minuter upp till några timmar och beror också på vilka parametrar som används när innehållsuppgraderingen startar.
Köra innehållsuppgraderingen running-the-content-upgrade
Innehållsuppgraderingen kan hanteras med slutpunkten: /libs/dam/cfm/maintenance.json
Administrator
för att komma åt slutpunkten.Starta en innehållsuppgradering start-a-content-upgrade
/libs/dam/cfm/maintenance.json
POST
start
uuidUpgradeService
1000
/conf
Ange antingen:
- roten
/conf
om du vill uppgradera alla AEM konfigurationer - en vald AEM konfigurationssökväg. som innehållsuppgraderingen körs för
Till exempel:/conf/wknd-shared
uppgraderar endast en innehavarewknd-shared
10
replicate
, noReplicate
replicate
: replikerar samma jobb på alla AEM Publish-instansernoReplicate
: kör bara jobbet AEM författarinstanser
true
, false
false
: simulera innehållsuppgraderingen, utan att spara några innehållsändringartrue
: utför innehållsuppgraderingen och sparar innehållsändringar
UUID
ID:t för det jobb som kör innehållsuppgraderingen.
- Detta ID krävs i alla efterföljande anrop som rör den här körningen.
- Om värdet
mode
ärreplicate
måste körningen AEM Publish-instanser också vara under sammajobId
.
Exempel på begäran om innehållsuppgradering example-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|
Få status för en innehållsuppgradering get-the-status-of-a-content-upgrade
/libs/dam/cfm/maintenance.json
GET
<UUID>
jobId
som returnerades från anropet för att starta innehållsuppgraderingen.Innehåller detaljerad status för innehållsuppgraderingen:
-
Uppdaterat efter varje intervall (sekunder).
-
Körningen av
uuidUpgradeService
har två faser:- fas 0 för att uppgradera innehållsfragmentmodeller
- fas 1 för att uppgradera innehållsfragment
-
I varje fas uppdateras statistiken efter varje intervall.
-
"jobStatus": "COMPLETED" anger att uppgraderingen har slutförts.
-
Andra statusvärden är självförklarande.
Exempel på begäran om status för innehållsuppgradering example-content-upgrade-status-request
code language-http |
---|
|
code language-http |
---|
|
Förutom statusen för en innehållsuppgradering som körs från HTTP-slutpunkten, innehåller AEM detaljerad information om förloppet på innehållsnivån. Till exempel:
code language-xml |
---|
|
Efter bearbetningen av varje segment (grupp) av innehållsfragment och modeller loggas dessutom en ackumulerad status som sammanfattar förloppet hittills. Till exempel:
code language-xml |
---|
|
Avbryta en innehållsuppgradering abort-a-content-upgrade
- återställer inte ändringar som redan gjorts
- kan lämna innehållet i ett blandat läge
/libs/dam/cfm/maintenance.json
POST
<UUID>
jobId
som returnerades från anropet för att starta innehållsuppgraderingen.Innehåller detaljerad status för innehållsuppgraderingen:
- Statusen för anteckningen är "jobStatus": "ABORTED".
Efter en avbruten åtgärd kommer inga väntande datasegment att bearbetas. - Om jobStatus är "COMPLETED" före ett avbrott har anropet ingen effekt.
Exempel Avbryta en begäran om innehållsuppgradering example-abort-content-upgrade-request
code language-http |
---|
|
code language-http |
---|
|