Tux y OpenERP

Tux y OpenERP
Para obtener información sobre como implantar OpenERP en tu empresa --- contactar con informaticartica@gmail.com ---
Mostrando entradas con la etiqueta OpenERP. Mostrar todas las entradas
Mostrando entradas con la etiqueta OpenERP. Mostrar todas las entradas

miércoles, 28 de agosto de 2013

Errores en Aeroo que traen de cabeza ;)

Voy a aprovechar este post para explicar 2 errores que pueden  traernos de cabeza en algún servidor donde tengamos aeroo instalado y veremos a qué se deben y cómo solventarlos.

1.- En una de nuestras máquinas tenemos errores de codificación, nos ponemos a verificar la configuración de nuestra máquina, las variables de entorno, el postgres, los archivos python del módulo de aeroo, e incluso vemos que dos máquinas con el mismo sistema operativo y las mismas configuraciones (en principio) en una todo va bien y en la otra los dichosos errores de codificación. Si nos ponemos a bucear en la red es harto complicado encontrar una solución en cuanto a este tipo de errores con OpenERP y aeroo y a menos que encuentres a un matao como tu y yo, lo tienes crudo XD.

La solución es bien sencilla aunque llegar a esa conclusión no lo es tanto, si tienes en tu servidor python-genshi0.7....ese podría ser tu problema, descarga python-genshi0.6 e instálalo. Lo primero es eliminar la 0.7 de nuestro sistema, los pasos serían:

01- sudo apt-get remove python-genshi
02- sudo
apt-get purge python-genshi
03- sudo
apt-get clean python-genshi
04 - wget http://ftp.edgewall.com/pub/genshi/Genshi-0.6.1.tar.gz
05 - tar -xzvf Genshi-0.6.tar.gz
06 - cd Genshi-0.6
07 - python setup.py install


Con esto a mi me en principio me han desaparecido los problemas de codificación con servidor ubuntu y aeroo.

2.- De repente nos encontramos con que una de las plantillas que hemos estado preparando durante un buen rato en libreoffice da un error que a priori suena raro. El resto de plantillas funcionan bien pero algunas nos lanzan un error al intentar guardarlas o al intentar lanzar nuestros informes. El error en cuestión es el siguiente:





Una vez damos con este error si no se nos enciende la bombilla ya podemos buscar soluciones por la red que yo por lo menos no encontré ninguna. Si nos fijamos bien en el error nos dice que archivo no es un archivo zip. Internamente un archivo OpenDocument es un archivo comprimido en un contenedor ZIP y que contiene varios archivos y directorios. Esto nos puede dar una pista de lo que nos está sucediendo,... en mi caso recordé que creé el archivo desde mi escritorio de Ubuntu con botón derecho archivo vacío y al guardarlo en OpenOffice (entre las prisas y el no fijarme) lo guarde como formato Texto codificado.


He visto por los foros a mucha gente dándole vueltas a este error sin poder encontrar la solución, incluso gente que ha parcheado la librería para saltársela pero luego tiene problemas con librerías python xml, ya que el odt internamente dispone de estructuras XML. Por lo tanto ya veís que este error también es tonto y su solución sencilla que pasa por guardar el archivo con formato ODF, pero como en el caso anterior llegar a la solución sea quizás lo más complicado.

Espero que este post ayude a mucha gente que se encuentra atascada con estos errores.

Juani

martes, 18 de septiembre de 2012

Conozcamos OpenERP 7

En al artículo de hoy vamos a hacer un breve recorrido por OpenERP 7 , la nueva versión en desarrollo que verá la luz dentro de poco. Tras instalarlo en mi ordenador local lo primero que noto al instante es la fluidez y la rapidez del entorno web, tengo que decir que mi primera impresión ha sido de mucha estabilidad y comodidad en el uso.


Nada más acceder a nuestra base de datos lo primero que vemos es nuestra home, en la cual tenemos la posibilidad de ver los feeds y posts de nuestro "muro". Como podeís observar en la imagen OpenERP ha cambiado los colores rojos chillones por una mezcla de azul clarito y gris que hacen que la estética sea algo más elegante para la vista.


Si vamos a Ventas esta es la apariencia de la lista de clientes en la vista kanban : 




Como ya os habreís fijado la vista de clientes es muy agradable a primera vista aunque ¿ qué ocurriría si tuviésemos miles de clientes? ¿Donde están los campos de búsqueda, los filtros , el agrupar por...? Antes de responder a esto si os fijaís bien en la imagen anterior , en la parte de abajo de la ficha del cliente tenemos otro muro para compartir con el cliente y los que acepten invitación.

Como si del twitter se tratase podemos seguir a este cliente o invitar a algún otro cliente a que siga a Agrolait en este caso. Sé de antemano que esto va a traer mucha controversia ya que algunos lo verán como algo chulo y útil mientras que para otros será totalmente inútil y fuera de lugar, queda abierto el debate. Sigamos viendo más cosas, centrémonos en lo que comentábamos de los campos de búsqueda, filtros, etc .... Ahora se encuentran situados en la parte derecha de arriba en un campo de selección al más puro estilo web, otro de los puntos en los que me huelo que también habrá diferentes opiniones en cuanto a la usabilidad y demás.


La ficha de la compañía y la de los usuarios no ha cambiado mucho de la versión 6.1, aquí os muestro un par de capturas para que lo veais vosotros mismos:


Una de los cambios más positivos que he visto ha sido el tener una entrada de menú para los informes en lugar de tenerlos desperdigados por el resto de menús, personalmente opino que es mucho más práctico. Los productos en vista kanban también se ven de una forma mucho más elegante, y en esta nueva versión no por eso se pierde la fluidez durante los cambios de pantalla. 





Disponemos de asistentes de ayuda por toda la herramienta, el diseño de éstos es bastante acertado.



La parte de proyectos y tareas no ha cambiado prácticamente y el TPV se ve algo más estilizado y completo que en la versión 6.1. 


Para concluir tan solo decir que me ha dejado un buen sabor de boca el primer acercamiento, y que aunque haya alguno que no esté de acuerdo conmigo opino que en este caso OpenERP ha acertado de momento y nos ofrece una versión más elegante, con más posibilidades y mucho más fluída , algo que agradeceremos la mayoría de los usuarios.

Saludos

Juani


martes, 7 de febrero de 2012

SSL en Servidor con OpenERP


INSTALACIÓN SSL EN OPENERP

1. Instalando Apache y los módulos requeridos

Instalar apache mediante el siguiente comando:
sudo apt-get install apache2
Ahora le diremos a apache que queremos usar unos módulos (mod_ssl, mod_proxy, mod_proxy_http, mod_headers and mod_rewrite [optional]) que no están activos por defecto:
sudo a2enmod ssl proxy_http headers rewrite
Lo siguiente que necesitamos es generar las claves y el certificado de SSL.

2. Creando el certificado y las claves

Vamos a crear los archivos en un directorio temporal para después moverlos a su lugar definitivo una vez se hayan generado correctamente (El primer “cd” es para asegurarnos que estamos dentro de nuestro home, dicho comando te devuelve siempre a la ruta de tu home):
cd
mkdir temp
cd temp
Tras esto generamos una nueva clave, nos pide una contraseña y la confirmación de dicha contraseña:
openssl genrsa -des3 -out server.pkey 1024
Realmente no nos interesa tener que introducir la contraseña cada vez que iniciamos el servidor por lo cual eliminamos la contraseña de la siguiente manera:
openssl rsa -in server.pkey -out server.key
Lo siguiente es crear una solicitud de firma que contendrá los datos que serán visibles en el certificado final:
openssl req -new -key server.key -out server.csr
Esto genera una serie de prompts como estos:
Introducir la información requerida:
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:The Client’s Company
Y finalmente nosotros firmamos nuestro propio certificado.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Solamente tenemos 2 de los archivos en el directorio de trabajo, la clave y el certificado. Pero antes de poder trabajar con ellos tenemos que cambiar el propietario y los permisos en ambos archivos:
sudo chown openerp:root server.crt server.key
sudo chmod 640 server.crt server.key
Y (muy importante) ponerlos en lugar seguro:
sudo mkdir /etc/ssl/openerp
sudo chown openerp:root /etc/ssl/openerp
sudo chmod 710 /etc/ssl/openerp
sudo mv server.crt server.key /etc/ssl/openerp/
Ahora la clave y el certificado se encuentran guardados en lugar seguro, debemos decirle a Apache donde se encuentran:

3. Creando el archivo de configuración de Apache

Vamos a crear un nuevo archivo de configuración del “Virtual Host”
sudo nano /etc/apache2/sites-available/openerp-ssl
con el siguiente contenido:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/openerp/server.crt
SSLCertificateKeyFile /etc/ssl/openerp/server.key
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyVia On
ProxyPass /webdav/ http://127.0.0.1:8069/webdav/
<Location /webdav/ >
ProxyPassReverse /webdav/
<Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT MOVE COPY DELETE LOCK UNLOCK>
Order Deny,Allow
Allow from all
Satisfy Any
</Limit>
</Location>
ProxyPass / http://127.0.0.1:8080/
<location / >
ProxyPassReverse /
</location>
RequestHeader set "X-Forwarded-Proto" "https"
# Fix IE problem (httpapache proxy dav error 408/409)
SetEnv proxy-nokeepalive 1
</VirtualHost>
Fijémonos que hay 2 configuraciones proxy. Una para /webdav/ and otra para /. Si no teneis intención de usar WebDAV o CalDAV os podeis saltar esta sección. Pero esencialmente, nosotros le decimos a Apache que el tráfico de WebDAV necesita usar el puerto XMLRPC en el servidor de OpenERP y el tráfico normal web debe usar el puerto 8080 que es que usa el cliente Web. El orden es sumamente importante. Si / viene antes que /webdav/ podría no funcionar.
Tras esto podemos activar la nueva configuración de sitio.
sudo a2ensite openerp-ssl
Opcionalmente, podemos usar mod_rewrite para redireccionar cualquier tráfico normal (no encriptado) del navegador al puerto SSL (443).
Para conseguir hacer esto, añade las siguientes líneas (fuera de <directory> ) al archivo /etc/apache2/sites-available/default
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

4. Cambios en los archivos de configuración del servidor de OpenERP y el OpenERP Web

El siguiente paso es reconfigurar OpenERP Server y OpenERP Web para que los servicios no cifrados no sean accesibles desde el exterior.
En /etc/openerp-server.conf los 2 servicios no encriptados estarán a la escucha solo en localhost, es decir no se acepatarán conexiones externas , serán aceptadas vía Apache. Por lo tanto debemos indicar el servicio de XMLRPC-SSL para que sepa donde encontrar el certicado y la clave necesarios.
Realicemos los siguientes cambios:
sudo nano /etc/openerp-server.conf
xmlrpc = True
xmlrpc_interface = 127.0.0.1
xmlrpc_port = 8069
netrpc = True
netrpc_interface = 127.0.0.1
netrpc_port = 8070
xmlrpcs = True
xmlrpcs_interface =
xmlrpcs_port = 8071
secure_pkey_file = /etc/ssl/openerp/server.key
secure_cert_file = /etc/ssl/openerp/server.crt
Si queremos disponer de acceso WebDAV/CalDAV añadir lo siguiente al final del archivo de configuración:
[webdav]
enable = True
vdir = webdav
Tras esto, realizaremos una serie de cambios en el archivo de configuración del cliente web en /etc/openerp-web.conf para que acepte tráfico solamente desde localhost:
sudo nano /etc/openerp-web.conf
# Some server parameters that you may want to tweak
server.socket_host = “127.0.0.1″
# Set to True if you are deploying your App behind a proxy
# e.g. Apache using mod_proxy
tools.proxy.on = True
# If your proxy does not add the X-Forwarded-Host header, set
# the following to the *public* host url.
tools.proxy.base = ‘https://your-ip-or-domain’
# Set to false to disable CSRF checks
tools.csrf.on = False
Esto es todo.

5. Probemos...

Reiniciar los servicios para cargar las nuevas configuraciones
sudo service openerp-server restart
sudo service openerp-web restart
sudo service apache2 restart
No debería ser capaz de conectar con el cliente Web en el puerto 8080 y el cliente GTK no debería conectar ya sea mediante el NetRPC (8070) o bien el XMLRPC (8069) . Para el acceso web sólo tenemos que entrar con https://tu-ip-o-dominio y en el cliente GTK tendremos que usar el puerto 8071 y elegir el protocolo XMLRPC (protocolo seguro).


Para el acceso por URL al CalDAV debemos escribir algo como esto en nuestros navegadores:
https://tu-ip-o-dominio/webdav/DB_NAME/calendars/users/USERNAME/c/CALENDAR_NAME
Y hasta aquí puedo leer....
No quisiera terminar este artículo del blog sin agradecer sus aportes a Alan, os dejo el enlace original y aceptaré cualquier corrección en cuanto a la traducción del texto.
http://www.theopensourcerer.com/2011/04/21/how-to-install-openerp-6-on-ubuntu-10-04-lts-server-part-2-ssl/
Juani

sábado, 14 de enero de 2012

Video de muestra de OpenERP 6.1 RC1

Aquí os muestro un pequeño video de OpenERP 6.1 en funcionamiento en mi equipo local. Espero que os guste




Juani

PD -> Me acabo de dar cuenta que se ve demasiado pequeño ,... ya lo subiré mejor cuando encuentre un rato ;)

viernes, 13 de enero de 2012

OPENERP 6.1 RC1 LANZADA ;)

Acaban de lanzar la versión 6.1 RC1 de OpenERP, todavía es una versión release candidate, pero ya podemos probar multitud de mejoras.
Os paso un enlace a OpenERPsite para que veais las características de la nueva versión.

OpenERPsite_OpenERP6.1_RC1

lunes, 12 de diciembre de 2011

Documentación Kettel

En la web de Akretion acaban de publicar un excelente artículo sobre Kettle, un ETL de la empresa Pentaho que sirve para realizar migraciones entre casi cualquier sistema y OpenERP. Está muy bien explicado y es muy interesante. Os dejo el link :

http://www.akretion.com/en/products-and-services/openerp-kettle-bi-connector-terminatooor


Espero que os sea de interés

Juani

miércoles, 7 de diciembre de 2011

Videos de Fabricación extendida

Acabo de subir hace unas horas a nuestro canal de youtube los 10 videos del webinar de fabricación. Era algo que tenía ahí en el tintero pero por fin he tenido un rato para subirlos. Aquí podeis ver el primero:

1.- Módulos de fabricación extendida parte 1 -- Avanzosc --

Espero que los disfruteis

domingo, 4 de diciembre de 2011

OpenERP 6.1

Hace 3 días Fabien comentaba en uno de los foros que todavía no van a hacer pública la fecha de lanzamiento de la nueva versión 6.1 de OpenERP. Al parecer están centrándose en la calidad del producto final esta vez dejando de lado cualquier posible fecha que no pueda ser después cumplida. Todo esto se debe a la cantidad de mejoras y novedades que traerá la nueva versión.
Parece ser que muy pronto verá la Luz, pero se agradecerá la colaboración en la realización de pruebas y envío de bugs.

Para los que querais leer el post, aqui teneis:

http://www.openerp.com/forum/topic29290.html

Saludos,
Juani

Iniciar OpenERP para una determinada IP , puerto y cliente

En muchas ocasiones si vas a conectarte a más de una IP , puede resultar un engorro tener que estar continuamente introduciendo la IP a la que nos queremos conectar, el puerto, y el usuario y pass para la base de datos a la que vamos a acceder.
Para solucionar esto haremos uso de los distintos parámetros que podemos usar con el cliente de OpenERP y confeccionaremos un pequeño script que podeis reutilizar con diferentes nombres y configuraciones para las todas las instancias a las que querais acceder.

Este es el script que podeis usar:

#! /bin/bash
    #=============================================================================================================
    # Script para OpenERP # CREADO POR JUANI UBEDA #
    # ============================================================================================================

## BEGIN CONFIG ##                                         
USER=juani # Usuario de OpenERP
SERVER=localhost # Servidor al que nos vamos a conectar
PORT=8070 # Puerto al que nos vamos a conectar
RUTA=/home/juani/openerp/openerp6/client/bin # Ruta donde teneis el cliente de OpenERP
## END CONFIG ##

python $RUTA/openerp-client.py -u $USER -s $SERVER -p $PORT

Si quereis saber más parámetros disponibles para el cliente de OpenERP podeis usar el parámetro --help.
Espero que os sea de utilidad
Juani

sábado, 5 de noviembre de 2011

Instalación de Pywebdav

Algunos módulos de OpenERP requieren de la instalación del pywebdav, aquí os muestro como se ha de hacer:

1- Instalar la librería de python (python-webdav)

$ sudo apt-get install python-webdav

2- Entrar en “www.code.google.com/p/pywebdav/” y seguir las siguientes instrucciones:

$ svn co http://pywebdav.googlecode.com/svn/trunk/ pywebdav
$ cd pywebdav
$ python setup.py develop

NOTA : Si en alguno de los pasos da error, probar anteponiendo "sudo" en las órdenes, quizás vuestro usuario requiere permisos de administrador.

jueves, 3 de noviembre de 2011

Administrar ambientes en OpenERP (OERPEnv)

Acabo de leer una noticia en el blog de Christian S. Rocha un artículo sobre su último desarrollo "OpenERP Environment Administrator".

http://cristiansrocha.blogspot.com/#!/2011/10/administrar-ambientes-openerp.html

Muy interesante la noticia.
Gracias Christian.

miércoles, 2 de noviembre de 2011

Servidor FTP en Ubuntu Server y document_ftp en OpenERP


En este tutorial vamos a ver como configurar el módulo document_ftp de OpenERP para que podamos tener alojados los archivos adjuntos en nuestro servidor ftp. Vamos a partir de la idea de que no disponemos de servidor ftp y queremos crear uno. El tutorial está basado en Ubuntu Server 10.04 LTS.



INSTALACIÓN DEL SERVIDOR FTP


Para montar nuestro propio ftp vamos a usar el programa “vsftpd”, para instalarlo abrimos la terminal y tecleamos:

# sudo apt-get install vsftpd

Una vez instalado, tendremos todos los paquetes disponibles y los script de arranque y parada. Los comandos para inciar, detener o reiniciar el servicio son los siguientes:

# service vsftpd start / stop / restart

Si no existiera el grupo ftp lo creamos de la siguiente manera:

# groupadd ftp

También crearemos los usuarios que estimemos necesarios para nuestro ftp:

# sudo adduser –no-create-home –shell /bin/bash [usuario] (En usuario introducimos el nombre del usuario a crear)
# useradd -d /home/ftp/juani -s /sbin/nologin \ > juani (En este caso le decimos cual va a ser el directorio de trabajo del usuario juani y le decimos también que no va a ser usuario del sistema)

Añadimos el usuario al grupo ftp:

# sudo addgroup [usuario] ftp

Ahora crearemos 2 archivos en el directorio /etc que son necesarios para la gestión de usuarios, los archivos en cuestión son “vsftpd.user_list” y “vsftpd.chroot_list”.

# cd /etc
# touch vsftpd.user_list 
 
Este archivo define los usuarios a los que vamos a enjaular. Basta con añadir el nombre de los usuarios dentro del archivo.

# touch vsftpd.chroot_list

Este otro archivo define los usuarios que harán uso del acceso de invitado.
Para editar ambos archivos podemos usar el siguiente comando:

# sudo nano vsftpd.user_list
# sudo nano vsftpd.chroot_list

El archivo de configuración de vsftpd se encuentra en el directorio /etc y se llama vsftpd.conf. Vamos a ver las opciones más importantes que tiene este archivo:


anonymous_enable=YES/NO → YES para habilitar el acceso anónimo y NO para negarlo
local_enable=YES/NO → YES para habilitar la autenticación de un usuario local y NO para negarlo
write_enable=YES/NO → YES para habilitar la escritura en el servidor ftp y NO para negarlo
ftpd_banner=Bienvenido al servidor FTP de Avanzosc → Se establece un banner de bienvenida
chroot_list_enable=/etc/vsftpd.chroot_list → Indicamos la ruta al archivo chroot_list
anon_upload _enable=YES/NO → YES para habilitar el subir contenido a un usuario anónimo y NO para negarlo
anon_mkdir_write_enable=YES/NO → YES para habilitar la creación de directorios a un usuario anónimo y NO para negarlo
local_umask=022 → Los archivos subidos quedarán con los permisos 022 (recomendado 664)
anon_max_rate=10240 → Se puede limitar la tasa de transferencia para los usuarios anónimos
local_max_rate=10240 Se puede limitar la tasa de transferencia para los usuarios autenticados
Con esto ya tenemos básicamente el servidor ftp montado, para más opciones o configuraciones se puede consultar la documentación de vsftpd (https://security.appspot.com/vsftpd/vsftpd_conf.html).

INSTALACIÓN Y CONFIGURACIÓN DOCUMENT_FTP (OPENERP)

Instalamos document_ftp en OpenERP, por defecto nos configura el servidor de ftp con la IP local y abriendo el puerto 8021.

Puede ocurrir que no este cogiendo bien la IP que le digas en el asistente, porque no grabe el cambio en el python, si ocurre esto debemos de ir al directorio de los addons, y dentro del módulo document_ftp abrir el archivo “ftpserver.py” del directorio “ftpserver”. Buscamos una línea que dice:

address = ('', 8021) → Es la línea 3095

Como podreís observar no aparece la IP del servidor ftp, donde están las comillas simples introducimos la IP del servidor y guardamos los cambios.

Nos vamos al siguiente menu: Conocimiento → Configuración → Documentos → Medio de almacenamiento. Por defecto tenemos un medio de almacenamiento definido que se llama “Database storage” y guarda los documentos en base de datos. Nosotro hemos de configurar un nuevo medio de almacenamiento que se llame por ejemplo “Documentos_ftp_prueba” el tipo lo definimos como de almacenamiento externo y en ruta definimos la raiz en la cual vamos a ir almacenando los documentos.
Haga click para ampliar

En Conocimiento → Configuración → Documentos → Directorios podemos definir diferentes directorios para nuestros documentos, tenemos que tener en cuenta de definir bien el medio de almacenamiento.
Haga click para ampliar
 
Una vez hecho esto,cualquier documento que adjuntemos a un directorio que tenga como medio de almacenamiento el que hemos definido por ejemplo nosotros como “Documentos_ftp_prueba” automáticamenta será enviado al servidor ftp.
Como nota final añadir que es IMPORTANTE que tengamos en cuenta los permisos de los directorios a usar por OpenERP.


Error 2 en jasper reports

Para los que os habeis encontrado con este error al ejecutar un informe jasper he de deciros que la solución es bien sencilla. Normalmente podemos encontrarnos con un par de errores, uno al subir el informe jasper al servidor , y el error suele ser el siguiente:


Este error nos dice que no tiene permisos para escribir dentro del directorio jasper_reports, exactamente en el directorio custom_reports, podemos solucionarlo estableciendole permisos menos restringentes, por ejemplo:

    # sudo chmod 777 -R jasper_reports

o bien

    # sudo chmod 777 -R jasper_reports/custom_reports

Tambien puede suceder que cuando vamos a generar nuestro informe jasper nos de el error 2 al que estamos haciendo referencia en este artículo. El error es el siguiente:


 El fatídico error 2 que te puede traer de cabeza, pues bien, la solución es bien sencilla como comentaba al principio del artículo -> Instalar el jdk en nuestro servidor, el comando es el siguiente:

    # sudo apt-get install sun-java6-jdk

Pues como veis la solución es bastante sencilla y tonta, pero el dichoso error 2 trae más de un dolor de cabeza XD