Informe en openbravo con jasper da error de conexión a X Window System

Concretamente si os da este error:

Caused by: java.lang.InternalError: Can’t connect to X11 window server using ‘:0.0’ as the value of the DISPLAY variable.

El motivo es porque ciertas bibliotecas de jasper utilizan AWT y piden acceder al display , la solución pasa por decirle a java que utilice el modo Headless. Para eso por ejemplo podrias meterle en el CATALINA_OPTS el parámetro -Djava.awt.headless=true de forma que quede así:

CATALINA_OPTS=»-Djava.awt.headless=true»

Reiniciais tomcat y listo.

Cheli

Eticket no envía correos-e ni al cliente ni al agente

Tuve un pequeño problema al poner el sistema de incidencias eticket en producción en el servidor que me propocionaba mi psi (proveedor de servicios de internet). Resulta que no le llegaba el mensaje de confirmación al cliente que había lanzado una incidencia para que pudiera hacer el seguimiento y tampoco me llegaba a mi el correo-e como agente a resolverla.

Consultando la configuración de php y respaldandolo con una consulta a mi psi veo que la función mail de php que se utiliza funciona sin problemas. Al conseguir acceder a los registros (logs) del servidor compruebo que da una advertencia ya que en el php.ini se indica que php está configuado en modo seguro. Compruebo como puede afectar esto a la función mail y veo que el cuarto parámetro que se le pasa a la funcón es un parámetro que se le pasará directamente al ejecutable del servidor de correo-e pero que al estar en modo seguro el php, esto no se permite.

¿Solución? elimintar el cuarto parámetro de la función mail en todos los archivos y línea donde el registro de apache nos ha dado una advertencia.

Espero que os sirva, Cheli.

La Economía Long Tail

Este es el libro que me regalaron en la conferencia de Masters of the Youniverse. El libro se titula La Economía Long Tail de Chris Anderson, de los mercados de masas al triunfo de lo minoritario.

Aunque el libro lo tengo desde la conferencia como es obvio no lo empecé a leer en serio hasta hace unos días, hoy lo he terminado y la verdad es que está muy bien.

Explica de que se trata la economía de la larga cola donde si tomamos un montón de productos que individualmente se venderían pocas veces en total suponen un gran mercado. Luego se adentra en explicar las consecuencias socioeconómicas de esta teoría y como ha sido posible llegar a esta situación con la ayuda de la era digital.

Muy recomendable. Esta vez en vez de prestarlo os propongo un prestamo mutuo de forma que yo te lo presto a cambio que tu me preste un libro también, espero vuestras peticiones.

Cheli

Openbravo ERP Advanced Development Training

Después del primer y segundo curso de Openbravo llegó el turno del de desarrollo avanzado. Este fué uno de los más interesantes en cuanto a contenido aunque lo cierto es que se repitieron bastantes cosas que se habían visto en el segundo curso de desarrollo básico.

Se volvió a explicar la estructura de la plataforma de desarrollo de OB y se realizaron varios ejemplo prácticas de callouts, PLs, ventanas, etc. Fué muy interesante.

En cuanto a lo personal fué la peor semana, venía de la semana anterior donde me lo había pasado genial y por tanto venía con muchas espectativas. Esta semana se había ido mucha de la gente que había estado en los dos cursos anteriores ya que en el de desarrollo avanzado sólo se quedaron los informáticos. A parte hubo un par de incorporaciones nuevas.

Además de mi buen amigo Salva que se iba a casa por las noches ya que él es de por allí, sólo saliamos por las noches Luís y Carlos y el último día se apuntaros los microgénesis Cristina y Javier. Como veis fué una semana mucho más relajada y pasó más con pena que gloria en cuanto a ocio.

Si vuelvo a ir a otro curso espero que vuelva a haber un ambiente tan bueno como lo hubo en estos. Se que en diciembre se realizaron un par de cursos sobre OBPos y el módulo económico financiero pero a esos no me he enterado como estuvieron y eso que conozco a la que dió este último (Sarita a ver si me cuentas con más detalle).

Pues nada, si teneis la oportunidad de ir a alguno ¡avisad!, de momento no hay ninguno planificado según la página de OB.

Cheli

No me cargan las imágenes en Openbravo ¿qué hago?

Esto tiene una explicación, OB en la instalación te pide la ip/dominio del servidor donde lo estás montando y en base a este va a montar las url para un montón de cosas por ejemplo para las rutas de las imágenes. El problema viene cuando no hay una coherencia entre lo que pusiste en la instalación y el contexto de la red ip o dominio donde te encuentras y me explico. Si tu pones una ip privada típica de clase C y estás en esa misma red funcionará pero si por ejemplo pusiste localhost que es el valor por defecto OB montará las url en base a localhost (localhost/loquesea/imagen.jpg) si atacas al servidor desde esa misma máquina no hay problema porque se resolverá bien pero cuando lo ataques desde otra máquina esas urls montadas en base a localhost fallarán. Si pusiste una ip privada pero atacas por dominio desde una red pública, pongamos internet esas url se montarán a partir de la red privada (192.168.2.132/loquesea/imagen.jpg) que en contexto de una red pública como internet no tiene sentido y por tanto también fallará.

¿Cuál es la solución?, lo bueno sería atacar siempre por dominio y para resolver ese dominio a la ip privada de tu red tener un servidor dns interno en tu lan que resuleva el dominio a la ip interna. Los dns de tu psi (isp) en redes wan (internet) resolverán ese dominio a la ip de tu servidor con lo que funcionará en todos los escenarios y habremos resuelto el problema.

Si en la instalación pusimos una ip o un dominio y nos damos cuenta que no nos sirve en nuestro contexto y queremos cambiarlo tenemos una solución que a mi me funciona en la 2.34 pero que en la 2.35 después del cambio que han hecho en las tareas ant y demás cosas no me funciona. No me he puesto a depurarlo así que no se todavía porqué, ya lo comentaré cuando sepa algo.

Lo que hay que hacer es editar el archivo Build.xml del raiz de la instalación que en mi caso cae en /opt/OpenbravoERP/AppsOpenbravo y modificar estas dos lineas:

<property name=»web.url» value=»http://ip:puerto/openbravo/web»/ >

 

<property name=»context.url» value=»http://ip:puerto/openbravo»/>

y donde pone ip:puerto (o el dominio si pusisteis dominio) substituirlo por otra ip:puerto o otro dominio. Luego hay que recompilar la aplicación de forma que al terminar haga el despliegue en el webapps de tomcat. Lo normal es o por lo menos era hasta entonces utilizar esta tarea ant:

ant compile.development -Dtr=no -Dtab=xxx

con lo que compilamos diciendole que no compile las traducciones y que compile todas las ventanas ya que si ponemos cualquier cosa en -Dtab que no concuerde con el nombre de ninguna ventana compilará todas.

Con esto ya hemos modificado la ip o domini con la que montará las urls y podremos solucionar parcialmente el problema en un contexto concreto.

Cheli

Bitcad, alternativa barata a autocad

No conocía este software, normal teniendo en cuenta que no me dedico al diseño y no utilizo este tipo de herramientas. En Tictech se ha decidido presentar esta solución como alternativa a autocad ya que una licencia de bitcad ronda los 300 y pico euros y una de autocad puede suponer unos miles y por lo visto da buenos resultados. Los telecos de nuestra empresa la están utilizando y de momento están muy contentos.

Si, ya lo se, no es software libre pero bueno, almenos es una alternativa económica a autocad. Espero la próxima vez poder contaros una experiencia con una software libre.

Cheli

Sistema eticket en español

En mi empresa nos hacía falta un sistema para gestionar las incidencias a través de internet, finalmente nos hemos decidido a utilizar eticket pero no encontraba ninguna traducción así que como no era mucho trabajo nos decidimos a traducirlo. Esta semana me he dado cuenta que en sourceforge existía una traducción aunque a mi personalmente no me gusta mucho.

Esta es la nuestra.

Cheli

Soporte técnico de Acer exquisito

Hace ya un tiempo se me empezó a ver mal la pantalla del portátil y el problema cada vez iba a más. Al final decidí mandar un mensaje a través de la página de Acer para que me pusieran en contacto con el servicio técnico, después de pedirme unos datos me  mandaron un correo-e con la información necesaria para ponerme en conctacto con el servicio de mensajería para que vinieran a recoger el portátil.

Como me fuí a Barcelona tres semanas lo dejé pasar hasta la semana pasada que después de preparar la factura y empaquetar el portátil con ayuda de mi mami les mandé un correo-e para que vinieran a recogerlo. Un día o dos más tarde me avisan que en dos días pasarán a recogerlo y efectivamente en dos días, concretamente el viernes pasado vino el mensajero a recogerlo. El lunes me llega un mensaje al móvil avisandome que había llegado el portátil al servicio técnico y que procedían a repararlo, dos días después, el miércoles me llega otro avisándome que lo han reparado y que en dos días más me llegaría a casa y mira tu por donde hoy viernes me ha llegado reparado.

Había oido pestes de Acer y su servicio técnico y tenía realmente miedo de quedarme sin portátil durante una temporadita y mira por donde estoy escribiendo ahora mismo desde mi querído portátil reparado. Gracias Acer.
Cheli

Openbravo Customization & Basic Development Training

Esta fué la segunda semana que estuve en Barcelona para el siguiente curso de Openbravo. Fué la mejor semana de las tres sin lugar a dudas pero no adelantemos acontecimientos.

Repetiamos prácticamente todos y si la primera semana hubo buen rollo, esta fué la monda. Nos cambiaron el profesor ya que empezamos con el tema de desarrolo que trataré en otros apuntes en más profuncidad. El profe en esta ocasión era Jon Alegría, un chaval majo pero un tanto separatista, vamos que no hablaba ni quedaba mucho con nosotros.
En cuanto a contenido debo decir que fué la menos interesante ya que si venías a la tercera donde se daba desarrollo avanzado se repetían muchas cosas. Lo más importante era el tema de informes (jasper reports) que es uno de los temas clave en toda aplicación empresarial, por lo demás prácticamente todo lo que vimos esta semana se volvió a dar a la siguiente pero en más profundidad.

En lo personal fué la mejor porque ya nos conociamos mucho todos, eramos los mismos a excepción de un par de personas que cambiaron en la empresa microgénesis (de los 5 que venían) y un chico que venía de una farmacéutica que se llamaba Chema. Bueno a Chema sólo lo veiamos en clase porque luego se iba a estudiar, trabajar o yo que se.

Todos los días quedabamos para hacer algo después de las clases. El dominicano, Juan,  acordó parar media hora menos para comer y así salir antes, todos estuvimos de acuerdo y así lo hicimos. Esta semana intimamos un poquito más con los microgénesis pero la verdad es que seguían yendo mucho a su bola. Con los brasileños si que hicimos buenas migas durante este tiempo, sobretodo con Sergio Fraga (que crack es el tío). Me lo pasé de pm.

El jueves como despedida fuimos a cenar a un sitio donde nos llevó Roberto, el venezolano y la verdad es que salió un poquito caro (Roberto tío que somos de pueblo joer), luego fuimos a tomar algo y unos cuantos terminamos en el Maremagnum.

Me dió pena irme ese viernes, me hubiera quedado el fin de semana. El chasco llegó al luens siguiente en el tercer y último curso, ahí todo cambió.

Cheli

Nuevo ciclo de desarrollo en OpenBravo, 6 meses por version estable.

¿No os suena de algo eso de los 6 meses?, empezó a hacerlo gnome, también ubuntu y luego se han unido otras a esta moda de tener ciclos de desarrollo de 6 meses. Es una gran noticia ya que, todo hay que decirlo, la liberación de versiones de OB es bastante caótica.

Otra cosa que según mi parecer deberían cambiar es la numeración que tienen por versión. Las versiones de OB se numeran con un numero mayor seguido de dos más donde el primero de esos dos también indica una versión mayor y el segundo la revisión. Como en principio no se sabe cuantas revisiones va a haber hasta la estabilización de la versión hay que ver las notas de la versión (release notes) para saber si es una alfa, beta o estable.

Por ejemplo la supuesta ultima estable es la 2.22 (supuesta porque llamarla estable es demasiado pretencioso) que pertenece a la versión mayor 2.2x revisión 2 y en esta revisión se marco como estable. La siguiente versión mayor donde hubo un montón de cambios, sobretodo en la interfaz y el sistema de gestión de errores es la 2.3x cuya revisión actual es la 2.35 que si no recuerdo mal la siguen etiquetando como beta.

Total que esto es un follón, preferiría una numeración típica en la que los impares son versiones de desarrollo y cuando ya estabilizas numeras con pares ¿no os parece?. Habrá que volver a proponerlo, esta vez a alguien con mas peso en estas cosas como al jefe de proyecto.

Cheli