02-09-2017 07:57 AM
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
02-09-2017 09:24 AM
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.
02-09-2017 09:18 AM
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.
02-09-2017 09:25 AM
Jaja, el script de Cristina es más fino. Lo hemos escrito a la vez...
02-09-2017 10:13 AM
02-09-2017 09:24 AM
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.
02-22-2017 06:11 AM
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)
02-24-2017 05:47 AM
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.
02-09-2017 09:49 AM
02-24-2017 06:24 AM
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.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.