Archivo de la categoría: manual

Auditorías en Alfresco Share 3.4

Auditorías … Auditorías everywhere

Muy buenas a todos.

Me gustaría hablaros en esta ocasión de auditar contenido en un Alfresco 3.4, que como sabéis por defecto el contenido que auditéis se os muestra en los logs como texto plano (poco intuitivo y algo difícil de leer). En este mini tutorial os quiero enseñar lo que yo he puesto en algunos clientes, que aunque sea básico, creo que es bastante útil :-)

Os quiero hablar del módulo de auditorias ASUR, creado por la empresa Francesa StarXpert para Alfresco 3.4 y que creo que más de un cliente o usuario final agradecerá tenerlo.
La idea es sencilla: Obtener una gráfica con las transacciones que se tienen según un filtrado (hora, mes, día, etc..) y una información mínima ¿Lo bueno de usarlo? Que tiene incluso ejemplos sencillos de auditorias ya pre configuradas y que además podréis añadirles auditorías propias. Además de éste módulo os enseñaré cómo complementarlo instalando un dashlet para auditoria bastante útil para los administradores.

¿Qué debéis saber para comenzar este tutorial?

  • Obligatorio:
    Saber manejar el módulo de alfresco alfresco-mnt-tool para instalar los amps.
  • Opcional:
    Tener vuestro propio archivo para auditar.

Manos a la obra…

Por lo pronto deberemos tener nuestro archivo de auditoría con lo que queramos mostrar. En este tutorial no voy a entrar en detalles sobre cómo realizar un archivo para auditar contenido (más abajo os dejo links con alguna referencia) pero usaremos un ejemplo que os facilitaré para que hagáis la toma de contacto sin mucha dificultad.

Objetivos: Entender como instalar la consola ASUR, el dashlet de auditoria, configurarlo y así poder usar la auditoría en share de una forma mas intuitiva.

Descarga: aquí os dejo todo lo que necesitáis: Amps, jar y archivo de ejemplo

 

PASOS A SEGUIR

1. Abrid el alfresco-global.properties (shared/classes/alfresco) y añadid estas lineas al final del todo

## Audit
audit.enabled=true

Colocamos el archivo con el mapeo de nuestra auditoría – (alfresco-audit-example-login.xml)

2. Copiamos el archivo a /tomcat/shared/classes/alfresco/extension/audit  (creamos esta carpeta si no la tenemos aun creada)

Habilitando el log para mostrar trazas del contenido que vamos a auditar. Sigue leyendo

[Tutorial] Aprendiendo javascript para Alfresco (II)

CAPITULO II

Después de una breve introducción y de asimilar los conceptos básicos de Alfresco, vamos a pasar con un poco de materia que ya va siendo hora =)

Sabiendo que cada nodo tiene una serie de propiedades asociados, la pregunta que se nos plantea a continuación sería ¿cómo accedemos a esas propiedades y cuáles les corresponden a un determinado tipo de nodo?

Por partes: Para acceder vía javascript a alguna propiedad de un nodo, existen dos posibilidades:

  1. nodo.properties.name
  2. nodo.properties[«cm:name»]

Ambas son válidas, aunque la recomendada es la segunda forma. El ‘cm’, viene de «Content Model» y ahí es donde están definidos las propiedades que tiene asociado un nodo en Alfresco.

Si os fijáis en el archivo contentModel.xml dentro de
tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model/ están definidas todas las propiedades y tipos de nodos que soporta Alfresco por defecto.

Por ejemplo, para el tipo person (es decir, un usuario) le corresponde lo siguiente:

<type name="cm:person">
         <title>Person</title>
         <parent>cm:authority</parent>
         <properties>
            <!-- The tokenisation set here is ignored - it is fixed for this type -->
            <!-- This is so you can not break person lookup -->
            <property name="cm:userName">
               <type>d:text</type>
               <mandatory>true</mandatory>
               <constraints>
                  <constraint ref="cm:userNameConstraint" />
               </constraints>
            </property>
            <property name="cm:homeFolder">
               <type>d:noderef</type>
               <mandatory>true</mandatory>
            </property>
             <property name="cm:firstName">
               <type>d:text</type>
               <mandatory>true</mandatory>
            </property>
            ...
      </type>

De propiedades tiene cm:userNameConstraint, cm:homeFolder, cm:firstName

Entonces… ¿Cuántos tipos de nodos existen y qué propiedades tienen?

En ese archivo están todas las propiedades a las que se pueden acceder por nodo y dependiendo del tipo que sea (folder, person…) les corresponerán unas u otras. Es cuestión de ver qué tipo de nodo vas a tocar y ver como se llama la propiedad que quieras acceder.

Realmente es necesario conocer este tipo de detalles porque una vez comencemos a elaborar un script al menos ahora sabréis de donde «salen las cosas».

Como consejo propio tened siempre a mano la wiki de Alfresco y los foros porque toda la documentación en castellano que hay están ahí.

En el siguiente capitulo haremos nuestro primer script y además aprenderemos como ejecutarlo y os enseñaré un par de «truquis» que he ido aprendiendo con el tiempo ;)

Hasta el Capitulo 3 ^o^!

<- Ir al capitulo 1 o Ir al capitulo 3 ->

[Tutorial] Aprendiendo javascript para Alfresco (I)

Muy buenas a todos ^^

Hace algún tiempo que llevo dándole vueltas a hacer un tutorial para aquellos que no sepan muy bien como empezar a programar para Alfresco. La idea surgió porque creo que no hay nada similar – menos en Castellano ¬¬ – y puesto que todos empezamos en algún momento de nuestra vida… Pues eso =)
El objetivo de este tutorial es que vayáis aprendiendo con ejemplos sencillos como va todo el tema, y si va bien, al finalizarlo podréis hacer vuestros propios Scripts con soltura.

Pero empecemos con una pequeña introducción para aclarar algunos conceptos de cara al código:

– ¿Qué es Alfresco?
Alfresco es un gestor documental que, entre otras numerosas cosas, sirve para guardar documentos. Digamos que es como un disco duro virtual en donde puedes guardar todo tipo de archivos como pdfs, documentos de texto, etc…

– ¿Qué es un nodo y por qué todo el mundo habla de él?
Todo lo que hay en alfresco son nodos: Las personas, los documentos, las carpetas o espacios… Por ejemplo el usuario Admin de cara a código no es más que un nodo con sus propiedades (nombre, apellidos, email …).

– ¿Qué propiedades tiene un nodo?
Hay varios tipos de nodos: Person, Folder, Space… Y cada uno de ellos tienen unas propiedades «fijas» y otras que son variables, propias de cada tipo. Por ejemplo:

  • Fija: El usuario «Paco Pérez» es un nodo de tipo Persona. De cara a código si yo tengo ese nodo, por ejemplo que se llame en código nodeVar, para obtener el nombre de ese nodo sería nodeVar.properties.name lo que te mostraría «Paco Pérez».
  • Variable: Un nodo de tipo Persona tiene una propiedad que se llama Email, pero un nodo de tipo Carpeta no.

Más adelante profundizaremos en este tema.

– ¿Entonces…?
Pues que claramente si vas hacer un script en la mayoría de los casos es probable que trates en él nodos y sus propiedades. Pensad que hasta el script más sencillo, como por ejemplo uno que cambie el nombre a un documento, ahí ya estás accediendo a la propiedad «name» del nodo a modificar (node.properties.name).

—-
Y… Con esto y un bizcocho hasta el siguiente capitulo :)

Vale. Sé que al principio cuesta un poco pero idos quedando con la idea de lo que estoy comentando que a base de usarlo y hacer scripts pequeños poco a poco y sin daros cuenta iréis aprendiendo y cogiendo soltura.

Un saludo ¡^o^!

Ir al capitulo 2 ->