logo

Entorno de desarrollo de OpenERP con Eclipse – Parte III: Eclipse

Instrucciones detalladas para poner en marcha un entorno de desarrollo de OpenERP que incluye el servidor, cliente GTK y cliente web. Todas las carpetas de addons quedan vinculadas directamente desde Launchpad para mantener el entorno actualizado fácilmente con Bazaar.

En esta tercera y última parte se explicará como instalar y configurar Eclipse para trabajar con Python (OpenERP) y XML.

 

3 Eclipse

3.1 Instalación

  • Hay dos opciones para instalar Eclipse:
    1. A través de apt-get,
    2. Como ejecutable de la página web.

La primera opción garantizará que todas las dependencias se instalen automáticamente.
La segunda opción permite instalar la última versión de Eclipse y asi aprovechar las nuevas funciones.

3.1.1 Por apt-get

Ejecutar el comando:

$ sudo apt-get install eclipse

Podrá iniciar Eclipse a través del menú o de la consola:

$ eclipse

3.1.2 Descargar de la pagina web

Primero hay que instalar las dependencias que son –como mínimo– Java 6:

$ sudo apt-get install sun-java6-jdk

Descargar Eclipse Classic desde su página web. Seleccionar la carpeta donde se instalará:

$ cd ~/bin
$ tar xvzf ~/Descargas/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz
$ cd eclipse
$ ./eclipse

Es necesario intercambiar Descargas/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz por la versión y la carpeta adecuada.

3.2 PyDev

PyDev es un plug-in para Eclipse que facilita la programación en Python.

3.2.1 Instalación

Se instala PyDev desde el propio Eclipse. En Eclipse elige [Help] y en el menú que aparece Install New Software….

En la ventana que aparece ingresar en el campo Work with:http://pydev.org/updates y seleccionar Add….

Ingresar ‘http://pydev.org/updates’ y seleccionar ‘Add…’

Aparecerá una nueva ventana donde se ingresa un nombre y seleccionar OK.

Ingresar un nombre y hacer clic en ‘OK’.

Aparece Pending en la lista hasta que haya cargado la información. Después se verán dos nuevas entradas:

  1. PyDev
  2. PyDev Mylyn Integration (optional)

Seleccionar PyDev y seleccionar Next.

En el siguiente menú seleccionar PyDevfor Eclipse y hacer click en Next.

Seleccionar ‘PyDev for Eclipse’ y hacer clic en ‘Next’.

Aparece el menú Review Licenses. Para continuar es necesario aceptar las condiciones y terminos de la licencia de uso, seleccionar I accept the terms of the license agreement y hacer clic en Finish.

Aceptar la licencia y hacer click en  Finish.

Aparecerá una nueva ventana que indicará el proceso de la instalación.

Mientras está instalando, desea saber si se confía en el certificado de Aptana. Seleccionar Aptana Pydev; Pydev;Aptana, en esa misma ventana y luego hacer clic en OK.

Seleccionar ‘Aptana’ y hacer clic en ‘OK’

Después de haber instalado PyDev Eclipse se requiere reiniciar para poder usar el nuevo plugin. Hacer clic en Restart Now.

Hacer clic a ‘Restart Now’

3.2.2 Configuración

En la ventana principal de Eclipse, seleccionar [Window] y seleccionar Preferences. Se abre una nueva ventana donde se localiza el punto PyDev, y seleccionar el subpunto Interpreter - Python. Hacer click en AutoConfig.

Configuración de PyDev

Si no existen errores, en la ventana siguiente se tiene que comprobar la selección que ha hecho Eclipse.

Comprobar la selección de Eclipse.

Hacer click en OK.

3.3 Soporte para XML

Instalaremos otro plugin que facilita el trabajo con archivos XML. El proceso es similar al de PyDev.

3.3.1 Instalación

Seleccionar de nuevo [Help] y Install New Software….Es nedesario abrir el menú Work with: y elegir Indigo – http://download.eclipse.org/releases/indigo (el nombre puede cambiar según la versión de Eclipse que se este usando) y de la lista seleccionar el punto Web, XML and Java EE Development y selecciones Eclipse XML Editors and Tools. Hacer clic en Next.

Seleccionar ‘Eclipse XML Editors and Tools’.

Proceder como en la instalación de PyDev aceptando la licencia y reiniciando Eclipse después de la instalación.

3.4 OpenERP Templates

Los templates se pueden descargar directamente o via svn:

$ sudo apt-get install subversion
$ svn checkout 
       http://openerp-eclipse-template.googlecode.com/svn/trunk/ 
       openerp-eclipse-template-read-only  

Explicación de la instalación y el uso de los snippets en unos vídeos en Youtube:

Para importarlos:

3.4.1 Python Snippets

  • [Window] -> Preferences, PyDev -> Editor -> Templates,
  • Hacer click en  Import y
  • Seleccionar el  archivo templates-openerp.xml.

3.4.2 XML Snippets

  • [Window] -> Preferences, XML -> XML Files -> Editor -> Templates,
  • Hacer click en Import
  • Seleccionar  el archivo Openerp-eclipse-xml-template.xml.

Read more http://www.domatix.com/entorno-desarrollo-eclipse-openerp-parte-tres

Leer más

Entorno de desarrollo de OpenERP con Eclipse – Parte II: OpenERP

Instrucciones detalladas para poner en marcha un entorno de desarrollo de OpenERP que incluye el servidor, cliente GTK y cliente web. Todas las carpetas de addons quedan vinculadas directamente desde Launchpad para mantener el entorno actualizado fácilmente con Bazaar.

En esta segunda parte se instalarán OpenERP y sus dependencias desde Launchpad, comprobación de la instalación y comunicación cliente servidor.

2 OpenERP

2.1 Instalación de dependencias

Es necesario instalar algunos paquetes de los cuales depende OpenERP.

2.1.1 Dependencias del servidor de OpenERP

Como se encuentra documentado en esta sección.

$ sudo apt-get install python-lxml python-mako python-dateutil 
 python-psycopg2 python-pychart python-pydot python-tz 
 python-reportlab python-yaml python-vobject python-ldap 
 python-libxslt1

2.1.2 Dependencias del cliente OpenERP

Como se encuentra documentado en esta sección:

$ sudo apt-get install python-gtk2 python-glade2 python-matplotlib 
 python-egenix-mxdatetime python-dateutil python-lxml python-tz 
 python-hippocanvas python-pydot

2.1.3 Dependencias del cliente web de OpenERP

La documentación se encuentra en esta sección:

$ sudo apt-get install python-cherrypy3 python-formencode 
 python-babel

2.2 Instalar OpenERP desde Launchpad

2.2.1 Instalar Bazaar

Para instalar OpenERP desde Launchpad es necesario utilizar Bazaar:

$ sudo apt-get install bzr

2.2.2 Grabar el código

Para este paso existen dos opciones:

  1. Grabar y ejecutar este pequeño script que hemos desarrollado en Domatix
  2. Hacerlo a manualmente:

Ir a la carpeta donde se requiere tener la instalación de OpenERP – usualmente se instala en una carpeta con el nombre: «openerp» en la carpeta del usuario:

$ PATH_TO_OPENERP=~/openerp
$ mkdir $PATH_TO_OPENERP
$ mkdir $PATH_TO_OPENERP/server
$ cd $PATH_TO_OPENERP/server
$ bzr branch lp:~openerp/openobject-server/6.0 6.0
$ bzr branch lp:~openerp/openobject-server/5.0 5.0
$ mkdir $PATH_TO_OPENERP/client
$ cd $PATH_TO_OPENERP/client
$ bzr branch lp:~openerp/openobject-client/6.0 6.0
$ bzr branch lp:~openerp/openobject-client/5.0 5.0
$ mkdir $PATH_TO_OPENERP/client-web
$ cd $PATH_TO_OPENERP/client-web
$ bzr branch lp:~openerp/openobject-client-web/6.0 6.0
$ bzr branch lp:~openerp/openobject-client-web/5.0 5.0
$ mkdir $PATH_TO_OPENERP/addons
$ cd $PATH_TO_OPENERP/addons
$ bzr branch lp:~openerp/openobject-addons/6.0 6.0
$ bzr branch lp:~openerp/openobject-addons/5.0 5.0
$ mkdir $PATH_TO_OPENERP/addons-extra
$ cd $PATH_TO_OPENERP/addons-extra
$ bzr branch lp:~openerp-commiter/openobject-addons/extra-6.0 6.0
$ bzr branch 
 lp:~openerp-commiter/openobject-addons/stable_5.0-extra-addons 5.0

Para que los ‘addons’ funcionen en la versión 5.0 hay que hacer unos links:

$ cd $PATH_TO_OPENERP/server/5.0/bin/addons
$ for d in $PATH_TO_OPENERP/addons/5.0/*; do ln -sv $d; done

En la versión 6.0 hay que configurarlo a través del archivo ~/.openerp_serverrc. Si no existe este archivo en el sistema iniciar el servidor de la siguiente manera:

$ cd $PATH_TO_OPENERP/server/6.0
$ bin/openerp-server.py --save --stop-after-init

Abre el el archive ~/.openerp_serverrc en tu editor preferido y modifica la linea

addons_path = /your/path/to/openerp/server/6.0/bin/addons

A algo como lo siguiente:

addons_path = /your/path/to/openerp/server/6.0/bin/addons,/your/path/to/openerp/addons/6.0

2.3 Comprobar que funciona.

2.3.1 El servidor

Esto solo funcionará si se ha creado anteriormente la base de datos para testificar.

$ cd $PATH_TO_OPENERP/server/6.0
$ bin/openerp-server.py --db_user=openerp

2.3.2 El cliente

Con el servidor arrancado es posible iniciar el cliente:

$ cd $PATH_TO_OPENERP/client/6.0
$ bin/openerp-client.py

Aparece una ventana para hacer el login. Como clave se ingresa: demo.

La clave es ‘demo’

Si todo ha sido correcto, ahora hay un cliente conectado.

Si todo ha sido correcto…

Se puede observar en la pantalla donde se ha iniciado el servidor para verificar si ha ocurrido algún error.

2.3.3 El interfaz de web

$ cd $PATH_TO_OPENERP/web 
$ ./openerp-web.py

En el navegador local hay que abrir la pagina http://localhost:8080. El usuario y clave es demo. Después, hacer clic en Login.

Usuario ‘demo’, clave ‘demo’.

Si todo ha sido correcto se verá una ventana así:.

Si la instalación ha sido correcta…

2.3.4Eliminar la base de datos ‘testerp’

Ahora que se ha comprobado que todo funciona correctamente, procedemos a eliminar la base de datos que se ha creado anteriormente:

$ sudo su - postgres
postgres $ psql
psql (9.1.2)
Type "help" for help.
postgres=# DROP DATABASE testerp;
DROP DATABASE
postgres=# q
postgres@vincebox ~ $ exit

Read more http://www.domatix.com/entorno-desarrollo-eclipse-openerp-parte-dos

Leer más

OpenERP v6.1 – ¿tenemos versión final?

¿Tenemos versión final estable 6.1 ?

OpenERP comunicó que esta semana tendríamos versión estable final. Algunas voces criticaron el hecho de tener sólo una release candidate, con lo que no se esperaba una versión demasiado estable.

Sin embargo esta mañana nos hemos encontrado con una sorpresa al actualizar los repositorios.

Nos ha llamado la atención el cambio producido en un fichero en especial, situado en el directorio de PATH_SOURCES_OPENERP_SERVER/openerp/release.py

 

version_info = (6,1,0,FINAL,0)

Además en los logs anteriores al ejecutar el server teníamos:
2012-02-17 08:02:15,257 10777 INFO ? openerp: OpenERP version 6.1rc1

2012-02-17 08:02:15,257 10777 INFO ? openerp: OpenERP version 6.1rc1


Y ahora:

 

2012-02-17 07:54:46,478 5439 INFO ? openerp: OpenERP version 6.1

 

 

Read more http://www.malagatic.com/blog/item/78-openerp-v61-%C2%BFtenemos-versi%C3%B3n-final

Leer más

OpenERP v61 – Se acerca la versión estable

Según nos cuentan en:

https://lists.launchpad.net/openerp-community/msg00852.html

la semana que viene tendremos publicada la versión estable de OpenERP v6.1

Ha sido una RC1 cortita, pero la verdad es que la nueva versión de openerp funciona muy bien, además de que el cliente web es muy muy rápido, nada que ver con la anterior versión. Algo más que recomendable.

Desde MálagaTIC llevamos probando la nueva versión y estamos satisfechos con los resultados. 

Seguiremos informando…

Read more http://www.malagatic.com/blog/item/77-openerp-v61-se-acerca-la-versi%C3%B3n-estable

Leer más

Installing Zoook on Ubuntu – Part IV: Zoook – Parametrize and connect with OpenERP

Artículo también disponible en castellano.

The final part of the series of articles dedicated to Zoook. After finalising the installation of Zoook we’re going over to its parametrisation and the connection with the OpenERP server.

1. Install OpenERP dependencies

You’ll have to install the following modules in OpenERP:

2. Connecting Zoook to the Database

At first create a PostgreSQL database for Zoook. In a development environment you can use the user openerp. This way you don’t have to create a new one. In production its recommended to make sure that every user has an exclusive access to the database.

$ sudo -u postgres psql
postgres=# CREATE DATABASE dj_zoook OWNER openerp;
postgres=# l

The last command shows the existent databases. If everything worked out fine it should show someting like the following:

Verify the correct creation of the database.

3. Parametrisation of Zoook

3.1.~/django-projects/zoook-app/config.py

Edit the file and adjust the parameters of the connection to OpenERP. You’ll have to configure all passages. The following ones are especially important for the interconnection with the OpenERP server and error detection:

  • LANGUAGES

    Defines the languages of your web shop. They have to be the same as in OpenERP.

    #Edit your languagesLANGUAGE_CODE = 'es'LANGUAGES = (
        ('es', ugettext('Spanish')),
        ('en', ugettext('English')),
    )
    DEFAULT_LANGUAGE = 1
    LOCALE_URI = True
  • OERP_SALE

    Indicates which OpenERP shop should be used in Zoook (just for the case that you have several shops).

    OERP_SALE = 1 #Sale Shop. All price, orders, ... use this Sale Shop ID.
  • LOGS

    Defines the path to Zoooks logging files.

    LOGFILE = '/home/roberto/django-projects/zoook-app/log/sync.log'#path sync logLOGSALE = '/home/roberto/django-projects/zoook-app/log/sale.log'#path sale log
  • DATABASES

    Defines where and how Zoook finds its database.

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.'NAME': 'dj_zoook',     # Or path to database file if using sqlite3.'USER': 'openerp',      # Not used with sqlite3.'PASSWORD': 'openerp',  # Not used with sqlite3.'HOST': 'localhost',    # Set to empty string for localhost. Not used with sqlite3.'PORT': '5432',         # Set to empty string for default. Not used with sqlite3.
        }
    }
    
  • OERP_CONF

    Defines the connection to the XML-RPC service of OpenERP.

    OERP_CONF = {
        'username':'admin',
        'password':'openerp',
        'dbname':'openerp',
        'protocol':'xmlrpc', #xmlrpc'uri':'http://localhost', #xmlrpc'port':8069, #xmlrpc# 'protocol':'pyro', #pyro# 'uri':'localhost', #pyro# 'port':8071, #pyro
    }
    

3.2.~/django-projects/zoook-app/sync/config_path.py

Contains the routes to Zoook so that the SSH synchronisation process can find the needed files.

djpath = '/home/roberto/django-projects/zoook-app'

3.3.~/django-projects/zoook-app/settings.py

Edit this file to assign a new unique password to Zoook. I’d recommend to use a password generator such as safepasswd.com.

# Make this unique, and don't share it with anybody.SECRET_KEY = 'YOUR_PASSWORD_GOES_HERE'

3.4. Create Zoooks database tables

  • Generate the data base structure
    $ cd ~/django-projects/zoook-app
    $ python manage.py syncdb
    

    The script will ask if you want to create a new super-user. Affirm and pass it the needed data for the account you’ll later want to administer Zoook with.

    Create a superuser for Django.

3.5. ~/django-projects/zoook-app/configuration.py

Execute the configuration assistant and give it further information needed by Django.

  • Execute configuration.py
    $ cd ~/django-projects/zoook-app
    $ ./configuration.py
    

    The output should look like this:

    Configuration of Django.

3.6. Adjust file permissions

  • Change the permissions in the sync directory
    $ cd ~/django-projects/zoook-app/
    $ sudo chown -R roberto:www-data *
    $ sudo chmod 775 -R sync
    

3.7. Testing Zoook

  • Run the server
    $ cd ~/django-projects/zoook-app/
    $ python manage.py runserver
    

    this should show something like:

    Successfully initiated Django server.

    Open your browser and open up the direction of the server (http://127.0.0.1:8000/). Zoook should load the first time and you should end up with a site like this:

    Start page of Zoook.

    Access the administration area with the super user credentials created beforehand:

    Zooks administration page.

4. Connecting Zoook with OpenERP

A SSH server is required on the machine where Zoook is installed:

$ sudo apt-get install openssh-server

The next step is to configure poweremail to create a template for orders. This article won’t cover the further details of this step. You can get that information here.

Now, open up OpenERP and configure the shop for the connection with Zoook. Open

Sales => Configuration => Sales => Shop

Choose the shop you’re going to use with Zoook, edit it and check the box next to OpenERP e-Sale in the upper right. As an outcome of this should appear a new configuration tab for Zoook.

Mark a shop fort exportation.

Mark all products for exportation.

Configure the SSH connection.

When doing the test of the connection it should pop up a message, saying that it is configured properly.

5. Export test products

Now, we’ll only have to add some test categories and products. The only thing noteworthy at this point is that in order to export a product to the web you have to check “Export to online shop?”. Once this is checked you’ll see a new tab with the name “e-Sale” where you can parametrise the options of the product of the web shop.

Configuring e-Sale options on a product.

After the creation of products you’ll have to go back to the configuration of the shop to export products, categories, images etc. After doing a refresh of the page of Zoook you should be able to see the introduced data:

Successfully exported category in Zoook.

Successfully exported product in Zoook.

Read more http://www.domatix.com/installing-zoook-on-ubuntu-%E2%80%93-part-iv-zoook-%E2%80%93-parametrize-and-connect-with-openerp

Leer más

Installing Zoook on Ubuntu – Part III: Zoook installation

Este artículo está disponible en castellano.

This is part three in our articles dedicated to the installation of Zoook on Ubuntu 11.10. The next steps will be to fetch the source code from the repositories of Zik Zak Media and establish its connection it with OpenERP.

1 Download Zoook from the repositories

The repository of the Django application of Zoook isn’t available any more on Launchpad. But you can fetch a zipped copy here.

For the rest of this article I assume that you unpacked the content of the archive to /home/roberto/django-projects/zoook-app.

2 Install dependencies

Zoook depends on the following packages:

Install the python-setuptools package first in order to make the installation of these dependencies easier:

$ sudo apt-get install python-setuptools

The next step is to create a folder, where you want to install all further third party dependencies of Zoook. This will later on make updates of the packages via git, mercurial, etc. much easier. In this tutorial we are going to use ~/django-projects/zoook-external for this purpose:

$ cd ~/django-projects
$ mkdir zoook-external

2.1 OOOP (Open Object On Python)

Clone and install the fork of Zikzak Media:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/ooop.git
$ cd ooop
$ sudo python setup.py install

2.2 Pyro3 (Python Remote Objects)

Check their PyPI project page for the latest version – that is 3.15 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz
$ tar xvzf Pyro-3.15.tar.gz
$ cd Pyro-3.15
$ sudo python setup.py install

2.3 Paramiko

Check their website for the latest version – that is 1.7.7.1 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz
$ tar xvzf paramiko-1.7.7.1.tar.gz
$ cd paramiko-1.7.7.1
$ sudo python setup.py install

2.4 Recaptcha Client

Check their PyPI project page for the latest version – that is 1.0.6 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz
$ tar xvzf recaptcha-client-1.0.6.tar.gz
$ cd recaptcha-client-1.0.6
$ sudo python setup.py install

2.5 inplaceeditform

Clone and install the fork of Zikzak Media:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/django-inplaceeditform.git
$ cd django-inplaceeditform
$ sudo python setup.py install

2.6 django-localurl

In the case that there is no Mercurial installed:

$ sudo apt-get install mercurial

This done, clone the oficial repository of django-localurl and install it:

$ cd ~/django-projects/zoook-external
$ hg clone https://bitbucket.org/carljm/django-localeurl
$ cd django-localeurl/
$ sudo python setup.py install

2.7 django-transmeta

In case that you don’t have SVN installed:

$ sudo apt-get install svn

That finished go ahead to the installation of django-transmeta:

$ cd ~/django-projects/zoook-external
$ svn checkout http://django-transmeta.googlecode.com/svn/trunk/ django-transmeta
$ cd django-transmeta
$ sudo python setup.py install

2.8 django-maintenancemode

Clone and install Zikzak Media’s fork of django-maintanencemode:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/django-maintenancemode.git
$ cd django-maintenancemode
$ sudo python setup.py install

2.9 Correct imports

As a default Zoook’s module do absolute imports with a zoook. prefix. You’ll have to convert these absolute imports to relative ones. That is, to eliminate this ‘zoook’ prefix. Modify the following files as indicated.

2.9.1 /zoook-app/settings.py

Change this line

ROOT_URLCONF = 'zoook.urls'

to

ROOT_URLCONF = 'urls'

2.9.2 /zoook-app/tools/cms/templatetags/imageslider.py

Change this line

from zoook.tools.cms.models import ImageSlider, ImageSliderItem

to

from tools.cms.models import ImageSlider, ImageSliderItem

2.9.3 /zoook-app/tools/cms/templatetags/menubuilder.py

Change this line

from zoook.tools.cms.models import Menu, MenuItem

to

from tools.cms.models import Menu, MenuItem

2.9.4 /zoook-app/tools/cms/templatetags/modules.py

Change this line

from zoook.tools.cms.models import Modules

to

from tools.cms.models import Modules

The next and final article in this series will be dedicated to the interconnection of Zoook and OpenERP.

Read more http://www.domatix.com/installing-zoook-on-ubuntu-%E2%80%93-part-iii-zoook-installation

Leer más

Installing Zoook on Ubuntu – Part II: Python and Django

Este artículo también está disponible en castellano.

In this part we’ll head on to the installation of Python and Dango on Ubuntu 11.10 and verify its working.

1 Install Python

The default Python interpreter on Ubuntu 11.10 is 2.7.2. To verify that this is the version on your system execute:

$ python

Find out the version of your Python installation.

The message indicates that the version 2.7.2 is installed.

To exit the Python interpreter execute a

>>> quit()

In the rare case that there is no Python on your system, install it via

$ sudo apt-get install python

2 Install Django

Install all dependencies needed by Django:

$ sudo apt-get install python-dev python-psycopg2

You can install Django in three different ways:

  1. via the package management system of your distribution,
  2. fetching the latest stable version from the website, or
  3. download the development version from their repositories.

2.1 Installation via the package management system

The installation via the package management system is as simple as

$ sudo apt-get install python-django

2.2 Installing the last stable version from the website

Surf to the download section of the Django site and check for the latest stable version. That was 1.3.1 as of this writing (8th of February 2012).

$ cd ~
$ tar xvzf Django-1.3.1.tar.gz
$ mv Django-1.3.1 django-src

This way you’ll find the source code in the directory ~/django-src. The next step is to pass this information to Python. Locate the site-packages of your Python installation:

$ python -c "from distutils.sysconfig import get_python_lib; 
 print get_python_lib()"

Locate the site-packages of your Python installation.

which indicates that your site-package directory is /usr/lib/python2.7/dist-packages. In this directory you’ll have to add the route to the Django sources:

$ echo '/home/roberto/django-src' | sudo tee -a 
 /usr/lib/python2.7/dist-packages/django.pth

This creates the file /usr/lib/python2.7/dist-packages/django.pth with the path to your Django installation.

To make a live a bit more comfortable, create a symbolic link to django-admin.py:

$ sudo ln -s /home/roberto/django-src/django/bin/django-admin.py 
 /usr/local/bin

This way you can use django-admin.py in every place of the file system instead of executing the script by its absolute path ~/django-src/django/bin/django-admin.py.

3 Verify the installation

Check that Python can find the Django modules:

$ python
>>> import django
>>> print django.get_version()

Check that Python finds Django.

This indicates that Python detected Django in its 1.3.1 version.

3.1 Create a Django test project

We are going to create a Django test page in order to verify that everything is working fine. At first create a new directory for this:

$ mkdir ~/django-projects
$ cd ~/django-projects

In this case the directory is located in the home directory of the user and has the name django-projects. Now, create a test project in this category:

$ django-admin.py startproject testdjango

Change to the directory of the project and start the Django server:

$ cd testdjango
$ python manage.py runserver

Successfully started Django server.

The server started up correctly and is waiting for connections on port 8000 (http://127.0.0.1:8000/).

Now, we could create a database in PostgreSQL and verify the connection with the project. But, given the aim of this article (install Zoook) we’re going into the details of the database access when configuring Zoook.

Leer más

Artículo disponible también en Castellano.

What is Zoook?

Zoook is a web shop canal developed by Zikzak Media.

It is based on Django and is to 100% compatible with OpenERP without any connectors. The orders, the stock, postage and prices (to list just a few features) come straight from OpenERP.

Whar are we going to install?

  • Apache 2
  • PostgreSQL 9.11
  • pgAdmin3 1.14.0
  • Python 2.7
  • the mod_wsgi module for Apache 2
  • Zoook.

In this series of articles we are going into the details of how to install Zoook on Ubuntu 11.00.

The aim of these articles is to document the steps to implement a Zoook in a development as well as in an actual production environment and to give the user the solutions to possible problems that can come up during the installation and configuration process.

The whole process it is going to be split up into four parts with this one being the first explaining how to set up Apache 2 and PostgreSQL.

1 Install Apache 2 (production environment)

Django incorporates a server for development environments that is recommended to use as it simplifies the debugging process. So this step is not needed in development environments.

To install Apache 2 open up a terminal and execute:

$ sudo apt-get install apache2

2 Install PostgreSQL

Python as well as Apache support various database back ends. But, this article is centred on the usage of PostgreSQL.

To install PostgreSQL execute:

$ sudo apt-get install postgresql

3 Install pgAdmin3

The next step is to install pgAdmin3. A graphical interface to PostgreSQL that makes the management of the PostgreSQL server easier. Actually the last available version is 1.14.0. But, in the repository of Ubuntu is only te version 1.12.3-1.

3.1 Installation from the repositories

To install the version 1.12.3-1 from the repositories:

$ sudo apt-get install pgadmin3

3.2 Compilation and Installation of the source code

If you prefer to install the last version, you have to fetch the source code and compile it. Download the source and unpack it:

$ tar xvzf pgadmin3-1.14.0.tar.gz

Change to the directory where you unpacked it:

$ cd pgadmin3-1.14.0

Before you can install it make sure that all the dependencies are satisfied:

$ sudo apt-get install build-essential libwxgtk2.8-dev libxml2-dev 
 libxslt1-dev  libgtk2.0-dev

After this execute

$ ./configure

The next step would be to execute make. But, if you do that now it’ll raise the error:

./db/keywords.c:33:34: error: parser/kwlist.h: No such file or directory

This error is produced because there is a bug in the PostgreSQL constructor that misses to install the necessary file in the appropriate directory. To solve this you have to download this file and create the directory /usr/include/postgresql/parser:

$ sudo mkdir -p /usr/include/postgresql/parser

Move the downloaded archive to this directory:

$ sudo mv kwlist.h /usr/include/postgresql/parser

Now, you can execute

$ make

and afterwards

$ make install

The installation should have succeed correctly.

Additionally create a symbolic link to the pgadmin3 executable:

$ sudo ln -s /usr/local/pgadmin3/bin/pgadmin3 /usr/local/bin/pgadmin3

This way you can execute it via:

$ pgadmin3

instead of:

$ /usr/local/bin/pgadmin3

4 Configure PostgreSQL user

PostgreSQL has the default setting ident sameuser for local connections. This permits a system user to access the same account on the SQL server. For this reason you have to create a new user on the SQL server with the same name under which the server is running.

$ sudo -u postgres createuser --superuser YOUR_USER_NAME
$ sudo -u postgres psql
postgres=# password YOUR_USER_NAME

Re-initiate the Apache server after all these changes:

$ sudo /etc/init.d/apache2 restart

Now the system is set up to continue with the following steps to install Python, Django, mod_wsgi and Zoook.

Read more http://www.domatix.com/installing-zoook-on-ubuntu-part-i-apache-and-postgresql

Leer más

Entorno de desarrollo de OpenERP con Eclipse

Instrucciones detalladas para poner en marcha un entorno de desarrollo de OpenERP que incluye el servidor, cliente GTK y cliente web. Todas las carpetas de addons quedan vinculadas directamente desde Launchpad para mantener el entorno actualizado fácilmente con Bazaar.

Las instrucciones se han probado en sistemas basados en Linux Mint 12 ó Ubuntu 11.10.

Con el fin de no hacer demasiado extenso el artículo se dividirá en cuatro sub-artículos:

  1. Instalación del servidor PostgreSQL (este artículo)
  2. Instalación de OpenERP
  3. Instalación de Eclipse
  4. Script para importar el entorno de trabajo desde Launchpad

A continuación se detalla la primera parte de la serie de artículos

1. Servidor de PostgreSQL

Índice

1.1. Instalación

$ sudo apt-get install postgresql

1.2. Usuario de PostgreSQL

Necesitamos un usuario a través del cual OpenERP luego puede acceder a la base de datos. Ten en cuenta que el nombre del usuario en PostgreSQL tiene que ser el mismo que el nombre que usas como el usuario que luego inicia el servidor:

$ sudo su - postgres
postgres $ createuser openerp
Shall the new role be a superuser? (y/n) y
postgres $ psql template1
psql (9.1.2)
Type "help" for help.
template1=# alter role openerp with password 'postgres';
postgres $ psql
postgres=# CREATE DATABASE testerp WITH OWNER = openerp;
CREATE DATABASE
postgres=# q
postgres $ exit

El último comando crea una base de datos para luego poder comprobar que el servidor funcione.

Ahora tenemos que hacer unos cambios en el archivo /etc/postgresql/9.1/main/pg_hba.conf (intercambia 9.1 por la versión instalada en tu sistema operativo).

1.3. Permitir OpenERP acceso a la base de datos

Este paso puedes saltar si el nombre del usuario que luego ejecuta el servidor de OpenERP tiene el mismo nombre que el usuario de PostgreSQL.

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
local   all         all                               trust
# IPv4 local connections:
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
host    all         all         127.0.0.1/32          trust
# ADD THIS LINE TO ALLOW REMOTE ACCESS; use your own IP address range:
host    all         all         10.10.10.0/24        trust
# IPv6 local connections:
host    all         all         ::1/128               ident

Read more http://www.domatix.com/entorno-desarrollo-eclipse-openerp

Leer más

OpenERP v61 – cliente web

Sólo una pequeña nota para los errores en la ejecución del cliente web (que ahora se ejecuta como un addon de openerp-server):

 

Si obtenéis el error de que no carga la librería wsgi, es por la versión de werkzeug instalada. Esto ocurre sobre todo en ubuntu 10.04, que por repos, nos tira una versión no muy actual. No te ocurrirá con versiones más modernas o bien con Debian 6.0.3 Squezze.

Error:

 

[2012-01-26 18:26:27,882][?] ERROR:root:Failed to load server-wide module `web`.
The `web` module is provided by the addons found in the `openerp-web` project.
Maybe you forgot to add those addons in your addons_path configuration.
Traceback (most recent call last):
File «./openerp-server61/openerp-server», line 246, in <module>
__import__(m)
File «/home/joseba/src/openerp_v61/openerp-server61/openerp/modules/module.py», line 138, in load_module
mod = imp.load_module(module_name, f, path, descr)
File «/home/joseba/src/openerp_v61/openerp-web61/addons/web/__init__.py», line 1, in <module>
import common
File «/home/joseba/src/openerp_v61/openerp-web61/addons/web/common/__init__.py», line 2, in <module>
import http
File «/home/joseba/src/openerp_v61/openerp-web61/addons/web/common/http.py», line 26, in <module>
import werkzeug.wsgi
ImportError: No module named wsgi

[2012-01-26 18:26:27,882][?] ERROR:root:Failed to load server-wide module `web`.

The `web` module is provided by the addons found in the `openerp-web` project.Maybe you forgot to add those addons in your addons_path configuration.Traceback web61/addons/web/common/http.py», line 26, in <module>    import werkzeug.wsgi

…bla bla bla . . .

ImportError: No module named wsgi

 

Sol:

  1. Instalar un instalador de paquetes python:
sudo easy_install pip
  1. Instalar el werkzeug (si no lo teníamos):

 

sudo pip install werkzeug

 

Y añado yo, si ya lo tenías instalado (casi seguro), debes actualizarlo mediante:

 

sudo pip install –upgrade werkzeug

Con esto ya rulará estupendamente.

Fuente:

http://stackoverflow.com/questions/8249953/werkzeug-doesnt-include-wsgi-module

Read more http://www.malagatic.com/blog/item/76-openerp-v61-cliente-web

Leer más