<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mi espacio &#187; alfresco</title>
	<atom:link href="http://www.manuelrecena.com/blog/archives/tag/alfresco/feed" rel="self" type="application/rss+xml" />
	<link>http://www.manuelrecena.com/blog</link>
	<description>Donde escribo sobre cosas que forman parte de mi vida profesional</description>
	<lastBuildDate>Sun, 05 Feb 2012 21:20:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>cmislib, cliente CMIS en python</title>
		<link>http://www.manuelrecena.com/blog/archives/922</link>
		<comments>http://www.manuelrecena.com/blog/archives/922#comments</comments>
		<pubDate>Sun, 23 May 2010 19:15:51 +0000</pubDate>
		<dc:creator>Manuel Jesús Recena Soto</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[cmis]]></category>
		<category><![CDATA[nuxeo]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://www.manuelrecena.com/blog/?p=922</guid>
		<description><![CDATA[A finales de agosto del año pasado comencé un nuevo proyecto, un plugin para Trac que permitiese su integración con Alfresco. Desde entonces mucho ha llovido, especialmente este año. Cuando comencé no encontré ninguna librería que facilitase el trabajo con el Restful API que proporciona Alfresco y comencé un pequeño cliente para este proyecto. Más [...]]]></description>
			<content:encoded><![CDATA[<p>A <a title="Referencia a una entrada de este blog" href="http://www.manuelrecena.com/blog/archives/803" target="_blank">finales de agosto</a> del año pasado comencé un nuevo <a title="Sitio web del proyecto" href="http://clinker.klicap.es/projects/alfrescointegration" target="_blank">proyecto</a>, un plugin para Trac que permitiese su integración con Alfresco. Desde entonces mucho ha llovido, especialmente este año. Cuando comencé no encontré ninguna librería que facilitase el trabajo con el <a title="Información sobre Restful API de Alfresco" href="http://wiki.alfresco.com/wiki/Alfresco_REST_API" target="_blank">Restful API que proporciona Alfresco</a> y comencé un pequeño cliente para este proyecto. Más adelante pensé que si el cliente maduraba, quizás me convendría liberarlo de forma independiente al plugin para que otros pudieran evolucionarlo y mejorarlo. Yo sólo quería implementar los métodos más básicos.</p>
<p>Los momentos de <a title="Referencia a la wikipedia" href="http://es.wikipedia.org/wiki/Stand_by" target="_blank">standby</a> son realmente malos para cualquier proyecto, pero lo son especialmente para proyectos en los que sólo hay una persona y su planificación no se extiende más allá de tres meses para la primera versión. Con el nacimiento de <a title="Información sobre klicap" href="http://blog.klicap.es/about">klicap</a>, decidimos impulsar este plugin y <a title="Timeline del proyecto" href="http://clinker.klicap.es/projects/alfrescointegration/timeline" target="_blank">en ello estamos</a>. Antes de retomarlo, analicé el trabajo realizado y me cuestioné algunas decisiones previas. Durante esos días, descubrí <a title="Sitio web de la librería" href="http://code.google.com/p/cmislib" target="_blank">cmislib</a>. Según he pedido comprobar, su primer commit tiene fecha de mediados de diciembre de 2009. Su autor es <a title="Blog de Jeff Potts" href="http://ecmarchitect.com">Jeff Potts</a>, presidente y CEO en <a title="Sitio web de Metaversant Group, Inc." href="http://www.metaversant.com" target="_blank">Metaversant Group, Inc.</a>, donde parece que es el único empleado. Esta librería, escrita en python, forma parte del proyecto (en incubación) <a title="Sitio web del proyecto Apache Chemistry" href="http://incubator.apache.org/chemistry" target="_blank">Apache Chemistry</a>. Éste último tiene como objetivo proporcionar librerías cliente para trabajar con soluciones que implementen la especificación <a title="Información sobre la especificación" href="http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.html" target="_blank">CMIS</a>. La librería no está completa, aun quedan funcionalidades por implementar, pero desde luego su última versión 0.3 publicada es estable y cubre gran parte de la especificación. Teniendo en cuenta que la versión 1.0 de la especificación de CMIS tiene fecha 1 de mayo de 2010, sólo me queda agradecer el excelente trabajo de Jeff.</p>
<p>Esto se traduce en que he dejado de implementar mi propio cliente, y he comenzado a usar esta librería. Esto hace incluso que me planté el nombre del plugin, porque ahora podemos integrar Trac con Alfresco, Nuxeo y otros ECM que implementen CMIS. Desde <a title="klicap en twitter" href="http://twitter.com/klicap" target="_blank">@klicap</a> haremos lo posible por colaborar en este proyecto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manuelrecena.com/blog/archives/922/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comprobar que Alfresco REST API está disponible</title>
		<link>http://www.manuelrecena.com/blog/archives/842</link>
		<comments>http://www.manuelrecena.com/blog/archives/842#comments</comments>
		<pubDate>Thu, 12 Nov 2009 11:47:21 +0000</pubDate>
		<dc:creator>Manuel Jesús Recena Soto</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.manuelrecena.com/blog/?p=842</guid>
		<description><![CDATA[Para el plugin de Trac que estoy desarrollando (en los huecos que tengo) estoy desarrollando un pequeño cliente en python que me permita trabajar cómodamente con Alfresco REST API, especialmente con CMIS Web Reference. Uno de los métodos que necesitaba para este cliente es aquel que me permitiese comprobar si la configuración para trabajar con [...]]]></description>
			<content:encoded><![CDATA[<p>Para el <a title="Referencia a una entrada de este blog" href="http://www.manuelrecena.com/blog/archives/803" target="_blank">plugin de Trac</a> que estoy desarrollando (en los huecos que tengo) estoy desarrollando un <a title="Acceso al código fuente del plugin" href="http://trac.ebabel.info/projects/alfrescointegration/browser/trunk/alfrescointegration/alfresco_backend.py" target="_blank">pequeño cliente</a> en python que me permita trabajar cómodamente con <a title="Referencia a la documentación de Alfresco sobre su RESTful API" href="http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference" target="_blank">Alfresco REST API</a>, especialmente con <a title="Referencia a la documentación de Alfresco sobre su RESTful API (CMIS Web Reference)" href="http://wiki.alfresco.com/wiki/CMIS_Web_Scripts_Reference" target="_blank">CMIS Web Reference</a>. Uno de los métodos que necesitaba para este cliente es aquel que me permitiese comprobar si la configuración para trabajar con el API era correcta. Comprobar eso lleva implícito comprobar que Alfresco está disponible (se tiene acceso HTTP).</p>
<p>La configuración del plugin en relación a Alfresco es muy simple:</p>
<ul>
<li>Usuario y contraseña (credenciales)</li>
<li>URL base en la que se publica RESTful API</li>
</ul>
<p>Dejo por aquí el fragmento de código:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> is_alive<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
    isAlive_service = <span style="color: #008000;">self</span>.__url_api + <span style="color: #483d8b;">'/login'</span> +  <span style="color: #483d8b;">'?u=dummy&amp;amp;pw=dummy'</span>
    <span style="color: #008000;">self</span>.__log.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Restful Service: '</span> + isAlive_service<span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">try</span>:
        response, content = <span style="color: #008000;">self</span>.__http.<span style="color: black;">request</span><span style="color: black;">&#40;</span>isAlive_service, <span style="color: #483d8b;">'GET'</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> response.<span style="color: black;">status</span> == <span style="color: #dc143c;">httplib</span>.<span style="color: black;">FORBIDDEN</span>:
            <span style="color: #008000;">self</span>.__log.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Alfresco RESTful API is alive'</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">True</span>
        <span style="color: #ff7700;font-weight:bold;">else</span>:
            <span style="color: #008000;">self</span>.__log.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Alfresco RESTful API is not alive'</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">False</span>
    <span style="color: #ff7700;font-weight:bold;">except</span>:
        <span style="color: #008000;">self</span>.__log.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Alfresco RESTful API is not alive'</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">False</span></pre></div></div>

<p>Cualquier sugerencia será bienvenida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manuelrecena.com/blog/archives/842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alfresco Trac Integration Plugin</title>
		<link>http://www.manuelrecena.com/blog/archives/803</link>
		<comments>http://www.manuelrecena.com/blog/archives/803#comments</comments>
		<pubDate>Wed, 26 Aug 2009 23:07:56 +0000</pubDate>
		<dc:creator>Manuel Jesús Recena Soto</dc:creator>
				<category><![CDATA[Mis proyectos]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://www.manuelrecena.com/blog/?p=803</guid>
		<description><![CDATA[Así de rimbombante es el nombre del nuevo proyecto en el que estoy dedicando esos ratos, que sumados, pueden dar como resultado una versión de algo. Como se puede deducir es un plugin para Trac (0.11.x o superior) que tiene como principal objetivo mejorar la gestión de los documentos en aquellos ecosistemas que usan Trac. [...]]]></description>
			<content:encoded><![CDATA[<p>Así de rimbombante es el nombre del <a title="Referencia al proyecto" href="http://trac.ebabel.info/projects/alfrescointegration" target="_blank">nuevo proyecto</a> en el que estoy dedicando esos ratos, que sumados, pueden dar como resultado una versión de algo. Como se puede deducir es un plugin para Trac (0.11.x o superior) que tiene como principal objetivo mejorar la gestión de los documentos en aquellos <a title="Referencia a una entrada de este blog" href="http://www.manuelrecena.com/blog/archives/562" target="_blank">ecosistemas</a> que usan <a title="Sitio web oficial de la herramienta" href="http://trac.edgewall.org" target="_blank">Trac</a>.</p>
<p>Por ahora no hay <em>nada</em> que enseñar. Nunca había desarrollado con python y menos aun, plugins para Trac. Por lo tanto, los primeros ratos los estoy dedicando a conocer el lenguaje, ver código de otros y configurar un entorno de desarrollo aceptable. A continuación algunas ideas para este plugin:</p>
<ol>
<li>Que permita navegar por los documentos de un proyecto de forma similar a como lo hacemos por el repositorio de subversion u utros SCM.</li>
<li>Búsqueda de documentos teniendo en cuenta sus metadatos</li>
<li>Posibilidad de referenciar a los documentos al igual que se hacen con tickets, milestones, etc&#8230;</li>
<li>Explotar el versionado que proporciona <a title="Sitio web de Alfresco" href="http://www.alfresco.com" target="_blank">Alfresco</a></li>
<li>Incorporar nuevos documentos</li>
</ol>
<p>Cualquier sugerencia será bienvenida. Para ello sólo tenéis que dar de alta un <a title="Dar de alta un nuevo ticket" href="http://trac.ebabel.info/projects/alfrescointegration/newticket" target="_blank">nuevo ticket</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manuelrecena.com/blog/archives/803/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Drupal y Alfresco consolidan su amistad</title>
		<link>http://www.manuelrecena.com/blog/archives/565</link>
		<comments>http://www.manuelrecena.com/blog/archives/565#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:34:18 +0000</pubDate>
		<dc:creator>Manuel Jesús Recena Soto</dc:creator>
				<category><![CDATA[Conocimiento libre]]></category>
		<category><![CDATA[Misceláneo]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[gmv]]></category>

		<guid isPermaLink="false">http://www.manuelrecena.com/blog/?p=565</guid>
		<description><![CDATA[A mediados de enero, escribía una entrada con el título &#8220;Drupal y Alfresco se conocen libremente&#8220;. Prueba de esa libertad es que ayer, volvíamos a publicar una nueva versión de este módulo de Drupal que permite su integración con Alfresco. Esta nueva versión incluye mejoras considerables en usabilidad, rendimiento y eliminación de código fuente prescindible. [...]]]></description>
			<content:encoded><![CDATA[<p>A mediados de enero, escribía una entrada con el título &#8220;<a title="Referencia a una entrada de este blog relacionada" href="http://www.manuelrecena.com/blog/archives/477" target="_blank">Drupal y Alfresco se conocen libremente</a>&#8220;. Prueba de esa libertad es que ayer, <a title="Sitio web de GMV Soluciones Globales Internet" href="http://www.gmv-sgi.com" target="_blank">volvíamos</a> a publicar una <a title="Información sobre esta nueva versión del módulo" href="http://drupal.org/node/411306" target="_blank">nueva versión</a> de este <a title="Sitio web oficial del módulo" href="http://drupal.org/project/alfresco" target="_blank">módulo de Drupal</a> que permite su integración con Alfresco. Esta nueva versión incluye mejoras considerables en usabilidad, rendimiento y eliminación de código fuente prescindible. A continuación una captura de pantalla del sub-módulo <strong>alfresco_browser</strong>:</p>
<p><img class="alignnone size-full wp-image-567" title="Alfresco Module" src="http://www.manuelrecena.com/blog/../resources/alfresco_browserpreview.png" alt="Alfresco Module" width="500" height="301" /></p>
<p>Este submódulo es una de los principales atractivos de esta nueva versión:</p>
<ol>
<li>Visualización de documentos y sus metadatos</li>
<li>Navegación por los distintos espacios</li>
<li>Búsquedas</li>
<li>Creación de contenidos en Drupal a partir de los propios documentos.</li>
</ol>
<p>Sólo me queda dar la enhorabuena a mi compañero Sergio Martín por su excelente trabajo. Desde luego esta, y <a title="Referencia a una entrada de este blog" href="http://www.manuelrecena.com/blog/archives/75" target="_blank">otras cosas</a>, son las que me hacen disfrutar día a día de mi trabajo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manuelrecena.com/blog/archives/565/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal y Alfresco se conocen libremente</title>
		<link>http://www.manuelrecena.com/blog/archives/477</link>
		<comments>http://www.manuelrecena.com/blog/archives/477#comments</comments>
		<pubDate>Wed, 14 Jan 2009 21:48:51 +0000</pubDate>
		<dc:creator>Manuel Jesús Recena Soto</dc:creator>
				<category><![CDATA[Conocimiento libre]]></category>
		<category><![CDATA[Misceláneo]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[módulo]]></category>

		<guid isPermaLink="false">http://www.manuelrecena.com/blog/?p=477</guid>
		<description><![CDATA[La idea de integrar Drupal y Alfresco me rondaba por la cabeza desde marzo de 2008. Esto es una prueba más de que las ideas por sí solas valen poco (no siempre claro está), el verdadero valor está en materializarlas y llevarlas a cabo. La constancia y el esfuerzo marcan una diferencia en la trayectoria [...]]]></description>
			<content:encoded><![CDATA[<p>La idea de integrar <a title="Sitio web de Drupal" href="http://www.drupal.org" target="_blank">Drupal</a> y <a title="Sitio web de Alfresco" href="http://www.alfresco.org" target="_blank">Alfresco</a> me rondaba por la cabeza desde marzo de 2008. Esto es una prueba más de que las ideas por sí solas valen poco (no siempre claro está), el verdadero valor está en materializarlas y llevarlas a cabo. La constancia y el esfuerzo marcan una diferencia en la trayectoria profesional de algunas personas.</p>
<p>En esta ocasión ha sido mi compañero y amigo <a title="Referencia de Sergio en Drupal.org" href="http://drupal.org/user/191570" target="_blank">Sergio Martín</a> quien aceptó el reto y los resultados no se han hecho esperar. Desde hace unas horas está disponible para la comunidad de Drupal un módulo que nos permite su integración con Alfreso.</p>
<p><a href="http://drupal.org/project/alfresco"><img class="alignnone" title="Logotipo del módulo" src="http://farm4.static.flickr.com/3482/3197727484_503d910bce_m.jpg" alt="" width="240" height="184" /></a></p>
<p>Para conocer las posibilidades de este módulo sólo hay que acceder a su <a title="Sitio web oficial del módulo" href="http://drupal.org/project/alfresco" target="_blank">página oficinal</a>. Las posibilidades del módulo son múltiples.</p>
<ul>
<li>¿Por qué preocuparse de que Drupal gestione los archivos que necesitamos publicar en un sitio web si para eso ya están los gestores documentales? Dejemos que Drupal y Alfresco se encarguen de lo que verdaderamente saben.</li>
<li>La integración entre ambas soluciones se realiza usando HTTP-SOAP. Una prueba más de que la orientación a servicios flexibiliza muchísimo la interoperabilidad entre distintas soluciones.</li>
<li>¿Rendimiento? Aun estamos pendientes de obtener algunos datos objetivos.</li>
<li>¿Configuración? Muy sencilla, URL donde Alfresco tiene publicado su API HTTP-SOAP, usuario/contraseña, metadatos con los que deseamos trabajar y poco más.</li>
<li>¿Podemos referenciar los documentos desde otros tipos de contenido? Sí, gracias al submódulo <strong>alfresco_attach.module</strong> dado que el módulo principal proporciona un nuevo tipo de contenido (<em>Alfresco item)</em> perfectamente referenciable.</li>
<li>Para mejorar la usabilidad existe el submódulo <strong>alfresco_import.module</strong> que nos permite importar de forma sencilla documentos a partir de un espacio de trabajo de Alfresco.</li>
</ul>
<p>La versión que se ha publicado es un beta (6.x-1.0-beta) y <a title="Sitio web de GMV" href="http://www.gmv.com" target="_blank">nuestra</a> intención es mantener y evolucionar el módulo. Evidentemente habrá incidencias que se tendrán que solucionar pero también tenemos nuevas funcionalides que no tardarán en llegar.</p>
<p>Te lo he dicho muchas veces, Sergio eres un crack. Lo mejor de todo es que estoy rodeado de otros tantos crack como él y entre todos creo que formamos un buen equipo. Gracias a todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manuelrecena.com/blog/archives/477/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

