Dacă aveţi instanţe Oracle Content Management care rulează pe infrastructura de cloud moştenită utilizând un abonament necontorizat, Oracle recomandă migrarea acelor instanţe către noul mediu nativ Oracle Cloud Infrastructure (OCI) – Gen 2 OCI (mai precis, utilizarea consolei Infrastructure pentru administrarea instanţelor de servicii). Astfel vă veţi putea bucura de avantajele şi optimizările platformei Oracle Cloud în viitor.
Pentru a iniţia migrarea, trebuie să parcurgeţi câţiva paşi înainte de migrare şi să colaboraţi cu Suportul Oracle pentru a programa migrarea.
Acest tabel descrie maparea grupurilor de permisiuni Oracle Content Management la rolurile din aplicaţiile OCI.
Oracle Content Management Grup de permisiuni | Rolul în aplicaţii OCI |
---|---|
DocumentsServiceUser | CECStandardUser |
DocumentsServiceAdmin | CECServiceAdministrator |
SitesServiceVisitor | CECSitesVisitor |
SitesServiceAdmin | CECSitesAdministrator |
ContentAdministratorRole | CECContentAdministrator |
CECSStandardUser | CECStandardUser |
CECSEnterpriseUser | CECEnterpriseUser |
Notă:
Dacă domeniul IDCS destinaţie conţine deja un utilizator cu acelaşi nume de utilizator, utilizatorului îi vor fi asignate rolurile în aplicaţia OCI care corespund grupurilor de permisiuni Oracle Content Management.Când sunteţi gata pentru migrare, trebuie să trimiteţi o cerere de migrare pentru a începe procesul:
După ce suportul Oracle primeşte cererea pt. serviciul de migrare, vom programa migrarea pe baza datei solicitate şi cererea pt. serviciu va fi actualizată cu data şi ora la care va începe migrarea.
Cererea pt. serviciu va fi actualizată pentru a indica cum progresează migrarea. Migrarea datelor va fi efectuată la backend; nu este obligatorie nicio acţiune din partea dvs. în afară de consultarea actualizărilor cererii pt. serviciu şi validarea migrării după finalizarea ei.
Iată ce se întâmplă în timpul migrării:
Important:
În această etapă, nu ar trebui să mai aduceţi modificări asupra instanţei vechi (sursă). Modificările efectuate după începerea migrării nu vor fi migrate în instanţa nouă.Notă:
Instanţa veche va rămâne funcţională astfel încât să o puteţi consulta din nou pentru validare. Veţi avea nevoie de ea pentru migrarea site-urilor care utilizează resurse şi pentru migrarea altor resurse, care au fost excluse în timpul migrării.Dacă instanţa veche era integrată sau comunica cu alte servicii sau aplicaţii, direct sau prin apelurile API-ului REST, este posibil să fie nevoie să efectuaţi unele acţiuni după migrare.
Următoarele elemente se aplică pentru tot serviciul:
Vechile URL-uri utilizau următorul tipar:
https://<service-name>-<account-name>.<region>.oraclecloud.com/documents
URL-urile noi utilizează următorul tipar:
https://<service-name>-<account-name>.<service-type>.ocp.oraclecloud.com/documents
Integrare | Lucruri pe care trebuie să le faceţi după migrare |
---|---|
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 |
|
apelările API-ului REST |
|
Utilizarea SDK/CLI de clienţi |
|
Conectorii |
|
Notă:
Eventualele semne de carte către conţinutul din instanţa veche nu vor mai funcţiona deoarece URL-ul noii instanţe s-a schimbat.Site-urile care nu includ resurse vor fi migrate automat, însă site-urile care includ resurse necesită nişte paşi suplimentari pentru a fi făcute să funcţioneze în noua instanţă Oracle Content Management.
Comanda "cec migrate-site" este nouă, ceea ce înseamnă că va trebui să instalaţi OCE Toolkit din repository-ul git webclient, chiar dacă l-aţi descărcat şi instalat anterior.
Urmaţi instrucţiunile din pagina sites toolkit pentru a descărca şi instala OCE Toolkit.
Înregistraţi detaliile de conectare pentru serverul destinaţie (serverul către care migraţi site-urile):
> cec register-server <target_server_name> -e http://<target_server>:<target_port> -u <target_username> -p <target_password> -t pod_ec
Pentru a migra site-uri, parcurgeţi paşii următori:
<site_name>
cu numele pe care doriţi să-l aibă site-ul pe serverul destinaţie:
> cec migrate-site <site_name> --template <template_path_and_name> --destination <registered_target_server_name> --repository <repository_name>
După ce aţi migrat site-ul, acesta va rula utilizând apelări Content REST v1.1. Acest lucru poate genera unele probleme care trebuie rezolvate înainte ca site-ul să poată rula corect. Pentru a stabili ce aveţi de făcut, observaţi următoarele:
După ce aţi creat site-ul şi acesta funcţionează corect, trebuie să îl configuraţi astfel încât să fie conform cu normele pentru site-urile multilingve. Dacă doriţi să creaţi un site al companiei pe un server de calcul extern, acesta va avea nevoie de o limbă prestabilită şi de o politică de localizare. Deoarece site-ul dvs. a fost copiat ca atare, acesta nu este conform cu normele pentru site-uri multilingve, deci va trebui să îl upgradaţi la un astfel de site pentru a vă asigura că acesta va accepta adăugarea ulterioară de funcţionalităţi.
Următorul tabel arată diferenţele dintre site-urile web neconforme cu normele pentru site-uri multilingve şi cele conforme.
Obiect de pe site | Site conform cu normele pentru site-uri multilingve | Site neconform cu normele pentru site-uri multilingve |
---|---|---|
Elementele de conţinut | Nu se va afişa elementul de conţinut plasat pe pagină, ci varianta lingvistică a elementului de conţinut. Limba se poate schimba în funcţie de limba solicitată în momentul randării site-ului. | Întotdeauna se va afişa elementul de conţinut care a fost plasat pe pagină. |
Machete de conţinut | Machetele de conţinut trebuie să fie compatibile cu API-urile pentru v1.1. Dacă nu sunt compatibile, elementul de conţinut nu va apărea. În schimb, se va afişa un avertisment. Aceasta deoarece la toate apelurile către API-urile din v1.1 se va adăuga o "variabilă locală" care nu este acceptată în API-urile din v1.0. | Machetele de conţinut pot avea fie v1.0, fie v1.1. Dacă macheta de conţinut acceptă doar v1.0, SDK-ul Content va adăuga o intrarea "data" la răspuns, pentru a corespunde intrării "fields". Ar putea exista în continuare probleme, astfel încât aceasta nu ar trebui să fie considerată o "caracteristică acceptată", care să justifice neactualizarea machetei de conţinut. |
Liste de conţinut | Vor fi afişate doar elementele de conţinut disponibile în varianta lingvistică solicitată. | Vor fi afişate toate elementele de conţinut, indiferent de varianta lingvistică. În ceea ce priveşte lista de conţinut, utilizatorul are opţiunea de a fixa rezultatele la o anumită versiune lingvistică, deci este posibil să aveţi două liste de conţinut în pagină, care afişează rezultatele în limbi diferite. Această opţiune de alegere a versiunii lingvistice pentru panoul de setări nu este disponibilă pentru site-urile neconforme cu normele pentru site-uri multilingve. |
defaultLocale | Site-urile conforme cu normele pentru site-uri multilingve au o versiune lingvistică prestabilită. Acest lucru înseamnă că toate interogările de conţinut vor returna numai elementele de conţinut care sunt în versiunea lingvistică respectivă (sau netraductibile). | Nu există o versiune lingvistică prestabilită pentru un site-urile neconforme cu normele pentru site-uri multilingve. Prin urmare, interogarea de conţinut utilizată va returna toate elementele de conţinut, indiferent de limbă. |
Politica de localizare |
Defineşte lista de limbi disponibile pentru site. În generator veţi găsi o listă derulantă care conţine aceste limbi. De asemenea, în interfaţa de administrare puteţi găsi o listă derulantă cu versiuni lingvistice, care vă permite să deschideţi/să previzualizaţi conţinutul în limba solicitată. |
Deoarece nu există o politică de localizare, lista derulantă care permite schimbarea versiunii lingvistice este eliminată din generator. În interfaţa de administrare nu este listată nicio limbă, prin urmare, nici o limbă "prestabilită". Astfel puteţi deosebi site-urile conforme cu normele pentru site-uri multilingve de cele neconforme în interfaţa de administrare. |
Traductibil/Netraductibil | Meniul contextual din interfaţa de administrare oferă opţiunea "Traducere". Această opţiune vă permite să creaţi un job pentru traducerea site-ului. |
Meniul contextual din interfaţa de administrare oferă opţiunea "Traductibil". În principiu, un site neconform cu normele pentru site-uri multilingve este netraductibil, deci va trebui să îl convertiţi într-un site traductibil (conform cu normele pentru site-uri multilingve) înainte de a-l traduce. Prin această procedură puteţi şi să "upgradaţi" un site neconform cu normele pentru site-uri multilingve pentru a-l face conform. Notă: Procedura este ireversibilă. Nu puteţi converti un site conform cu normele pentru site-uri multilingve la site netraductibil. |
Înainte de a putea transforma site-ul într-unul conform cu normele pentru site-uri multilingve, trebuie să faceţi următoarele:
Apoi, dacă aveţi cod de componente personalizate care efectuează apeluri către API-ul REST Content, trebuie să upgradaţi şi acest cod astfel încât să efectueze apeluri v1.1. Această situaţie este puţin uzuală, deoarece majoritatea apelurilor către conţinut sunt efectuate din machetele de conţinut.
Upgradarea machetelor de conţinut
Specificarea versiunilor compatibile ale API-ului REST Content
Machetele de conţinut trebuie să specifice versiunea API-ului REST Content cu care sunt compatibile. Acest lucru este necesar pentru a se asigura că se efectuează un apel corespunzător către API-ul REST Content, în vederea returnării în machetă a datelor de răspuns aşteptate.
Dacă nu specificaţi informaţii privind compatibilitatea cu anumite versiuni, se va considera că macheta de conţinut este compatibilă doar cu versiunea v1.0.
Consola va lista machetele de conţinut care încă utilizează versiunea v1.0.
Pentru a permite machetei de conţinut să accepte alte versiuni, adăugaţi proprietatea "contentVersion" la obiectul machetei de conţinut.
În acest exemplu, macheta indică faptul că este compatibilă cu toate versiunile între v1.0 şi 2.0 (Notă: versiunea 2.0 nu există, însă schimbările majore de versiuni pot introduce modificări )
// 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) {
Tratarea schimbărilor de răspunsuri din versiunea v1.1
Pentru aceasta, tot ce trebuie să faceţi este să trataţi modificarea răspunsului API-ului REST Content de la "data" la "fields". Pentru acest lucru, cel mai simplu este să adăugaţi proprietatea "data" şi să indicaţi către noua proprietate "fields"
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
O opţiune mai bună este să schimbaţi configuraţia pentru a utiliza valoarea "fields" din versiunea v1.1 în toate machetele dvs. de conţinut. Acest lucru implică actualizarea atât a codului JavaScript, cât şi a codului şablonului.
Pentru a accepta pe deplin versiunea v1.1, va trebui să trataţi următoarele modificări ale API-ului REST Content de la versiunea v1.0 la versiunea v1.1:
Modificări ale API-ului REST Content | v1.1 | v1.0 |
---|---|---|
"fields" comparativ cu "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" } }, |
nume de proprietăţi cu majuscule intercalate printre litere mici | "updatedDate" | "updateddate" |
format interogare | /items?q=(type eq "Starter-Blog-Author") | /items?fields.type.equals="Starter-Blog-Author" |
Versiune API | /content/management/api/v1.1/items | /content/management/api/v1/items |
interogări specifice unei anumite limbi | /content/management/api/v1.1/items?q=((type eq "Promo") şi (language eq "en-US" or translatable eq "false")) |
Nu se acceptă. Trebuie să migraţi toate apelurile v1 personalizate şi să vă asiguraţi că acestea includ opţiunea "limbă". Astfel, rezultatele vor fi în concordanţă cu cele returnate pentru site-ul conform cu normele pentru site-uri multilingve atunci când sunt vizualizate într-o anumită limbă. |
Upgradarea şirului de interogare pentru conţinut
Este posibil să efectuaţi apeluri către API-ul Content în orice porţiune a codului personalizat, aşa că trebuie să validaţi întregul cod personalizat utilizat de site-ul dvs. care efectuează apeluri către API-ul REST Content.
Convertirea unui site care nu este conform cu normele pentru site-uri multilingve într-unul conform
După ce aţi convertit site-ul pentru a fi compatibil pe deplin cu API-urile REST Content v1.1, puteţi adăuga suport pentru versiuni lingvistice prin convertirea site-ului într-un site conform cu normele pentru site-uri multilingve.
Dacă selectaţi site-ul dorit în interfaţa de administrare, veţi vedea o opţiune de meniu pentru conţinutul "traductibil". Dacă selectaţi această opţiune, se va afişa un dialog în care vi se solicită să selectaţi o politică de localizare şi o limbă prestabilită pentru site din lista de limbi necesare din politica de localizare. Dacă nu există nicio politică de localizare, nu veţi putea finaliza acest pas şi va trebui să accesaţi mai întâi ecranele de administrare a conţinutului şi să creaţi o politică de localizare care să conţină cel puţin o limbă necesară.
După finalizarea acestui pas, site-ul dvs. va fi randat în varianta locală prestabilită. De asemenea, veţi putea să comutaţi la alte variante locale specificate în politica de localizare.
Va trebui să validaţi faptul că site-ul este randat conform aşteptărilor, în varianta locală prestabilită.
Resursele asociate cu site-urile vor fi migrate odată cu site-urile, însă resursele care nu sunt asociate cu site-urile vor trebui migrate separat.
Înainte de a începe migrarea, luaţi în considerare următoarele aspecte:
Pentru a migra resursele, parcurgeţi următorii paşi:
Înregistraţi detaliile de conectare pentru serverele sursă şi destinaţie.
Înregistraţi serverul sursă (serverul de pe care migraţi resursele):
> cec register-server <source_server_name> -e http://<source_server>:<source_port> -u <source_username> -p <source_password> -t pod_ic
Înregistraţi serverul destinaţie (serverul pe care migraţi resursele):
> cec-install % cec register-server <target_server_name> -e http://<source_server>:<source_port> -u <target_username> -p <target_password> -t pod_ec
Migraţi o colecţie de resurse utilizând următoarea comandă:
> 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>
Resursele vor fi create pe serverul destinaţie în repository-ul specificat şi vor fi asociate cu colecţia şi cu canalul. Dacă este necesar, colecţia şi canalul vor fi create automat. Limba prestabilită pentru toate resursele migrate va fi limba prestabilită care este setată în repository-ul specificat.