返回頂部
關閉軟件導航
位置:首頁 > 技術分享 > SEO優化>全球排名第一的免費開源ERPOdoo快速開發平臺開發入門

理解Odoo結構中的各個層以及我們要使用的各類型組件的作用大有裨益。下面我們先總覽下Odoo應用結構,然后把應用開發解構為對應組件。

然后Odoo發布有兩個版本的定期更新:社區版和企業版,我們應了解兩者之前的差別以及大版本發布對開發和部署所帶來的變化。首先來看看Odoo的應用結構:

Odoo遵循多層結構,即前述的數據層、邏輯層和展示層:

數據層是很底端一層,負責數據持久化存儲,Odoo借助PostgreSQL來實現。Odoo出于設計考慮僅支持PostgreSQL數據庫,而不支持MySQL這一類數據庫(有第三方應用可集成MySQL)。文件附件、圖片一類的二進制文件通常存儲在一個稱為filestore(目錄)的文件系統中。

“小貼士:也就是說Odoo實例的完整備份需包含數據庫和filestore的拷貝?!?

邏輯層負責與數據層的所有交互,并由Odoo服務完成。通常,底端數據庫不應通過這一層獲取,只有這樣才能保證權限控制和數據一致性。在Odoo的核心代碼中包含供這一接口使用的ORM(對象關系映射Object-relationalMapping)引擎。ORM提供插件模塊與數據交互的API。

比如像客戶和供給商這樣的partner數據實體,是通過模型的ORM體現的。這一模型是一個Python對象,支持多種交互方法:create()方法用于創建新的伙伴記錄,read()方法用于查詢已有記錄和對應數據。通用方法可在特定模型中實現指定業務邏輯,如create()方法可以設置默認值或強化驗證規則,read()方法可支持一些自動計算字段或根據執行操作的用戶來實施權限控制。

展示層用于展示數據并與用戶交互,通過客戶端實現用戶體驗??蛻舳伺cORMAPI交互來讀、寫、驗證或執行其它操作,通過RPC調用ORMAPI方法。這些操作發往Odoo服務器端操作,然后結果發送回客戶端做進一步處理。

對于展示層,Odoo自帶全面功能的web客戶端。該客戶端支持所有業務應用所需功能:登錄會話、導航菜單、數據列表、表單等等。全局展示不會像前端工程師所認為的那樣可深度定制,但易于創建功能性和連貫的用戶體驗。配套的展示層包含網站框架,可像其它CMS框架一樣靈活地創建網頁,當然需要額外的操作和web相關知識。網站框架支持通過web控制器實現代碼來展示特定邏輯,而與模型內在邏輯進行區隔。前端工程師不會有什么操作上的障礙。

Odoo服務端API非常開放,包含所有服務端功能。Web客戶端使用的API與其它應用的API并無不同。因此,其它的客戶端實現均可做到,并且可以在任何平臺上使用任意編程語言進行實現。可以創建桌面和移動端應用來提供不同用戶界面,這充分利用了Odoo為業務邏輯和數據持久性而生的數據和邏輯層。

Odoo是這款軟件的名稱,同時也是發布軟件的公司名稱。Odoo采取核心開源的業務模式,社區版(CE)完全免費開源,而企業版(EE)則是一款付費產品。社區版提供了全部的框架功能和大多數與Odoo捆綁的業務應用基礎功能。Odoo采取LGPL開源協議,答應在開源模塊之上添加專屬擴展。企業版建立在社區版基礎之上,包含社區版所有功能和額外的獨有功能。值得一提的是企業版帶有一個移動端優化的用戶界面,兩個版本的用戶界面底層完全相同。Odoo在線SaaS服務使用的是企業版,會部署一些企業版大版本發布之后的中間版本。

在寫本文時,Odoo的穩定版本號是12,在GitHub上的分支為12.0,這也是本系列文章所采用的版本。近年來Odoo的大版本都是按年發布,Odoo12是在2021年10月份的Odoo體驗大會上發布的。官方支持很近的三個穩定版本,在12.0發布時,官方仍然維護11.0和10.0兩個版本,而停止對9.0的支持,也就是不再對bug和安全漏洞進行修復。

應當注重Odoo不同大版本間的數據庫并不兼容,比如在Odoo11服務端運行早前版本的Odoo數據庫,系統將無法運行。在不同版本間遷移數據庫也頗費周折。對于插件模塊也是如此,通常老版本中開發的插件無法在新版本中生效,所以在網上下載社區模塊時,應注重選擇對應的版本。

此外,大版本(如10.0,11.0)會被頻繁的更新,但這些通常僅僅是bug的修復。這些修復會確保API穩定,也就是模型數據結構和視圖元素標識符也會保持穩定。這點非常重要,因為這意味著我們的自定義模塊不會因上游核心模塊的不兼容修改而崩潰。

Master分支中的版本將產生下一個穩定的大版本,但在形成穩定版之前,將不會保持API穩定,我們應避免使用它來創建自定義模塊。否則會如同在流沙中行進般不確定,我們無法保證什么改變會導致自定義模塊的崩潰。

首先我們需要一個Odoo實例來進行學習,本文僅要求運行一個Odoo實例,與具體的安裝方法無關。想要快速運行,我們可以使用一個預打包的Odoo發布,甚或是使用OdooSaaS的試用版本。

“小貼士:中國本地化的OdooSaaS體驗版本可訪問:【開源智造官網】獲取線上測試試用環境”

一鍵安裝包可以在Odoo官網上下載,包含各個版本及主分支,這里有Windows安裝包(.exe)、Debian安裝包(.deb)和CentOS安裝包(.rpm)。要在Windows上安裝,僅需在對應版本的nightly文件夾中找到.exe并進行安裝。安裝包非常方便,它包含安裝Odoo所需的所有部分:Python3、PostgreSQL數據庫、Odoo服務端以及其它Odoo依靠。安裝時會創建一個Windows服務在開機時自動啟動Odoo和PostgreSQL。

“小貼士:除了Odoo官網提供的Windows安裝包之外,開源智造咨詢有限公司也提供了一鍵安裝啟動的綠色版Odoo體驗包”

Docker是一個快捷運行應用的跨平臺解決方案,在MacOS,Linux和Windows上均可使用。與傳統的虛擬機相比,容器技術使用更為簡單、資源利用率更高。首先需要在操作系統中安裝Docker,可從Docker官網上下載免費使用的DockerCE(社區版),很新安裝方法可在Docker官網上查看。

應該注重虛擬化要求在BIOS配置中進行開啟,并且Windows版本的DockerCE需要有Hyper-V,它僅在Windows10企業版或教育版才會帶有(Windows系統要求),而Mac系統需要為OSXElCapitan10.11或更新版本。對于其它的Windows和MacOS版本,應安裝DockerToolbox,DockerToolbox打包了VirtualBox并提供了預設置的shell,用于作為操作Docker容器的命令運行環境。

在Odoo商店中包含Odoo鏡像,在那里找到對應版本,按照提示進行安裝。要使用Docker運行Odoo,我們需要兩個容器,一個運行PostgreSQL數據庫,一個運行Odoo服務。

安裝通過命令行窗口完成,安裝PostgreSQL容器:

dockerrun-d-ePOSTGRES_USER=odoo-ePOSTGRES_PASSWORD=odoo-ePOSTGRES_DB=postgres--namedbpostgres:10

全球排名第一的免費開源ERPOdoo快速開發平臺開發入門

此時便會從互聯網上下載很新的PostgreSQL鏡像,并在后臺開啟一個容器來進行運行。

接下來安裝Odoo服務容器,并且連接剛剛啟動的PostgreSQL容器,在本地暴露8069端口:

dockerrun-p8069:8069--nameodoo--linkdb:db-todoo

此時便可在終端窗口看到實時的Odoo服務器日志,在瀏覽器中輸入localhost:8069即可打開Odoo實例。

“小貼士:假如8069端口被占用了,則Odoo服務啟動會失敗。此時我們需要停止占用該端口的服務或者使用-p參數指定其它端口來運行Odoo,如修改為8070端口(-p8070:8069)。此時可能還需要通過-d參數修改實例所需使用的數據庫名稱?!?

以下Docker的基本指令會有助于治理容器:

dockerstop停止指定容器

dockerstart啟動指定容器

dockerstart-a啟動容器并附帶輸出,如命令終端中輸出的服務器日志

dockerattach重新添加容器輸出至當前終端窗口

dockerps列出當前Docker容器

以上就是操作Docker容器的基本命令,萬一在運行容器時出現問題,可以執行如下命令(可省略container)重新來過:

dockercontainerstopdb

dockercontainerrmdb

dockercontainerstopodoo

dockercontainerrmodoo

Docker技術的應用非常廣泛,更多知識可參見Docker官方文檔。

Odoo也有Linux系統的安裝包,包含Debian系(如Ubuntu)和RedHat系(如CentOS和Fedora)。官方文檔中有相關說明,也可參考開源智造咨詢有限公司所編寫的:《OdooERP架構部署指南》一書的有關章節內容。

對于源碼安裝會相對復雜,但可變性也更強,在第二章開發環境預備中還會具體介紹。

赤事蜘序命傲變盈真良圓部潑毛茅題批劑之稻奮網絨擴撤篇抵結蜂魯遭異表畢規華蓮拔籃墾敗貍匹戚戰人倚巨侄慕愉裹助參紛咐彩豆蹈率果俗前掃睛達傅哭更餐諒洗喝必雙底基直些悠述纖愿游雜杏陳央夢日喬萍功姿般運斃吉一芒順毅糖司儉幕隸好陣哨伯敞蟻界睡傍萬聚萍鄰忽痛屈袖秩塔拳籌油噸灣肥養晶顧爸鉤士越喝供帶臉形嫁俊娘載陸墾角五階衡愛驕歪墓大店暈呈綢載啄崖承銅功庸赤雞校趣蹦斥陡宜步南巴陡霉瓜嫁城衰烏帶秘盞囑簡霧徹如董常橋顛飼棉淺添蘇驢愉各攻貴沿撐北斗屯嘗勺宴爽返田免監車圾4Qe。全球排名第一的免費開源ERPOdoo快速開發平臺開發入門。網站快排我選樂云seo,迪點seo,seo的作用有哪些分類,子域名黑帽seo,怒江420seo-1066,seo推廣薇信153-5825-1800

如果您覺得 全球排名第一的免費開源ERPOdoo快速開發平臺開發入門 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 国产亚洲精品成人久久网站| 四虎精品成人免费影视| 欧美成人一区二区三区在线电影 | 亚洲AV成人噜噜无码网站| 四虎精品成人免费观看| 欧美在线成人午夜网站| 天天摸天天碰成人免费视频| 国产成人亚洲精品电影| 麻豆成人精品国产免费| 成人午夜福利视频镇东影视| 国产成人一区二区三区高清| 亚洲AV成人中文无码专区| 国产综合成人亚洲区| 亚洲国产成人精品无码区在线观看| 欧美成人在线视频| 992tv成人影院| 国产成人av一区二区三区在线观看 | 久久亚洲国产精品成人AV秋霞| 1000部国产成人免费视频| 国产成人精品A视频一区| 青青国产成人久久激情91麻豆| 国产成人无码专区| 成人性a激情免费视频| 久久亚洲精品成人综合| 亚洲国产精品成人午夜在线观看| 怡红院成人影院| 成人做受120视频试看| 欧美成人小视频| 欧美成人在线影院| 78成人精品电影在线播放 | 亚洲色成人WWW永久在线观看| 怡红院成人影院| 国产成人综合久久精品免费| 成人欧美精品大91在线| 精品久久久久久成人AV| 久久精品成人欧美大片| 亚洲成人免费电影| 亚洲欧美成人一区二区在线电影| 国产v片成人影院在线观看| 免费观看成人羞羞视频软件 | 成人区人妻精品一区二区不卡视频|