不可否認,OFBiz這個開源的系統功能是非常強大的,涉及到的東西太多了,其實對我們現在而言,最有用的只有這麼幾個:實體引擎、服務引擎、WebTools、使用者權限管理。
最先要提醒各位的是,在配置一個OFBiz時,路徑中千萬不要包含空格,要不然老提示出錯,無外乎是scoket write error之類的資訊,會讓你鬱悶得不停^_^
使用者登入鑒權這一塊我們完全可以照搬OFBiz現有的東西,其實也就是調用包org.ofbiz.securityext.login.LoginEvents裡面的一些方法來進行處理。
Component定義:component-load.xml,可根據需要調整需在啟動時引入的Component,比如增加一個Study,定義:
<load-component component-location="${ofbiz.home}/components/study"/>
首先需要進行如下幾個項目的總體配置:
1、 entityengine.xml:實體引擎配置,主要是配置該資料的方式,如通過oracle訪問,就配置一下localoracle,特別需要注意的是,在dataSource中配置中,一定要配置一個屬性 - schema-name="OFBIZ",這個主要是為了在OFBiz啟動時能夠正常同資料庫的對象進行匹配,如果沒有進行配置,每次都會試圖重建立立對象,會報對象名已經被佔用的情況。
2、 serviceengine.xml:服務引擎配置,這個基本上不用作太大的修改,如要必要,可在這裡邊進行一些參數的調優,比如訪問線程數配置等。
之後需要在components目錄下建立一個目錄study,目錄裡面的一些檔案可直接從模板中拷貝,之後再進行必要的修改,涉及修改內容:
1、 entitygroup.xml & entitymodel 實體定義(3.0版本開始,各實體定義可在各自的Component下定義,而不必統一集中在commonapp下);定義實體及實體的相關屬性(其實也就是相當於資料庫的各種對象,需要注意的是,後續進行資料提取時,如果需要關聯到多張表,也需要在這裡面定義一個view-entity);
2、 services.xml:如果必要的話,可以這裡邊定義一些服務;
3、 data:一些初始配置資料,應該是相對固定,不經常變動的才放在這邊,可通過Webtool工具匯入到資料庫中;
4、 src:如改動了一些Java源檔案內容後,需要重新編譯該目錄的檔案,可通過UltraEdit的工具配置來進行ant編譯,非常方便,推薦使用,編譯後的檔案將產生到build目錄下,產生的檔案有各個class檔案,也有一些.jar包(放在lib目錄下),這些jar包是我們在Web應用中需要引用到的,當然,引用哪些包也是可配置的,下面會講到;
5、 ofbiz-component.xml:主要的設定檔,需要注意的一些東西:
(1)<classpath type="jar" location="build/lib/*"/> 這是jar引用路徑,我在考慮是否可改成直接引用class檔案,也就是直接設定class檔案所在的目錄;
(2)title="Study" 這個就是我們通過appbar.ftl檔案在主介面顯示的那一排按鈕上顯示的內容,可根據需要調整,調整完要重啟OFBiz,麻煩,可以考慮通過hot-deploy目錄進行發布。
至於其他一些配置,很簡單,看看就曉得。
下面講一下Web應用配置,Web應用配置中涉及到的最重要的兩個檔案是:controller.xml和regions.xml,controller.xml檔案主要是配置request-map,也就是請求映射關係,所有的請求映射都需要在這裡邊進行配置,也就是我們在Web頁面上常看到的/login等,如果涉及到view-map類型是region,就需要從region.xml檔案中去讀取配置,其實也就是配置各個region引用的處理頁面(可以是各種開發語言,比如Jsp、ftl等等)。另外,在region.xml設定檔中最重要的一部分就是MAIN_REGION的配置,就是整個網頁布局的配置,包括header、appbar、error、content、footer等等,其中appbar就是我們在前面剛剛提到的主介面上那一排按鈕的配置了,header、footer和error太簡單,不說了,我們主要要修改的東西都是在content這一塊上進行展現。
網頁中用到的一些樣式、公用的定義都是在main_template.jsp中寫入的,也需要在MAIN_REGION的屬性中配置引用的檔案。樣式定義檔案是引用images這個component,所以這個也是關鍵,不能缺的。
最後,講一講我對資料庫訪問的一些簡單的瞭解:對資料庫的訪問主要是通過GenericDelegator進行控制,包括一些常用的方法,如findAll、remove、store、create等等,具體的用法要去研究一下,其實也不算複雜,先建立一個GenericDelegator,如果是create、store就可以通過makeValue方法將一些欄位的值設定到GenericValue,之後再進行store或是create,具體文法要去參考一些文檔,還沒去看這一塊的東西。
最最需要訪問的一些文檔:OFBizChina 實體引擎配置指南、OFBizChina 區塊(Region)指南、OFBizChina 服務引擎配置指南、OFBizChina JSP標籤庫指南,當然,研究OFBiz的前提是要首先要理解MVC模式的概念,也就是View-Model-Control,否則一切都是空談。