Liferay:對Liferay框架的幾點分析總結

http://blog.csdn.net/smilingleo/article/details/1933541


一、JSP中如何使用Tab

Liferay的jsp頁面中,如果用了tab的選項,則tab1爲第一層,tab2爲第二層,tab3爲第三層,從上到下,爲父子關係。

如何開發一個帶選擇框的列表應用?
1、建立數據庫模型(廢話)
2、建立dao及相關portlet.service服務框架,接口和Util
3、實現服務接口;
4、開發對應的JSP頁面;
5、開發相應的Action;
6、在liferay中進行配置Portlet

這裏重點說一下如何開發JSP頁面的內容。
頁面一:初始化頁面init.jsp
引入需要的包,類以及一些初始化工作;

頁面二:查詢、顯示頁面 view.jsp, search.jsp,search_contents.jsp
可以根據group, article name進行查詢,查詢結果在同一個頁面中顯示,用帶選擇框的列表。

二、內置Portlet

有一些Portlet是內置的,並沒有在liferay-display.xml中配置進行顯示,但是卻會被其他Portlet引用,比如:ID:87, Layout Configuration; ID 88, Layout Management; ID 90:, Portal; ID 92:Messaging, ID 103:Tags Compiler, ID 113:Portlet CSS 

三、如何自動生成初始化數據?

在系統中,通過一些系統變量的設置,以及VM模板的應用,可以通過DBBuilder來產生默認的系統初始化數據SQL,具體請參見DBBuilder, DBUtil.buildTemplate(), evaluateVM()的實現,以及portal-data-sample.vm

四、如何實現客戶化定製查詢?

portal-impl/classes/custom-sql/default.xml中定義自定義查詢的SQL列表,具體哪個模塊有對應的xml做定義,比如journal.xml,<sql id="查詢類的查詢方法">

五、數據結構分析

liferay中每個page(layout)的界面順序是通過layout表的priority,layoutId, parentLayoutId字段來確定的。

organization_表中存儲組織和場所,通過location=0 or 1來區分是組織還是場所;

usergroup 存儲用戶組,user group與community, organization, locations不同,僅僅是用來做實現管理的便捷性。比如,將用戶分組,然後對這個組進行分配角色,這樣所有組中的用戶就都有了該角色,在數據庫存儲中,通過usergrouprole的關聯,與users_roles並列。

group_表中存儲communities, organizations, user

role_表存儲所有角色,其中type_ = 1表示是常規角色, type_=2表示是communities角色

account_ company_ 一起保存instance中存儲的數據;

user_表和contact_表:如果是自己註冊的用戶(或者系統自帶的默認用戶),則user_.userid = contact_.contactId - 1;如果是管理員創建的 contact_.userid = 創建人id;因此從另外一個角度來說,創建用戶的步驟應該是先在user_表中創建記錄,然後再到contact_表中插入;

用戶註冊,如果指定了一個組織的話,則會在註冊時users_orgs中插入對應記錄


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章