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

Comentarios

  1. gorkaion

    Hola cheli.

    Un par de apuntes nada más.

    En la versión 2.35 todos los parámetros de configuración se han llevado al archivo config/Openbravo.properties ahí podrás encontrar el web.url y el context.url Este archivo de configuración se puede modificar manualmente o usando el ejecutable setup-properties correspondiente dentro de config.

    La segunda es que estás confundido con el Dtab=xxx, si quieres compilar todas las ventanas NO hay que poner -Dtab, si pones -Dtab=xxx lo que haces es no compilar ninguna ventana ya que ninguna coincide con ese patrón.

    En el caso de las imágenes con cambiar el web.url es suficiente. Además se puede poner una ruta relativa “../web” con lo que se soluciona de raíz el problema.

    De la compilación lo único que tiene que cambiar es el archivo web.xml de tomcat. Por ello es suficiente compilar con el -Dtab=xxx

    Felices fiestas y año nuevo!

    Gorka Ion.

  2. Autor de la
    Entrada
    Cheli

    Sabía que se habían llevado muchas cosas al “config/Openbravo.properties” pero como en el mio no aparecían esas dos lineas pensaba que se seguía configurando desde el build.xml. De todas formas ya le comenté a Carlos Romero lo que yo consideraba un bug ya que el instalador en mi caso me dejó un Openbravo.properties que no casa para nada con los parámetros que le di y por eso me cascaban las nuevas tareas ant relacionadas con el manejo de la bd con ddlutils.

    Lo ideal está claro es que esas rutas fueran relativas pero como siempre vi que montabais las url respecto al dominio/ip y al comentarlo con Jon Alegría sólo me dió una explicación de cual podía ser el fallo y como solucionarlo pensé que si lo haciais así era por algún motivo aunque yo no le encontraba sentido y si muchos problemas.

    Lo del parámetro -Dtab tengo que decir que no tengo ni idea de ant y mucho menos de las tareas que teneis programadas. Las ordenes las ejecuto por intuición por lo que he aprendido con vosotros y por lo que veo en los build.xml. Como no concordaba con ningún patrón al poner xxx o cualquier cadena chorra yo supuse que compilaba todo y como tu cuentas se ve que lo que hace en realidad es no compilar ninguna ventana.

    Muchas gracias por los apuntes Gorka Ion, con ayuda como la tuya uno va aprendiendo.

    Un saludo.

  3. Alvaro

    Yo uso para compilar la versión 2.35MP1 los siguientes parámetros:
    ant compile -Dtab=xx war
    (los encontré en un post de un foro)

    Con ‘ant compile.development -Dtr=no -Dtab=xxx’ me seguía sin cargar las imágenes.

    Si sirve de algo, a mí me funciona.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.