👉为便于后期转为社区维护及方便翻译内容问题的跟进和处理,已将内容整理转存至 GitHub
2018年还剩两天,果然我这个重度拖延症患者的 Odoo 11系列(最好用的免费ERP系统Odoo 11开发指南)还没更新完,而快速迭代的 Odoo 早已进入版本号12的时代。国内 Odoo社区拥抱新版本的速度还是很快的,虽然有功能上的诟病也有对官方文档错误的抱怨但生产环境采用 Odoo 12的也是越来越多了,据说单号版本的宿命就是会被快速遗忘。于是本人又特别没有出息地迅速从Packt上购入了Odoo 12 Development Essentials – Fourth Edition,用于新一轮的研究。
好了,闲言少絮,换个标题重新来过。
本手册包含五个部分,首先是 Odoo 框架的概述:创建开发环境并一起开发第一个 Odoo 应用。在对 Odoo 主要组件渐渐熟悉后,我们将深入更进一步的细节-模型、业务逻辑、视图这三个主要应用层。最后我们需要把应用部署到生产环境、进行维护,这将在最后一章进行讲述。
新增:Odoo 12开发者指南(Cookbook)第三版已更新完毕🙈🙉🙊
注:有人问我为什么要加三只猴子,这是我自己致敬 Google 的一个梗,三不猴典出《论语》,“非礼勿视,非礼勿言,非礼勿听。”,英文顺序略有变化:see no evil, hear no evil, speak no evil,说到 no evil 聪明的你应该明白了吧?遇到问题请多用 Google😀
新增:Odoo 13官方文档之开发者文档,已完结,可以算做“Odoo开发全家桶”系列的完结了😂
新增:Odoo 14全新前端框架 OWL(Odoo Web Library)官方文档中文版,不定期更新中…
WHY THIS VERSION?
其实这本书并不只有我所翻译的这一个中文版,而且很多人选择了集体的力量,他们中很多人也是 Odoo 开发的大牛。所以Alan 的版本一定不是市面上最好的,要从客观上承认差距,那么是不是选择这个翻译版本就没有任何优势呢?
我觉得选择这个版本的好处在于:
- Alan 与大多数读者一样对 Odoo 的了解并不够深入,因此整个版本中会以初学者的角度来进行分享,便于理解
- 与很多自动翻译再校对不同,Alan 对这本书是自己逐字翻译的,基本可保证在“说人话”
- 与多人协作相比,独自翻译显然在经验和效率上都会存在欠缺,但可以确保自成体系,不存在前后不一致的情况
- Alan 是翻译与学习并行,因此大部分坑均已踩过,对于原书前后不一致和存在的错误都进行了修复或补充说明,并且所有代码都亲自验证执行过
全书目录
➣第一章 使用开发者模式快速入门 Odoo 12
初稿完成时间:2018年12月30日深夜(今天上海下雪了❄️❄️❄️☃️,显然地上并无积雪)
➣第二章 Odoo 12开发之开发环境准备
初稿完成于2019年1月4日 @神奇的地铁16号线上
初稿完成于2019年1月6日( 数了数页数快完成1/3了,嗯,今天晚餐加🍗)
➣第四章 Odoo 12 开发之模块继承
初稿完成时间:2019年1月8日凌晨
初稿完成时间:2019年1月9日
初稿完成时间:2019年1月11日深夜
初稿完成时间:2019年1月12日(行程过半了,但真正的挑战才刚刚开始💪💪💪)
初稿完成时间:2019年1月14日凌晨
➣第九章 Odoo 12开发之外部 API – 集成第三方系统
初稿完成时间:2019年1月15日
初稿完成时间:2019年1月17日
➣第十一章 Odoo 12开发之看板视图和用户端 QWeb
初稿完成时间:2019年1月19日
➣第十二章 Odoo 12开发之报表和服务端 QWeb
初稿完成时间:2019年1月20日
➣第十三章 Odoo 12开发之创建网站前端功能
初稿完成时间:2019年1月21日
➣第十四章 Odoo 12开发之部署和维护生产实例
初稿完成时间:2019年1月23日
代码地址:https://github.com/alanhou/odoo12-development
备注:关于使用五笔输入法打字产生的错误深表歉意,虽然经过一轮校对,但想必还是有漏网之鱼😂
WHAT’S NEXT
在 Odoo 方向上自然是学无止境的,个人更倾向于把它看作一个框架。往纵深里挖掘还是需要花费很大功夫的,显然需要一个群体共同的努力。但Alan 翻译完这本书之后短暂的方向是再翻译一些其它书籍,当然还有我自己“脱贫致富计划”也会消耗掉大量时间。
知其然还要知其所以然,Odoo 后台开发有中两大利器:Python 和 PostgreSQL,Python会考虑挑选一个方向的书来进行翻译(补充:已选定方向为:精通Python自动化脚本-运维人员宝典),PostgreSQL我自己就更陌生了,但听说发展态势也很不错,鉴于 MySQL 早已被 Oracle 收购,了解一下PostgreSQL的高级知识想来也是不错的储备,更不用说它对于 Odoo本身的重要性了(补充:已选定要翻译的图书为PostgreSQL 11数据库管理员指南)。不过这次为了其它的计划我会放慢一些脚步。
其它:
致 Odoo 社区:
Odoo 是我个人非常看好的一套软件/框架,但因各种原因尚未能在所处公司大规模推行,因而也少了很多第一手使用经验。同时也因本人的开发能力有限,所以暂时还不具备为社区贡献完整插件的能力,希望能够通过本系列文章为 Odoo 的推广和开发知识普及尽到绵薄之力。
2018年12月30日
Notes:
1、文中 Model 一并译为模型,Module 译为模块,而 extend/extension 则根据具体上下文使用扩展和继承。
2、Base View 原译为基视图,后修改为 base 视图
3、部分代码在测试中发现错误将直接进行修改并不在文中单独注明
4、文中插件(Addon)、应用(Application)和 Addon Module(插件模块)将出现混用的情况。但熟悉 Odoo 的朋友都知道仅当在__manifest__.py 中声明 application:True 时才可在 Apps 过滤中显示
5、原书在进行不同功能测试时使用了多个不同数据库,我做了一定程度上的统一
6、关于 in-place 和 addons:我的理解in-place即是不创建新模型在原处进行修改,本系列中部分保留了 in-place 未予翻译;而 addons 我译为插件,但总觉得不太合适,因为它与传统认为的 plugins 又不尽相同
7、Action 文中多译为操作,如 Window Action 译为窗口操作,或可译为动作或行动
8、Transient model在文章中使用了过渡模型和临时模型的译法,又译作瞬态模型
9、Compose 在文中译为了重构,因 Recordset本身是不可变的,似为 decompose 多译为解构,因此译作重构
10、关于 function(函数) 和 method(方法):方法一般是类中的函数,而函数则是类以外的函数,原文中混用比较严重,我对大部分做了调整,但可能也保留了部分原文的说法
11、follower 一般根据语境译为粉丝、追随者,其实订阅者可能更为贴切,但本系列中出于笔者习惯大多数未予以翻译,保持了原英文;partner 也基本如此
12、按照 PEP8规范,类上方应空两行,方法上方应空一行,Alan 在代码中为节省空间,类的代码上方仅空了一行