Se si dispone di istanze di Oracle Content Management in esecuzione in un'infrastruttura cloud precedente con sottoscrizione ai servizi non sottoposti a misurazione, Oracle consiglia di eseguire la migrazione di tali istanze nel nuovo ambiente Oracle Cloud Infrastructure (OCI) nativo, OCI Generazione 2, vale a dire utilizzando la console dell'infrastruttura per gestire le istanze dei servizi. In questo modo, sarà possibile approfittare dei vantaggi e dei progressi della piattaforma Oracle Cloud in futuro.
Per avviare la migrazione è necessario eseguire alcune operazioni preliminari e collaborare con il personale del Supporto Oracle per i dettagli di pianificazione.
In questa tabella viene descritto il mapping dei gruppi di autorizzazioni Oracle Content Management ai ruoli applicazione OCI.
Gruppo di autorizzazioni Oracle Content Management | Ruolo applicazione OCI |
---|---|
DocumentsServiceUser | CECStandardUser |
DocumentsServiceAdmin | CECServiceAdministrator |
SitesServiceVisitor | CECSitesVisitor |
SitesServiceAdmin | CECSitesAdministrator |
ContentAdministratorRole | CECContentAdministrator |
CECSStandardUser | CECStandardUser |
CECSEnterpriseUser | CECEnterpriseUser |
Nota:
se il dominio IDCS di destinazione contiene già un utente con lo stesso nome, all'utente verranno assegnati i ruoli applicazione OCI corrispondenti ai relativi gruppi di autorizzazioni Oracle Content Management.Quando si è pronti per la migrazione, è necessario sottomettere una richiesta di migrazione per dare inizio al processo:
Dopo che il Supporto Oracle avrà ricevuto la richiesta di servizio per la migrazione, questa verrà pianificata in base alla data richiesta e la richiesta di servizio verrà aggiornata con la data e l'ora di inizio della migrazione.
La richiesta di servizio verrà aggiornata per mostrare l'avanzamento della migrazione. La migrazione dei dati verrà eseguita nel backend. Non è richiesta alcuna azione da parte dell'utente, se non quella di controllare costantemente gli aggiornamenti della richiesta di servizio e convalidare la migrazione dopo che è stata eseguita.
Ecco cosa accade durante la migrazione:
Importante:
A questo punto, non si devono apportare modifiche alla vecchia istanza (origine). Qualsiasi modifica apportata dopo l'avvio della migrazione non verrà migrata nella nuova istanza.Nota:
L'istanza precedente rimarrà attiva in modo che vi si possa fare riferimento per la convalida. È inoltre necessario eseguire la migrazione dei siti che utilizzano gli asset ed eseguire la migrazione di eventuali altri asset esclusi durante la migrazione.Se la vecchia istanza era integrata o comunicava con altri servizi o applicazioni, direttamente o tramite le chiamate API REST, potrebbe essere necessario eseguire dei task postmigrazione.
Gli elementi riportati di seguito verranno applicati a livello di servizio.
I vecchi URL utilizzano il pattern seguente:
https://<nome servizio>-<nome account>.<area>.oraclecloud.com/documents
I nuovi URL utilizzano il pattern seguente:
https://<nome servizio>-<nome account>.<tipo di servizio>.ocp.oraclecloud.com/documents
Integrazione | Azioni da eseguire dopo la migrazione |
---|---|
Oracle Integration |
|
Oracle Commerce Cloud |
|
Oracle Process Cloud Service |
|
Oracle Eloqua Cloud Service |
|
Oracle Intelligent Advisor |
|
Oracle Cobrowse Cloud Service |
|
Responsys |
|
Visual Builder Cloud Service (VBCS) |
|
CDN/Akamai |
|
Chiamate API REST |
|
Uso di SDK/CLI client |
|
Connettori |
|
Nota:
Eventuali bookmark assegnati al contenuto nella vecchia istanza non funzioneranno più perché l'URL della nuova istanza è stato modificato.La migrazione dei siti che non includono asset viene eseguita in modo automatico, mentre per i siti che includono asset sono necessari alcuni passi aggiuntivi affinché possano funzionare nella nuova istanza di Oracle Content Management.
Il comando "cec migrate-site" è nuovo, pertanto sarà necessario installare OCE Toolkit dal repository GIT del client Web anche se è stato scaricato e installato in precedenza.
Per scaricare e installare OCE Toolkit, attenersi alle istruzioni fornite nella pagina Sites Toolkit.
Registrare i dettagli di connessione per il server di destinazione, ovvero il server verso il quale si esegue la migrazione dei siti:
> cec register-server <target_server_name> -e http://<target_server>:<target_port> -u <target_username> -p <target_password> -t pod_ec
Per eseguire la migrazione dei siti, effettuare le operazioni riportate di seguito.
<site_name>
con il nome di cui si desidera disponga il sito nel server di destinazione:
> cec migrate-site <site_name> --template <template_path_and_name> --destination <registered_target_server_name> --repository <repository_name>
Dopo la migrazione, il sito verrà eseguito con le chiamate Content REST versione 1.1. Ciò potrebbe causare problemi che devono essere risolti per consentire la corretta esecuzione del sito. Le istruzioni fornite di seguito consentono di determinare le azioni da eseguire.
Dopo aver verificato che viene eseguito in modo corretto, è necessario rendere il sito conforme alle specifiche MLS. Se si è creato un sito enterprise in un server di calcolo esterno, saranno necessari una lingua predefinita e un criterio di localizzazione. Poiché è stato copiato, il sito non è un sito MLS, pertanto è necessario eseguirne l'upgrade a sito MLS per garantire il supporto delle funzionalità future.
Nella tabella riportata di seguito vengono evidenziate le differenze tra i siti MLS e i siti non MLS.
Oggetto del sito | Sito MLS | Sito non MLS |
---|---|---|
Elementi di contenuto | Verrà visualizzata la variante della lingua dell'elemento di contenuto, non l'elemento di contenuto rilasciato sulla pagina. La lingua può cambiare a seconda della lingua richiesta al momento del rendering del sito. | L'elemento di contenuto rilasciato sulla pagina verrà sempre visualizzato. |
Layout di contenuto | I layout di contenuto devono supportare le interfacce API della versione 1.1. In caso contrario, l'elemento di contenuto non apparirà e verrà visualizzata un'avvertenza. Ciò avviene perché tutte le chiamate API della versione 1.1 si caratterizzano per una voce "locale" (impostazioni nazionali) aggiunta che non è supportata nell'interfaccia API della versione 1.0. | I layout di contenuto possono essere della versione 1.0 o 1.1. Se il layout di contenuto supporta solo la versione 1.0, ContentSDK aggiungerà una voce "data" nella risposta per la corrispondenza con la voce "fields". Potrebbero essere rilevati altri problemi, quindi questa non deve essere considerata una "funzione supportata" per non eseguire l'upgrade del layout di contenuto. |
Liste di contenuti | Verranno visualizzati solo gli elementi di contenuto disponibile nella variante di lingua richiesta. | Verranno visualizzati tutti gli elementi di contenuto indipendentemente dalla lingua. L'utente ha la possibilità all'interno della lista di contenuti di bloccare i risultati per una lingua specifica in modo da poter avere due liste di contenuti nella pagina che mostrano i risultati in lingue diverse. Questa opzione del pannello delle impostazioni per la scelta di una lingua non è disponibile per i siti MLS. |
defaultLocale | I siti MLS dispongono di impostazioni nazionali predefinite. Ciò significa che tutte le query di contenuto restituiranno solo gli elementi di contenuto con le impostazioni nazionali corrispondenti (o non traducibili). | I siti non MLS non dispongono di impostazioni nazionali predefinite, pertanto la query di contenuto utilizzata restituisce tutti gli elementi di contenuto a prescindere dalla lingua. |
Criterio di localizzazione |
Definisce la lista delle lingue disponibili per il sito. Nella Costruzione guidata sarà disponibile un elenco a discesa specifico. Un elenco a discesa delle lingue sarà disponibile anche nell'interfaccia utente di gestione per consentire di aprire o visualizzare in anteprima la lingua richiesta. |
Poiché non vi sono criteri di localizzazione, l'elenco a discesa per cambiare lingua viene rimosso dalla Costruzione guidata. L'interfaccia utente di gestione non contiene lingue elencate né una lingua "predefinita". Ciò consente di riconoscere i siti non MLS rispetto ai siti MLS nell'interfaccia utente di gestione. |
Traduzione/Traducibile | Il menu di scelta rapida nell'interfaccia utente di gestione contiene l'opzione "Traduci". Ciò consente di creare un job di traduzione per tradurre il sito |
Il menu di scelta rapida nell'interfaccia utente di gestione conterrà l'opzione "Traducibile". In effetti un sito non MLS è non traducibile, pertanto è necessario renderlo traducibile (MLS) prima di poterlo tradurre. Questo è anche il modo in cui si esegue l'upgrade di un sito da non MLS a MLS. Nota: è una procedura esclusivamente unidirezionale. Non è possibile eseguire il downgrade a non traducibile. |
Prima di convertire il sito in sito MLS è necessario effettuare le operazioni seguenti:
Inoltre, se si dispone di codice di componenti personalizzati che effettua chiamate REST di contenuto, sarà necessario eseguirne l'upgrade per effettuare chiamate della versione 1.1. Non si tratta di una condizione comune in quanto la maggior parte delle chiamate di contenuto viene effettuata dai layout di contenuto.
Upgrade dei layout di contenuto
Specifica delle versioni delle API REST di contenuto supportate
È necessario che i layout di contenuto specifichino la versione delle API REST di contenuto che supportano. In questo modo si garantisce che venga effettuata la chiamata REST di contenuto appropriata per restituire i dati di risposta previsti al layout.
Se non si specifica alcun supporto di versione, si suppone che il layout di contenuto supporti solo la versione 1.0.
I layout di contenuto che supportano ancora la versione 1.0 vengono elencati nella console.
Per fare in modo che il layout di contenuto supporti altre versioni, aggiungere la proprietà "contentVersion" all'oggetto layout di contenuto.
In questo esempio, viene indicato che supporta tutte le versioni tra la 1.0 e la 2.0 non inclusa (nota: la versione 2.0 non esiste, ma le modifiche della versione principale potrebbero introdurre modifiche pericolose).
// Content Layout definition.ContentLayout.prototype = { // Specify the versions of the Content REST API that are supported by the this Content Layout. // The value for contentVersion follows Semantic Versioning syntax. // This allows applications that use the content layout to pass the data through in the expected format. contentVersion: ">=1.0.0 <2.0.0", // Main rendering function: // - Updates the data to handle any required additional requests and support both v1.0 and v1.1 Content REST APIs // - Expand the Mustache template with the updated data // - Appends the expanded template HTML to the parentObj DOM element render: function (parentObj) {
Gestione delle modifiche della risposta versione 1.1
Il minimo che si dovrà fare è gestire la modifica della risposta dell'interfaccia API REST di contenuto da "data" a "fields". Il metodo più semplice per ottenere questo risultato consiste nel reintrodurre la proprietà "data" e nel puntare alla nuova proprietà "fields".
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
Un'opzione migliore consiste nel modificare il codice per utilizzare il valore "fields" della versione 1.1 in tutti i layout di contenuto. Ciò comporta l'aggiornamento del codice JavaScript e del codice del modello.
Per supportare completamente la versione 1.1, sarà necessario gestire le modifiche dell'interfaccia API REST di contenuto riportate di seguito tra la versione 1.0 e la versione 1.1.
Modifiche dell'interfaccia API REST di contenuto | Versione 1.1 | Versione 1.0 |
---|---|---|
"fields" rispetto a "data" |
"items": [{ "type": "Starter-Blog-Author", "name": "Alex Read", "id": "COREB62DBAB5CEDA4915A9C9F6050E554F63", "fields": { "starter-blog-author_bio": "Alex's bio", "starter-blog-author_name": "Alex Read" } }, |
"items": [{ "type": "Starter-Blog-Author", "name": "Alex Read", "id": "COREB62DBAB5CEDA4915A9C9F6050E554F63", "data": { "starter-blog-author_bio": "Alex's bio", "starter-blog-author_name": "Alex Read" } }, |
Nome di proprietà camelCase | "updatedDate" | "updateddate" |
formato query | /items?q=(type eq "Starter-Blog-Author") | /items?fields.type.equals="Starter-Blog-Author" |
Versione API | /content/management/api/v1.1/items | /content/management/api/v1/items |
query specifiche di lingua | /content/management/api/v1.1/items?q=((type eq "Promo") e (language eq "en-US" or translatable eq "false")) |
Non supportate. È necessario eseguire la migrazione di tutte le chiamate versione 1 personalizzate per includere l'opzione "language". Ciò garantisce che i risultati siano coerenti con quelli restituiti per il sito MLS visualizzato con una lingua specifica. |
Upgrade della stringa di query del contenuto
È possibile che si effettuino chiamate dell'interfaccia API di contenuto nel codice personalizzato, pertanto è necessario convalidare l'insieme del codice personalizzato utilizzato dal sito per le chiamate dell'interfaccia API REST di contenuto.
Conversione di un sito non MLS in sito MLS
Dopo aver convertito il sito per il supporto completo delle interfacce API REST di contenuto versione 1.1, sarà possibile aggiungere il supporto per le lingue impostando il sito come sito MLS.
Se si seleziona il sito nell'interfaccia utente di gestione dei siti, si vedrà l'opzione del menu di contenuto "traducibile". La selezione di questa opzione comporta la visualizzazione di una finestra di dialogo in cui viene richiesto di scegliere un criterio di localizzazione e una lingua predefinita per il sito dalla lista delle lingue richieste nel criterio di localizzazione. Se non esistono criteri di localizzazione, non sarà possibile completare questo passo e sarà in primo luogo necessario accedere alle schermate di amministrazione del contenuto e creare un criterio di localizzazione con almeno una lingua richiesta.
Dopo aver completato questo passo, il sito verrà visualizzato con le impostazioni nazionali predefinite. Consente inoltre di passare ad altre impostazioni nazionali specificate nei criteri di localizzazione.
Sarà necessario verificare che il rendering del sito venga eseguito come previsto nelle impostazioni nazionali predefinite.
Per gli asset associati ai siti la migrazione verrà eseguita durante la migrazione dei siti, mentre per gli asset non associati ai siti la migrazione deve essere eseguita separatamente.
Prima di avviare la migrazione, tenere presente quanto riportato di seguito.
Per eseguire la migrazione degli asset, effettuare le operazioni riportate di seguito.
Registrare i dettagli di connessione per i server di origine e di destinazione.
Registrare il server di origine (il server da cui si esegue la migrazione degli asset):
> cec register-server <source_server_name> -e http://<source_server>:<source_port> -u <source_username> -p <source_password> -t pod_ic
Registrare il server di destinazione (il server verso il quale si esegue la migrazione degli asset):
> cec-install % cec register-server <target_server_name> -e http://<source_server>:<source_port> -u <target_username> -p <target_password> -t pod_ec
Eseguire la migrazione di una raccolta di asset utilizzando il comando seguente:
> cec migrate-content <source_collection_name> --server <source_server_name> --destination <target_server_name> --repository <target_repository_name> --collection <target_collection_name> --channel <target_channel_name>
Gli asset verranno creati nel server di destinazione nel repository specificato e verranno associati alla raccolta e al canale. Se necessario, la raccolta e il canale verranno creati in modo automatico. La lingua predefinita per tutti gli asset di cui è stata eseguita la migrazione sarà la lingua predefinita impostata nel repository specificato.