Если вы используете экземпляры Oracle Content Management на устаревшей платформе Cloud Infrastructure с безлимитной подпиской, компания Oracle рекомендует перенести эти экземпляры в новую собственную среду Oracle Cloud Infrastructure (OCI) — OCI 2-го поколения (т. е. использовать консоль Infrastructure для управления экземплярами сервисов). Это позволит вам в будущем воспользоваться преимуществами облачной платформы 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 уже содержит пользователя с таким именем, пользователю назначаются роли приложений OCI, соответствующие группам разрешений Oracle Content Management.По готовности к миграции необходимо отправить запрос на миграцию, чтобы начать процесс:
После получения запроса на обслуживание миграции службы поддержки Oracle процесс миграции будет запланирован на основе запрошенной даты, а запрос на обслуживание будет обновлен с использованием даты и времени начала миграции.
В запрос на обслуживание будут внесены обновления, чтобы показать способ выполнения миграции. Миграция данных будет выполнена на стороне сервера. В конце операции не требуется никаких действий, кроме выполнения любых обновлений запроса на обслуживание и проверки миграции после этого.
В процессе миграции происходит следующее:
Важное замечание:
На этом этапе не следует вносить никаких изменений в старый экземпляр (источник). Любые изменения, внесенные после начала миграции, не будут перенесены в новый экземпляр.Примечание.:
Старый экземпляр останется в рабочем состоянии, чтобы можно было вернуться к нему для проверки. Кроме того, он также потребуется для миграции всех сайтов, использующих активы, и миграции любых других активов, которые были исключены во время миграции.Если старый экземпляр интегрирован или связан с другими службами или приложениями напрямую или посредством вызова API-интерфейса REST, может потребоваться выполнение задач после миграции.
Следующие элементы применяются в масштабе всех сервисов:
Старые URL-адреса использовали следующий шаблон:
https://<имя_службы>-<имя_учетной записи>.<область>.oraclecloud.com/documents
Новые URL-адреса использовали следующий шаблон:
https://<имя_сервиса>-<имя_учетной записи>.<тип_сервиса>.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 |
|
Вызовы API-интерфейса REST |
|
Использование клиента 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 | Другой сайт |
---|---|---|
Элементы содержимого | Отображается вариант языка элемента контента, а не элемент контента, перенесенный на страницу. Язык может измениться в зависимости от того, какой язык был запрошен при визуализации сайта. | Элемент контента, который перетащили на страницу, будет отображаться всегда. |
Макеты контента | Макеты контента должны поддерживать API-интерфейсы версии 1.1. Если это не так, элемент контента не отображается. Вместо этого отображается предупреждение. Это связано с тем, что для всех вызовов API-интерфейса версии 1.1 добавляется "локаль", которая не поддерживается API-интерфейсом версии 1.0. | Макеты контента могут иметь версию 1.0, или 1.1. Если макет контента поддерживает только версию 1.0, то при совпадении записи "fields" ContentSDK добавит запись "data". По-прежнему могут возникать другие проблемы, поэтому не следует рассматривать эту возможность как "поддерживаемую функцию", чтобы не обновлять макет контента. |
Списки контента | Отображаются только элементы контента, доступные в запрошенном языковом варианте. | Отображаются все элементы контента независимо от языка. Пользователь может прикрепить результаты к определенному языку в списке контента, чтобы на странице отображались два списка контента с результатами на разных языках. Этот параметр панели настроек для выбора языка недоступен для сайтов MLS. |
defaultLocale | У сайтов MLS есть локаль сайта по умолчанию. Это означает, что все запросы контента возвращают только те элементы контента, которые соответствуют выбранной локали (или не подлежат перепродаже). | На сайте, отличном от MLS, отсутствует локаль по умолчанию, поэтому используемый запрос контента возвращает все элементы контента независимо от языка. |
Политики локализации |
Определяет список языков, доступных на сайте. В построителе они перечислены в раскрывающемся списке. Кроме того, в пользовательском интерфейсе управления должен быть раскрывающийся список языков, позволяющий открывать/просматривать требуемый язык. |
Поскольку политика локализации отсутствует, раскрывающийся список для переключения языков удален из построителя. В пользовательском интерфейсе управления отсутствует список языков, включая язык по умолчанию. Таким образом можно отличить сайты MLS от других сайтов в пользовательском интерфейсе управления. |
Перевод/переводимый | В контекстном меню в пользовательском интерфейсе управления есть пункт "Перевести". Это позволяет создать задание перевода для перевода сайта. |
В контекстном меню в пользовательском интерфейсе управления есть пункт "Переводимый". Фактически, сайты, которые не являются MLS, не могут быть переводимыми, поэтому, чтобы их можно было перевести, сначала сайты необходимо сделать переводимыми (MLS). Это также показывает, как обычный сайт "обновляется" до сайта MLS. Примечание. Это односторонний процесс. Сайт MLS невозможно опять сделать непереводимым. |
Прежде чем превратить свой сайт в сайт MLS, необходимо выполнить следующие действия:
Затем, если есть код пользовательского компонента, который совершает вызовы Content REST, необходимо обновить его, чтобы можно было выполнять вызовы версии 1.1. Это редко бывает, так как большинство вызовов контента осуществляется из макетов контента.
Обновление макетов контента
Указание поддерживаемых версий API-интерфейсов Content REST
Макеты контента должны указывать поддерживаемую версию API-интерфейсов Content REST. Это необходимо для того, чтобы выполнялся соответствующий вызов Content REST и в макет возвращались ожидаемые ответные данные.
Если поддержка версии не указана, предполагается, что макет контента поддерживает только версию 1.0.
В консоли будут перечислены макеты контента, которые все еще поддерживают версию 1.0.
Чтобы макет контента поддерживал другие версии, добавьте в объект макета контента свойство "contentVersion".
В этом примере указано, что поддерживаются все версии от 1.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) {
Обработка изменений в версии 1.1
Потребуется, как минимум, обработать изменение ответа API-интерфейса Content REST: с "data" на "fields". Проще всего это сделать, если добавить свойство "data" и указать новое свойство "fields".
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
Лучший вариант изменения — перейти к использованию значения "fields" в версии 1.1 во всех макетах контента. Для этого потребуется обновить JavaScript и код шаблона.
Для полной поддержки версии 1.1 необходимо выполнить следующие изменения API-интерфейсов Content REST между версиями 1.0 к 1.1:
Изменение API-интерфейсов Content REST | v1.1 | v1.0 |
---|---|---|
"fields" и "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")) |
Не поддерживается. Необходимо перенести все пользовательские вызовы версии 1, чтобы включить параметр "language". Это обеспечивает согласованность результатов с результатами, полученными для сайта MLS при просмотре на определенном языке. |
Обновление строки запроса контента
Интерфейс Content API может вызываться в любом пользовательском коде, поэтому необходимо проверить весь пользовательский код, используемый сайтом, совершающим вызовы API-интерфейсов Content REST.
Преобразование обычного сайта в сайт MLS
После преобразования сайта до полной поддержки API-интерфейсов Content REST версии 1.1 можно добавить поддержку языков, превратив сайт в сайт MLS.
Если выбрать сайт в пользовательском интерфейсе управления сайтом, появится пункт меню контента "Переводимый". Если выбрать этот пункт, открывается диалоговое окно с запросом выбора политики локализации и языка по умолчанию для сайта из списка требуемых языков в политике локализации. Если политики локализации нет, этот шаг выполнить невозможно, и сначала потребуется перейти к экранам администрирования контента и создать политику локализации, указав хотя бы один обязательный язык.
После выполнения этого шага сайт будет визуализироваться в соответствии с языковыми настройками по умолчанию. Кроме того, это позволит переключаться на другие языки, указанные в политике локализации.
Необходимо проверить, что сайт отображается в соответствии с языковыми настройками по умолчанию.
Вместе с сайтами переносятся связанные с ними активы, однако все активы, не связанные с сайтами, необходимо переносить отдельно.
Перед началом миграции примите во внимание следующее моменты:
Чтобы перенести свои активы, выполните указанные ниже действия.
Зарегистрируйте сведения о подключении для исходного и целевого серверов.
Зарегистрируйте исходный сервер (сервер, с которого осуществляется миграция активов):
> 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>
Активы будут созданы на целевом сервере в указанном репозитории и связаны с коллекцией и каналом. При необходимости коллекция и канал создаются автоматически. Язык по умолчанию для всех перенесенных активов — язык по умолчанию, заданный в указанном репозитории.