OpenERP development environment in Windows using Eclipse.
In this blog we will go through some steps required in setting up OpenERP for customization under eclipse in windows.
Before going into the details, let me remind every one that Linux distros preferably ubuntu is the best platform to do developments in OpenERP. This may be useful to only those insit development to be done in Windows.
Versions Used:
OpenERP - 6.0.3
Postgresql - 9.0.4
Eclipse - 3.7 (Indigo)
1)Download eclipse sdk(Indigo,latest version) and unzip it
http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-win32.zip
2)To run eclipse a java based application requires java jre to be installed.Download and install from
http://www.oracle.com/technetwork/java/javase/downloads/index-jdk5-jsp-142662.html
After installation, we need to add the jre bin path into system environment variable PATH.In my case jre bin
was at 'C:\Program Files\Java\jre1.5.0_22\bin'.similarily add the jre bin path of your installation.
(My computers-->properties-->Advanced System Setting-->Environment Variable-->PATH)
3)Download the zip file from here which contains python interpretor and other python packages needed by OpenERP.
Extract and run the batch file 1 which installs python and its associated libraries.we need to add following path
to system environment variable PATH before running the batch file 2 since it requires python as windows
command to run python scripts to install some more python packages.
(;C:\Python25;C:\Python25\Scripts;C:\Python25\bin;C:\Python25\libs;C:\Python25\Lib\site-packages;C:\Python25\include;C:\Python25\DLLs)
Zip files conatins packages downloaded from the following links
a)http://bazaar.launchpad.net/~openerp/openerp/win-installer-trunk/files/head%3A/dependencies/
b)http://pyyaml.org/download/pyyaml/PyYAML-3.09.win32-py2.5.exe
c)http://ftp.edgewall.com/pub/babel/Babel-0.9.4.tar.gz
d)http://download.cherrypy.org/cherrypy/3.1.2/CherryPy-3.1.2.tar.gz
e)http://pypi.python.org/packages/source/s/simplejson/simplejson-2.0.9.tar.gz
f)http://pypi.python.org/packages/source/F/FormEncode/FormEncode-1.2.2.tar.gz
4)Install PyDev plugin in eclipse
a)help -> Install New Software.
b)In Install dialog box, Click Add.
c)Give name ‘pydev’ and type the path. i.e. http://pydev.org/updates.
d)click ok.
e)select pydev checkbox and follow the steps by clicking finish
5)Adding python in eclipse can be done by
a)window -> Preferences
b)In Preferences dialog box expand pydev from left side tree
c)click on Interpreter-Python
d)click new on right side of python Interpreters
e)locate the python.exe in the installed path e.g. C:\Python25\python.exe via Browse button and also
give the name to this interpreter(Python25)
f)click ok then again ok
6)Download and unzip tarballs for OpenERP 6.0.3 server, Client and Web-client using the following paths.
Unzip all these packages to separate folders on same path like Client, Server, Webclient folders in
C:\OpenERP path.
a)http://www.openerp.com/download/stable/source/openerp-server-6.0.3.tar.gz
b)http://www.openerp.com/download/stable/source/openerp-client-6.0.3.tar.gz
c)http://www.openerp.com/download/stable/source/openerp-web-6.0.3.tar.gz
7)Now we need to create PyDev projects in Eclipse for each of three projects i.e. Server, Client, and Webclient.
we can name the PyDev project as for eg:OpenERPClient, OpenERPServer and OpenERPWebClient and
for each we have to uncheck the option Use Default and browse for the path where we have unzipped each of
packages(C:\OpenERP).we have to choose project type as Python and its grammar version as 2.5 and
Interpreter as Python 2.5.
8)Download and Install postgresql.
a)http://www.enterprisedb.com/products-services-training/pgdownload#windows
b)It will prompt for password and port number during installation process .If already postgresql older version
is runnning on your machine then enter port 5433 else enter 5432.
c)Create a new postgres user , start-->all programs-->postgresql 9.0-->pgadmin3
d)servers-->postgresql 9.0 right click on connect and enter password when prompted
e)mouse over login role right click new login role and enter role name(eg. 'openpg') and password
(eg. 'openpgpwd') and in the second tab role privileges above check all boxes(Superuser,Can Create....)
9)Now need to create configuration file for openerp-server with following options and copy conf file to the bin
folder located in the path where we’ve unzipped server’s source code e.g. C:\OpenERP\server\bin.
[options]
without_demo = False
smtp_port = 25
db_password = openpgpwd (password you had given for the new role created in postgresql)
xmlrpcs_interface =
syslog = False
logrotate = True
xmlrpcs_port = 8071 (change port here if already allinone setup has been installed,say 8061)
test_report_directory = False
list_db = True
timezone = False
xmlrpc_interface =
test_file = False
cache_timeout = 100000
smtp_password = False
secure_pkey_file = server.pkey
xmlrpc_port = 8069 (change port here if already allinone setup has been installed,say 8059)
log_level = info
xmlrpc = True
test_disable = False
admin_passwd = admin
assert_exit_level = error
smtp_server = localhost
static_http_url_prefix = None
test_commit = False
xmlrpcs = True
demo = {}
login_message = False
import_partial =
pidfile = None
db_maxconn = 64
stop_after_init = True
osv_memory_count_limit = False
reportgz = False
osv_memory_age_limit = 1.0
netrpc_port = 8070 (change port here if already allinone setup has been installed,say 8060)
db_port =5432 (change port value as given by you at the time of postgresql-9.0 installation)
db_name = False
debug_mode = False
netrpc = True
secure_cert_file = server.cert
csv_internal_sep = ,
pg_path = None
static_http_enable = False
translate_modules = ['all']
smtp_ssl = False
root_path = C:\OpenERP\server (change root_path to where you have extracted OpenERP Server)
netrpc_interface =
smtp_user = False
db_user = openpg (new login role you have created in postgresql)
db_host =localhost
email_from = False
addons_path = C:\OpenERP\server\bin\addons (change addons_path to addons directory present in root_path )
static_http_document_root = None
10)In Eclipse package explorer, open the list of Server -> open Bin -> Right Click on openerp-server.py
Mouse Over ‘Run As’ -> Select ‘Python Run. In the same manner you can run openerp-client and openerp-web.
Note :
a)IF no other installation of OpenERP are there you can use the default values for netrpc,xmlrpc and xmlrpcs
b)IF you have changed the netrpc port value then you should also change value of 'openerp.server.port' to
corresponding netrpc port value in web/doc/openerp-web.cfg.
c)Similarily when trying to connect server with openerp-client also need to change netrpc-port to same.
It's a good piece of
It's a good piece of information. High intensity content and it is presented in a good manner. Hopefully waiting for your next post. Best essay writing service UK
Could you write an Ubuntu
Could you write an Ubuntu Development Enviorment much similar to the one above.
With baby steps for mewbie like me? I been trying to figure it out for sometime.There isn't much info for me to grasp on.
IT would be very much appreciated!
Thanking you very much!
Newbie!
I think that is one of the
I think that is one of the most vital information for me. And i'm satisfied studying your article. However wanna observation on some basic things, The site style is great, the articles is in reality excellent : D. Excellent job, cheers
That's great However I think
That's great
However I think you should put the full name of configuration file in step 9 (openerp-server.conf)
And the zip file in step 3 is dead, please update
Regards,
Hi HAI Pham, Thanks for the
Hi HAI Pham,
Thanks for the comment posted. I have updated the link please check it now, it will be working.
Sorry for the trouble.
Regards,
Fahad
Unfortunately i an unable to
Unfortunately i an unable to create database, i follow all the steps as documented on this page with same versions for postgres, python and openerp server.
After start openerp-server.py and openerp-web.py from Eclipse and when start to create database received below error
[2012-02-08 13:37:04,530][template1] INFO:web-services:CREATE DATABASE: demodb
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[01]: CREATE DATABASE
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[02]: Traceback (most recent call last):
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[03]: File "C:\OpenERP\openerp-server\bin\service\web_services.py", line 95, in __call__
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[04]: tools.init_db(cr)
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[05]: File "C:\OpenERP\openerp-server\bin\tools\misc.py", line 79, in init_db
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[06]: for i in addons.get_modules():
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[07]: File "C:\OpenERP\openerp-server\bin\addons\__init__.py", line 306, in get_modules
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[08]: plist.extend(listdir(ad))
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[09]: File "C:\OpenERP\openerp-server\bin\addons\__init__.py", line 302, in listdir
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[10]: return map(clean, filter(is_really_module, os.listdir(dir)))
[2012-02-08 13:37:08,405][demodb] ERROR:web-services:[11]: WindowsError: [Error 2] The system cannot find the path specified: u'C:\\OpenERP\\openerp-server\\addons\\*.*'
and for loging page database name in dropdown list is appears like "x64656d6f" where as in pgadminIII interface database is created with actual "demodb" name.
Regards,
Asim
Hi Asim, I think the
Hi Asim,
I think the configuration file is not been taken by from the path so we need to pass the configuration file as argument
while running openerp-server.
Create a run configurtaion in eclipse with the following steps.
1. Run -- > run configurtions --> python run --> new
2. Enter the project, (select project we created)
main module (select openerp-server.py from bin directory).
arguements (-c <path to conf file>) <-- next tab
then click apply and then close.
3. Goto Run --> Run Configurations --> Python Run
Select the created configuration
Click Run (Button located at lower right)
OR
If previously ran Goto Run --> Run History Select the configuration
OR
If previously ran, then Console Window will be having control buttons to terminate , start and restart
Regards,
fahad
Hi, Database creation issue
Hi,
Database creation issue might be due to the openerp configuration file.please check the configuration file.Database name issue can be solved using the following .
1. Edit postgresql.conf (which is located in the data folder of the postgresql installation)
2. Modify line to:
bytea_output = 'escape'
3. Restart postgresql server.
Regards,
fahad
Hi Fahad, Database name issue
Hi Fahad,
Database name issue resolved, but still unable to create database.
I tried
-c config-file
-update all
in run configurations but no success.
stuck here :(
Regards,
Asim
H Fahad, Find out that there
H Fahad,
Find out that there are lots of red marks for import commands
e.g. below are the unresolved imports in
openerp-server\bin\service\web_services.py
from tools.translate import _
import addons
import ir
import netsvc
import pooler
import release
import sql_db
import tools
this might be the reason?
regards,
Asim