如何为Odoo增加新的模块

Administrator


Odoo10源代码中内置了将近四百多个模块,能够满足很多企业的信息化初期要求。在Odoo的Apps中有上万个模块,有很多都是免费的,那么我们如何安装这些模块呢?

对本文的理解基于以下几个前提:

  • 了解Odoo的安装的服务器操作系统

  • 了解Odoo安装之后的源码目录

  • 了解Odoo的模块


目前,除了Odoo源代码自带的那些模块,用户能够下载模块的地方只有一个,那就是官方的Apps,搜索到自己想要的模块之后,下载的时候注意版本即可。

在前面的课程中我们已经了解了Odoo的模块存放位置,但是为了区分官方自带的模块和我们(即用户)自行安装的一些模块,我们通常将自行安装的模块放到一个单独的目录中,例如我们在addons的同级位置创建一个目录myaddons,表明这个目录存放的是我们自行安装的模块。

单纯的创建一个myaddons目录,将模块代码上传到这个目录之后,Odoo系统并不会找到这些模块,我们需要在Odoo的配置文件中增加我们的myaddons目录。

我们的开发服务器镜像将Odoo安装在/opt/odoo-10.0目录中,配置文件位于/opt/odoo-10.0/odoo10.conf,自行安装的模块目录位于/opt/odoo-10.0/myaddons

所以,我们的配置文件中的addons_path应该设置为:  addons_path = /opt/odoo-10.0/addons,/opt/odoo-10.0/myaddons

我们自己下载的,或者无论从什么途径获得的模块,无论是什么格式的压缩包(zip、tar.gz),只要最终保证一点,就是文件结构。例如,假设我们下载了一个odoo_test模块,那么该模块上传到服务器之后的文件结构应该满足下面的条件。

假设odoo_test为10版本的模块,那么我们称odoo_test这个文件夹为模块根目录。

在模块根目录下面有一个_ _manifest_ _.py文件(为了便于区分,此处是故意将两个下环线用空格隔开,实际是没有空格的。)

所以,上传之后的文件目录应该是

/opt/odoo-10.0/myaddons/odoo_test/_ _manifest_ _.py

我们的开发服务器镜像跟通常的生产环境是一样的,使用的是root账户,所以文件上传的时候不会发生因为权限问题而上传不上去的情况。

上传文件之后还要将文件的权限改成与Odoo其他模块一致。

在ubuntu下,查看文件权限的命令是  ll (两个小写的L)

我们的开发服务器中Odoo的权限是 odoo10:odoo10,而新上传的模块文件是root:root,所以更改文件权限(确切的说应该是所有者)的命令如下:

sudo chown -R odoo10: /opt/odoo-10.0/myaddons/odoo_test

接下来,需要重启Odoo的服务器,此处就不说怎么重启了。

然后用admin账户登录Odoo之后,打开开发者模块,点击应用菜单下的“刷新应用列表”,然后在模块列表中搜索odoo_test即能看到我们的新模块。

注意:搜索模块的时候,官方默认的apps过滤器也差掉!

留下评论

你应该 登入 张贴评论