cancel
Showing results for 
Search instead for 
Did you mean: 

Dudas acerca del versionado de documentos

jmbarroso
Champ in-the-making
Champ in-the-making
Buenas,

Tengo algunas dudas acerca del versionado de documentos, he estado buscando por el foro y la documentación pero no he encontrado una solución.

- En primer lugar tengo una duda acerca del método node.getPath() (node es de tipo javax.jcr.Node) , dicho método me devuelve la cadena "versionedState" en lugar de la ruta donde se encuentra el documento, esto ocurre cuando node es una versión especifica del nodo que representa el documento, es decir, para un determinado documento obtengo una versión anterior a través del versionHistory  y al invocar el método getPath para esa versión especifica del nodo no obtengo la ruta donde esta el documento, obtengo la cadena "versionedState". ¿Esto es correcto?


- La siguiente duda que tengo es en el orden que se deben realizar los node.checkin() y node.checkout() para versionar correctamente los nodos.
   Actualmente estoy haciendo lo siguiente:


node.checkout();
node.setProperty(CONTENT_PROPERTY, newContent);
node.checkin();

Lo que veo es que haciendo el node.checkIn() en último lugar, el nodo queda en estado bloqueado (read only), ¿Es esto correcto? , ¿Debería hacer un nuevo checkOut() despues del checkIn() para forzar que el nodo quede en estado editable?


Saludos y muchas gracias de antemano.
4 REPLIES 4

cybermakoki
Champ in-the-making
Champ in-the-making
Hola!!

lo del path… no sabria decirte…

respecto al checkin/checkout… esto lo estás haciendo en javascript, no?

yo lo tengo hecho asi y me funciona bien:

   
var copia = doc.checkout();            
      copia.properties["cm:content"].write(otroDoc.properties["cm:content"]);                     
      doc = copia.checkin();   

saludos!

jmbarroso
Champ in-the-making
Champ in-the-making
Hola!!

lo del path… no sabria decirte…

respecto al checkin/checkout… esto lo estás haciendo en javascript, no?

yo lo tengo hecho asi y me funciona bien:

   
var copia = doc.checkout();            
      copia.properties["cm:content"].write(otroDoc.properties["cm:content"]);                     
      doc = copia.checkin();   

saludos!

¿Al hacerlo así los nodos te quedan en modo readOnly?

Yo estoy trabajando con Alfresco en Java, imagino que las funcionalidades de la API coinciden.

¡Gracias por responder!

cybermakoki
Champ in-the-making
Champ in-the-making
Que va! se me quedan bien Smiley Happy

en java lo tengo hecho asi:

NodeRef workingCopy = getCociService().checkout(doc.getNodeRef());
                  getNodeService().setProperty(workingCopy, ContentModel.PROP_CONTENT, getNodeService().getProperty(nodeRef, ContentModel.PROP_CONTENT));
                  Map<String,Serializable> versionProperties = obtenerPropiedadesDeVersionado();
                  NodeRef docModif = getCociService().checkin(workingCopy, versionProperties);
                  

y también me funciona Smiley Happy

jmbarroso
Champ in-the-making
Champ in-the-making
Hola,

Tenía este tema aparcado y no había pasado por el foro, lo siento.

Cuando mi última sentencia es un Node.checkin() y entro por el cliente web de Alfresco  al repositorio, veo el documento como bloqueado.

Yo estoy usando Alfresco a través de los componentes de JCR (javax.jcr.Node por ejemplo) , ¿tendrá esto algo que ver? o ¿será el cliente web que interpreta mal el estado del documento?

Smiley Frustrated

Gracias !!