Como se puede definir una regla para que se automatice , para que por defecto todo documento que se cree dentro de la carpeta, se le incluya una etiqueta con el nombre de la carpeta.
Gracias
Solved! Go to Solution.
No podrás hacerlo mediante una regla estándar de Alfresco, requiere la programación de un script JS en el repositorio.
Crea el fichero add-tag-name.js en la ruta "Repositorio > Diccionario de Datos > Scripts" con el siguiente contenido:
document.addTag(document.parent.properties["cm:name"]);
document.save();
Después asigna una regla en la carpeta con los siguientes parámetros:
Cuando:
Se crean o entran elementos en esta carpeta
Si se cumplen todos los criterios:
Todos los elementos
Realizar acción
Ejecutar script 'add-tag-name.js'
A partir de este momento, cuando subas cualquier documento a la carpeta será etiquetado con el nombre de la carpeta.
Buenas.
Tendrías que crearte un script que añada los tags que quieras al documento que se añada o cree en un espacio y en la regla hacer que se lance el script al crear o entrar elementos en esta carpeta.
El script sería algo así:
if (!document.hasAspect("cm:taggable"))
document.addAspect("cm:taggable");
document.addTag("test");
document.save();
Aquí te dejo los pasos para definir una regla: Creating a rule | Alfresco Documentation
Cuéntanos si tienes problemas y te echamos una mano.
Un saludo,
Cristina.
No podrás hacerlo mediante una regla estándar de Alfresco, requiere la programación de un script JS en el repositorio.
Crea el fichero add-tag-name.js en la ruta "Repositorio > Diccionario de Datos > Scripts" con el siguiente contenido:
document.addTag(document.parent.properties["cm:name"]);
document.save();
Después asigna una regla en la carpeta con los siguientes parámetros:
Cuando:
Se crean o entran elementos en esta carpeta
Si se cumplen todos los criterios:
Todos los elementos
Realizar acción
Ejecutar script 'add-tag-name.js'
A partir de este momento, cuando subas cualquier documento a la carpeta será etiquetado con el nombre de la carpeta.
Jaja, el script de Cristina es más fino. Lo hemos escrito a la vez...
Buenas Angel Borroy me fue de perlas, pero ahora bien, si lo que quieren es añadir las etiquetas de todas las carpetas padre??, pongo ejemplo:
CARPETA1>
Carpeta2>
CARPETA3>
Documento.txt
Bien el documento txt, debería de tener 3 etiquetas (CARPETA1 / Carpeta2 / CARPETA3)
Buenas.
Pues tendrás que recorrer desde el padre las caprtas y para añadir esos tags a los documentos hijos.
El script sería algo así y debe ser lanzado desde la javascript console:
var carpeta_padre =companyhome.childByNamePath('CARPETA1');
var tags_array=[];recurse(carpeta_padre, function(node) {for each (n in carpeta_padre.children)
{
tags_array = foundNode.getTags();if (n.isDocument){
n.addTags(tags_array);
n.save();
}
} });
Ojo, lo he hecho sobre la marcha y abría que probarlo, pero la idea es que lances este script para probar con 1 padre y ver si los documentos hijos adquieren los tags de los padres. Para ir viendo el resultado puedes usar logger.log(); dentro del script.
Este script debe ser lanzado desde la javascript console porque estoy usando la función recurse que es exclusiva de la misma.
Por cierto, hay otras formas de hacerlo pero creo que es un buen punto de partida para que vayas controlando poco a poco la api de javascript.
Ve contándonos.
Un saludo,
Cris.
Hola:
Este es otro ejemplo sencillo de autoetiquetado o autocategorización basado en el nombre de los documentos. Quizá pueda ser útil.
- Name-based autocategorization or tagging in Alfresco via content rule - zylk
Saludos.
--C.
Discussions about Alfresco Content Services and Alfresco Process Services in Spanish
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.