Alan Hou的个人博客

【翻译中】Odoo 14开发者指南(Cookbook)第四版

👉为便于后期转为社区维护及方便翻译内容问题的跟进和处理,已将内容整理转存至 GitHub

在该GitHub组织中同时包含Odoo 12的手册和指南(v12分支),以及 Odoo 13的官方开发文档(未校对),读者可自行获取,遇到问题欢迎提交 Issue 或 PR,如果愿意,可以充分利用 Git便捷的特性一同进行文档的维护(Linus确实是个牛人,Linux之后还能推出Git,当然技术圈的大牛着实太多,Dannis Ritchie, Ken Thompson, 龟叔… 当然,出于名字的考虑,我决定最服的还是Alan Turing – 图灵大神,就问你服不服?)。

顺便声明一下:任何以我的名义或未以我的名义对本人所翻译的内容进行收费的,均与本人无关哈~~~

推荐免费学习资源:

Odoo 14开发者指南(Cookbook)第四版,是一套提供了各类开发场景的完整资源,帮助读者通过Odoo框架构建复杂商业应用。不论你是希望自定义已有模块、新建模块,还是自定义网站或后台web客户端(JS),本书都讲解到了Odoo开发的方方面面。

在最新的发行版中,强大的Odoo框架为快速应用开发提供了广泛的功能。这本新的Odoo开发指南有助于读者探索Odoo 14中的新功能并学习如何从零开始使用这些功能开发Odoo应用。读者还将学习到Odoo 14中新的网站概念并一睹Odoo的新web客户端框架OWL(Odoo Web Library的简称)。

在完成安装后,就开始通过真实世界中的案例来探索Odoo框架。然后从基础创建一个新的Odoo模块并逐步了解高级的框架概念。读者还将学习到如何修改已有应用,如销售点应用(PoS)。这本书不只限于后端开发,还包含用于新建视图和微件的高级JavaScript章节。接下来你还将学习到网站开发并通过学习性能优化、调试和自动化测试成为一名合格的Odoo开发者。最后,我们会讲解一些高级概念,如多网站、应用内购买(IAP)、Odoo.sh、IoT Box(物联网盒子)以及部署相关知识。

使用Odoo CMS的动态构建代码块可以创建出美观的网站;进而学习到一些高级概念,如缓存、预加载和调试;通过新的OWL框架修改后台JavaScript组件和POS;通过远程过程调用(RPC)来连接和访问Odoo中的任意对象;通过Odoo.sh管理、部署并测试Odoo实例;配置IoT Box添加及升级POS硬件,并了解如何实现IAP服务。

在本书的最后,读者可以掌握到构建迷人Odoo应用所需的所有知识,并且会对开发的最佳实践了然于胸,这对于使用Odoo框架也会非常有益。

本书面向的读者

本书对于新入门或希望通过Odoo框架开发出高效的商业应用的有经验的Odoo开发者均适用。具备Python和JavaScript的基础知识在学习本书时将获益更多。

关于学习中的问题:

本书的内容对于初学者而言还是比较密集的,因原文已经很长,部分像视图这样的辅助代码需要读者自行添加,所以在发现比较吃力或按照书中描述仍会出现错误时,请注意参考 GitHub 对应章节的代码。

这本书看原版的读者可能会遇到一些问题。一方面是由于原书最早是基于 Odoo 13编写(未能成书),后来在这个基础上进行的修改,导致有一些地方未完全修改过来。另一方面本书的作者较多,同时由于成书时间跨度的原因会在一些地方存在疏漏。

关于代码:

前面所说的学习中的问题有些在翻译过程中已进行修改,此外就是建议参考本书的代码,为便于后续修改,Alan 也维护了一套代码,在翻译过程中会保持更新:https://github.com/alanhou/odoo14-cookbook。章节中的代码并非都是逐步扩展的方式,主要是作者考虑到代码过多会让读者在繁杂的代码中很难进行学习,也更不易于自己 debug,在恢复使用某一老版本作为基础代码时,建议读者在后台中先卸载掉当前系统中的应用,再进行学习。

关于翻译:

本书的翻译主要是为了弥补第三版翻译的缺憾,该版虽然也花费了不少精力,但并未对所译的内容进行较好的打磨,后期章节的代码也只进行了部分验证。这一版我初步想法是必须要对每段代码进行验证,翻译水平至少与Odoo 12开发手册持平(当时每章至少进行过一次译后校对)。

最后有些人会希望我分享本书的英文原版 PDF,这里要统一说一声抱歉。有心者网上自然有其它下载渠道,我本人是用曾经购买的Packt一年会员剩余积分购买的本书,并且也不想助涨盗版,听起来很矛盾吧,因为我把翻译看成一种再创作(虚伪的人类总喜欢为自己找借口~),虽然往往并没有什么超越。愿意支持原书作者的可访问:

亚马逊

Packt(电子书打折时单买5美元,会员9.9美元/月,可阅读全站所有付费内容)

Oreilly(其实我想强烈安利ACM会员,一年仅25美元,其中一项增值服务就是Oreilly全站电子书及视频免费看,这是真的给力,Early releases可以让看书可以看出超前点播的感觉✌️,是不是优越感十足?补充:ACM会员已无法再免费阅读 Oreilly 的电子书了,但有一个 hack 方式,Oreilly 注册的新会员可免费使用10天,而它甚至没有对输入的邮箱进行验证码校验,聪明的你应该不需要我再说什么了吧?)

这本书很可能是我翻译的最后一本 Odoo 主题的书(未来获得版权再翻译另当别论,在此也感谢曾主动联系过我的出版社,它们是电子工业出版社,好吧,就只有一家😜,抱歉,待我先沉淀两年再合作哈~~),所以希望不会烂尾。以后再翻译就对官方文档进行升级或是自己总结吧,要么就相忘于江湖咯!

✅表示整理完毕,☘️表示校对中,欢迎留下宝贵意见和建议

本书的主要内容

第一章 安装Odoo开发环境:讲解如何为Odoo创建开发环境、启动Odoo、创建配置文件以及启用Odoo开发者工具。

第二章 管理Odoo服务端实例:提供安装来自GitHub插件的一些有用贴士以及在实例中组织源代码的讲解。

第三章 创建Odoo插件模块:讲解Odoo插件模块的结构并提供从零开始创建一个简单的Odoo模块的操作指南分解。

✅第四章 应用模型:聚焦于Odoo模型结构,并讲解所有字段类型及它们的属性。本章还包含通过继承模块来扩展已有数据库结构的相关技巧。

第五章 基本服务端开发:讲解Odoo中执行增删改查(CRUD)操作的各类框架方法。本章还包含继承和扩展已有方法的各种方式。

第六章 管理模块数据:展示如何和模块代码一并进行数据的迁移。还讲解在新发行版中插件修改了数据模型时如何编写迁移脚本。

第七章 调试模块:提供调试Odoo代码的不同策略并介绍了Python调试器。本章包含在开发者模式下运行Odoo的一些技巧。

第八章 高级服务端开发技巧:讲解ORM框架更高级的课题。对于开发向导、SQL视图、安装钩子(hook)、on-change方法等非常有用。本章还讲解了如何在数据库中执行原生SQL查询。

第九章 后端视图:讲解如何为数据模型编写业务视图以及如何在视图中调用服务端方法。涵盖了常用视图(列表、表单和搜索视图),以及一些更为复杂的视图(看板、图形、日历、透视表等)。

第十章 权限安全:讲解如何在Odoo实例中指定谁可以执行什么操作,方式有创建安全组、编写访问控制列表定义在给定模型中每个组可执行的操作,在必要时还可以编写记录级的规则。

第十一章 国际化:展示Odoo中语言翻译的原理。还讲解如何安装多语言及导入/导出所翻译的词语。

第十二章 自动化、工作流、Email和打印件:描绘了Odoo中为记录实现业务流程的不同工具。还展示了如何使用服务端动作和自动化规则来对业务规则进行支持。本章还讲解可生成动态PDF文档的QWeb报告。

第十三章 Web服务端开发:涵盖Odoo web服务端的核心内容。展示了如何创建自定义URL路由来在指定URL上提供数据服务,以及如何对这些URL进行访问控制。

第十四章 CMS网站开发:讲解如何使用Odoo管理网站。还展示了如何创建和修改美观的网页和QWeb模板。本章还包含如何创建带选项的动态网页构建代码块。它包含一些管理 SEO、用户表单、UTM追踪、网站地图和获取访客地理信息的独立小节。本章还强调了Odoo中最新的多站点概念。

第十五章 网页客户端开发:深入到Odoo的JavaScript部分。涵盖了如何创建新字段微件以及对服务端发送RPC调用。还包含如何从零开始创建全新的视图。读者还将学习到如何创建操作向导。

第十六章 Odoo Web Library (OWL),介绍名为OWL的新客户端框架。涵盖了OWL组件的生命周期。还包含从零创建字段微件的小节。

☘️第十七章 Odoo的应用内购买:涵盖有关Odoo最新的应用内购买(IAP)概念的所有内容。本章中会学习到如何为IAP创建客户端和服务模块。读者还将学习到如何创建IAP账户并从终端用户提取IAP款项。

第十八章 自动化测试用例:包含如何编写和执行自动化测试用例。这包括服务端、客户端测试用例。本章还包含导览测试用例以及对失败的测试用例设置headless Chrome来获取视频。

第十九章 使用Odoo.sh管理、部署和测试:讲解如何通过PaaS平台Odoo.sh来管理、部署和测试Odoo实例。还涉及到如何管理各类实例,如生产、预发布和部署阶段。本章还包含针对Odoo.sh的各种配置选项。

第二十章 Odoo中的远程过程调用(RPC):涵盖从外部应用连接Odoo实例的不同方式。本章教你如何通过XML-RPC、JSON-RPC和odoorpc库连接Odoo 以及从Odoo实例访问数据。

第二十一章 性能优化:讲解用于获取Odoo中性能提升的不同概念和模式。本章包含预提取、ORM缓存和代码性能测试来监测性能问题的概念。

第二十二章 POS(销售点):涵盖 POS 应用的自定义。包含对用户界面、添加新动作按钮、修改业务流和扩展客户菜单的自定义。

第二十三章 在Odoo中管理Email:讲解如何在Odoo中管理email和chatter工具。通过配置邮件服务器开始,然后讲解Odoo框架的邮件API。本章还涵盖Jinja2和QWeb邮件模板、表单视图、字段日志和活动的聊天工具。

第二十四章 管理IoT盒子:给出了最新的IoT盒子硬件的重点讲解。本章涵盖如何配置、访问和调试IoT盒子。还包含一个集成IoT盒子到你的自定义插件的示范。

退出移动版