portal學習初階段一
讀者可以在下面三個網站上注冊自己的用戶,體會Portal的功能。
http://my.msn.com
http://my.yahoo.com
http://my.liferay.com
My MSN的功能最靈活強大,用戶可以任意拖放操作欄目(column)和內容版塊(content)的位置和個數。
My Liferay只能選擇固定的欄目(column)布局,但可以在本欄目(column)內移動內容版塊(content)的位置。
My Yahoo只能選擇固定的欄目(column)布局,而且不能移動內容版塊(content)的位置。
Portal的結構分為三層。
(1) Page
(2) Column,或者稱為Pane
(3) Content,或者稱為Portlet
我們來看看Portal的整個操作流程。
(1) 每個Column的下方都有一個[Add Content]按鈕,讓用戶選擇加入自己喜歡的內容。
從這里,我們知道,Portal系統里面有一個公用的Common Portlet Repository,供用戶選用。
JSR168 Portlet規范里面定義了Portlet Deployment Discriptor。Common Portlet Repository以這個Portlet Deployment Discriptor的格式存放。
開源項目JetSpeed的XReg文件用來存放Common Portlet Repository的定義。
(2) 加入Content之后,用戶的Page和Column里面就多了這個Content。下次用戶登陸的時候,就會看到自己訂制的Portal版面。
從這里,可以看出,Portal系統會紀錄用戶的個人Portal配置信息 – User Portal Config。
開源項目JetSpeed的PSML文件用來存放User Portal Config的定義。
Add Content的整個流程為:
Common Portlet Repository --> Add Content --> Personal Portal Config
Display Portal的整個流程為:
從Personal Portal Config讀取用戶配置的Portlet ID --> 根據Portlet ID,從Common Portlet Repository查找詳細的Portlet定義 --> 根據這個詳細的Portlet定義顯示這個Portlet。