ถ้าคุณมีอินสแตนซ์ของ Oracle Content Management ที่รันอยู่ใน Cloud infrastructure เดิมโดยใช้การสมัครแบบไม่ได้คิดค่าบริการ Oracle ขอแนะนำให้คุณย้ายข้อมูลอินสแตนซ์เหล่านี้ไปยังสภาพแวดล้อม (OCI) ต้นฉบับ Oracle Cloud Infrastructure ใหม่—Gen 2 OCI (กล่าวคือ ใช้ Infrastructure Console เพื่อจัดการอินสแตนซ์ของบริการ) ซึ่งจะช่วยให้แน่ใจได้ว่าคุณจะเพลิดเพลินไปกับสิทธิประโยชน์และการพัฒนาคลาวด์แพลตฟอร์มของ Oracle ในอนาคต
ในการเริ่มต้นการย้าย คุณจะต้องดำเนินการขั้นตอนบางอย่างก่อนทำการย้ายและทำงานร่วมกับ Oracle Support เพื่อวางกำหนดการการย้าย
ตารางนี้อธิบายการแมปกลุ่มสิทธิ์ Oracle Content Management กับบทบาทของแอปพลิเคชัน OCI
กลุ่มสิทธิ์ของ Oracle Content Management | บทบาทของแอปพลิเคชัน OCI |
---|---|
DocumentsServiceUser | CECStandardUser |
DocumentsServiceAdmin | CECServiceAdministrator |
SitesServiceVisitor | CECSitesVisitor |
SitesServiceAdmin | CECSitesAdministrator |
ContentAdministratorRole | CECContentAdministrator |
CECSStandardUser | CECStandardUser |
CECSEnterpriseUser | CECEnterpriseUser |
หมายเหตุ:
ถ้าโดเมน IDCS เป้าหมายมีผู้ใช้ที่ใช้ชื่อผู้ใช้เดียวกันนี้อยู่แล้ว ระบบจะระบุบทบาทของแอปพลิเคชัน OCI ที่สอดคล้องกับกลุ่มสิทธิ์ Oracle Content Management ของผู้ใช้ให้กับผู้ใช้เมื่อคุณพร้อมสำหรับการย้ายแล้ว คุณต้องส่งคำขอย้ายเพื่อให้กระบวนการเริ่มต้น:
หลังจากที่ Oracle Support ได้รับคำขอบริการการย้ายของคุณ เราจะวางกำหนดการการย้ายของคุณตามวันที่คุณขอ และระบบจะอัปเดตคำขอบริการด้วยวันที่และเวลาที่การย้ายของคุณจะเริ่มต้น
การอัปเดตจะดำเนินการในคำขอบริการเพื่อแสดงความคืบหน้าของการย้าย การย้ายข้อมูลจะดำเนินการแล้วเสร็จในส่วนหลังของระบบ ไม่จำเป็นต้องดำเนินการใดๆ จากฝั่งคุณนอกเหนือจากการอัปเดตคำขอบริการอยู่เสมอ และตรวจสอบการย้ายหลังจากที่เสร็จเรียบร้อยแล้ว
ต่อไปนี้เป็นสิ่งที่เกิดขึ้นในระหว่างการย้าย
สำคัญ:
ในขั้นตอนนี้ คุณต้องไม่ทำการเปลี่ยนแปลงใดๆ ในอินสแตนซ์เดิม (ที่มา) ของคุณ การเปลี่ยนแปลงที่ทำหลังจากที่การย้ายเริ่มต้นจะไม่ถูกย้ายไปยังอินสแตนซ์ใหม่ของคุณหมายเหตุ:
อินสแตนซ์เดิมจะยังคงทำงานอยู่เผื่อในกรณีที่คุณต้องการอ้างอิงกลับเพื่อการตรวจสอบ นอกจากนี้คุณยังต้อง ย้ายไซต์ใดๆ ที่ใช้งานข้อมูล และ ย้ายข้อมูลอื่นใดๆ ที่ไม่รวมอยู่ในระหว่างการย้ายถ้าอินสแตนซ์เดิมของคุณใช้งานร่วมกับหรือติดต่อกับบริการหรือแอปพลิเคชันอื่น ไม่ว่าจะโดยตรงหรือผ่านการเรียก REST API คุณอาจต้องดำเนินงานหลังการย้าย
รายการต่อไปนี้ใช้กับทั้งบริการ
URL เดิมใช้รูปแบบต่อไปนี้
https://<service-name>-<account-name>.<region>.oraclecloud.com/documents
URL ใหม่ใช้รูปแบบต่อไปนี้
https://<service-name>-<account-name>.<service-type>.ocp.oraclecloud.com/documents
การใช้งานร่วมกัน | สิ่งที่ต้องทำหลังการย้าย |
---|---|
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 |
|
การเรียก REST API |
|
การใช้งาน SDK/CLI ของไคลเอนต์ |
|
ตัวเชื่อมต่อ |
|
หมายเหตุ:
บุคมาร์คไปยังเนื้อหาในอินสแตนซ์เดิมของคุณจะไม่สามารถใช้งานได้อีกต่อไป เนื่องจาก URL ของอินสแตนซ์ใหม่เปลี่ยนแปลงไซต์ที่ ไม่มี ข้อมูลจะถูกย้ายโดยอัตโนมัติ แต่ไซต์ที่ มี ข้อมูลต้องมีขั้นตอนบางอย่างเพิ่มเติมเพื่อทำให้สามารถทำงานในอินสแตนซ์ Oracle Content Management ใหม่ของคุณได้
คำสั่ง "cec migrate-site" เป็นคำสั่งใหม่ ดังนั้นคุณจะต้องติดตั้งชุดเครื่องมือ OCE จากพื้นที่เก็บข้อมูล Git ของเว็บไคลเอนต์แม้ว่าคุณจะดาวน์โหลดและติดตั้งไว้ก่อนหน้านี้แล้วก็ตาม
ทำตามคำแนะนำใน เพจชุดเครื่องมือของไซต์ เพื่อดาวน์โหลดและติดตั้งชุดเครื่องมือ OCE
รีจีสเตอร์รายละเอียดการเชื่อมต่อสำหรับเซิร์ฟเวอร์เป้าหมาย (เซิร์ฟเวอร์ที่คุณย้ายไซต์ของคุณไป):
> cec register-server <target_server_name> -e http://<target_server>:<target_port> -u <target_username> -p <target_password> -t pod_ec
ในการย้ายไซต์ของคุณ ให้ทำตามขั้นตอนต่อไปนี้
<site_name>
ด้วยชื่อที่คุณต้องการให้ไซต์มีในเซิร์ฟเวอร์เป้าหมาย
> cec migrate-site <site_name> --template <template_path_and_name> --destination <registered_target_server_name> --repository <repository_name>
เมื่อคุณย้ายไซต์ของคุณแล้ว ไซต์จะรันโดยใช้การเรียก Content REST v1.1 ซึ่งอาจทำให้เกิดปัญหาบางอย่างที่จำเป็นต้องแก้ไขก่อนเพื่อให้ไซต์รันอย่างถูกต้อง ดูข้อมูลต่อไปนี้เพื่อกำหนดสิ่งที่คุณต้องดำเนินการ:
เมื่อคุณรันไซต์อย่างถูกต้อง คุณจะต้องกำหนดให้ MLS ของไซต์คุณสอดคล้องตามข้อกำหนด ถ้าคุณสร้างไซต์ขององค์กรในเซิร์ฟเวอร์การประมวลผลภายนอก จะต้องระบุภาษาดีฟอลต์และข้อกำหนดการโลคัลไลซ์ เนื่องจากมีการคัดลอกไซต์ของคุณระหว่างกัน ซึ่งเป็นไซต์ที่ไม่ใช่ MLS คุณจะต้องอัปเกรดเป็นไซต์ MLS เพื่อให้แน่ใจว่าคุณสามารถรองรับฟังก์ชันในอนาคต
ตารางต่อไปนี้แสดงความแตกต่างระหว่างไซต์ MLS และไซต์ที่ไม่ใช่ MLS
ออบเจกต์ไซต์ | ไซต์ MLS | ไซต์ที่ไม่ใช่ MLS |
---|---|---|
รายการเนื้อหา | ความต่างของภาษารายการเนื้อหาจะปรากฏ ไม่ใช่รายการเนื้อหาที่อยู่บนเพจ ภาษาสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับภาษาที่ขอเมื่อแสดงไซต์ | รายการภาษาที่อยู่บนเพจจะปรากฏเสมอ |
เลย์เอาต์ของเนื้อหา | เลย์เอาต์ของเนื้อหาต้องรองรับ v1.1 API ในกรณีที่ไม่รองรับ รายการเนื้อหาจะไม่ปรากฏ แต่จะแสดงคำเตือนแทน ทั้งนี้เนื่องจากการเรียก v1.1 API ทั้งหมดจะมี "โลแคล" เพิ่มมาซึ่งไม่รองรับใน v1.0 API | เลย์เอาต์ของเนื้อหาอาจเป็น v1.0 หรือ v1.1 ถ้าเลย์เอาต์ของเนื้อหารองรับเฉพาะ v1.0 เท่านั้น ContentSDK จะเพิ่มรายการ "ข้อมูล" ในการตอบกลับเพื่อให้ตรงกับรายการ "ฟิลด์" อาจยังคงมีปัญหาอื่น ดังนั้นจึงไม่ควรถือเป็น "คุณสมบัติที่รองรับ" สำหรับการไม่อัปเกรดเลย์เอาต์ของเนื้อหา |
ลิสต์เนื้อหา | เฉพาะรายการเนื้อหาที่มีอยู่ในความต่างของภาษาที่ขอเท่านั้นจะปรากฏ | รายการเนื้อหาทั้งหมดจะปรากฏไม่ว่าจะเป็นภาษาใด ผู้ใช้มีตัวเลือกในลิสต์เนื้อหาเพื่อพินผลลัพธ์กับภาษาที่กำหนด เพื่อให้คุณมีลิสต์เนื้อหา 2 รายการในเพจที่แสดงผลลัพธ์เป็นภาษาต่างๆ ไม่มีตัวเลือกให้เลือกภาษาในแผงข้อมูลการตั้งค่านี้สำหรับไซต์ MLS |
defaultLocale | ไซต์ MLS มีโลแคลไซต์ดีฟอลต์ ซึ่งหมายความว่าการสืบค้นเนื้อหาทั้งหมดจะแสดงเฉพาะรายการเนื้อหาที่อยู่ในโลแคลนั้นเท่านั้น (หรือไม่สามารถแปลได้) | ไม่มีโลแคลดีฟอลต์ในไซต์ที่ไม่ใช่ MLS ดังนั้น การสืบค้นเนื้อหาที่ใช้แจะแสดงรายการเนื้อหาทั้งหมดไม่ว่าจะเป็นภาษาใด |
ข้อกำหนดการโลคัลไลซ์ |
กำหนดลิสต์ภาษาที่สามารถใช้ได้สำหรับไซต์ จะมีดรอปดาวน์ในตัวสร้าง นอกจากนี้ ใน UI การจัดการจะมีดรอปดาวน์ภาษาเพื่อให้คุณสามารถเปิด/แสดงตัวอย่างในภาษาที่ขอได้ |
เนื่องจากไม่มีข้อกำหนดการโลคัลไลซ์ ดรอปดาวน์เพื่อเปลี่ยนภาษาจะถูกย้ายออกจากตัวสร้าง ใน UI การจัดการ ไม่มีภาษาแสดงในลิสต์ และไม่มีภาษา "ดีฟอลต์" นี่คือวิธีที่คุณรับรู้ไซต์ที่ไม่ใช่ MLS และไซต์ MLS ใน UI การจัดการ |
การแปล/สามารถแปลได้ | เมนูคอนเท็กซ์ใน UI การจัดการมี "แปล" เป็นตัวเลือก ซึ่งจะช่วยให้คุณสามารถสร้างงานการแปลเพื่อแปลไซต์ |
เมนูคอนเท็กซ์ใน UI การจัดการมีตัวเลือก "สามารถแปลได้" รายการที่ไม่ใช้ MLS จะแปลไม่ได้ คุณจะต้องกำหนดให้เป็นไซต์ที่สามารถแปลได้ (MLS) ก่อนจึงจะสามารถแปลได้ ต่อไปนี้คือวิธีการ "อัปเกรด" ไซต์จากแบบที่ไม่ใช่ MLS เป็น MLS หมายเหตุ: วิธีนี้เป็นวิธีทางเดียวเท่านั้น คุณไมสามารถดาวน์เกรดเป็นแบบไม่สามารถแปลได้ |
ก่อนที่คุณจะเปลี่ยนไซต์ของคุณเป็นไซต์ MLS คุณต้องดำเนินการต่อไปนี้
จากนั้น ถ้าคุณบังเอิญมีรหัสองค์ประกอบที่กำหนดเองใดๆ ที่ทำให้มีการเรียก Content REST คุณจะต้องอัปเกรดรหัสองค์ประกอบนั้นให้เรียก v1.1 เหตุการณ์นี้ไม่ใช่เหตุการณ์ทั่วไป เนื่องจากการเรียกเนื้อหาส่วนใหญ่นั้นกำหนดจากเลย์เอาต์ของเนื้อหา
การอัปเกรดเลย์เอาต์ของเนื้อหา
การระบุเวอร์ชัน Content REST API ที่รองรับ
เลย์เอาต์ของเนื้อหาต้องระบุเวอร์ชัน Content REST API ที่รองรับ ทั้งนี้เพื่อความแน่ใจว่าได้กำหนดการเรียก Content REST ที่เหมาะสมเพื่อแสดงข้อมูลการตอบกลับที่คาดหมายสำหรับเลย์เอาต์
ถ้าคุณไม่ได้ระบุการรองรับเวอร์ชัน ระบบจะถือว่าเลย์เอาต์ของเนื้อหารองรับ v1.0 เท่านั้น
คอนโซลแสดงเลย์เอาต์ของเนื้อหาที่ยังใช้ v1.0
เพื่อให้เลย์เอาต์ของเนื้อหาของคุณสามารถรองรับเวอร์ชันอื่น ให้เพิ่มคุณสมบัติ "contentVersion" ในออบเจกต์เลย์เอาต์ของเนื้อหาของคุณ
จากตัวอย่างนี้ มีการระบุว่ารองรับทุกเวอร์ชันระหว่าง v1.0 ถึงเวอร์ชันที่ต่ำกว่า 2.0 (หมายเหตุ: ไม่มี 2.0 แต่การเปลี่ยนแปลงเวอร์ชันที่สำคัญอาจทำให้เกิดการเปลี่ยนแปลงครั้งสำคัญ)
// 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) {
การจัดการการเปลี่ยนการตอบกลับ v1.1
สิ่งที่คุณต้องทำอย่างน้อยคือการจัดการการเปลี่ยนการตอบกลับ Content REST API จาก: "ข้อมูล" เป็น "ฟิลด์" วิธีที่ง่ายที่สุดในการดำเนินการนี้คือการเพิ่มต่อท้ายในคุณสมบัติ "ข้อมูล" และไปยังคุณสมบัติ "ฟิลด์" ใหม่
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
ตัวเลือกที่ดีกว่าคือการเปลี่ยนไปใช้ค่า "ฟิลด์" ใน v1.1 ตลอดทั้งเลย์เอาต์ของเนื้อหาของคุณ ซึ่งจะเกี่ยวข้องกับการอัปเดตทั้ง JavaScript และรหัสเทมเพลทของคุณ
ในการรองรับ v1.1 แบบเต็มรูปแบบ คุณจะต้องจัดการการเปลี่ยนแปลง Content REST API ต่อไปนี้ระหว่าง v1.0 ถึง v1.1:
การเปลี่ยนแปลง REST API ของเนื้อหา | v1.1 | v1.0 |
---|---|---|
"ฟิลด์" เทียบกับ "ข้อมูล" |
"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" } }, |
ชื่อคุณสมบัติ camelCase | "updatedDate" | "updateddate" |
รูปแบบการสืบค้น | /items?q=(type eq "Starter-Blog-Author") | /items?fields.type.equals="Starter-Blog-Author" |
เวอร์ชัน API | /content/management/api/v1.1/items | /content/management/api/v1/items |
การสืบค้นที่ระบุของภาษา | /content/management/api/v1.1/items?q=((type eq "Promo") and (language eq "en-US" or translatable eq "false")) |
ไม่รองรับ คุณต้องย้ายข้อมูลการเรียก v1 ที่กำหนดเองทั้งหมดเพื่อรวมตัวเลือก "ภาษา" การดำเนินการนี้จะช่วยให้แน่ใจว่าผลลัพธ์สอดคล้องกับข้อมูลที่แสดงสำหรับไซต์ MLS เมื่อดูในภาษาที่ระบุ |
การอัปเกรดสตริงการสืบค้นเนื้อหา
คุณสามารถกำหนดการเรียก Content API ในรหัสที่กำหนดเองใดๆ ดังนั้น คุณต้องตรวจสอบความถูกต้องของรหัสที่กำหนดเองทั้งหมดที่ไซต์ของคุณใช้ซึ่งกำหนดการเรียก Content REST API
การแปลงไซต์ที่ไม่ใช่ MLS เป็น MLS
เมื่อคุณแปลงไซต์ของคุณให้รองรับ v1.1 Content REST API อย่างเต็มรูปแบบ คุณสามารถเพิ่มการรองรับสำหรับภาษาได้โดยการเปลี่ยนเป็นไซต์ MLS
ถ้าคุณเลือกไซต์ของคุณใน UI การจัดการไซต์ คุณจะเห็นตัวเลือกเมนูเนื้อหา "สามารถแปลได้" การเลือกตัวเลือกนี้จะแสดงไดอะล็อกถามให้คุณเลือกข้อกำหนดการโลคัลไลซ์และภาษาดีฟอลต์สำหรับไซต์จากลิสต์ภาษาที่ต้องการในข้อกำหนดการโลคัลไลซ์ ถ้าไม่มีข้อกำหนดการโลคัลไลซ์ คุณจะไม่สามารถทำขั้นตอนนี้ให้เสร็จสมบูรณ์ และคุณจะต้องไปที่หน้าจอผู้ดูแลระบบเนื้อหาก่อนและสร้างข้อกำหนดการโลคัลไลซ์ด้วยภาษาที่ต้องการอย่างน้อย 1 ภาษา
เมื่อทำขั้นตอนนี้เสร็จเรียบร้อยแล้ว ตอนนี้ไซต์ของคุณจะแสดงเป็นโลแคลดีฟอลต์ โดยจะให้คุณสามารถเปลี่ยนเป็นโลแคลอื่นที่ระบุในข้อกำหนดการโลคัลไลซ์ของคุณได้
คุณจะต้องตรวจสอบว่าไซต์ของคุณแสดงตามที่คาดหมายในโลแคลดีฟอลต์ของคุณ
ระบบจะย้ายข้อมูลที่เชื่อมโยงกับไซต์เมื่อคุณย้ายไซต์ของคุณ แต่ต้องย้ายข้อมูลที่ไม่ได้เชื่อมโยงกับไซต์แยกต่างหาก
ก่อนที่คุณจะเริ่มย้ายข้อมูล ควรคำนึงถึงประเด็นต่างๆ ต่อไปนี้
ในการย้ายข้อมูลของคุณ ให้ทำตามขั้นตอนต่อไปนี้
รีจิสเตอร์รายละเอียดการเชื่อมต่อสำหรับเซิร์ฟเวอร์ที่มาและเป้าหมาย
รีจีสเตอร์เซิร์ฟเวอร์ที่มา (เซิร์ฟเวอร์ที่คุณย้ายข้อมูลของคุณมา)
> cec register-server <source_server_name> -e http://<source_server>:<source_port> -u <source_username> -p <source_password> -t pod_ic
รีจีสเตอร์เซิร์ฟเวอร์เป้าหมาย (เซิร์ฟเวอร์ที่คุณย้ายข้อมูลของคุณไป)
> cec-install % cec register-server <target_server_name> -e http://<source_server>:<source_port> -u <target_username> -p <target_password> -t pod_ec
ย้ายคอลเล็คชันข้อมูลโดยรันคำสั่งต่อไปนี้
> 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>
ระบบจะสร้างข้อมูลบนเซิร์ฟเวอร์เป้าหมายในพื้นที่เก็บข้อมูลที่กำหนดและจะเชื่อมโยงกับคอลเล็คชันและช่องทาง ถ้าจำเป็น ระบบจะสร้างคอลเล็คชันและช่องทางโดยอัตโนมัติ ภาษาดีฟอลต์สำหรับข้อมูลที่ย้ายทั้งหมดจะเป็นภาษาดีฟอลต์ที่ตั้งค่าในพื้นที่เก็บข้อมูลที่กำหนด