Se tiver instâncias do Oracle Content Management em execução no Cloud Infrastructure legado utilizando uma subscrição com pagamento de valor fixo, a Oracle recomenda a migração dessas instâncias para o novo ambiente do Oracle Cloud Infrastructure (OCI) nativo — OCI de Segunda Geração (ou seja, a utilizar a Consola do Infrastructure para gerir as instâncias do serviço). Este passo garantirá que desfruta das vantagens e dos avanços futuros da plataforma Oracle Cloud.
Para iniciar a migração, deverá efetuar alguns passos antes da migração e contactar o Suporte Oracle para agendar a migração.
Esta tabela descreve a correspondência dos grupos de permissões do Oracle Content Management com os perfis de grupo da aplicação do OCI.
Grupo de Permissões do Oracle Content Management | Perfil de Grupo da Aplicação do OCI |
---|---|
DocumentsServiceUser | CECStandardUser |
DocumentsServiceAdmin | CECServiceAdministrator |
SitesServiceVisitor | CECSitesVisitor |
SitesServiceAdmin | CECSitesAdministrator |
ContentAdministratorRole | CECContentAdministrator |
CECSStandardUser | CECStandardUser |
CECSEnterpriseUser | CECEnterpriseUser |
Nota:
Se o domínio do IDCS de destino já contiver um utilizador com o mesmo nome de utilizador, serão atribuídos ao utilizador os perfis de grupo da aplicação do OCI correspondentes aos grupos de permissões do Oracle Content Management do utilizador.Quando estiver pronto para efetuar a migração, deve submeter um pedido de migração para iniciar o processo:
Após o Suporte Oracle receber o seu pedido do serviço de migração, agendaremos a sua migração com base na data solicitada e o pedido de serviço será atualizado com a data e hora em que a sua migração começará.
As atualizações serão efetuadas no pedido do serviço para mostrar o progresso da migração. A migração dos dados será efetuada no backend. Não será necessária qualquer ação da sua parte além de efetuar as atualizações de todos os pedidos de serviço e de validar a migração após a respetiva conclusão.
Eis o que acontece durante a migração:
Importante:
Nessa altura, não deverá efetuar quaisquer alterações à sua instância antiga (de origem). Todas as alterações efetuadas após a migração iniciar não serão migradas para a sua nova instância.Nota:
A instância antiga permanecerá ativa para que possa remeter à mesma para validação. Também irá precisar dela para migrar quaisquer sites que utilizem ativos e para migrar quaisquer outros ativos que tenham sido excluídos durante a migração.Caso a sua instância antiga tenha sido integrada ou tenha comunicado com outros serviços ou outras aplicações, diretamente ou através de chamadas API REST, poderá ter de efetuar tarefas de pós-migração.
Os seguintes itens aplicam-se a todo o serviço:
Os antigos URLs utilizaram o seguinte padrão:
https://<nome-serviço>-<nome-conta>.<região>.oraclecloud.com/documents
Os novos URLs utilizaram o seguinte padrão:
https://<nome-serviço>-<nome-conta>.<tipo-serviço>.ocp.oraclecloud.com/documents
Integração | O Que Deve fazer Após a Migração |
---|---|
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 |
|
Chamadas da API REST |
|
SDK do Cliente/Utilização da CLI |
|
Conectores |
|
Nota:
Todo o conteúdo marcado como favorito na sua instância antiga não funcionará porque o URL da sua nova instância foi alterado.Os sites que não incluem ativos serão migrados automaticamente, mas os sites que incluem ativos requerem alguns passos adicionais para poderem funcionar na sua nova instância do Oracle Content Management.
O comando "cec migrate-site" é novo, por isso terá de instalar o OCE Toolkit a partir do repositório git do cliente para a Web, mesmo que o tenha descarregado e instalado anteriormente.
Siga as instruções na página do toolkit de sites para descarregar e instalar o OCE Toolkit.
Registe os detalhes da ligação para o servidor de destino (o servidor para o qual está a migrar os seus sites):
> cec register-server <target_server_name> -e http://<target_server>:<target_port> -u <target_username> -p <target_password> -t pod_ec
Para migrar os seus sites, efetue os seguintes passos:
<site_name>
pelo nome que pretende que o site tenha no servidor de destino:
> cec migrate-site <site_name> --template <template_path_and_name> --destination <registered_target_server_name> --repository <repository_name>
Após ter migrado o seu site, este será executado utilizando chamadas REST de Conteúdo v1.1. Isto poderá causar alguns problemas que é necessário resolver para o site ser executado corretamente. Preste atenção ao seguinte para determinar o que necessita de fazer:
Assim que o seu site estiver a ser executado corretamente, é necessário torná-lo compatível com MLS. Para criar um site Empresarial num servidor de External Compute, é necessária uma língua por omissão e um perfil de localização. Como o seu site foi copiado, não é um site MLS e, por isso, é necessário atualizá-lo para um site MLS de modo a garantir o suporte da funcionalidade futura.
A tabela seguinte mostra as diferenças entre sites MLS e não MLS.
Objeto do Site | Site MLS | Site Não MLS |
---|---|---|
Itens de Conteúdo | A variante de língua do item de conteúdo será apresentada, não o item de conteúdo largado na página. A língua pode mudar dependendo da língua pedida quando o site é renderizado. | O item de conteúdo que foi largado na página será sempre apresentado. |
Disposições de Conteúdo | As Disposições de Conteúdo devem suportar APIs v1.1. Se não, o item de conteúdo não aparecerá, será mostrado um aviso em alternativa. Isto acontece porque todas as chamadas da API v1.1 terão um "locale" acrescentado que não é suportado na API v1.0. | As disposições de conteúdo podem ser v1.0 ou v1.1. Se a disposição de conteúdo só suportar a v1.0, o ContentSDK irá acrescentar uma entrada "data" na resposta para corresponder à entrada "fields". Ainda poderão existir outros problemas e, por isso, não deve ser considerado uma "funcionalidade suportada" por não atualizar a disposição de conteúdo. |
Listas de Conteúdos | Só os itens de conteúdo disponíveis na variante de língua pedida serão apresentados. | Todos os itens de conteúdo, independentemente da língua, serão apresentados. Na lista de conteúdos, o utilizador pode optar por afixar os resultados numa língua específica para poder ter duas listas de conteúdos na página que mostrem resultados em línguas diferentes. Esta opção do painel de definições para escolher uma língua não está disponível para sites MLS. |
defaultLocale | Os sites MLS têm definições locais do site por omissão. Isto significa que todas as consultas de conteúdo irão devolver apenas os itens de conteúdo nessas definições locais (ou não traduzíveis). | Não existem definições locais por omissão num site não MLS e, por isso, a consulta de conteúdo utilizada devolve todos os itens de conteúdo independentemente da língua. |
Perfil de Localização |
Define a lista de línguas disponíveis para o site. Haverá uma lista pendente destas línguas no criador. Além disso, na IU de gestão, haverá uma lista pendente de línguas para lhe permitir abrir/pré-visualizar na língua pedida. |
Como não existe nenhum perfil de localização, a lista pendente para mudar de língua é retirada do criador. Na IU de gestão, não existe nenhuma língua listada, nem uma língua "por omissão". É assim que reconhece os sites não MLS vs. MLS na IU de gestão. |
Tradução/Traduzível | O menu de contexto na IU de gestão tem "Traduzir" como opção. Isto permite criar uma tarefa de tradução para traduzir o site. |
O menu de contexto na IU de gestão terá uma opção "Traduzível". De facto, um site não MLS é não traduzível, pelo que é necessário torná-lo primeiro num site traduzível (MLS) antes de o poder traduzir. É também assim que "atualiza" um site de não MLS para MLS. Nota: Este processo é apenas unidirecional. Não pode reverter para não traduzível. |
Antes de transformar o seu site num site MLS, necessita de efetuar o seguinte:
Depois, se tiver código de componente customizado que efetue chamadas REST de Conteúdo, também terá de as atualizar para efetuar chamadas v1.1. Isto não é comum, uma vez que a maior parte das chamadas de conteúdo são efetuadas a partir de disposições de conteúdo.
Atualizar Disposições de Conteúdo
Especificar as Versões de API REST de Conteúdo Suportadas
As disposições de conteúdo devem especificar qual a versão da API REST de Conteúdo que suportam. Isto garante que é efetuada a chamada REST de Conteúdo adequada para devolver os dados de resposta esperados à disposição.
Se não especificar nenhum suporte de versão, assume-se que a disposição de conteúdo só suporta a v1.0.
A consola irá listar as disposições de conteúdo que ainda estão na v1.0.
Para permitir que a sua disposição de conteúdo suporte outras versões, acrescente a propriedade "contentVersion" ao seu objeto de disposição de conteúdo.
Neste exemplo, é indicado o suporte a todas as versões entre a v1.0 e anteriores à 2.0 (Nota: a 2.0 não existe, mas as alterações em versões principais podem introduzir mudanças radicais)
// 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) {
Processar Alterações de Resposta v1.1
O mínimo que terá de fazer é processar a alteração da resposta da API REST de Conteúdo de: "data" para "fields". A forma mais simples de o fazer é voltar a acrescentar a propriedade "data" e apontar para a nova propriedade "fields"
render: function (parentObj) { ... if(!content.data) { content.data = content.fields; }
Uma opção melhor é começar a utilizar o valor "fields" v1.1 em todas as suas disposições de conteúdo. Isto irá envolver a atualização do seu código JavaScript e do modelo.
Para suporte total da v1.1, terá de processar as seguintes alterações da API REST de Conteúdo entre a v1.0 e a v1.1:
Alteração da API REST de Conteúdo | 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" } }, |
nomes de propriedades camelCase | "updatedDate" | "updateddate" |
formato de consulta | /items?q=(type eq "Starter-Blog-Author") | /items?fields.type.equals="Starter-Blog-Author" |
versão da API | /content/management/api/v1.1/items | /content/management/api/v1/items |
consultas específicas da língua | /content/management/api/v1.1/items?q=((type eq "Promo") e (language eq "en-US" or translatable eq "false")) |
Não suportadas. É necessário migrar todas as chamadas v1 customizadas para incluir a opção "language". Isto garante que os resultados são consistentes com os devolvidos para o site MLS quando visualizados numa língua específica. |
Atualizar a Cadeia de Caracteres de Consulta de Conteúdo
Poderá estar a efetuar chamadas da API de Conteúdo em qualquer código customizado e, por isso, é necessário validar todo o código customizado utilizado pelo seu site que esteja a efetuar chamadas da API REST de Conteúdo.
Converter um Site Não MLS em MLS
Depois de ter convertido o seu site para suporte total das APIs REST de Conteúdo v1.1, pode acrescentar suporte para línguas transformando-o num site MLS.
Se selecionar o seu site na IU de gestão de sites, verá uma opção de menu de conteúdo "traduzível". Se selecionar esta opção, será apresentada uma caixa de diálogo a pedir que escolha um perfil de localização e uma língua por omissão para o site a partir da lista de línguas obrigatórias no perfil de localização. Se não existir nenhum perfil de localização, não poderá concluir este passo e, primeiro, terá de aceder aos ecrãs de administração de conteúdo e criar um perfil de localização com, pelo menos, uma língua obrigatória.
Após concluir este passo, o seu site será agora renderizado nas definições locais por omissão. Também lhe permitirá mudar para outras definições locais especificadas no seu perfil de localização.
Será necessário confirmar que o seu site é renderizado conforme esperado nas suas definições sites por omissão.
Os ativos associados aos sites serão migrados quando migrar os seus sites, mas quaisquer ativos que não estejam associados aos sites deverão ser migrados separadamente.
Antes de começar a migração, tenha em conta os seguintes pontos:
Para migrar os seus ativos, efetue os seguintes passos:
Registe os detalhes da ligação para os servidores de origem e de destino.
Registe o servidor de origem (o servidor a partir do qual está a migrar os seus ativos):
> cec register-server <source_server_name> -e http://<source_server>:<source_port> -u <source_username> -p <source_password> -t pod_ic
Registe o servidor de destino (o servidor para o qual está a migrar os seus ativos):
> cec-install % cec register-server <target_server_name> -e http://<source_server>:<source_port> -u <target_username> -p <target_password> -t pod_ec
Migre uma coleção de ativos executando o comando seguinte:
> 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>
Os ativos serão criados no servidor de destino, no repositório especificado, e serão associados à coleção e ao canal. Se for necessário, a coleção e o canal serão criados automaticamente. A língua por omissão para todos os ativos migrados será a língua por omissão que está definida no repositório especificado.