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

Odoo Alan 4年前 (2020-06-03) 10185次浏览 4个评论 扫描二维码

由于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)、移动端响应式设计、电子签名、营销自动化和快递与银行的集成。企业版还提供无限漏洞修复。下图显示企业版依赖于社区版,也就是说需要先有社区版才能使用企业版:

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

你可以通过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构建:

  • 登录ID: admin 密码: admin
  • 登录ID:demo 密码: demo
  • 登录ID: portal 密码: portal

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

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

Odoo应用商店

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

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

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

Odoo社区联盟(OCA)

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

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

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

官方Odoo帮助论坛

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

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

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

通过源码轻松安装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来进行登录

 

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

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

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

激活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的特性,其次这种级别迁移的成本不会低。

喜欢 (14)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. Odoo 13开发者指南只写了2篇文章吗?
    老易2020-07-07 14:29 回复
    • Alan
      Packt 官方并未显示有在近期发布 Odoo 13开发指南 的计划,我这里是对 Odoo 12开发指南进行的一些补充,以学习角度而言 Odoo 13和 12变化并不是很大,因此完全可以使用同一本书进行学习,在时间允许的情况下我也会对后续章节中两个版本存在的不同进行补充。
      Alan2020-07-07 14:43 回复
  2. In Enterprise version, activate the developer mode is at the end of "General Setting" Page. There is a addon plugin called "Odoo Debug" in Chrome or Firefox browser, using it is easier than typing "?debug=assets" in url to activate the developer mode.
    BeautyBaby2020-06-26 07:33 回复
    • Not just in In Enterprise version.
      andy2020-06-28 14:07 回复