Alan Hou的个人博客

Odoo 13开发者指南第一章 安装Odoo开发环境

由于Odoo 13 Development Cookbook, Fourth Edition这本书迟迟未发布,从进度上看还很遥远,有些读者可能希望使用更新的 Odoo 13版本来学习“开发指南”一书,所以 Alan 自己在对部分章节进行重学的同时,也整理出一些新版本中可能遇到的问题以供读者参考。

 

Odoo生态系统

Odoo为开发者提供了开箱即用的模块结构。它强大的框架有助于开发者很快地创建项目。在成为成功的Odoo开发者之前,应当要熟悉Odoo生态中的一些特性。

Odoo版本

Odoo有两个版本。第一个是社区版,完全开源,第二个是企业版,需要授权证书费用。不同于其它软件供应商,Odoo企业版仅仅是在社区版基础上添加了一些额外功能/应用的高级应用。基本上来说,企业版运行于社区版之上。社区版采用Lesser General Public License v3.0 (LGPLv3)许可证书,并带有企业版企业资源计划(ERP)的所有基础应用,如销售、客户关系管理(CRM)、发票、采购、网站构建器等等。而企业版采用 Odoo 企业版许可证书,这是一个自有证书。Odoo 企业版带有高级功能如完整的财务、studio、基于IP的语音传输(VoIP)、移动端响应式设计、电子签名、营销自动化和快递与银行的集成。企业版还提供无限漏洞修复。下图显示企业版依赖于社区版,也就是说需要先有社区版才能使用企业版:

你可以通过https://www.odoo.com/page/editions查看这两个版本的完整对比。

ℹ️Odoo有数量庞大的社区开发人员,这也是在应用商店中可以看到有大量的第三方应用(模块)的原因。大部分免费应用使用Affero General Public License version 3 (AGPLv3)许可证书。如果你的应用依赖于这些应用就不能使用其自有证书。Odoo自有证书的应用仅能在拥有LGPL或其它自有证书的模块基础上进行开发。

Git仓库

Odoo的完整代码托管在GitHub上。可以在那里对稳定版提交漏洞/问题。还可以通过提交拉取请求(Pull Request – PR)来提议添加新功能。Odoo有许多个仓库,参见下表来获取更多信息:

仓库用途
https://github.com/odoo/odoo这是 Odoo 的社区版。对公众开放。
https://github.com/odoo/enterprise这是 Odoo 的企业版。仅对Odoo 官方合作伙伴开放。
https://github.com/odoo-dev/odoo这是不断开发中的仓库。对公众开放。(已废弃)

每年,Odoo会发布一个大版本(长期支持(LTS)版本)和数个小版本。小版本多用于Odoo的在线SaaS服务,表示Odoo的SaaS用户可以更早地使用这些功能。GitHub 上大版本分支的名称像13.0, 12.0和11.0,而小版本分支名称有saas-13.1, saas-12.1和saas-12.2。master分支处于开发中,并随时可能发生改变。因此,不建议在生产环境中使用,因为它可能导致数据库的崩溃。

Runbot

Runbot是Odoo的自动化测试环境。它会从Odoo的Git仓库拉取最新分支并创建最近4个提交的构建。这里,你可以测试所有的稳定版和开发中分支。甚至可以使用到企业版并测试它的开发分支。

每个构建有不同的背景色,表明测试用例的状态。绿色背景表示所有的测试用例成功运行,可以测试该分支,而红色背景表示在这个分支上有些测试用例出错了,有些功能在该构建上可能崩溃了。可以查看到所有测试用例的日志,会显示在安装过程中所发生的具体问题。每个构建有两个数据库。数据库all安装了所有的模型,而数据库base仅安装了基本的Odoo模块。每个构建均安装了基本演示数据,因此可以快速进行测试而无需额外的配置。

ℹ️使用如下 URL 来访问runbot:http://runbot.odoo.com/runbot

以下账户信息可用于访问任一runbot构建:

ℹ️这是公共测试环境,因此有时可能会有其它用户使用/测试你所测试的相同分支。

Odoo应用商店

Odoo几年前发布了应用商店,当时就获得了成功。现在,那里托管着26,000多个不同的应用。在应用商店中,你可以找到大量的针对不同版本的免费和付费应用。这包含不同垂直业务领域的具体解决方案,如教育、食品行业和医药业。它还包含一些继承了已有Odoo应用或添加了新功能的应用。应用商店还为Odoo网站构建器提供了大量的美观的主题。在第四章 创建Odoo插件模块中,我们将学习如何为你的自定义模块设置价格和币种。

可以通过如下链接访问Odoo应用商店:https://www.odoo.com/apps

Odoo社区联盟(OCA)

Odoo社区联盟(OCA)是一个开发/管理Odoo社区模块的非营利组织。所有的OCA模块都开源并由Odoo社区成员维护。在OCA的GitHub中,可以找到针对不同Odoo应用的多个仓库。除Odoo模块外,它还包含很多工具、迁移库、会计本地化等等。

以下是OCA官方GitHub账户的URL:https://github.com/OCA

官方Odoo帮助论坛

Odoo 有一个非常强大的框架,大量的操作只需通过选项或按照指定的模式即可实现。因此,如果碰到了一些技术问题或是对一些复杂用例不确定,那么你就可以在Odoo官方帮助论坛上询问。这个论坛上有大量活跃的开发人员,包含一些Odoo官方的员工。

在如下 URL 上可以搜索或提交你的问题:https://help.odoo.com/

通过源码轻松安装Odoo

安装使用系统Ubuntu 18.04

  1. 运行如下命令来安装主要依赖
  2. 下载并安装wkhtmltopdf:
  3. 安装配置PostgreSQL
  4. 配置git(以下信息请自行修改):
  5. 克隆 Odoo 基础代码:
  6. 创建一个venv-odoo-13.0 虚拟环境并激活它:
  7. 在virtualenv中安装Odoo的Python依赖:
  8. 创建并启动你的第一个Odoo实例:

    译者注:-i base参数用于初始化数据库
  9. 在浏览器中访问http://localhost:8069(虚拟机请修改为对应的 IP 地址),并使用admin账户和密码admin来进行登录

 

输入默认登录账号、密码 admin/admin 即可登入后台,总体布局和应用与 Odoo 12相比变化均较小

激活Odoo开发者工具

从 Odoo 13开始Settings菜单中已无Share the love版块,需在 url 中自行添加?debug=assets 来激活开发者工具,如http://localhost:8069/web?debug=assets#xxxxxx,并且仅使用?debug已不再有效。

Odoo 数据库管理

如前面安装所示,Odoo 所使用的数据库是PostgreSQL,有很多习惯使用了 MySQL的小伙伴们一定会问是不是可以换成 MySQL?在技术上而言一切皆有可能,但建议不要折腾,根据资料显示Odoo本身就借用到了一些 PostgreSQL的特性,其次这种级别迁移的成本不会低。

退出移动版