Propagação de dados no Weblogic Portal

Se você precisa sincronizar os dados (como CMS, permissões, ...) de um ambiente com Weblogic Portal para o outro (ou enviar uma parte alterada de um ambiente para outro), existe uma ferramenta apropriada para essa tarefa. Essa ferramenta é o Propagation Tool e ela está disponível  no Oracle Enterprise Pack. A instalação pode ser encontrada em: http://www.thiagovespa.com.br/blog/2010/08/27/oracle-enterprise-pack-for-eclipse-11g/

Você também pode executar a propagação atráves de tasks Ant: http://download.oracle.com/docs/cd/E15919_01/wlp.1032/e14245/scripts_using.htm#g1065599

Para realizar uma propagação pelo Oracle Enterprise Pack, abra o Eclipse (ou o Workshop) e inicie os domínios que deseja sincronizar. Crie um projeto genérico no eclipse para colocar os dados dos ambientes. O primeiro passo é fazer a importação dos inventories dos ambientes. Vá em File, Import, Weblogic Portal, Propagation Inventory from Server e clique em Next:

Import
Import

Nessa próxima tela, informe os dados do domain de origem, fique atento ao final da URL: "Propagation/inventorymanagement". Informe também, o usuário e a senha do administrador do portal e clique em Next. Selecione o projeto criado anteriormente, coloque um nome para o inventory e clique em Finish. Aguarde alguns minutos. Faça o mesmo procedimento para o domain de destino, mas com outro nome de arquivo. Você deverá ficar com dois arquivos zip.

Vá em File, New, Other, Weblogic Portal, Propagation Session. Clique em Next, dê um nome e clique em Next novamente. Escolha o inventory de origem, pressione Next. Escolha o de destino e pressione Next. Na próxima tela, é necessário escolher se você vai aceitar adições, remoções e/ou atualizações. Escolha e pressione Next. Agora você pode escolher o quer propagar, no meu caso eu vou propagar somente uma parte de um repositório de conteúdo e os seletores. Escolha o que deseja e pressione Next.

New Propagation Session
New Propagation Session

Selecione a política de substituição e pressione Finish. O Eclipse irá sugerir para abrir uma nova perspectiva. Lá você poderá verificar as diferenças e marcar o que vai do repositório de origem para o de destino. Além de verificar os impactos da propagação.

Propagation - Eclipse Platform
Propagation - Eclipse Platform

Após configurado, vá em em File, Export, Weblogic Portal, Propagation Session to Inventory, Next. Escolha a Session criada anteriormente e clique em Next. Dẽ um nome para o merge de inventories e clique em Finish. Vá em File, Export, Weblogic Portal, Propagation Inventory to Server e clique em Next. Selecione o arquivo de merge criado no passo anterior e clique em Next. Informe os dados do domain de destino e clique em Finish. Ao término do envio para o server, você deverá ter a seguinte tela:

Export to Server Successful
Export to Server Successful

Pressione OK. Os dados devem estar no domain de destino. Se houverem usuários executando o portal, é interessante colocar em modo de manutenção para que nenhuma personalização seja feita, ou ela poderá ser perdida. Outra dica é separar vários arquivos de merge, cada um com um recurso específico para ficar mais fácil de descobrir possíveis problemas.

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6