Alfresco – Modificando y eliminando contenido desde nuestras aplicaciones Java

0
12008

 

Alfresco – Modificando y eliminando contenido desde nuestras aplicaciones Java

 

0. Índice de contenidos.

 

 

 

1. Introducción

 

Continuando con nuestra andadura con Alfresco, en esta ocasión veremos cómo
de una manera muy sencilla también se puede recuperar contenido de Alfresco desde
nuestras aplicaciones Java. Además veremos como manipular este contenido para
realizar sobre las mismas modificaciones en las propiedades que lo conforman o eliminarlo si fuese necesario.
Para realizar cada una de estas operaciones sobre los contenidos que tengamos
definidos en Alfresco será necesario que nuestra aplicación tenga bien definidas
las dependencias a las librerías que nos proporciona Alfresco para el caso que nos ocupa.
La instalación de estas librerías viene explicada en el tutorial
Alfresco – Añadiendo contenido desde nuestras aplicaciones Java, en el paso
número 3 pero os recomiendo que sigáis el tutorial completo para así tener una
idea global sobre todo el proceso de comunicación con Alfresco, desde la
creación de un contenido, su modificación y su posterior eliminación.

Dado que ciertas imágenes son demasiado grandes, aquellas que tengan un icono en la parte inferior derecha, podrán ser redimensionadas si se pulsa en ellas.

 

 

2. Entorno

 

El tutorial está escrito usando el siguiente entorno:

 

  • Hardware: Portátil Dell Latitude E5500(Core Duo T9550 2.66GHz, 4GB RAM, 340 GB HD)
  • Sistema operativo: Windows XP.
  • JDK 1.6.0_1
  • Eclipse galileo
  • Maven 2.1.0
  • Alfresco Comunity Edition 3.2
  • SDK Alfresco 3.2
  • Tomcat 6.0.18

 

3. Modificación de contenidos

 

Para el caso del update vamos a desarrollar un método que sera el encargado
de modificar cada una de las propiedades de todos los contenidos cuyo título y
descripción coincidan con el título y la descripción que le pasemos a este método
como parámetros. Por tanto y sin entrar en profundidad también veremos como buscar
el Alfresco el contenido o contenidos que queremos modificar. Podría quedar al como:

/**
	 * Modifica el titulo y la descripción de los contenidos 
	 * @throws RemoteException 
	 * @throws RepositoryFault 
	 */

Como podemos observar con pocas líneas de código realizamos la operación de modificación. Veamos cuales han sido los pasos a seguir:

-Lo primero es establecer la url donde hemos desplegado Alfresco para poder establecer una comunicación satisfactoria

-En segundo lugar nos autentificamos con el usuario y password por defecto para Alfresco

-A continuación creamos el objeto Query, indicando el lenguaje de nuestra consulta, en este caso Lucene y un string con los criterios de búsqueda.
Respecto al segundo parámetro me gustaría destacar el @prefijo que precede al nombre de cada una de las propiedades por las que buscamos .Éste prefijo
pertenece al modelo de contenido con el que esten creados en Alfresco los documentos.En este caso el prefijo de modelo por defecto en Alfresco es cm pero
podría ser cualquier otro si utilizásemos un modelo de contenido creado por nosotros y que se adaptase mejor a las necesidades de nuestros documentos.

-Seguimos construyendo cada uno de los objetos necesarios para modificar los contenidos correspondientes. Ahora creamos una instancia del objeto
Predicate, indicando con el parámetro STORE el espacio raíz en el queremos buscar los contenidos. Sin entretenerme mucho es importante saber que Alfresco define una serie de espacios de trabajo, entre
estos espacios, el espacio workspace-spacestore es el espacio definido en Alfresco donde se crean los contenidos propios del usuario y por tanto ese es el
espacio sobre el que se ejecutará nuestra consulta.

-En las siguientes líneas creamos el array de NamedValue con cada una de la propiedades del modelo que quisiésemos modificar. En este caso solo
modificaremos el titulo y la descripción.

-Por ultimo y más importante creamos el tipo de objeto necesario para que el webservice que nos proporciona Alfresco sea capaz de modificar los
contenido recuperados por la consulta de manera correcta. A continuación cerramos la sesion con Alfresco.

 

 

4. Eliminación de contenidos

 

En este punto os muestro como podría quedar el método de eliminación de contenidos para el ejemplo que estamos llevando a cabo.

	/**
	 * Borra todos los contenidos recuperados por la consulta  
	 * @throws RemoteException 
	 * @throws RepositoryFault 
	 */

Es fácil apreciar que la manera de eliminar contenidos es casi idéntica a la de modificar los mismos. La única diferencia se da a la hora de
crear el objeto CML que necesita el webservice.

Si estamos modificando

  cml.setUpdate(new CMLUpdate[] {update}); 

Si estamos eliminando

cml.setDelete(new CMLDelete[] {delete});

5. Comprobando el resultado

 

Creamos una clase con los métodos de modificación y eliminación de contenidos explicados en los pasos anteriores:

En esta ocasión vamos a crear el contenido directamente en Alfresco y no desde nuestra aplicación ya que esto ya lo vimos en el tutorial Alfresco – Añadiendo contenido desde nuestras aplicaciones Java

Arrancamos Alfresco y nos logamos:

Desde el navegador de la zona izquierda accedemos al espacio company_home, espacio en el cual crearemos el contenido necesario para el ejemplo. Este
contenido se añadirá como un Content items y para crearlo pulsamos en la parte superior en Add content:

Seleccionamos el fichero que queremos añadir como contenido.

Y pulsamos el botón OK.

Por último le damos al contenido un titulo y una descripción al contenido y volvemos a pulsar el boton OK. Observamos el resultado:

Una vez que tenemos la clase que comunica con Alfresco y un contenido para probar dicha clase creamos otra clase con un metodo main para poder
comprobar el funcionamiento de todo lo que hemos hecho.

Lanzamos el main para modificar los contenidos cuyo titulo y descripción coincidan con los dos primeros parámetros siendo estos sustituidos por los dos
últimos. Observamos el resultado:

Podemos observar cómo se han modificado correctamente el titulo y la descripción de nuestro contenido.

Para comprobar cómo se borra el contenido modificamos las clases test para llamar al método correspondiente.

Comprobamos que se ha eliminado el contenido correctamente:

 

6. Conclusiones.

 

Como visto a lo largo de este tutorial y también a la largo del tutorial Alfresco – Añadiendo contenido desde nuestras aplicaciones Java el API de Alfresco nos proporciona las herramientas adecuadas
para poder comunicar de una manera más o menos sencilla nuestras aplicaciones con el propio Alfresco.Actualmente la gestión documental se está convirtiendo
en una parte muy importante en muchas empresas y modelos de negocios distintos y Alfresco en una de la herramientas elegidas para llevar a cabo esta tarea.
Por tanto para todos aquellos que desarrollamos con java puede ser interesante saber cómo adaptar nuestras aplicaciones para que sean capaz de dar soporte
ante esta necesidad. Como casi siempre recordad que esto no es más que una primer paso, un pequeño ejemplo para que cada uno se anime y continúe aprendiendo sobre este tema y utilice
las herramientas que nos proporciona Alfresco adaptándolas a cada necesidad concreta.

Espero que les sirva de utilidad.

 

Un saludo.

 

Saúl.

 

Correo a: sgdiaz@autentia.com

 

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad