<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>José López-Púa</title>
	<atom:link href="http://joselopezpua.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://joselopezpua.wordpress.com</link>
	<description>tarifeño por suerte</description>
	<lastBuildDate>Sat, 19 Nov 2011 00:18:43 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='joselopezpua.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>José López-Púa</title>
		<link>http://joselopezpua.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://joselopezpua.wordpress.com/osd.xml" title="José López-Púa" />
	<atom:link rel='hub' href='http://joselopezpua.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Aplicar permisos de forma recursiva cuando sólo disponemos de FTP, ¿la solución? PHP</title>
		<link>http://joselopezpua.wordpress.com/2011/06/09/aplicar-permisos-de-forma-recursiva-cuando-solo-disponemos-de-ftp-la-solucion-php/</link>
		<comments>http://joselopezpua.wordpress.com/2011/06/09/aplicar-permisos-de-forma-recursiva-cuando-solo-disponemos-de-ftp-la-solucion-php/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 00:28:04 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sistemas operativos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=157</guid>
		<description><![CDATA[Bien conocido es la problemática que se le presenta al desarrollador de aplicaciones web cuando, por ejemplo, necesita asignar permisos a un árbol de directorios lo suficientemente profundo como para que hacerlo elemento por elemento sea una tarea tediosa cuando el proveedor de servicios de hosting no ofrece acceso por SSH y sólo dispone de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=157&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bien conocido es la problemática que se le presenta al desarrollador de aplicaciones web cuando, por ejemplo, necesita asignar permisos a un árbol de directorios lo suficientemente profundo como para que hacerlo elemento por elemento sea una tarea tediosa cuando el proveedor de servicios de hosting no ofrece acceso por <a title="Secure SHell" href="http://es.wikipedia.org/wiki/Secure_Shell" target="_blank">SSH</a> y sólo dispone de acceso por <a title="File Transfer Protocol" href="http://es.wikipedia.org/wiki/File_Transfer_Protocol" target="_blank">FTP</a> al sistema de ficheros del plan contratado.</p>
<p>Casi ningún cliente de <a title="File Transfer Protocol" href="http://es.wikipedia.org/wiki/File_Transfer_Protocol" target="_blank">FTP</a> permite asignación de permisos de manera recursiva o en profundidad, esto es, a un directorio y a todo lo que esté bajo el mismo; yo al menos no he encontrado ninguno que lo haga.</p>
<p>Entonces, ¿cuál es la solución para agilizar este procedimiento?</p>
<p>Pues si habéis sido listos y habéis escogido <a title="GNU/Linux" href="http://es.wikipedia.org/wiki/GNU/Linux" target="_blank">Linux</a> para vuestro plan de alojamiento y éste permite ejecución de scripts, estáis de enhorabuena, pues tanto <a title="Perl" href="http://www.perl.org/" target="_blank">Per</a>l como <a title="PHP: Hypertext Processor" href="http://www.php.net/" target="_blank">PHP</a> poseen funciones que permiten cambiar permisos a ficheros y directorios del sistema en el que se estén ejecutando.</p>
<p>A continuación os dejo un sencillo script en <a title="PHP: Hypertext Processor" href="http://www.php.net/" target="_blank">PHP</a> que asigna permisos 755 a todos los directorios y 644 a todos los ficheros:</p>
<p><pre class="brush: plain;">
// Comenzamos desde el directorio donde se ejecuta este script
$dir = &quot;./&quot;;
$dirModes = 0755;
$fileModes = 0644;
$d = new RecursiveDirectoryIterator( $dir );
foreach (new RecursiveIteratorIterator($d, 1) as $path) {
    if ($path-&gt;isDir()) {
        chmod($path, $dirModes);
    } else if (is_file($path)) {
        chmod($path, $fileModes);
    }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=157&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2011/06/09/aplicar-permisos-de-forma-recursiva-cuando-solo-disponemos-de-ftp-la-solucion-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>37.402216 -5.997376</georss:point>
		<geo:lat>37.402216</geo:lat>
		<geo:long>-5.997376</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>Crear accesos directos de Windows desde aplicaciones Java</title>
		<link>http://joselopezpua.wordpress.com/2010/08/13/crear-accesos-directos-de-windows-desde-aplicaciones-java/</link>
		<comments>http://joselopezpua.wordpress.com/2010/08/13/crear-accesos-directos-de-windows-desde-aplicaciones-java/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 11:38:19 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Sistemas operativos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[cscript]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[visual basic script]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=148</guid>
		<description><![CDATA[En este post explicaré cómo realizar esta tarea de una manera bastante sencilla.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=148&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una de las cuestiones sobre las que no existe demasiada información en la red es la creación de accesos directos de Windows de forma programática y menos aún cómo hacerlo desde una aplicación Java. En este post explicaré cómo realizar esta tarea de una manera bastante sencilla.</p>
<p>Para empezar, decir que no existe ningún comando en Windows con el que sea posible crear accesos directos, al menos en Windows XP y Windows Server hasta su versión 2008.</p>
<p>Imaginemos ahora el siguiente escenario: tenemos un recurso compartido por <a title="Samba" href="http://es.wikipedia.org/wiki/Samba_%28programa%29" target="_blank">Samba</a> o en nuestra red de Windows y tenemos un aplicativo Java ejecutándose desde un servidor Windows Server 2008 que se encarga de hacer accesible este recurso desde todos los equipos de la red, mediante un acceso directo en el escritorio de los usuarios, por ejemplo. Asumiendo que tenemos ya controlado el acceso por Samba a los equipos desde nuestra aplicación, las dos cuestiones a resolver para conseguir nuestro objetivo son:</p>
<p>1. Averiguar qué mecanismo usa Windows para la creación de accesos directos y</p>
<p>2. Hacer una llamada al mismo desde nuestra aplicación Java.</p>
<p>Analicemos ambas cuestiones por separado:</p>
<p>1. Averiguar qué mecanismo usa Windows para la creación de accesos directos:</p>
<p>Tras mucho buscar en Internet topé con una buena referencia [1] de la cual se desprende que para crear accesos directo en Windows programáticamente es a través de <a title="Windows Script Host" href="http://en.wikipedia.org/wiki/Windows_Script_Host" target="_blank">CScript</a>.</p>
<p>Sabiendo esto, podemos escribir un sencillo script como el siguiente:</p>
<p><pre class="brush: plain;">
'Creación del objeto Shell
Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)

'Recuperamos los argumentos de la llamada a este script
LinkName = WScript.Arguments(0)
LinkPath = WScript.Arguments(1)
LinkTargetPath = WScript.Arguments(2)

'Definimos la localización del fichero LNK
LinkFilename = LinkPath + &quot;\&quot; + LinkName + &quot;.lnk&quot;

'Creamos el objeto LNKFile
Set LNKFile = WshShell.CreateShortcut(LinkFilename)

'Establecemos los contenidos del fichero LNK
LNKFile.TargetPath = LinkTargetPath
LNKFile.Arguments = &quot;&quot;
LNKFile.Description = &quot;Acceso directo a &quot; + LinkTargetPath
LNKFile.HotKey = &quot;&quot;
LNKFile.WindowStyle = &quot;1&quot;
LNKFile.WorkingDirectory = &quot;&quot;

'Guardamos el fichero LNK en disco
LNKFile.Save
</pre></p>
<p>A este script lo llamaremos createlnk.vbs y recibirá tres parámetros: 1º: nombre para el fichero (sin extensión), 2º: ruta donde se guardará el fichero lnk (p.e.:c:\links), 3º: destino del acceso directo (p.e.: \\shared\folder).</p>
<p>Obsérvese que este script se ejecutará en nuestro servidor, en el cual se está ejecutando la aplicación Java.</p>
<p>2. Hacer una llamada al mismo desde nuestra aplicación Java:</p>
<p>Esta parte es más sencilla, puesto que desde Java es posible lanzar ejecutables mediante la creación y ejecución de procesos. La llamada al script descrito en el primer punto podría ser algo como lo siguiente:</p>
<p><pre class="brush: java;">
Process process = Runtime.getRuntime().exec(&quot;cscript \&quot;c:\\scripts\\createlnk.vbs\&quot; \&quot;test\&quot; \&quot;c:\\links \\\\shared\\resource\&quot;&quot;);
if (process.waitFor() == 0) {
    // OK
} else {
    // Error
}
</pre></p>
<p>Sólo quedaría copiar este acceso directo a las máquinas remotas que nos interesen mediante <a href="http://es.wikipedia.org/wiki/Samba_%28programa%29" target="_blank">Samba</a>.</p>
<p>Referencias:</p>
<p>[1] <a title="Administering Windows Server 2008 Server Core" href="http://books.google.es/books?id=BK5nr1l2-DIC&amp;printsec=frontcover&amp;dq=Administering+Windows+2008&amp;hl=es&amp;ei=LzRlTI-3C9SH4gb70_WcCg&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=1&amp;ved=0CC0Q6AEwAA#v=onepage&amp;q&amp;f=false" target="_blank">Administering Windows Server 2008 Server Core</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=148&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/08/13/crear-accesos-directos-de-windows-desde-aplicaciones-java/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalación personalizada de OpenCms con Maven y Ant</title>
		<link>http://joselopezpua.wordpress.com/2010/06/15/instalacion-personalizada-de-opencms-con-maven-y-ant/</link>
		<comments>http://joselopezpua.wordpress.com/2010/06/15/instalacion-personalizada-de-opencms-con-maven-y-ant/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 22:55:56 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[opencms]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=136</guid>
		<description><![CDATA[Construir nuestro propio asistente de instalación de OpenCms. ¿Cómo se consigue esto? Querido lector, siga usted leyendo.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=136&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una tarea que puede resultar enormemente tediosa es aquella de poner en producción un sistema desarrollado sobre el gestor de contenidos <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a>, debido al gran número de módulos que pueden llegar a desarrollarse para un proyecto meianamente complejo. Poniendo que tengamos listas nuestras máquinas y el software de producción (aka, servidores de bases de datos, contenedor servlet, etc) y que ya hemos instalado <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> <em>from scratch</em> desplegando el war y siguiendo el asistente de instalación de <a title="Alkacon Software GmBH" href="http://www.alkacon.com" target="_blank">Alkacon</a>, instalar todos los módulos que hemos desarrollado, así como establecer todos los parámetros de configuración que nuestro sistema requiera en los ficheros de configuración de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> puede suponer una verdadera pérdida de nuestro valioso tiempo.</p>
<p>No hace mucho que en la <a title="GMV Innovating Solutions" href="http://www.gmv.com" target="_blank">empresa donde trabajo</a> estábamos preparando la puesta en producción de un sistema desarrollado sobre <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> que contaba con un número considerable de módulos y una configuración muy específica para que los mismos funcionasen correctamente sobre la instalación estándar de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a>, cosa que nos hizo tomar la decisión de hacer una pausa y emplear algo de tiempo en pensar una estrategia que hiciera de esta labor una tarea fácil y completamente automática. Pues bien, tras no demasiado tiempo pensando dimos con la solución que mejor se ajustaba a esta necesidad:<strong> construir nuestro propio asistente de instalación. </strong>¿Cómo se consigue esto? Querido lector, siga usted leyendo.</p>
<p>La herramienta fundamental que se ha empleado para la construcción de un asistente de instalación personalizado ha sido <a title="Apache Maven" href="http://maven.apache.org" target="_blank">Apache Maven</a>.</p>
<p>En primera instancia, antes de abordar esta idea ya contábamos con las bondades de <a title="Apache Maven" href="http://maven.apache.org" target="_blank">Maven</a> para modelar y construir los módulos de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a>, como explica un antiguo compañero en <a title="Módulos OpenCMS y Maven" href="http://amunizmartin.wordpress.com/2008/11/06/modulos-opencms-y-maven/" target="_blank">este post</a>, lo cual nos dejaba entrever un camino interesante para el propósito que estamos tratando.</p>
<p>Como elementos indispensables para desarrollar este instalador necesitamos:</p>
<ul>
<li><a title="Apache Maven" href="http://maven.apache.org" target="_blank">Apache Maven</a></li>
<li><a title="Apache Ant" href="http://ant.apache.org" target="_blank">Apache Ant</a></li>
</ul>
<p>En principio, modelamos nuestro asistente personalizado como un proyecto Maven conteniendo los siguientes elementos:</p>
<ul>
<li>El asistente de instalación de <a title="Alkacon Software GmBH" href="http://www.alkacon.com" target="_blank">Alkacon</a>, que no es más que el war que desplegamos en nuestro contenedor, pero descomprimido en un directorio en el proyecto.</li>
<li>Los fuentes de todos los módulos de nuestro proyecto que queramos instalar en <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a>, cada uno será un proyecto <a title="Apache Maven" href="http://maven.apache.org" target="_blank">Maven</a>, siendo el proyecto objeto de estudio en este post el proyecto padre.</li>
<li>Un fichero <em>build.xml</em> el cual le diremos a <a title="Apache Ant" href="http://ant.apache.org" target="_blank">Ant</a> cómo compilar y empaquetar nuestro asistente de instalación.</li>
</ul>
<p>La estructura, pues, del sistema de ficheros de nuestro proyecto es algo con la siguiente forma:</p>
<p><pre class="brush: plain;">
/custom-opencms
| + opencms-module-1
  ...
   | - pom.xml
   | - profiles.xml
| + opencms-module-2
  ...
   | - pom.xml
   | - profiles.xml
 ...
| + opencms-module-N
  ...
   | - pom.xml
   | - profiles.xml
| + opencms-webapp
| + build.xml
| + pom.xml
</pre></p>
<p>A partir de este punto se asume que el lector he trabajado lo suficiente con <a title="Apache Maven" href="http://maven.apache.org" target="_blank">Maven</a> y <a title="Apache Ant" href="http://ant.apache.org" target="_blank">Ant</a> como para que sea capaz de entender el desarrollo que a continuación se expone.</p>
<p>Lo primero que tendremos que hacer, una vez montado el proyecto anterior en nuestro IDE favorito será escribir el fichero pom.xml para que contemple la compilación de todos los módulos de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> de nuestro proyecto, para ello, simplemente crearemos una sección <strong>modules</strong> conteniendo todos los módulos que deseamos instalar:</p>
<p><pre class="brush: plain;">
&lt;modules&gt;
    &lt;module&gt;opencms-module-1&lt;/module&gt;
    &lt;module&gt;opencms-module-2&lt;/module&gt;
    ...
    &lt;module&gt;opencms-module-N&lt;/module&gt;
&lt;/modules&gt;
</pre></p>
<p>Hecho esto, debemos conseguir que los módulos compilados se alojen en algún lugar en el <em>target</em> de nuesto proyecto, para ello, mediante <a title="Maven Antrun plugin" href="http://maven.apache.org/plugins/maven-antrun-plugin/" target="_blank">maven-antrun-plugin</a>, crearemos un directorio bajo el directorio target del proyecto donde copiaremos todos los zips de los módulos ya compilados.</p>
<p><pre class="brush: plain;">
&lt;build&gt;
    &lt;plugins&gt;
        &lt;plugin&gt;
	    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
	        &lt;artifactId&gt;maven-antrun-plugin&lt;/artifactId&gt;
	        &lt;version&gt;1.1&lt;/version&gt;
	        &lt;executions&gt;
	            &lt;execution&gt;
	                &lt;id&gt;zip-module&lt;/id&gt;
	                    &lt;goals&gt;
	                        &lt;goal&gt;run&lt;/goal&gt;
	                    &lt;/goals&gt;
	                    &lt;phase&gt;package&lt;/phase&gt;
	                    &lt;inherited&gt;false&lt;/inherited&gt;
	                    &lt;configuration&gt;
	                        &lt;tasks&gt;
	                            &lt;echo&gt;Packaging OpenCMS Modules...&lt;/echo&gt;
	                                &lt;mkdir dir=&quot;target/dist/modules&quot; /&gt;
	                                &lt;copy file=&quot;opencms-module-1.zip/target/es.joselopezpua.opencms-module-1.zip&quot;
	                                      todir=&quot;target/dist/modules&quot; /&gt;
	                                &lt;copy file=&quot;opencms-module-2.zip/target/es.joselopezpua.opencms-module-1.zip&quot;
	                                      todir=&quot;target/dist/modules&quot; /&gt;
                                        ....
	                                &lt;copy file=&quot;opencms-module-N.zip/target/es.joselopezpua.opencms-module-1.zip&quot;
	                                      todir=&quot;target/dist/modules&quot; /&gt;
                                        ...
</pre></p>
<p>Hasta aquí ya tenemos todos los módulos de nuestro proyecto <em>recién salidos del horno</em> con sólo hacer $ mvn clean package, ¿qué tal si los copiamos al instalador y le decimos que se prepare para instalarlos?</p>
<p>En la estructura de ficheros del asistente de instalación de <a title="Alkacon Software GmBH" href="http://www.alkacon.com" target="_blank">Alkacon</a>, que está bajo nuestro directorio <strong>opencms-webapp</strong>, en <strong>WEB-INF/packages/modules/</strong>, se encuentran los zips de todos los módulos que se instalarán durante el proceso de instalación, así que escribiremos las líneas apropiadas en nuestro fichero <strong>build.xml</strong> para que nuestra tarea <a title="Apache Ant" href="http://ant.apache.org" target="_blank">Ant</a> realice este trabajo.</p>
<p><pre class="brush: plain;">
&lt;project&gt;
    &lt;target name=&quot;dist&quot;&gt;
        &lt;!-- Genera el directorio target/opencms-webapp --&gt;
	&lt;mkdir dir=&quot;target/opencms-webapp&quot;/&gt;
	&lt;!-- Copia los ficheros del webapp de instalación de OpenCms --&gt;
	&lt;copy todir=&quot;target/opencms-webapp&quot;&gt;
	    &lt;fileset dir=&quot;opencms-webapp/target/dist&quot; /&gt;
	&lt;/copy&gt;
	&lt;!-- Copia los módulos del proyecto a la carpeta de módulos del webapp de instalación --&gt;
	&lt;copy todir=&quot;target/opencms-webapp/WEB-INF/packages/modules&quot;&gt;
	    &lt;fileset dir=&quot;target/dist/modules&quot; /&gt;
        &lt;/copy&gt;
   &lt;/target&gt;
&lt;/project&gt;
</pre></p>
<p>Con esto el asistente ya tendrá nuestros módulos en el directorio en el que los espera, sólo nos falta indicarle que los importe, cosa que haremos modificando el fichero <strong>opencms-webapp/setup/components.properties</strong>, suponiendo que la paquetería de nuestros módulos es <strong>es.joselopezpua.custom.*</strong> y que el nombre para el conjunto de módulos será <strong>custom</strong>:</p>
<p><pre class="brush: plain;">
component.custom.name=Modulos de ejmplo de este post
component.custom.description=Modulos de OpenCms de mi proyecto
component.custom.modules=es\.joselopezpua\.custom.*
component.custom.position=200
component.custom.checked=true
</pre></p>
<p>Sólo queda decirle a nuestra tarea <a title="Apache Ant" href="http://ant.apache.org" target="_blank">Ant</a> que comprima el asistente en un war que desplegaremos en nuetro contenedor J2EE para instalar nuestro proyecto, para ello, añadir estas líneas a <strong>build.xml</strong> antes del cierre del nodo target:</p>
<p><pre class="brush: plain;">
	    &lt;zip destfile=&quot;target/custom-opencms.war&quot; basedir=&quot;target/opencms-webapp&quot; /&gt;
</pre></p>
<p>Y listo, ahora cada vez que deseemos realizar un nuevo instalador con nuestros módulos tan sólo tendremos que ejecutar <a title="Apache Maven" href="http://maven.apache.org" target="_blank">Maven</a> y <a title="Apache Ant" href="http://ant.apache.org" target="_blank">Ant</a> de la siguiente forma:</p>
<p>$ mvn clean package</p>
<p>$ ant dist</p>
<p>Tendremos en el directorio <strong>target</strong> un war con un asistente de instalación de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> que instalará todos nuestros módulos.</p>
<p>Para personalizar la configuración de partida de nuestro <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a>, antes de construir este proyecto simplemente habrá que modificar conveniente los ficheros de configuración de <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> del instalador (en nuestro ejemplo, el directorio opencms-webapp). Incluso es posible modificar, dentro del subdirectorio setup, las páginas de los pasos del asistente, imágenes, scripts de creación de tablas en la base de datos, etc.</p>
<p>El punto fuerte de lo que se ha presentado en este post es la automatización, la cual nos brinda la oportunidad de distribuir el software que hemos desarrollado sobre la plataforma <a title="OpenCms" href="http://www.opencms.org" target="_blank">OpenCms</a> de manera rápida, sencilla y segura (siempre y cuando hayamos realizado las instalaciones de prueba oportunas en nuestros entornos de prueba y preproducción) con el acabado profesional de una instalación desde cero en forma de <em>Wizard</em>.</p>
<p>Atrás quedan esas tardes aburridas instalando módulos uno por uno, desafiando a los ficheros de configuración y obteniendo desagradables sorpresas.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=136&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/06/15/instalacion-personalizada-de-opencms-con-maven-y-ant/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Indecente?</title>
		<link>http://joselopezpua.wordpress.com/2010/05/14/indecente/</link>
		<comments>http://joselopezpua.wordpress.com/2010/05/14/indecente/#comments</comments>
		<pubDate>Fri, 14 May 2010 17:32:30 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Reflexiones]]></category>
		<category><![CDATA[españa]]></category>
		<category><![CDATA[gobierno]]></category>
		<category><![CDATA[política]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=130</guid>
		<description><![CDATA[Publico en este post un correo que me llegó reenviado por un amigo donde no se dicen nada más que verdades. Si trabajáis y no sois políticos ni funcionarios de ayuntamientos os sentiréis perfectamente identificados con esto. Ha  dicho la Vicepresidenta del gobierno que es indecente que mientras la  inflación es -1%,y tengamos más de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=130&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Publico en este post un correo que me llegó reenviado por un amigo donde no se dicen nada más que verdades.</p>
<p>Si trabajáis y no sois políticos ni funcionarios de ayuntamientos os sentiréis perfectamente identificados con esto.</p>
<blockquote><p><strong>Ha  dicho la Vicepresidenta del gobierno que es indecente que mientras la  inflación es -1%,y tengamos más de 4.000.000 de parados, haya gente que no esté de  acuerdo en alargar la jubilación a los 70 años.</strong></p>
<p><strong>Nos gustaría transmitirle a esta &#8220;Sra. Vicepresidenta&#8221; y a todos los políticos, lo que consideramos  indecente :</strong><strong><br />
</strong><strong><br />
</strong>INDECENTE,  es que el salario mínimo de un trabajador sea de 624 €/mes y el de un diputado de 3.996, pudiendo llegar, con dietas y otras prebendas, a  6.500 €/mes.</p>
<p>INDECENTE, es que un profesor, un maestro, un catedrático de universidad o un  cirujano de la sanidad pública, ganen menos que el concejal de festejos  de un ayuntamiento de tercera.</p>
<p>INDECENTE, es que los políticos se  suban sus retribuciones en el porcentaje que les apetezca (siempre por  unanimidad, por supuesto, y al inicio de la  legislatura).</p>
<p>INDECENTE, es que un ciudadano tenga que  cotizar 35 años para percibir una jubilación y a los diputados les baste  sólo con siete, y que los miembros del gobierno, para cobrar la pensión  máxima, sólo necesiten jurar el cargo.</p>
<p>INDECENTE, es que los  diputados sean los únicos trabajadores (¿?) de este país  que están  exentos de tributar un tercio de su sueldo del IRPF.</p>
<p>INDECENTE, es colocar en la administración a miles de asesores = (léase amigotes  con sueldos que ya desearían los técnicos más cualificados.)<br />
INDECENTE, es el  ingente dinero destinado a sostener a los partidos, aprobados por los  mismos políticos que viven de ellos.</p>
<p>INDECENTE, es que a un  político no se le exija superar una mínima prueba de capacidad para  ejercer su cargo. (ni cultural ni intelectual.)</p>
<p>INDECENTE, es el coste que representa para los  ciudadanos sus comidas, coches oficiales, chóferes, viajes (siempre en  gran clase) y tarjetas de crédito por doquier.</p>
<p>INDECENTE No es que no se congelen el sueldo sus señorias, sino que no se lo bajen.</p>
<p>INDECENTE, es que  sus señorías tengan seis meses de vacaciones al año.</p>
<p>INDECENTE, es que ministros,  secretarios de estado y altos cargos<br />
de la política, cuando cesan, son  los únicos ciudadanos de este país que pueden legalmente percibir dos  salarios del ERARIO PÚBLICO.</p>
<p>Y que sea cuál sea el color del gobierno, toooooooodos los políticos se benefician de este moderno &#8220;derecho de pernada&#8221; mientras no se cambien las leyes que lo regula. ¿Y quiénes las cambiarán? ¿Ellos mismos? Já. Juntemos firmas para que haya un proyecto de ley con &#8220;cara y ojos&#8221; para acabar con estos privilegios, y con otros.</p>
<p>Haz que esto llegue al Congreso a traves de tus amigos</p></blockquote>
<blockquote><p>ÉSTA  SÍ DEBERÍA SER UNA DE ESAS CADENAS QUE NO SE DEBE ROMPER, PORQUE SÓLO  NOSOTROS PODEMOS PONERLE REMEDIO A ESTO, Y ÉSTA, SI QUE TRAERÁ AÑOS DE  MALA SUERTE SI NO PONEMOS REMEDIO. esta en juego nuestro futuro y el de nuestros hijos.</p></blockquote>
<p>Lo más triste es que a nadie le pilla de sorpresa. A mí sinceramente me da igual que alguien se jubile a los 70, siempre que esté cualificado para desempeñar su trabajo (p.e.: un cirujano al que le tiembla el pulso a causa de la edad no tiene ningún sentido), pero habiendo leído esto sí que es verdad que es indignante que sigan pasando estas cosas, que en los ayuntamientos ya es exagerado (si sois de un pueblo, como yo, en donde todo se sabe sabréis de qué hablo).</p>
<p>El verdadero problema es que la política es un círculo cerrado donde son sólo los políticos los que hacen y deshacen y, si son todos iguales como se dice aquí (que lo son), ¿quién pone remedio a este descaro?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=130&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/05/14/indecente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>Desplegables horizontales en HTML</title>
		<link>http://joselopezpua.wordpress.com/2010/03/30/desplegables-horizontales-en-html/</link>
		<comments>http://joselopezpua.wordpress.com/2010/03/30/desplegables-horizontales-en-html/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 17:56:40 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=102</guid>
		<description><![CDATA[Hace unos días en el trabajo, mientras aplicaba estilos a un input select de un formulario en un documento HTML, cometí un error al aplicar un estilo in-line, encontrándome con esto: Mi reacción fue reirme, dado que nunca había visto un desplegable de esta forma pero, ¿qué sucedió? Bien, la cuestión es que en lugar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=102&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hace unos días en el trabajo, mientras aplicaba estilos a un input select de un formulario en un documento <a href="http://html.conclase.net/w3c/html401-es/cover.html" target="_blank">HTML</a>, cometí un error al aplicar un estilo in-line, encontrándome con esto:</p>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 407px"><a href="http://joselopezpua.files.wordpress.com/2010/03/select-horizontal-sencillo.png"><img class="size-full wp-image-120" title="select-horizontal-sencillo" src="http://joselopezpua.files.wordpress.com/2010/03/select-horizontal-sencillo.png?w=510" alt="Select horizontal"   /></a><p class="wp-caption-text">Select horizontal</p></div>
<p>Mi reacción fue reirme, dado que nunca había visto un desplegable de esta forma pero, ¿qué sucedió?</p>
<p>Bien, la cuestión es que en lugar de aplicar la propiedad de estilo <a href="http://www.w3c.es/Divulgacion/Guiasbreves/HojasEstilo" target="_blank">css</a> <strong>display:inline</strong> al elemento select, lo apliqué al alemento option de ese select, con lo que la siguiente opción se coocó justo a continuación y no debajo, como está estabecido por defecto (display:block).</p>
<p>Intrigado, me pregunté si sería posible disponer las opciones de un desplegable como una matriz y la conclusión es que sí se puede.</p>
<p>La solución es mezclar la aplicación errónea del estilo <strong>display:inline</strong> con el uso de elementos <strong>optgroup</strong>. Cada optgroup será una fila de nuestra matriz de opciones y cada opción dentro de cada fia tendrá aplicado un estilo display:inline. Como por defecto los elementos <a href="http://html.conclase.net/w3c/html401-es/cover.html" target="_blank">HTML</a> se muestran como block, cada fila (optgroup) se mostrará debajo de la anterior y dentro de ellas, cada opción, al tener aplicado estilo <strong>display:inline</strong>, se mostrará justo al lado de la anterior <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Así podemos construir de una forma sencillísima cosas como esta:</p>
<div id="attachment_121" class="wp-caption aligncenter" style="width: 425px"><a href="http://joselopezpua.files.wordpress.com/2010/03/select-matricial.png"><img class="size-full wp-image-121" title="select-matricial" src="http://joselopezpua.files.wordpress.com/2010/03/select-matricial.png?w=510" alt="Select matricial"   /></a><p class="wp-caption-text">Select matricial</p></div>
<p>El código HTML correspondiente es el siguiente:</p>
<p><pre class="brush: xml;">
&lt;select id=&quot;selectMatricialDesplegable&quot; size=&quot;1&quot;&gt;
    &lt;optgroup&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;01&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;02&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;03&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;04&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;05&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;06&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;07&lt;/option&gt;
    &lt;/optgroup&gt;
    &lt;optgroup&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;08&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;09&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;10&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;11&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;12&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;13&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;14&lt;/option&gt;
    &lt;/optgroup&gt;
    &lt;optgroup&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;15&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;16&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;17&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;18&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;19&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;20&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;21&lt;/option&gt;
    &lt;/optgroup&gt;
    &lt;optgroup&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;22&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;23&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;24&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;25&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;26&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;27&lt;/option&gt;
        &lt;option style=&quot;display:inline;&quot;&gt;28&lt;/option&gt;
    &lt;/optgroup&gt;
&lt;/select&gt;
</pre></p>
<p>No es nada espectacular pero mola. Espero que os sirva.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=102&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/03/30/desplegables-horizontales-en-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>

		<media:content url="http://joselopezpua.files.wordpress.com/2010/03/select-horizontal-sencillo.png" medium="image">
			<media:title type="html">select-horizontal-sencillo</media:title>
		</media:content>

		<media:content url="http://joselopezpua.files.wordpress.com/2010/03/select-matricial.png" medium="image">
			<media:title type="html">select-matricial</media:title>
		</media:content>
	</item>
		<item>
		<title>El siguiente paso</title>
		<link>http://joselopezpua.wordpress.com/2010/03/01/el-siguiente-paso-vivir-solo/</link>
		<comments>http://joselopezpua.wordpress.com/2010/03/01/el-siguiente-paso-vivir-solo/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 21:57:10 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Reflexiones]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=95</guid>
		<description><![CDATA[Siendo casi las 23:00 y en un estado importante de agotamiento, por fin concluye mi mudanza de la calle Evangelista a la calle Torneo, en la que me he aventurado a vivir yo solo tras muchos años compartiendo pisos. Resulta extraño, si justo un año atrás alguien me hubiera dicho que iba a tomar esta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=95&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Siendo casi las 23:00 y en un estado importante de agotamiento, por fin concluye mi mudanza de la calle Evangelista a la calle Torneo, en la que me he aventurado a vivir yo solo tras muchos años compartiendo pisos.</p>
<p>Resulta extraño, si justo un año atrás alguien me hubiera dicho que iba a tomar esta decisión me hubiese reido en su cara, puesto que por aquel entonces no concebía abandonar el frenesí de vivir entre colegas&#8230; pero lo cierto es que ya me tocaba, pues cuando el cuerpo te lo pide día tras día, difícil es negarse ¿verdad?.</p>
<p>Pensando positivamente considero esta decisión como un salto de calidad de vida en el momento oportuno, ni más ni menos. He aquí algunos de mis recuerdos de mi último piso, en la calle Evangelista:</p>
<ul>
<li>Una sensación: sentirme como en casa.</li>
<li>Una escena: los &#8220;guateques&#8221; que solíamos organizar cada jueves.</li>
<li>Un sonido: el del camión de Lipasam a las 2:00 de la mañana <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li>Un sabor: el de las pizzas caseras de mi compi Álvaro.</li>
<li>Un olor&#8230; me lo reservo <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p>Quisiera agradecer también de todo corazón a mis amigos Yayo y Diego su ayuda, sin la cual me hubiera resultado imposible mudarme tan rápidamente.</p>
<p>Para terminar, me gustaría despedir este post con una canción de <a href="http://es.wikipedia.org/wiki/R.E.M." target="_blank">R.E.M.</a> cuyo título viene al pelo <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<span style="text-align:center; display: block;"><a href="http://joselopezpua.wordpress.com/2010/03/01/el-siguiente-paso-vivir-solo/"><img src="http://img.youtube.com/vi/qcgovY-H8uA/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=95&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/03/01/el-siguiente-paso-vivir-solo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>Mucho cuidado en Los Lances</title>
		<link>http://joselopezpua.wordpress.com/2010/02/28/carabela-portuguesa-en-los-lances-tarifa/</link>
		<comments>http://joselopezpua.wordpress.com/2010/02/28/carabela-portuguesa-en-los-lances-tarifa/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 20:37:52 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Deporte]]></category>
		<category><![CDATA[Tarifa]]></category>
		<category><![CDATA[mar]]></category>
		<category><![CDATA[playa]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=88</guid>
		<description><![CDATA[Desde hace ya varios meses, cada vez que entraba y salía del agua no había fin de semana que no me encontrase en la arena esta cosa que podéis observar en la imagen. Al principio creí que se trataba de algún tipo de cebo o artilugio extraño para pescar, puesto que en alguna ocasión llegué [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=88&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Desde hace ya varios meses, cada vez que entraba y salía del agua no había fin de semana que no me encontrase en la arena esta cosa que podéis observar en la imagen.</p>
<div id="attachment_89" class="wp-caption alignleft" style="width: 310px"><a href="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-12-13.jpg"><img class="size-medium wp-image-89" title="Carabela Portuguesa en la playa de los Lances (Tarifa)" src="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-12-13.jpg?w=300&#038;h=225" alt="Carabela Portuguesa" width="300" height="225" /></a><p class="wp-caption-text">Carabela Portuguesa en la playa de los Lances (Tarifa)</p></div>
<p>Al principio creí que se trataba de algún tipo de cebo o artilugio extraño para pescar, puesto que en alguna ocasión llegué a explotar con la punta de mi tabla el globo que conforma la parte superior de esta cosa (pobre iluso), pero este fin de semana, al observar la ingente cantidad de estos globitos a lo largo de la orilla decidí consultar a un amigo y corroborar su opinión con San <a href="http://www.google.es" target="_blank">Google</a>. ¡Descubrí entonces que se trata de un er vivo!</p>
<p>Se le conoce como<a href="http://es.wikipedia.org/wiki/Physalia_physalis" target="_blank"> Carabela Portuguesa (Physalia physalis)</a> y no, no se trata de una medusa, sino de un organismo colonial que usa el globo que yo exploté como medio de transporte y cuyos tentáculos contienen células urticantes que al contacto desprenden una peligrosa toxina que puede ser bastante dañina para los humanos, pudiendo provocar hasta el paro cardiaco.</p>
<div id="attachment_90" class="wp-caption aligncenter" style="width: 235px"><a href="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-13-15.jpg"><img class="size-medium wp-image-90" title="Carabela Portuguesa - Tentáculos urticantes" src="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-13-15.jpg?w=225&#038;h=300" alt="Carabela Portuguesa - Tentáculos urticantes" width="225" height="300" /></a><p class="wp-caption-text">Carabela Portuguesa - Tentáculos urticantes</p></div>
<p>Esta mañana las conté a lo largo de 50 metros y me salió la cuenta de 2.5 bichos por metro (uups) e incluso me acerqué a la Playa Chica para comprobar si allí también aparecían y, efectivamente, me topé con unas cuantas (pero bastante menos) . La inmensa mayoría estaban muertas (al menos eso creo) pero me topé con una que se movía tal como lo hace la que aparece en el vídeo que os adjunto.</p>
<span style="text-align:center; display: block;"><a href="http://joselopezpua.wordpress.com/2010/02/28/carabela-portuguesa-en-los-lances-tarifa/"><img src="http://img.youtube.com/vi/3_PLVp990OA/2.jpg" alt="" /></a></span>
<p>Pero bueno, no hagamos un drama de esto, pues llevo viendo bichos de estos desde hace ya varios meses y hasta ahora no he tenido noticia de ningún percance (puede ser gracias a la protección del neopreno), teniendo en cuenta que en esta playa surfea bastante gente. Eso sí, tened cuidado cuando entréis o salgáis del agua de no pisar ninguna, ya que aunque estén muertas, el contacto con un tentáculo sigue &#8220;picando&#8221; (si usáis escarpines, mejor).</p>
<p>Así que lo dicho, cuidadín y ¡buenas olas!.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=88&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/02/28/carabela-portuguesa-en-los-lances-tarifa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>

		<media:content url="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-12-13.jpg?w=300" medium="image">
			<media:title type="html">Carabela Portuguesa en la playa de los Lances (Tarifa)</media:title>
		</media:content>

		<media:content url="http://joselopezpua.files.wordpress.com/2010/02/2010-02-28-14-13-15.jpg?w=225" medium="image">
			<media:title type="html">Carabela Portuguesa - Tentáculos urticantes</media:title>
		</media:content>
	</item>
		<item>
		<title>Importar módulos en OpenCms por lotes&#8230; ¿cómo?</title>
		<link>http://joselopezpua.wordpress.com/2010/02/17/importar-modulos-en-opencms-por-lotes-%c2%bfcomo/</link>
		<comments>http://joselopezpua.wordpress.com/2010/02/17/importar-modulos-en-opencms-por-lotes-%c2%bfcomo/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 23:25:21 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opencms]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=85</guid>
		<description><![CDATA[Mientras desarrollaba para un proyecto con <a href="http://www.opencms.org" target="_blank">OpenCms</a> en la empresa en la que trabajo, se me ocurrió hacer un pequeño alto en el camino y construir un modulito que permitiese importar módulos por lotes a nuestro gestor de contenidos.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=85&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una de las tareas más tediosas a la hora de poner en marcha nuestro gestor de contenidos basado en <a href="http://www.opencms.org" target="_blank">OpenCms</a> es, sin duda alguna, la importación de los módulos que queramos añadir, máxime si estos son demasiados y si son dependientes entre ellos, ¿no es cierto?.</p>
<p>Para facilitar esta tarea, mientras desarrollaba para un proyecto con <a href="http://www.opencms.org" target="_blank">OpenCms</a> en la empresa en la que trabajo, se me ocurrió hacer un pequeño alto en el camino y construir un modulito que permitiese importar módulos por lotes a nuestro gestor de contenidos. De aquí salió <a href="http://www.opencmshispano.es/nav/descargas/descarga_0045.html" target="_blank">MultiModuleImporter</a>.</p>
<p>La idea es sencilla, recopilamos todos aquellos módulos que queramos importar en un fichero comprimido .zip, lo seleccionamos desde la administración del workplace y todos nuestros módulos quedan importados, es más, todas las dependencias entre el conjunto de módulos a instalar quedan resueltas gracias a la <a href="http://www.arkacon.com/alkacon-documentation/javadoc/core/org/opencms/module/CmsModuleManager.html#topologicalSort(java.util.List,%20java.lang.String)" target="_blank">ordenación topológica</a> que ofrece la <a href="http://www.arkacon.com/alkacon-documentation/javadoc/core/index.html?org/opencms/main/CmsShell.html" target="_blank">API de OpenCms</a>.</p>
<p>A este módulo se le saca verdadero partido cuando, tras instalar <a href="http://www.opencms.org" target="_blank">OpenCms</a> debemos instalar todos los módulos que conformen nuestra versión final del gestor de contenidos que hayamos desarrollado, evitando tener que importarlos uno a uno y evitando comprobar las dependencias, cosa que puede llegar a ser bastante frustrante.</p>
<p>Os paso el enlace a la descarga del módulo en la web de <a href="http://www.opencmshispano.es">OpenCms Hispano</a>, para que lo probéis y juzguéis vosotros mismos:</p>
<ul>
<li><a href="http://www.opencmshispano.es/nav/descargas/descarga_0045.html" target="_blank">http://www.opencmshispano.es/nav/descargas/descarga_0045.html</a></li>
</ul>
<div align="center"><a href="http://www.gmv.com" target="_blank"><img title="GMV Soluciones Globales Internet S.A." src="http://www.hisparob.es/images/logos/logo_gmv.jpg" border="0" alt="" width="130" height="50" /></a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=85&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/02/17/importar-modulos-en-opencms-por-lotes-%c2%bfcomo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>

		<media:content url="http://www.hisparob.es/images/logos/logo_gmv.jpg" medium="image">
			<media:title type="html">GMV Soluciones Globales Internet S.A.</media:title>
		</media:content>
	</item>
		<item>
		<title>Sincronización de instancias de OpenCms. ¡Gracias Ángel!</title>
		<link>http://joselopezpua.wordpress.com/2010/02/11/sincronizacion-de-instancias-de-opencms-%c2%a1gracias-angel/</link>
		<comments>http://joselopezpua.wordpress.com/2010/02/11/sincronizacion-de-instancias-de-opencms-%c2%a1gracias-angel/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 23:55:42 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[opencms]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=83</guid>
		<description><![CDATA[A los que desarrolléis con OpenCms os invito a que echéis un vistazo al excelente trabajo que ha realizado mi colega Ángel C. Lázaro desarrollando un nuevo módulo para sincronizar instancias de OpenCms cuando tenemos un cluster de éstas para conseguir alta disponibilidad. Este trabajo pretende ser una alternativa Open Source al módulo de pago [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=83&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A los que desarrolléis con OpenCms os invito a que echéis un vistazo al excelente trabajo que ha realizado mi colega <a href="http://angellazaro.wordpress.com/" target="_blank">Ángel C. Lázaro</a> desarrollando un nuevo módulo para sincronizar instancias de <a href="http://www.opencms.org" target="_blank">OpenCms</a> cuando tenemos un <a href="http://es.wikipedia.org/wiki/Cluster_(informática)" target="_blank">cluster</a> de éstas para conseguir alta disponibilidad.</p>
<blockquote><p>Este trabajo pretende ser una alternativa Open Source al módulo de pago ya existente</p></blockquote>
<p>comenta Ángel.</p>
<p>Os paso el enlace al proyecto publicado en <a href="http://code.google.com" target="_blank">Google Code</a></p>
<ul>
<li><a href="http://code.google.com/p/opencms-free-balance/">opencms-free-balance</a></li>
</ul>
<p>También os dejo el post en el que Ángel nos cuenta todo acerca de su trabajo.</p>
<ul>
<li><a href="http://angellazaro.wordpress.com/2010/02/08/sincronizacion-de-instancias-de-opencms/" target="_blank">Sincronización de instancias de OpenCms</a></li>
</ul>
<p>Buen trabajo Ángel.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=83&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/02/11/sincronizacion-de-instancias-de-opencms-%c2%a1gracias-angel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Por qué QWERTY?</title>
		<link>http://joselopezpua.wordpress.com/2010/02/01/no-es-oro-todo-lo-que-reluce/</link>
		<comments>http://joselopezpua.wordpress.com/2010/02/01/no-es-oro-todo-lo-que-reluce/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 23:29:22 +0000</pubDate>
		<dc:creator>joselopezpua</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[qwerty]]></category>

		<guid isPermaLink="false">http://joselopezpua.wordpress.com/?p=79</guid>
		<description><![CDATA[Desde este post simplemente voy a enlazaros a otro que me pasó un amigo, en el cuál podréis comprobar que, por extraño y absurdo que parezca, la eficiencia y la productividad no siempre han sido el objetivo primordial de ciertas industrias&#8230; no es oro todo lo que reluce. En este post se explica el porqué [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=79&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Desde este post simplemente voy a enlazaros a otro que me pasó un amigo, en el cuál podréis comprobar que, por extraño y absurdo que parezca, la eficiencia y la productividad no siempre han sido el objetivo primordial de ciertas industrias&#8230; no es oro todo lo que reluce. En este post se explica el porqué de la distribución de las teclas en los teclados QWERTY, estándar, absoluto e indiscutible.</p>
<p>He aquí el post: <a href="http://www.ixda.com.ar/articulos/historia-del-teclado/" target="_blank">Dar en la tecla: historia del teclado</a>.</p>
<p>A mí me dejó de piedra. Espero que os guste.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joselopezpua.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joselopezpua.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joselopezpua.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joselopezpua.wordpress.com&amp;blog=11199721&amp;post=79&amp;subd=joselopezpua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joselopezpua.wordpress.com/2010/02/01/no-es-oro-todo-lo-que-reluce/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>36.010883 -5.607120</georss:point>
		<geo:lat>36.010883</geo:lat>
		<geo:long>-5.607120</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5ba5718ebb892316aba27b191a9b703?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">joselopezpua</media:title>
		</media:content>
	</item>
	</channel>
</rss>
