如果您的 Oracle Content Management 執行處理在舊版雲端基礎架構上執行且使用非計量付費訂閱,Oracle 建議您將這些執行處理移轉到新的原生 Oracle Cloud Infrastructure (OCI) 環境 — 第二代 OCI (亦即使用「基礎架構主控台」管理服務執行處理)。這可確保您享有未來 Oracle 雲端平台的優點與進階功能。
若要起始移轉,您必須先執行一些步驟,才能進行移轉並透過 Oracle 客戶服務部排定移轉事宜。
此表格說明 Oracle Content Management 權限群組與 OCI 應用程式角色的對應。
Oracle Content Management 權限群組 | OCI 應用程式角色 |
---|---|
DocumentsServiceUser | CECStandardUser |
DocumentsServiceAdmin | CECServiceAdministrator |
SitesServiceVisitor | CECSitesVisitor |
SitesServiceAdmin | CECSitesAdministrator |
ContentAdministratorRole | CECContentAdministrator |
CECSStandardUser | CECStandardUser |
CECSEnterpriseUser | CECEnterpriseUser |
註:
如果目標 IDCS 網域已經包含相同使用者名稱的使用者,就會為使用者指定與使用者 Oracle Content Management 權限群組相應的 OCI 應用程式角色。準備好進行移轉後,您必須送出移轉要求,才能開始進行處理作業:
Oracle 客戶服務部在收到您的移轉服務要求後,將會依據您要求的日期排定移轉,並以移轉的開始日期與時間更新此服務要求。
系統將會更新此服務要求以顯示移轉的進行狀況。資料移轉會在後端執行;除了配合所有的服務要求更新進度,以及在移轉完成後進行驗證之外,您無須採取任何動作。
以下是移轉過程中會發生的情況:
重要:
此時,請不要對舊的 (來源) 執行處理進行任何變更。在移轉開始後所做的任何變更都不會移轉到新的執行處理。如果舊的執行處理已直接或透過 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" 是新的命令,因此您將需要從 Webclient Git 儲存區域安裝 OCE 工具程式,即使您先前已下載且已安裝也是如此。
依照Sites 工具程式頁面中的指示下載並安裝 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 不支援的 "locale"。 | 內容版面配置可以是 v1.0 或 v1.1。如果內容版面配置僅支援 v1.0,則 ContentSDK 將會在回應中新增 "data" 項目以符合 "fields" 項目。可能仍有其他問題,所以這不應視為未升級內容版面配置的支援功能。 |
內容清單 | 只會顯示要求語言變異中的內容項目。 | 無論語言為何,將會顯示所有內容項目。使用者可以選擇內容清單中的選項來固定特定語言結果,因此在以不同語言顯示結果的頁面中,您可以擁有兩個內容清單。MLS 網站無法使用這個用以選擇語言的設定值面板選項。 |
defaultLocale | MLS 網站具有預設網站地區設定。這表示所有內容查詢只會傳回在此地區設定 (或不可翻譯) 的內容項目。 | 在非 MLS 網站中沒有預設地區設定,因此,無論語言為何,使用的內容查詢均會傳回所有內容項目。 |
本地化規定 |
定義網站可使用的語言清單。產生器中會有本地化規定的下拉式清單。 此外,在管理 UI 中,也會有語言的下拉式清單,讓您以要求的語言開啟/預覽。 |
因為沒有本地化規定,產生器將移除用以切換語言的下拉式清單。 在管理 UI 中,不會列出語言,包括沒有「預設」語言。這是在管理 UI 中分辨非 MLS 與 MLS 網站的方式。 |
翻譯/可翻譯 | 管理 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 回應從 "data" 變更為 "fields"。最簡單的方式就是加回 "data" 特性,並指向新的 "fields" 特性:
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
更好的方式是在內容版面配置中全部改用 v1.1 "fields" 值。這將與更新 JavaScript 和樣板程式碼有關。
若要完整支援 v1.1,您將需要處理下列 v1.0 和 v1.1 之間的 Content REST API 差異:
內容 REST API 變更 | v1.1 | v1.0 |
---|---|---|
"fields" vs. "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" } }, |
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 中選取您的網站,您將會看到「可翻譯」內容功能表選項。選取此選項將會顯示一個對話方塊,要求您從本地化規定的必要語言清單中選擇網站的本地化規定與預設語言。如果沒有任何本地化規定,您將無法完成此步驟,且您必須先前往內容管理畫面,然後至少使用一個必要語言建立本地化規定。
完成此步驟之後,您的網站現在將會以預設地區設定呈現。也能讓您切換至本地化規定中指定的其他地區設定。
您需要確認網站是否如預期以預設的地區設定呈現。
移轉您的網站時,也會移轉與網站關聯的資產;網站中若有用到未與網站建立關聯的資產,則需要個別進行移轉。
開始進行移轉之前,請先考量下列幾點:
若要移轉您的資產,請執行下列步驟:
註冊來源與目標伺服器的連線詳細資訊。
註冊來源伺服器 (要從該伺服器移轉資產):
> 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>
資產將會在指定儲存區域中的目標伺服器上建立,並會與集合和通道建立關聯。如有必要,將會自動建立集合和通道。所有移轉資產的預設語言將會是指定儲存區域中設定的預設語言。