2016年5月

玩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

**

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

链接:https://www.transifex.com/odoo/odoo-8/translate/#zh_CN/
记录如下:

1、登入 两字 修改为 登陆

2、此模块用于管理员工的考勤.

以员工的签到/下班时间为准,记录员工考勤.

3、更新模块列表 修改为 更新本地模块列表,弹出的 模块更新 窗口增加更人性点的说明性文字:

当你新增了odoo模块到服务器的addons目录下(注意模块文件夹目录层级)之后需要到odoo的设置菜单下,做更新模块列表这个动作才能让odoo认识出新增加了模块。

4、单击此处签出 修改为 鼠标再点击一下就是签出

5、修正:删除联系人时弹窗提示语:

原文:完整性错误

该操作无法完成,可能是由于以下原因:\n - 删除:您可能会试图删除一个记录,但是仍有其它记录引用到它 \n - 创建/更新:一个必须要输入的字段不正确

[object with reference: Sales Order - sale.order]

修正为:
英文原文:The operation cannot be completed, probably due to the following:⏎

  • deletion: you may be trying to delete a record while other records still reference it⏎
  • creation/update: a mandatory field is not correctly set

修正为:

6、修正:
[object with reference: Sales Order - sale.order]

[object with reference: %s - %s]
[参考引用对象: %s - %s]

7、修正:【设置】-【资源】-【工作时间】下的【星期几】【工作从】【工作至】修正到符合中文语法。

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

原文:http://blog.sina.com.cn/s/blog_7cb52fa80102w684.html
感谢原作者!
影响postgresql性能的几个重要参数 (2016-05-08 20:47:50)转载▼
标签: odoo openerp 9.0 分类: Postgresql数据库
本人现在开发的所有项目都使用postgresql,应用下来对它很是满意,现就影响postgresql性能的几个重要参数介绍如下,希望对PG的初学者有所帮助,如果你在实际应用中遇到什么问题,可给我留言,我们一起解决:

PG的配置文件是数据库目录下的postgresql.conf文件,8.0以后的版本可支持K,M,G这样的参数,只要修改相应参数后重新启动PG服务就OK了。

shared_buffers:这是最重要的参数,postgresql通过shared_buffers和内核和磁盘打交道,因此应该尽量大,让更多的数据缓存在shared_buffers中。通常设置为实际RAM的10%是合理的,比如50000(400M)

work_mem: 在pgsql 8.0之前叫做sort_mem。postgresql在执行排序操作时,会根据work_mem的大小决定是否将一个大的结果集拆分为几个小的和 work_mem查不多大小的临时文件。显然拆分的结果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。通常设置为实际RAM的2% -4%,根据需要排序结果集的大小而定,比如81920(80M)

effective_cache_size:是postgresql能够使用的最大缓存,这个数字对于独立的pgsql服务器而言应该足够大,比如4G的内存,可以设置为3.5G(437500)

maintence_work_mem:这里定义的内存只是在CREATE INDEX, VACUUM等时用到,因此用到的频率不高,但是往往这些指令消耗比较多的资源,因此应该尽快让这些指令快速执行完毕:给maintence_work_mem大的内存,比如512M(524288)

max_connections: 通常,max_connections的目的是防止max_connections * work_mem超出了实际内存大小。比如,如果将work_mem设置为实际内存的2%大小,则在极端情况下,如果有50个查询都有排序要求,而且都使 用2%的内存,则会导致swap的产生,系统性能就会大大降低。当然,如果有4G的内存,同时出现50个如此大的查询的几率应该是很小的。不过,要清楚 max_connections和work_mem的关系。