Mover nodos en distintos Alfrescos

cancel
Showing results for 
Search instead for 
Did you mean: 
spilby
Active Member II

Mover nodos en distintos Alfrescos

Buenas,

¿sabéis de alguna url con un ejemplo en el que se muestre cómo mover y copiar nodos que estén situados en distintas máquinas de alfresco?  O alguna sugerencia sobre cómo hacerlo.

Merci!
4 Replies
pactorre
Member II

Re: Mover nodos en distintos Alfrescos

Suponemos que te refieres a entre Alfrescos distintos ¿no? Si es así, una posibilidad manual, es mediante los mecanismos de importación y exportación de Alfresco http://wiki.alfresco.com/wiki/Export_and_Import  (aunque esto también puedes hacerlo mediante código). Si tienes la 3.3 mediante código también puedes utilizar el TransferService http://wiki.alfresco.com/wiki/Transfer_Service
spilby
Active Member II

Re: Mover nodos en distintos Alfrescos

Gracias pactorre. Miraré entonces el tema del TransferService, ¿Sabes si lo que hace es mover de un sitio a otro? ¿O copia y pega? Es decir, si el árbol a transferir se borra del alfresco original una vez transferido. ¿Y controla el tema de los problemas que puedan haber durante la transferencia? Que el alfresco destino por ej se apague mientras se hace la transferencia y no se quede a medias.

Por lo que he visto, ésto es lo que hay que hacer:

TransferTarget target = transferService.create("The Other Repo");
target.setEndpointProtocol("https");
target.setEndpointHost("other.repo.example.com");
target.setEndpointPath("/alfresco/service/api/transfer");
target.setUsername("remoteperson");
target.setPassword("password".toCharArray());
transferService.saveTransferTarget(target);

NodeCrawler crawler = nodeCrawlerFactory.getNodeCrawler();
crawler.setNodeFinders(new ChildAssociatedNodeFinder(ContentModel.ASSOC_CONTAINS));
Set<NodeRef> nodesInTree = crawler.crawl(rootNode);


TransferDefinition transferDef = new TransferDefinition();
transferDef.setNodes(nodesInTree);
NodeRef transferReportNode = transferService.transfer("The Other Repo", transferDef);

Lo que no me queda claro es qué es el "The Other Repo". Es decir, ¿se crea una especie de etiqueta String que identifica la transferencia a realizar? Y una vez realizada, ¿puedo volver a utilizar esa etiqueta para otra transferencia, o ha de ser nueva cada vez?

Gracias!
toni_delafuente
Active Member

Re: Mover nodos en distintos Alfrescos

Hola Spilby, en la versión 3.4 ya puedes configurar el Transfer Service vía web con Share.

1º Debes crear un target (alfresco remoto) en Repository> Data Dictionary> Transfers> Transfer Target Groups> Default Group. Creas un espacio y editas sus metadatos. Ahí introduces la información del Alfresco destino, usuario y contraseña, etc.

2º  En el menú superior "More" -> "Replication Jobs" -> "Create Job" -> Selecciona el espacio o espacios que quieres transferir *, Selecciona el target y actívalo (enabled). Adicionalmente puedes añadir una periodicidad de replica para que se haga cada cierto tiempo, si dejas eso en blanco puedes ejecutar el job a mano y ver el resultado "Run Job".

Varias puntualizaciones:
-Los contenidos transferidos se quedan en el destino como sólo lectura.
-Se pueden hacer transferencias de contenidos en cadena, por ejemplo, el espacio N en el Alfresco A -> Alfresco B -> Alfresco C, e incluso un espacio M en el Alfresco B -> Alfresco A, etc. Puedes combinar acuerdos de replicación.

Es algo muy resumido pero espero que te sirva de guía.

* Si seleccionas un subespacio recuerda que el espacio raiz de dicho subespacio debe estar en el Alfresco remoto, de lo contrario te fallará.
spilby
Active Member II

Re: Mover nodos en distintos Alfrescos

Gracias por la explicación. Lo de que se quedan como Sólo lectura es algo que no sabía, viene bien saberlo.