Blog de Manuel Ruiz

Desarrollo J2EE

OpenCms: tipos de contenido estructurado

Publicado por Manuel en 5 Abril 2009

Hace poco, durante la creación de un poral bajo OpenCms 6, requerí de los tipos Linklist item y News, para hacer un menú lateral dinámico y unos contenidos de noticias.

Por defecto, OpenCms ofrece los siguientes tipos al crear un nuevo tipo de contenido estructurado (Structured Content):

• Article
• Bookmark
• News
• FAQ
• Event
• Job offering
• Linklist item
• Email form
• Photo album

Pero de la lista solo visualizaba algunos. El problema radicaba en lo permisos establecidos sobre el módulo que incorpora estos tipos (Templane One).

Abrimos el fichero de configuración:

\webapps\opencms\WEB-INF\config\opencms-modules.xml

y se localizan los permisos de acceso para el tipo en cuestión, por ejemplo: Linklist


<explorertype name=”linklist” key=”fileicon.linklist” icon=”article.gif” reference=”xmlcontent”>
   <newresource page=”structurecontent” uri=”newresource_xmlcontent.jsp?newresourcetype=linklist” order=”54″ autosetnavigation=”false” autosettitle=”false”/>
   <accesscontrol>
            <accessentry principal=”GROUP.Administrators” permissions=”+r+v+w+c”/>
            <accessentry principal=”GROUP.Projectmanagers” permissions=”+r+v+w+c”/>
            <accessentry principal=”GROUP.Users” permissions=”+r+v+w+c”/>
    </accesscontrol>
</explorertype>

En mi caso, los permisos los tenía: permissions=”+r”, y los cambié por permissions=”+r+v+w+c”

El significado de estos permisos es el siguiente:

READ (r) permiso para leer el contenido de un recurso.
WRITE (w) permiso para escribir el contenido de un recurso.
VIEW (v) permiso para ver un recurso en las listas de trabajo (workplace).
CONTROL (c) permiso para establecer los permisos de un recurso.
DIRECT_PUBLISH (d) permiso de publicar directamente un recurso.

Publicado en OpenCms | Deja un Comentario »

Cambiar puerto de escucha del JBoss

Publicado por Manuel en 29 Marzo 2009

Si necesitais cambiar el puerto de escucha del JBoss, ya que este por defecto es el 8080, y choca con el de defecto del  Tomcat, la forma mas rápida es modificar el fichero:

 <jboss>\server\<servidor: minimal/default/all/>\deploy\jbossweb-tomcat55.sar\server.xml

 por ejemplo, al puerto 8088:

<!– A HTTP/1.1 Connector on port 8088 –> 

<Connector port=”8088″ address=”${jboss.bind.address}” maxThreads=”250″ strategy=”ms” maxHttpHeaderSize=”8192″ emptySessionPath=”true” enableLookups=”false” redirectPort=”8443″ acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true”/>

Publicado en JBoss | Deja un Comentario »

EJB 3 bajo JBoss 4.0.5 GA

Publicado por Manuel en 28 Marzo 2009

JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java,  que soporta  Enterprise Java Beans (EJB) 3.0
Hasta que liberaron la versión 4.0.5, GlassFish era el único servidor de aplicaciones que soportaba EJB3 de manera completa.

Si optais por a version 4.0.5 GA del JBoss, no va a desplegar correctamete aplicaciones que hagan uso de EJB 3.0. Para solucionar este bug, sacaron el parche EJB 3.0 Preview RC9 Patch 1.

Para hacer uso del parche:

  • Descargamos el parche aquí
  • Nos descargamos ANT de aquí, en caso de que no lo tengamos aun.
  • Establecemos la variable de entorno JBOSS_HOME apuntando al directorio de nuestro JBoss.
  • Descomprimimos el zip del parche en cualquier ruta y nos situamos dentro de dicha carpeta
  • Lanzamos el comando: ant -f install.xml -Djboss.server.config=[servidor a parchear: minimal /default/all]

Con eso ya debería hacerse un desplegado correcto.

Publicado en JBoss | 2 Comentarios »

Alfresco bajo Tomcat en Windows XP

Publicado por Manuel en 23 Marzo 2009

Recientemente he tenido que montar Alfresco bajo Tomcat en Windows XP.

Alfresco es la alternativa de código abierto para la gestión de contenido empresarial (ECM),  proporcionando gestión documental, colaboración, gestión de registros, gestión de información, gestión del contenido web e imágenes.

Si la instalación hubiera ido bien, no tendría gracia la cosa y dudaría que se hubiera montado correctamente. Asi que comento los petes que fueron saliendo. La instalación la hice desplegando un .war en un Tomcat bajo Eclipse.

El primer problema que me apareció al levantar el servidor fue de memoria:

java.lang.OutOfMemoryError: Java heap space
y
java.lang.OutOfMemoryError: PermGen space

El valor por defecto del espacio PermGen es de 64 Mb en la máquina virtual (VM) de Sun.  Este valor es suficiente normalmente para las aplicaciones que corren de forma independiente.  En el caso de una aplicación que corra en un servidor web tipo Tomcat o un servidor de aplicaciones,  hay casos en los que este valor no es suficiente.

De manera que almplié el espacio de memoria de la máquina virtual de java desde el entorno Eclipse:

-vmargs  -Xms512M  -Xmx512M  -XX:PermSize=256M  -XX:MaxPermSize=512M

(también se podría haber modificado en el eclipse.ini)

Una vez que tenía memoria para desplegarse a gusto, pasamos a las librerías que Alfresco necesita para habilitar CIFS en plataforma Windows. CIFS es un protocolo para compartir ficheros a traves de la red.

ERROR [alfresco.smb.protocol] Error accessing Win32 NetBIOS, check DLL is on the path

Las librerias son: Win32Utils.dll , Win32NetBIOS.dll o Win32Utilsx64.dll, Win32NetBIOSx64.dll

ubicadas en el zip de la distribución de Alfresco ‘\alfresco\bin’ y debemos copiarlas en la carpeta system32 del Windows

Seguimos con mas petes, ya puestos…
The Alfresco ‘dir.root’ property is set to a relative path ‘./alf_data’. ‘dir.root’ should be overridden to point to a specific folder.
Parece que no está encontrando la ubicación del directorio alf_data.

Ve al fichero repository.properties que se encuentra en \tomcat\webapps\alfresco\WEB-INF\classes\alfresco, y modifica la propiedad dir.root para que apunte a la ruta donde tengas la carpeta alf_data, por ejemplo:

 
dir.root=C:/alfresco/alf_data

 

Por último y con mi paciencia llegando a su límite, me aparece:

ERROR [org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformer] ImageMagickContentTransformer not available: Failed to perform ImageMagick transformation:
Execution result:
   os:         Windows XP
   command:    imconvert “C:\Program Files\Apache Software Foundation\Tomcat 5.5\temp\Alfresco\ImageMagickContentTransformer_init_source_21251.gif”  “C:\Program Files\Apache Software Foundation\Tomcat 5.5\temp\Alfresco\ImageMagickContentTransformer_init_target_21252.png”
   succeeded:  false
   exit code:  1
   out:       
   err:        Cannot run program “imconvert”: CreateProcess error=2, The system cannot find the file specified

 
Para poder habilitar la manipulación de imagenes bajo Windows copiamos imconvert.exe, ubicado en el zip de la distribución de Alfresco,  ‘\alfresco\bin’ en la carpeta system32 del Windows.

…y aplicacion corriendo…

Publicado en Eclipse, Tomcat | 3 Comentarios »

Excusas de la programación

Publicado por Manuel en 13 Marzo 2009

Antes de entrar en verea, no pueden faltar las típicas excusas en la programación. Aquí van las más habituales:

  • Pues es raro
  • ¿Nunca había pasado antes?
  • Pues ayer funcionaba
  • ¿Cómo es posible?
  • Tiene que ser un problema de tu hardware
  • ¿Qué hiciste mal para lograr que fallara?
  • Algo debe de estar mal en tus datos
  • Si no he tocado ese módulo en meses
  • Debes de estar usando una versión anterior
  • Es solo una desafortunada coincidencia
  • ¡Es que no lo puedo probar todo!
  • ¿ESTO, no puede ser la causa de ESO?
  • Funciona, pero no lo he probado
  • Alguien debe de haber cambiado mi código
  • ¿Has comprobado que no haya algún virus en tu sistema?
  • Ya se que no funciona, ¿pero te gusta?
  • No puedes utilizar esa versión en tu sistema.
  • ¿Por qué quieres hacer eso?
  • En mi máquina si funciona.

Personalmente me quedo con la primera y la última.

Publicado en General | 1 comentario

¡Bienvenidos!

Publicado por Manuel en 8 Marzo 2009

La programación no es un camino fácil, suele acarrear más quebraderos de cabeza que otra cosa.

Que programador no ha dicho hasta la saciedad:

  • Esto porque demonios no funciona!
  • Pero si antes funcionaba!
  • Y ahora que es lo que pasa!

Puede resultar poco gratificante, pero todo tiene un porque y una solución.

En mi día a día me surgen situaciones que pueden carecer de toda lógica y que me gustaría compartir,  desde su origen hasta su solución.

Espero que en este blog podáis resolver vuestras dudas y problemas acerca del mundo J2EE, así como exponer cualquier inquietud.

La programación hoy en día es una carrera entre los ingenieros de software esforzándose en escribir programas más grandes y mejores a prueba de idiotas, y el universo, que intenta producir idiotas más grandes y mejores.

Hasta ahora, gana el universo.

Rich Cook

Publicado en General | 1 comentario