Archivos mensuales: febrero 2010

Usando WebDrive como cliente WebDAV con Alfresco

De muchos es sabido que no todos los protocolos se comportan igual ante servidores que ofertan sus servicios sobre clientes heterogéneos. Es el caso del cliente de Windows para WebDAV y sobre todo cuando se accede a servidores de WebDAV como el ofrecido por Alfresco ECM.

Uno de los problemas de crear un acceso vía WebDAV desde Windows XP a Alfresco ECM 3.2 es que, por ejemplo, cuando se intenta abrir un documento en formato PDF desde el mismo recurso compartido y el lector por defecto es el Acrobat Reader, se produce un error.

… creamos el acceso desde el cliente WebDAV de Windows:

… abrimos directamente el documento PDF… ¡error!


Parece ser que el problema puede ser de Alfresco, del cliente WebDAV de Windows o del propio Acrobat Reader… bien, para descartar que sean el primero y el tercero, lo mejor es buscar un programa de terceros que haga de cliente WebDAV y probar sobre este. Para ello he descargado el programa WebDrive (http://www.webdrive.com/) que permite crear unidades y conectar por WebDAV, sFTP, FTP, etc.

Una vez descargado de la web (la versión trial/free) e instalado (siguiente, siguiente, etc.) se procede a crear una unidad con los datos de conexión con el servicio WebDAV de Alfresco:

… volvemos a probar abrir el documento PDF desde este nuevo recurso y… ¡voilá!


A priori, parece que este programa se comporta mejor con servidores WebDAV, al menos con el ofrecido por Alfresco ECM.

Nota: He probado también con tildes y eñes y no ha dado error al acceder.

Personalizar variables de arranque de Java en Apache-Tomcat

En muchas ocasiones utilizamos instancias de Apache-Tomcat en las que utilizamos las variables JAVA_OPTS con valores similares. Para poder configurar esta parte de la instalación podemos usar un fichero que generalmente no viene creado dentro del propio Apache-Tomcat pero que, si es encontrado se usa, llamado setenv.sh (sistemas unix) o setenv.bat (sistemas windows). De esta forma podemos pasar este fichero entre nuestras distintas instalaciones con unas básicas modificaciones.

El fichero que uso actualmente para mis instalaciones de Alfresco bajo Apache-Tomcat contiene las variables necesarias para optimizar el funcionamiento de la JVM de Sun.

Aquí está el contenido de dicho fichero con sus respectivos comentarios:

# Entorno de ejecución
# 9/06/2009 (Fernando González)

# Variables
LD_LIBRARY_PATH=/usr/local/apr/lib
JAVA_HOME=»/opt/java64/jdk1.6.0_14″
JRE_HOME=»${JAVA_HOME}/jre»
CATALINA_HOME=»/opt/alfresco/tomcat5525alfresco320″
CATALINA_BASE=»${CATALINA_HOME}»
GC_LOG=»${CATALINA_HOME}/logs/gc.log»
CATALINA_TMPDIR=»${CATALINA_HOME}/temp»
ALFRESCO_HOME=»${CATALINA_HOME}»

JAVA_OPTS=»»
JAVA_OPTS=»-Djava.library.path=/usr/local/apr/lib»

# Server Hotspot VM
JAVA_OPTS=»${JAVA_OPTS} -server»

# Modelo de datos de x bits -d32/-d64
JAVA_OPTS=»${JAVA_OPTS} -d64″

# Heap Size
JAVA_OPTS=»$JAVA_OPTS -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31″
JAVA_OPTS=»${JAVA_OPTS} -Xms512m -Xmx640m»
JAVA_OPTS=»${JAVA_OPTS} -Xss128k»

# Perm Size – Total permanent generation
JAVA_OPTS=»${JAVA_OPTS} -XX:PermSize=128m -XX:MaxPermSize=128m»

# Young Generation
JAVA_OPTS=»${JAVA_OPTS} -XX:+UseParNewGC»

# Old Generation – Low Pause Collector (default: Mark-Compact Collector)
JAVA_OPTS=»${JAVA_OPTS} -XX:+UseConcMarkSweepGC»

# Permanent Generation – Compact Mark Sweeping Collector
JAVA_OPTS=»${JAVA_OPTS} -XX:+CMSClassUnloadingEnabled»

# Intervalo en milisegundos para GC
JAVA_OPTS=»${JAVA_OPTS} -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.client.gcInterval=3600000″

# Codificación
JAVA_OPTS=»${JAVA_OPTS} -Dfile.encoding=UTF-8″

# Log para acciones de GC
CATALINA_OPTS=»${CATALINA_OPTS} -Xloggc:${GC_LOG}»

# Sincronización basada en hilo LWP
CATALINA_OPTS=»${CATALINA_OPTS} -Xconcurrentio»

# Comprobaciones adicionales
CATALINA_OPTS=»${CATALINA_OPTS} -Xcheck:jni»

# Monitorización JMX
CATALINA_OPTS=»${CATALINA_OPTS} -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=$JAVA_HOME/jre/lib/management/jmxremote.access»

# Parámetros para Alfresco desde java
JAVA_OPTS=»${JAVA_OPTS} -Dalfresco.home=${ALFRESCO_HOME}»

Plugin para Pidgin «now listening» en Spotify

He visto un plugin para mi pidgin que presenta la canción que estás escuchando actualmente en spotify (instalado en wine, por supuesto).

Se encuentra aquí: http://developer.pidgin.im/wiki/ThirdPartyPlugins

Se llama «pilt spotify» y según su README es simplemente compilarlo con make, aunque me han salido unos errores en mi Ubuntu 9.10. Estos errores han sido simplemente falta de librerías principalmente así que se instalan:

sudo aptitude install glibc-2.10-1 sudo aptitude install libglib2.0-dev sudo aptitude install libpurple-dev sudo aptitude install xorg-dev

Pero hecho esto, se compila todo menos el plugin, ¿por qué?, bueno, parece ser que la versión de la librería libpurple-dev es distinta de la que depende libpurple0 (en mi caso la 2.6.2 en lugar de ser la 2.6.3 que es la que necesito).

Así pues, en http://archive.getdeb.net/getdeb/ubuntu/jaunty/li/ se baja la buena libpurple-dev_2.6.3-1~getdeb1_all.deb y se instala.

Con «aptitude show libpurple-dev» se verifica que ahora la versión es la buena y se vuelve a compilar con «make».

Por último se copia spotify_playing.so en el «home» del usuario, dentro de .purple/plugins y listo, solo queda arrancar Pidgin y activar el complemento.

Recomiendo seguir el README y en caso de problemas sobre librerías continuar a partir de ahí con este artículo.