cancel
Showing results for 
Search instead for 
Did you mean: 

Como actualizar el path ligado a un nodeRef en Alfresco

jesuslp
Champ in-the-making
Champ in-the-making

Tras subir un fichero file1 a Alfresco carpeta1, a traves de su Api he renombrado la carpeta como carpeta2.
El problema es que solo he renombrado la carpeta pero el path/carpeta1 no se ha actualizado a path/carpeta2,
asi que cuando busco a traves de la funcion findFolder(path/carpeta2), me devuelve null,
pero si lo hago con el path/carpeta1 -> findFolder(path/carpeta1) si me sigue devolviendo el nodeRef de carpeta1
que ahora visualmente si se muestra como carpeta2. ¿Como puedo actualizar el path/carpeta1 por path/carpeta2, para
despues llamar a "gestorAlfrescoManager.updateContent(nodeRef, NamedValue[]);"?

Necesito si es que es posible al igual que he podido modificar la PROP_NAME, modificar tambien la PROP_PATH

Gracias un cordial saludo.

8 REPLIES 8

angelborroy
Community Manager Community Manager
Community Manager

¿Qué clase de la API Java de Alfresco es "gestorAlfrescoManager"?

Alfresco 5.3.a-SNAPSHOT API 

Hyland Developer Evangelist

jesuslp
Champ in-the-making
Champ in-the-making

Hola Angel, gracias por tu respuesta.

Estoy usando la libreria "exptram_api-1.20.jar"

Gracias.

Deberías entender que para poder ayudarte necesitaríamos datos mucho más precisos.

Esa librería que estás usando es una integración de algún producto (quizá Trewa?) sobre alguna API de Alfresco que desconocemos. Por otra parte, tampoco has indicado qué versión de Alfresco estás utilizando, así que no tenemos ni idea de que indexador estás utilizando...

En fin, quizá deberías realizar una pequeña investigación previa antes de lanzar la pregunta al foro.

Gracias,

Hyland Developer Evangelist

jesuslp
Champ in-the-making
Champ in-the-making

Hola Angel,

quizas asi te aclare algo mas:

Realizo una primera subida de un fichero y me genera una carpeta por ejemplo:

 

{http://www.alfresco.org/model/content/1.0}name
2400.01

{http://www.alfresco.org/model/content/1.0}path

.../{http://www.alfresco.org/model/content/1.0}_x0032_400.01

 

con

NamedValue[] namedValues = new NamedValue[]{
                        Utils.createNamedValue(AlfrescoConstants.PROP_NAME, 2363.45)};

gestorAlfrescoManager.updateContent(idExpedienteAlfresco, namedValues );

 

consigo renombrar con la propiedad PROP_NAME a:

{http://www.alfresco.org/model/content/1.0}name
2363.45

 

Sin embargo no me ha cambiado el path:

{http://www.alfresco.org/model/content/1.0}path

.../{http://www.alfresco.org/model/content/1.0}_x0032_400.01

La unica referencia a Alfresco que tengo en mi pom.xml es através de esta librería

exptram_api-1.20.jar

Saludos.

angelborroy
Community Manager Community Manager
Community Manager

No, lo cierto es que no ayuda demasiado.

Yo lo que haría en primer lugar (si la librería no es Open Source) sería decompilar "exptram_api-1.20.jar" para saber qué está haciendo. También me interesaría por saber qué versión de Alfresco estoy utilizando para entender por qué no está indexando esa propiedad. 

Dudo que haya alguien por aquí que haya tenido ese mismo error, así que tendrás que trabajar un poco previamente para que te seamos de ayuda.

Hyland Developer Evangelist

jesuslp
Champ in-the-making
Champ in-the-making

"Dudo que haya alguien por aquí que haya tenido ese mismo error"

Modificar Path Nodo 

Creo que el problema es viene por la version que esta libreria "exptram_api-1.20.jar" usa de Alfresco, que no permite el renombrado de los paths.

En alguna version debe haber una funcion como renamePath (idNodeRef, nuevoPath) y te permita cambiarlo.

Seguire buscando.

Gracias.

Simplemente estaba tratando de orientarte, las personas que se movían por este foro en 2011 (en referencia al enlace que incluyes) ya no están por aquí.

Y esa librería "exptram_api.1.20.jar" (una vez más), no es de Alfresco y no forma parte de Alfresco sino que fue desarrollada por algún integrador para una versión específica de Alfresco. Así que únicamente la usarán las personas que estén usando esa librería de ese producto.

Aún no has dicho qué producto es ni que versión de Alfresco utilizas, espero que entiendas que esto hace casi imposible ayudarte.

En cualquier caso, suerte.

Hyland Developer Evangelist

jesuslp
Champ in-the-making
Champ in-the-making

Angel, al final di con la respuesta:

El metodo era:

GestionDocumentalManager.move(idNodoRef, path(terminado en / sin incluir nombreAntiguoCarpeta, nombreNuevoCarpeta);

con este metodo de Alfresco se renombra del pathAntiguo al nuevo.

Gracias por tu atencion y un cordial saludo.