Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

La consola Javascript de Alfresco Share

Cesar Capillas
Cesar Capillas

La
consola de Javascript de Alfresco Share conforma una herramienta
precisa y eficaz, no sólo para desarrolladores de aplicaciones y
servicios via API Javascript y webscripts de Alfresco Share, sino para
otro tipo de tareas de mantenimiento de sistema, proporcionando una
potente shell con acceso a la información de nuestra instancia de
Alfresco via Javascript API.

La ultima versión de la consola de
Javascript disponible en el paquete Share Extras permite además el
acceso a los métodos de los principales objetos mediante la
combinación de Ctrl+Space. Esta empaquetada en un simple jar que se
añade al directorio tomcat/shared/lib de la instancia de alfresco.

La consola Javascript de Alfresco Share

A continuación muestro algunos ejemplos sencillos que pueden
ser interesantes en el contexto de una migración entre instancias de
Alfresco y que implementan busquedas en el repositorio.

El primer ejemplo permite exportar las categorias de una instancia a
un CSV (para hacer una carga posterior en otra instancia de Alfresco
via javascript API tambien):

var nodes = search.luceneSearch("PATH:"cm:generalclassifiable//*"");

for each(n in nodes) {
  print(n.nodeRef + ";" + n.displayPath + '/' +n.name);
}

También es posible facilmente exportar los usuarios a un CSV, que es
interesante en el contexto de una migración de una instancia de
Alfresco a otra, utilizando el
componente de importación de usuarios CSV de Share:

var nodes = search.luceneSearch("TYPE:"cm:person"");

for each(n in nodes) {      
  print(n.name+';'+n.properties["userName"]+';'+n.properties["email"]);
}

Para esto también hay otros procedimientos:

http://code.google.com/p/share-import-export/

https://forums.alfresco.com/en/viewtopic.php?f=9&t=18732

Otra tarea similar atiende a los grupos de usuarios:

var nodes = search.xpathSearch("/sys:system/sys:authorities/*");

for each(n in nodes) {
  var aux = n.children;
  var users = ""
  for each(m in aux) {
    users = users + m.properties["userName"] + ","
  }
  users = users.substr(0,users.length-1);
  print(n.properties["authorityName"]+";"+users+";"+n.nodeRef)
}

Para extraer las referencias de los nodos de los documentos del
repositorio se pueden invocar funciones recursivas como:

recurse(space, function(node) {
  if (node.type != "{http://www.alfresco.org/model/content/1.0}folder"){
    print(node.nodeRef+";"+node.displayPath + "/" + node.name);
  }
});

que se pueden utilizar para reports de permisos como se hace en:

http://www.techbits.de/2011/11/06/using-the-javascript-console-permission-reporting/

o para precargar una estructura de objetos documentales:

http://www.techbits.de/2011/10/18/using-the-javascript-console-creating-and-populating-datalists/

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *