### 模塊內目錄及文件結構說明
> OFBiz的模塊有標準結構, 每個目錄都有固定用途, 每個文件也有固定用途, 部分文件還有特殊標記.
>
> 下面我們來一起看一下:
>
> > 如果想先創建模塊然后回來對比著看, 可以先看[模塊創建](模塊創建.md)章節.
>
#### 模塊內目錄和文件介紹
~~~
newlearn - 模塊根目錄(模塊名稱, 一般模塊請求與之同名)
├build - 當前模塊已經編譯的java代碼。他們能夠使這個模塊運行,但不能僅僅靠它運行.
├classes - 這里是當前模塊java文件編譯過的 *.class 文件; java源文件在當前模塊的 newlearn/src 內
├lib - 將當前模塊的獨有的 *.class 文件打包成jar包, 名稱為 newlearn.jar
├config - 當前模塊使用的配置文件
└NewLearnUiLabels.xml - 國際化配置文件(當前模塊所有中英描述的配置文件; 命名: xxxUiLabels.xml)
├data - 當前模塊的表中一些初始化種子/演示數據(在初始化時 DemoData 可不導入數據庫; 其他為必須)
├NewLearnDemoData.xml - 臨時的表測試數據配置(命名: xxxDemoData.xml)
├NewLearnSecurityGroupDemoData.xml - 當前模塊涉及到的權限組及權限授予配置(命名: xxxSecurityGroupDemoData.xml)
├NewLearnSecurityPermissionSeedData.xml - 當前模塊涉及到的詳細權限配置(命名: xxxSecurityPermissionSeedData.xml)
└NewLearnTypeData.xml - 當前模塊涉及到的常量表種子數據配置(命名: xxxTypeData.xml)
├documents - 幫助文檔配置
└NewLearn.xml - 當前模塊的幫助文件配置
=
├entitydef - 實體表, 視圖, 實體觸發器 配置文件目錄, 是應用程序的數據模型定義。
├eecas.xml - 實體觸發器(配置某個表發生操作時觸發的事件)(命名: eecas.xml)
├entitymodel_view.xml - 表的視圖配置(可與[entitymodel.xml]文件合并)
├entitymodel.xml - 實體表配置(命名: entitymodel.xml)
├groovyScripts - Groovy語法編寫的邏輯代碼
├mililang - minilang的腳本配置文件(可用于后續程序升級), 業務邏輯的腳本文件。
├org/ofbiz/newlearn/PermissionServices.xml - 權限校驗的minilang配置
├servicedef - 服務, 服務觸發器 配置文件目錄
├secas.xml - 服務觸發器(配置某個服務發生操作時觸發的事件)(命名: secas.xml)
└services.xml - 服務配置文件(命名: services.xml)
├src - java編寫的邏輯代碼存放
├org/ofbiz/newlearn/PermissionServices.java
├template - 自定義的頁面顯示代碼 ftl/js/images/css/img 等文件存放
├testdef - 單元測試配置文件目錄
├NewLearnTests.xml - 單元測試配置文件
├webapp - 模塊核心訪問用代碼(有: 請求控制器, 模塊應用配置); 是web接口,
應用程序的最前端,一個ofbiz應用程序能有多個webapp應用程序。
├newlearn - 模塊的 應用程序節點(可有多個, 內部結構類似)
├error - 錯誤響應目錄
├error.jsp - 錯誤響應文件
├WEB-INF - 請求核心目錄配置目錄
├actions - 弱類型語言, 數據處理文件(test.groovy)
├controller.xml - 請求控制器配置文件(可有多個, 區分)
├web.xml - 模塊應用核心配置文件(唯一網站ID定義; 控制器定義; 請求過濾器定義...)
└index.jsp - 應用默認首頁(內部只有一句重定向語句)
├widget - 裝飾器文件目錄
├CommonScreens.xml - 模塊通用裝飾器配置
├NewLearnForms.xml - 裝飾器中引入的 Form 表單配置
├NewLearnMenus.xml - 裝飾器中引入的 Menu 菜單配置
├NewLearnScreens.xml - 一般 Screens 裝飾器配置
├ofbiz-component.xml -
~~~
- OFBiz開發手冊
- 關于
- 更新日志
- 快速引導
- 關于本書
- 關于作者
- 認知篇
- 認識OFBiz
- 什么是OFBiz
- 架構圖析
- 依賴庫
- 請求核心流程
- 獲取框架
- 衍生項目
- OFBiz的特點
- 框架特性
- 業務能力
- 框架優勢
- 框架劣勢
- 行業解決方案
- 架構對比
- OFBiz適應癥
- 適合我嗎
- OFBiz中國
- 中國業界
- 優秀博客
- 基礎篇
- 開發準備
- 操作系統
- 開發環境
- 框架導入IDE
- 配置運行
- 創建模塊
- 模塊介紹
- 模塊結構
- 模塊創建
- 模塊載入訪問
- 標準CRUD
- 文件關系
- 實體設計-Entity
- 國際化-UiLabel
- 配置菜單-Menu
- 配置請求-Controller
- 配置屏幕-Screen
- 配置表單-Form
- 配置服務-Service
- 配置業務腳本-Minilang
- 測試CRUD
- 基礎進階
- 中文環境配置
- 通用搜索服務
- 文件上傳
- Form表單驗證
- 導出PDF
- 導出Excel
- 發送Email
- 配置Job
- 配置視圖-view-entity
- 動態請求-ajax
- 常用功能
- 加速Gradle
- 常用命令
- 修改端口
- 調試模式
- 調試項目
- 重啟生效
- 數據導入
- 緩存清理
- 在線日志
- 更換數據庫
- 實體設計管理
- 表數據管理
- 配置本地dtd
- 使用Static靜態文件
- 驗證碼-RandomCode
- 主題切換-Theme
- 時區切換-TimeZone
- 語種切換-Language
- webtools在線框架管理功能介紹
- 編碼規范
- 駝峰命名法
- 代碼編碼規范
- 實體設計規范
- 字段類型規范
- 請求命名規范
- 業務實現規范
- 提高篇
- 環境上下文
- 上下文-ftl
- 上下文-groovy
- 上下文-event
- 上下文-form
- 上下文-screen
- 上下文-minilang
- 標簽API
- 實體設計-entitymodel
- 實體觸發器-eeca
- 國際化-UiLabel
- 菜單-Menu
- 請求-Controller
- 屏幕-Screen
- 表單-Form
- 服務-Service
- 服務觸發器-seca
- 腳本-Minilang
- 腳本-Groovy
- 模板-Freemarker
- 演示數據-Data
- PDF標簽-XSL-FO
- 工具類
- 調試-Debug.java
- 對象類型-ObjectType.java
- 字符串工具-StringUtil.java
- 日期時間-UtilDateTime.java
- 通用-UtilGenerics.java
- Http-UtilHttp.java
- 綜合-UtilMisc.java
- 屬性-UtilProperties.java
- URL-UtilURL.java
- 校驗-UtilValidate.java
- XML操作-UtilXml.java
- 高級實現
- 忽略版本控制
- 配置項目使用MySQL數據庫
- 配置項目使用Postgres數據庫
- 擴展支付寶支付
- Webservice公共服務
- Rest接口
- Ftl自定義宏與使用
- 接入條形碼
- 接入二維碼
- 自定義主題-Theme
- error頁面自定義
- 接入SMS手機短信服務
- QQ微信聯合登錄
- 微信服務號接管
- 頁面靜態化
- CMS幫助中心
- 訪客IP與城市定位
- 使用二級域名
- Tenant多租戶應用
- date-time中國化顯示
- datepicker日期控件
- 圖片處理
- SSL安全證書
- 接入workflow
- 使用solr搜索引擎
- 生產服務器性能優化
- 框架篇
- 框架模塊
- 模塊關系
- 框架基礎-base
- 通用功能-common
- 運行容器-catalina
- 實體引擎-entity
- 靜態資源-images
- XML腳本-minilang
- 用戶權限-security
- 服務引擎-service
- 項目啟動-start
- 測試工具-testtools
- 應用站點-webapp
- 在線框架管理-webtools
- 裝飾器-widget
- 核心類
- 請求核心類
- 實體核心類
- 服務核心類
- 框架原理
- Start啟動過程
- 實體引擎
- 請求控制
- 服務引擎
- ECA觸發器
- 實體主鍵生成器
- Job定時任務
- 跨模塊免登陸訪問
- 無處不在的UEL表達式
- cache緩存的實現
- minilang原理
- 實體相關資源加載模式
- OFBiz支持的模塊目錄
- OFBiz請求處理過程分析
- 權限
- 權限介紹
- 權限分布
- 權限運用
- 重要文件
- 模塊加載component-load.xml
- 模塊配置ofbiz-component.xml
- 站點配置web.xml
- 緩存cache.properties
- 調試debug.properties
- 綜合配置general.properties
- 二維碼qrcode.properties
- 安全security.properties
- 服務端統計serverstats.properties
- 啟動配置start.properties
- 網絡訪問配置url.properties
- 裝飾器配置widget.properties
- 業務篇
- 業務模塊
- 業務介紹
- 模塊關系
- 內容-content
- 當事人-party
- 人事-humanres
- 商品-product
- 跟進-marketing
- 訂單-order
- 制造-manufacturing
- 人工服務-workeffort
- 財務-accounting
- 行業解決方案
- 電商綜合應用
- 運維篇
- 運行環境
- 服務器硬件要求
- Linux服務器初始化
- JDK安裝與配置
- MySQL安裝與配置
- SVN客戶端安裝
- Nginx安裝與配置
- 項目部署
- 項目父目錄
- 修改端口
- 一個服務器運行多個項目實例
- 運行項目
- 常用命令
- 番外篇
- 進階技巧
- 標準CRUD完整模板
- 參考書目與簡介
- 數據模型資源手冊
- Freemarker語法
- Freemarker介紹
- Groovy語法
- Groovy介紹
- Groovy比之Java
- OFBiz中的Groovy增強
- 常見問題
- Ftl中文亂碼
- PDF中文亂碼
- 數據庫中文亂碼
- Console中文亂碼
- 下載文件亂碼
- http鏈接存數據庫異常
- html代碼存數據庫異常
- OFBiz框架精簡
- OFBiz_v16.11初始化好慢 為什么?
- 怎么查看自己的項目基于OFBiz的哪個版本
- IDEA里Gradle執行命令時提示 No cached version available for offline mode 錯誤
- OFBiz為什么可以下載了就能直接運行起來用?
- 用IDEA手工執行Gradle指令
- 不允許你瀏覽這個頁面
- 使用[loadDefault]或[load-demo]指令到底加載了哪些實體和數據
- OFBiz中怎么手工導入Data.xml數據
- 怎么確認一個用戶是否配置并授予了某個權限
- 哪些情況下需要重啟OFBiz系統
- 如何清空緩存呢?
- MySQL或PostSQL等數據庫時,更新一個實體字段類型,重啟OFBiz并沒有生效,為什么?
- 實體添加字段,重啟在數據庫沒看到此字段,為什么?
- Gradle項目在Eclipse中自動鏈接依賴的jar包
- 解決Gradle項目導入Eclipse后拋出UnsupportedConfigurationException異常
- 為Eclipse安裝Gradle環境
- Eclipse配置顯示工具窗口
- 用Eclipse手工執行Gradle指令
- 回答問題
- 看云使用小記