分类 学习Odoo 下的文章

玩openerp和odoo的小伙伴们都知道了的。
区别在以下:

1、位置区别:

openerp-server.conf是在 中指定,例如指定位置: /etc/odoo/openerp-server.conf
odoo-server.conf 是de安装方式自动化跑在位置: /etc/odoo-server.conf,无法手工指定deb自动化写死里面了,你apt-get install odoo就直接写 /etc/odoo-server.conf的(不清楚odoo什么时候这样子的做法)。

2、文件内容差别:

openerp-server.conf文件的内容类似如下:
**[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = 127.0.0.1
db_port = 5432
db_user = admin
db_password = admin
addons_path = /opt/odoo/addons
logfile = /opt/odoo-server.log
dbfilter = '^%d$'
**

openerp-server.conf文件的内容类似如下:
**[options]
addons_path = /opt/odoo/addons
admin_passwd = admin
auto_reload = False
csv_internal_sep = ,
data_dir = /opt/odoo/.local/share/Odoo
db_host = False
db_maxconn = 64
db_name = False
db_password = admin
db_port = False
db_template = template1
db_user = odoo
dbfilter = .*
debug_mode = False
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLiteCity.dat
import_partial =
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
list_db = True
log_db = False
log_handler = :INFO
log_level = info
logfile = /var/log/odoo-server.log
logrotate = False
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = False
reportgz = False
secure_cert_file = server.cert
secure_pkey_file = server.pkey
server_wide_modules = None
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
syslog = False
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
timezone = False
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 0
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
xmlrpcs = True
xmlrpcs_interface =
xmlrpcs_port = 8071

**

以上仅为本人笔记。转载无需向本人提及,您是自由的,您请随意!

Odoo(OpenERP)应用实践: 使用db-filter参数实现通过域名指定访问哪个数据库
http://www.wtoutiao.com/p/NfcvKc.html

Odoo(微尘) · 2015-09-06 21:48
Odoo(OpenERP)应用实践: 使用db-filter参数实现通过域名指定访问哪个数据库
我们知道在登录Odoo(OpenERP)时,如果当前系统中有多个数据库,需要先选择数据库再输入用户名、密码进行登录。但在实际应用中,终端用户只在意自己的用户名和密码,并不关注自己使用的是哪一个库;而且在部署SAAS应用时,我们可能并不想让客户看到其他人使用的库。这时可以使用db-filter参数实现此诉求。

db-filter,顾名思义,用于数据库过滤,使用格式为:--db-filter=,等号右侧是个正则表达式,说明如下:
%h 会被替换为请求的整个主机名
%d 会被替换为请求中除www以外的子域名(因此域odoo.com和www.odoo.com都将匹配odoo数据库)
(1)如果请求的URL为hostname.domainname.com,则%h对应hostname.domainname.com,%d对应hostname。
(2)等号右侧可使用'%d'、'^%d'或者'^%d$'(^表示正则表达式的开始,$表示正则表达式的结束)

举例来说,如果用如下方式启动Odoo Server:
./openerp-server --db-filter='%d' -c /etc/odoo-server.conf &
则通过域名demo.myhost.com访问时,系统会重定向到demo数据库;但是如果系统中有多个数据库名称中含有demo,如demo2,mydemo...,则系统仍然会进入数据库列表界面,把所有名称含demo的数据库都显示在下拉列表中;
那么如何精确定位到想要的数据库呢?要对db-filter等号右侧的值略作修改,改为如下方式即可:
./openerp-server --db-filter='^%d$' -c /etc/odoo-server.conf &
这时候再通过域名demo.myhost.com访问,系统会直接重定向到demo库,而不管系统中是否有其他名称含demo的库。

另外,如果系统中找不到过滤的库时(如通过域名demo.myhost.com访问而系统中无demo数据库),则会重定向到数据库管理页面。
显而易见无须赘言的是,以上的测试需要你能(gou)访(mai)问(le)myhost.com域名,并且已配置了二级域名demo.myhost.com。

Odoo更新升级:

1、odoo数据库升级
摘自:http://www.ithao123.cn/content-8179977.html
[摘要:进级民圆源码:
一、 . 必需先中止odoo办事,openerp-server 为您装置时启动剧本的称号 sudo /etc/init.d/openerp-server stop
二、 . 替换代码,起首备份现有的代码到新建的目次odoo_history,正在/opt/odoo/odoo下]

升级官方源码:

1 . 必须先停止odoo服务,openerp-server 为你安装时启动脚本的名称

sudo /etc/init.d/openerp-server stop
2 . 更换代码,首先备份现有的代码到新建的目录odoo_history,在/opt/odoo/odoo下安装最新源码

mkdir /opt/odoo/odoo_history
sudo mv /opt/odoo/odoo /opt/odoo/odoo_history
sudo mv ./test/auto_backup /home/jh/Downloads/
安装新的代码到/opt/odoo/odoo,具体方法请参考 在Ubuntu 14.04LTS版上以git方式源码安装odoo8.0(新手教程),完成之后进入下一步。

3 . 更新数据库

cd /opt/odoo/odoo/ #切换至安装目录
sudo su - odoo -s /bin/bash #odoo是安装odoo服务器时创建的系统用户名称
python openerp-server -c /etc/odoo-server.conf -u all –stop-after-init -d DB_
其中的DB_是你需要更新的数据库名,如果有多个数据库,则需要对每个数据库执行一次上述命令。
执行之后请耐心等待一段时间,系统会自动检查更新该数据库已安装的所有模块。

注:如果想要确认上面的命令是否在执行,使用下面的命令,查看用户进程是否在执行:

top -u opene
等到出现 "...... werkzeug: 127.0.0.1 ......" 升级完成,按Ctrl-C退出升级。退出openerp用户shell。

  1. 完成后数据库更新后,重启Open

sudo /etc/init.d/openerp-server start
此时你可以继续使用web客户端连接odoo。至此,ubuntu下源码odoo升级完成。

升级绿色版:

绿色版更新之后,可以用新版中的Odoo代码直接替换老版本中的代码。但是步科大神在制作绿色版时会更新一些新的特性所需要的运行时文件,因此为了使用绿色版带来的所有好处,建议不要使用替换代码的方式,而是采用导入数据库的方式来升级代码:

运行旧版的Odoo,用数据库管理功能或pgAdmin客户端备份数据,停止旧版Odoo服务。
启动新版的Odoo,用数据库管理功能或pgAdmin客户端恢复数据到新版的数据库中,停止Odoo服务。

windows操作系统:
接着,把start.bat复制为update.bat,做如下修改:

"%CD%"runtimepythonpython-oe "%CD%"sourceopenerp-server -c "%CD%"openerp-server.conf
改成

"%CD%"runtimepythonpython-oe "%CD%"sourceopenerp-server -c "%CD%"openerp-server.conf -u all -d db_
其中用你要升级的数据库名替换db_,再执行update.bat。
在一阵屏幕滚动之后,显示等待连接的提示,说明升级完成了。
完成之后,执行stop.bat停止Odoo服务,然后执行start.bat就可以重新启动odoo,此时你可以继续使用web客户端连接odoo。至此,windows下绿色版odoo升级完成。

特别注意:请使用stop.bat停止,而不是Ctrl+C结束,否则运行的odoo pg数据库不会停止,从而导致各种问题出现!

Linux系统

把start.sh复制为update.sh,做如下修改:

./runtime/python//bin/python ./source/openerp-server -c ./openerp-server.conf
改成

./runtime/python//bin/python ./source/openerp-server -c ./openerp-server.conf -u all -d db_
其中用你要升级的数据库名替换db_,再执行update.sh。
在一阵屏幕滚动之后,显示等待连接的提示,说明升级完成了。
执行stop.bat停止Odoo服务,然后执行start.bat就可以重新启动odoo,此时你可以继续使用web客户端连接odoo。至此,ubuntu下绿色版odoo升级完成。

总结:

不论是官方的源码还是步科的绿色版,升级数据库都要先停止服务,然后使用有相关权限的用户对数据库进行操作。在ubuntu下,虽然root用户是权限最大的,但如果使用它来升级数据库,会出现Running as user ‘root’ is a security risk, aborting.的警告而中止升级;如果你所在的目录不是odoo的安装目录,也会报错;输入的命令符号也都是在英文字符状态下的; 这些细节都要注意。

参考网址:
http://vivianyw.blog.163.com/blog/static/1345474222014715101814102/

注意:
更新前注意备份!
更新前注意备份!
更新前注意备份!
重要的事情说三遍

此前的odoo是deb式安装的,本人参考自http://www.jointd.com/?p=1998【感谢卓忆】,更新也简单update和upgrade即可,升级更新前需要手动停止odoo和postgresql:

停止odoo:service odoo stop
停止postgresql:service postgresql stop
然后apt-get update && apt-get upgrade更新源并且更新系统及软件。

如果是git源码运行的就用git pull更新一下官方github上的源码拉回来即可。【更新过程遇到权限问题和git冲突问题参考以下记录】

1、遇到权限问题:
sudo su - odoo -s /bin/bash
退出登陆的账号exit后在root下,
用chown -R odoo:odoo addons来给addons加权限,
用chown -R odoo:odoo .git来给.git隐藏文件夹加权限,
用chonw -R odoo:odoo openerp给openerp文件夹加权限,
2、遇到git冲突问题:
用git add .将冲突add一下本地,
用git stash暂存冲突提示的内容,
再git pull拉取最新源码回来本地,
再用git stash list查看一下stash的内容,其中stash@{0}就是刚才保存的标记。
最后用git stash pop stash@{0}还原暂存的内容。
当然你不想还原也是可以的。

注意:
更新前注意备份!
更新前注意备份!
更新前注意备份!
重要的事情说三遍

随附:

转贴:在Ubuntu 14.04服务器版上以git方式源码安装odoo 8.0正式版的步骤

转贴:在 Ubuntu Server 14.04 LTS 版上安装 Odoo 8
这是一篇翻译文章,出处为http://www.theopensourcerer.com/2014/09/how-to-install-openerpodoo-8-on-ubuntu-server-14-04-lts/
原作者为Alan Lord 由 odoo 中文社区 郑州 -Dean 翻译。本文内容大致与原文一致,翻译时根据国内情 况 ,有 少 量 修 改 。原文刊登于:http://shine-it.net/index.php?topic=16623.msg29044#msg29044 (有pdf附件)
2

其实,推荐 大家再看看 官方的 安装文档:
https://www.odoo.com/documentation/8.0/setup/install.html#source-install
linux 下 还可以考虑使用步科的绿色版。
http://www.jointd.com/?p=1397
其中有很简单的3步安装法(pg数据库据说也会安装掉的)
wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list
apt-get update && apt-get install odoo

上海-Jeff自述openerp在中国的前世今生

shine-it.net 论坛是最早的中文社区,校长2007年7月建立,用的是他2004年注册的公司先安信息的公司域名。
论坛成立后没什么人,他就把我从weberp拉过来了,Jeff还拉了个simon来,这家伙后来叫jack了。我们只有5、6个人,组织了三个小组(开发组、测试组、文档组)准备大干一场。还每周在线msn组讨论进度,互相督促协助,结果是,只翻译了一个残缺不全的tinybook1.0和基本的进销存中文界面
    我觉得人手太少,时机不到。校长觉得开源社区不需要太多人,有几个牛人够了,而且社区不需要组织。只要领头的几个人发高质量的帖子,自有牛人进来跟随,慢慢会发展起来。那以后就各自为战了。校长主要学习python和openerp开发技术。我主要关注应用,还与adempiere、sap business one的高手做过产品特性对比。翻译的维护工作一直在Jack身上,直到2009年某网友捐赠了他请翻译公司翻译的openerp5.0.6的中文包。

我记得shelly和oldrev这样的高手是在08年出现的,确实这样人能给论坛带来激情,可是论坛仍旧是每天三两贴,半死不活。也没有什么宣传手段吸引更多人进来。09年还有一件大事,老肖的《OpenERP开发和实施指南》。这本书让论坛获得了重生,初学者有了迅速入门的信心,pdf的方式比wiki更适合推广,这个qq群好像是09年初Toop建的,虽然Toop一直在忙啥我也不知道。

连shelly这个话痨那时候都找不到人交流,所以那是交流的主要渠道就是论坛。帖子多起来了,一天能有5贴,但大多数是回老肖那个贴。而且是顶、支持、感谢等意义不大的回复。回复后这个论坛用户就永远消失了

必须承认,老肖让我们眼前一亮。这也许是openerp大规模推广的机会。必须降低初学者入门门槛,才能扩充队伍,共谋大事。

我把老肖从msn群拉进了这个qq群,并和shelly一起激活了这个群,一直到现在一发不可收拾。最初的想法是通过实时专题沟通的方式,跟初学者一起读老肖的书,通过讨论一方面加深理解、补充内容,并寻找靠谱的力量续写。这个计划没有实施,大家更喜欢等老肖继续写,不想出手续写。于是老肖说了另一个计划。OpenERP本地化版本,中国人可以开包即用的,含中文的安装包、中文的会计科目和报表打印、符合中国人习惯的进销存等。于是诞生了 HornERP,这个项目叫hornerp,名字是谁取的我忘了,logo是河北-linux-洋设计的,所以其实还有你不知道的域名,名字 jack取的。googlecode上。hornerp的项目经理是老肖,技术由oldrev负责,我负责需求。1.0的目标是中文包和中国省份信息,还有报表的中文字体支持。一个月就推出了基于openerp5.0.6版本,然后2.0还没开始,经历了春节、元宵节、二月二等传统节日的假期,还有老肖的书第二版,oldrev换工作,jack的财务需求迟迟不能定版。发布日期一直拖着,没什么进度,我就抢了这个项目经理的职位,光杆司令,自己设计自己编码。后来Joshua出手相助,完成了hornerp2.0。接下来的3.0,因为项目范围极难划定,需求无法文档化,而且项目团队越做越小,hornerp项目就这样结束了。

校长从头到尾没有参与这个项目,他认为这种组织的方式很低效,不如由高手发布零散的addons模块,慢慢积累。

有组织的社区氛围没有通过文档协作、翻译协作、共同学习、本地化项目来形成,我个人非常受打击。

2010年上半年论坛里的帖子,基本都是老肖文档的跟帖,催他快点儿完成第二版。
2010年6月1日,第一次和老肖吃饭,8月,去见了法国人eric cardaul,好像拼错了,我总是记不住这两个外国人的名字。Eric说唯一的中文社区论坛太冷清了,就像个个人主页。应该重构一下。我们还一起讨论了一个重构计划,以及线下活动的组织方式。于是我申请了 openerp-china.org这个域名,安装了tipask、mediawiki、uchome等程序,准备做好新的站之后替换shine-it.net,期待用 tipask取代论坛,mediawiki组织中文帮助,uchome取代qq群

我花了两个月把论坛的信息重新分类手工复制到openerp-china.org上,先后付费请 无锡-kev 和 中山-joshua做了仿openerp6.0的皮肤。新的网站形式和内容都优于shine-it.net,但也存在问题。问答程序需要楼主确认才能关闭问题,对于拿了答案就消失的大多数人不适用。uchome垃圾处理机制很差,用户的增长速度远低于垃圾的增长速度。mediawiki很难用,到现在的主要编辑者只有四个人——我、joshua、shelly、jack。而且我确实不知道新的参与者更喜欢哪个网站,shine-it.net还是openerp-china.org。我只知道qq群已经开始了月经讨论、每周一次的管理员杀人游戏。无论如何,到2010年,人多起来了。虽然80%都是匆匆过客。

我还在思考,如何让人留下来,创造内容,并实现价值。那时开始和很多开源人士接触,了解其他社区的组织方式,经验和教训。了解其他开源项目作者或者主要本地化社区参与者需要解决的问题是什,做一套完整的入门教程也许会有更多的人,中国也有很多优秀的开源项目,但大部分都是一个人在战斗。100个人里只有项目作者提交代码,有80人在说着感谢的话,有二十个人嗤之以鼻。作为hornerp的项目经理,我最感激的是joshua这样的commiter,他让我有继续做下去的勇气,知道我不是一个人在战斗,鼓励contributor是我觉得最需要强调的社区组织理念。

后来看到了威客模式,结合开源,我想搞个网站,叫“开放新集市”,通过在线交易的方式衔接开源服务的供求,给兼职开源参与者赚钱的机会,让企业IT学会购买外包服务,通过在线交流和交易降低开源服务的销售成本我申请了个域名,叫 opennewbazaar.com。maillist里的人说很烂,太长了。joshua帮我找到了 osbzr.com。这是第三个域名了吧?其实他是属于我个人的一个不仅限于openerp的另一个梦想。bazaar是取eric的《大教堂与集市》概念,os就是open source。这个网站没有做成,因为时机还没到。靠开源赚钱,国内的此类公司很少,个人也不多,很多开源作者都是靠着激情支持不敢奢望获利,参与者更是没有预期了。甚至有些人担心这样会让人觉得 开源变了味,我最终也没找到愿意和我一起实现这个想法的人。但是不试试我痒痒

我最熟悉的开源软件是openerp,我也有资源在这一块开始试验,于是有了 云团队。云团队其实是osbzr.com的一个缩小版,虽然都是手工操作。由我在qq群或者论坛上出面接单,以600元每天的价格收费为openerp的客户做二次开发。其中400元给开发者,100元给代码走查者,100元捐给openerp-china.org,2010年全年,云团队接了3万元的活儿,第一个项目是joshua的老板照顾的,最后一个项目的客户现在是老肖的老板,幸运的是,云团队没有域名,http://code.google.com/p/cloudteam/。我们这个虚拟团队的技术积累是最大的财富,这一年joshua和我的代码量比之前三年的总和还多,而且很多临时参与开发的社区成员,如shelly、海飞、l21、oldrev、stbrine等第一次用支付宝收款。

2011年的事情就是大家都开公司了。king和老肖的沪港对接、荷兰人和校长的临时合作、法国人招兵买马、我和校长年底才起步。还有lky,小程、oldrev,慢了一些,却更有后劲。玩开源好几年,第一次有收入,也能自己造血付网站的域名和空间、做皮肤这些事。云团队是我最成功的一次组织,这也是我有信心成立先安和拉Joshua入伙的原因。
讲这段历史,是为了解释这些乱七八糟的域名和googlecode,launchpad项目都是干嘛的。也是为了向大家解释我的两个想法:我做云团队和先安都是为了探索开源服务盈利模式在中国的出路,我们还有很长的路要走。而且我认为开源社区需要一个社区经理的角色来组织,虽然我还不称职,我正在学习。

因为我决定后半生,就做这两个事情了。

6月10号在上海杨浦创智,有个社区经理聚会,我有7分钟讲这段历史。本来全无准备,今天敲了这么多字,可以作为腹稿了。谢谢ccdos给我这个机会。
                                                         2012年5月27日

补充odoo官方下载地址:http://nightly.odoo.com/extra/

此前的wkhtmlpdf都是在sf上下载的,不久后开始转移至gna了:

http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/
如果odoo无法打印,请下载对应操作系统之对应版本并安装即可解决odoo打印问题。

Odoo8.0使用wkhtmltopdf来输出pdf,因此要下载安装wkhtmltopdf。
[plain] view plain copy
在CODE上查看代码片派生到我的代码片

#下载  
#注意根据操作系统选择相应版本  
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
#wget http://sourceforge.net/projects/wkhtmltopdf/files/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb  
#安装  
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb  
#安装完成后将可执行文件复制到usr/bin中  
sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf  
#更改所有者为root用户,并增加可执行属性  
sudo chown root:root /usr/bin/wkhtmltopdf  
sudo chmod +x /usr/bin/wkhtmltopdf  
#测试一下,打印一个网页到当前用户的home目录  
wkhtmltopdf www.baidu.com ~/baidu.pdf  
#如果显示成功输出了pdf,则wkhtmltopdf安装成功  
#安装中文字体  
sudo apt-get install ttf-wqy-zenhei  
sudo apt-get install ttf-wqy-microhei  

实际操作经验: 通过菜单 设置->公司->公司,打开公司,然后在报表的结构选项卡中的字体栏设置字体,先点"重新加载字体"(加载本地ttf字体),然后选择KaiTi(Windows); DejaVu Sans(Ubuntu), 中文无乱码。