隨筆-86  評論-767  文章-3  trackbacks-3

          第五節(jié)? Liferay Portal的品質(zhì)

          Liferay Portal支持個性化的皮膚和外觀設(shè)計,并將此作為品質(zhì)單獨管理。

          2.5.1? 什么是品質(zhì)

          品質(zhì)是Liferay Portal的外觀,包括題材和色彩設(shè)計兩個部分。題材主要影響Portlet窗口的樣式和Portal的整體效果,包括Portlet邊框格式、功能按鈕、Portal頁面效果等等。色彩設(shè)計主要影響PortalCSS樣式效果。

          Liferay Portal默認(rèn)定義了多種題材效果和色彩設(shè)計效果。使用者可以在“品質(zhì)選項卡中很容易的選擇自己滿意的品質(zhì)。

          2.5.2? 品質(zhì)和PortletPortal的關(guān)系

          品質(zhì)跟PortletPortal的呈現(xiàn)效果有很大的關(guān)系。通常應(yīng)該根據(jù)Portlet內(nèi)容選擇適當(dāng)?shù)钠焚|(zhì)即題材和色彩設(shè)計。

          題材對Portal的影響主要體現(xiàn)在背景和整體風(fēng)格上面,以及Portlet和其他功能菜單的布局位置。色彩設(shè)計主要影響Portal的字體大小以及顏色等效果。

          題材主要控制Portlet生成的窗口的樣式效果,包括邊框效果、標(biāo)題樣式等等。色彩主要控制Portlet窗口的字體效果,包括字體大小、字體顏色等等。

          選擇合適的題材和色彩設(shè)計對于Portal頁面的整體呈現(xiàn)效果有明顯的影響。如下圖:
          圖2.5.2-1.jpg
          圖2.5.2-2.jpg

          ? 定義個性化的品質(zhì)

          用戶登錄Portal系統(tǒng)之后,點擊功能菜單上的“品質(zhì),進(jìn)入品質(zhì)定制頁面。選擇適當(dāng)?shù)念}材和色彩設(shè)計,相應(yīng)的品質(zhì)效果立即生效。

          返回桌面查看品質(zhì)效果。

          使用者可以在二次開發(fā)的時候定義自己的品質(zhì),只要按照規(guī)范,在部署描述文件中定義可用的品質(zhì),Liferay Portal就可以自動調(diào)用。如下圖:

          圖2.5.3-1.jpg

          第六節(jié)? Liferay Portal的部署描述文件

          跟所有的Web應(yīng)用一樣,Liferay Portal采用多個XML部署描述文件,來初始化部署信息,規(guī)范操作模式,比如Portlet的初始化信息、可用的Portlet列表、Portlet所屬角色和用戶組等等。通過這些部署描述文件,Liferay Portal可以在啟動的時候自動加載Portlet,根據(jù)需要生成所需的Portlet頁面。普通的Web應(yīng)用,也可以很方便的轉(zhuǎn)換成可部署的Portlet。這種實現(xiàn)也是JSR168所規(guī)定的。

          2.6.1? web.xml

          web.xml是所有Java Web應(yīng)用的部署描述文件。其正式的規(guī)范由http://java.sun.com/dtd/web-app_2_3.dtd 定義。

          ?????? 與其他普通Web應(yīng)用相比,Liferay PortalPortlet 應(yīng)用還需要在web.xml中增加如下內(nèi)容:

          a、監(jiān)聽器:

          ??????

          ?????? com.Liferay.portal.servlet.PortletContextListener

          ??????

          這個要求web 服務(wù)器監(jiān)聽所有跟Portlet有關(guān)的請求信息,并將監(jiān)聽到的內(nèi)容交給Liferay PortalPortlet容器處理。

          bPortlet Servlet映射:

          ??????

          ????????????? yourPortlet

          ????????????? com.liferay.portal.servlet.PortletServlet

          ?????????????

          ???????????????????? Portlet-class

          ???????????????????? full.name.of.yourPortlet

          ?????????????

          ????????????? 0

          ??????

          ?????? 。。。。。。。。。。。。。。。。。。。。。。。。。

          ??????

          ????????????? yourPortlet

          ????????????? /yourPortlet/*

          ??????

          其中,servlet-name為部署的servlet名稱;init-param中定義自己的Portlet類,這個param-name要跟portlet.xmlliferay-portlet.xmlliferay-display.xml中的portlet-name節(jié)點值一致。

          c、標(biāo)簽庫映射:

          ??????

          ????????????? http://java.sun.com/Portlet

          ????????????? /WEB-INF/tld/liferay-Portlet.tld

          ??????

          定義了這個標(biāo)簽庫映射,在JSP文件中才可以使用諸如在內(nèi)的一些特定的Portlet標(biāo)簽。

          如果在應(yīng)用中有用到其他的元素,可以按照web.xml規(guī)范加入到相應(yīng)的位置當(dāng)中。

          Liferay Portal默認(rèn)的liferay應(yīng)用,由于使用了StrutsHibernateSpring在內(nèi)的多個開源框架,所以{PORTAL_HOME}/liferay/WEB-INF/web.xml文件會相對復(fù)雜些。

          在自定義的Portlet,可以使用getPortletConfig().getInitParameter(“ ”)getPortletConfig().getParameterNames(“”)兩個方法來取得在web.xml中定義的參數(shù)。

          2.6.2? portlet.xml

          portlet.xml用來定義Portlet的諸如部署名稱、初始化參數(shù)、支持模式、resource bundle等普通的初始化信息,包括:portlet-namedisplay-nameportlet-classinit-paramexpiration-cathesupportsportlet-infosecurity-role-ref等等。其正式的規(guī)范請參考:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd 。根目錄為portlet-webapp

          portlet-namePortlet的規(guī)范名稱,在Portlet應(yīng)用中必須唯一,主要用在Portlet部署和映射中。

          display-name:供部署工具調(diào)用的Portlet簡稱,在Portlet應(yīng)用中必須唯一。

          portlet-classPortlet對應(yīng)的類,這個類必須直接或者間接的繼承javax.Portlet.GenericPortlet

          init-param:初始化參數(shù),有成對的子元素。通常定義Portlet相應(yīng)模式下可用的JSP頁面。

          expiration-cathe:定義Portlet加載允許最長的過期時間,以秒為單位。-1代表用不過期。

          supports:定義Portlet支持的模式。所有的Portlet都必須支持瀏覽模式。

          其他的元素含義請參照:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd

          當(dāng)Web 應(yīng)用中有多個的Portlet時,可以統(tǒng)一的在Portletxml中定義一組的元素。

          ??????

          ????????????? TestPortlet

          ????????????? TestPortlet

          ????????????? com.educhina.portal.FirstPortlet

          ?????????????

          ???????????????????? view-jsp

          ???????????????????? /view.jsp

          ?????????????

          ?????????????

          ???????????????????? edit-jsp

          ???????????????????? /edit.jsp

          ?????????????

          ????????????? 0

          ?????????????

          ???????????????????? text/html

          ?????????????

          ?????????????

          ???????????????????? text/html

          ???????????????????? edit

          ?????????????

          ?????????????

          ???????????????????? educhina Test Portlet

          ???????????????????? educhina Test Portlet

          ???????????????????? educhina Test Portlet

          ?????????????

          ?????????????

          ???????????????????? guest

          ?????????????

          ??????

          ?

          2.6.3? liferay-Portlet.xml

          定義Portlet默認(rèn)可用的用戶組、默認(rèn)模板、是否支持多個實例等,規(guī)范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd 定義。

          liferay-portlet.xml主要包含單獨或者成組的。其中,下包含等子元素,在應(yīng)用中必須唯一,且要跟portlet.xml相同;下包含成對的子元素。具體的元素含義請查看上述dtd定義。

          ??????

          ????????????? TestPortlet

          ????????????? TestPortlet

          ????????????? true

          ????????????? true

          ??????

          ??????

          ????????????? administrator

          ????????????? Administrator

          ??????

          ??????

          ????????????? guest

          ????????????? Guest

          ??????

          ??????

          ????????????? power-user

          ????????????? Power User

          ??????

          ??????

          ????????????? user

          ????????????? User

          ??????

          2.6.4? liferay-display.xml

          定義Portlet默認(rèn)的所屬類別。Liferay PortalPortlet實行按類別管理和劃分用戶權(quán)限。正如我們在用戶策略中提到的,可以制定某個類別可用的用戶組、用戶和角色,方便權(quán)限控制。Liferay-display.xml規(guī)范由http://www.liferay.com/dtd/liferay-display_3_5_0.dtd 定義。

          Liferay-display.xml中,下成組的描述了可用的類別,其中portlet元素的id必須與liferay-portlet.xmlportlet-name保持一致,且在應(yīng)用中唯一。

          ??????

          ?????????????

          ??????

          2.6.5? liferay-layout-templates.xml

          定義Portal可用的布局。正如我們在布局與品質(zhì)中提到的那樣,Portal采用tpl文件來規(guī)劃桌面的布局。liferay-layout-templatesxml采用成組的layout-template來構(gòu)建一個可用的布局列表。此xml的規(guī)范由http://www.liferay.com/dtd/liferay-layout-templates_3_6_0.dtd 來定義。

          本文采用Liferay Portal默認(rèn)的布局,暫時不需要定義自己的布局,故不準(zhǔn)備深入討論。讀者有興趣可以自己查看相關(guān)資料。

          ??????

          ????????????? /html/layouttpl/1_columntpl

          ??????

          ??????

          ????????????? /html/layouttpl/2_columns_itpl

          ??????

          ??????

          ????????????? /html/layouttpl/3_columnstpl

          ??????

          ?????? 1-2-1 Columns">

          ????????????? /html/layouttpl/1_2_1_columnstpl

          ??????

          2.6.7? liferay-look-and-feelxml

          定義Portal可用品質(zhì)的模板、圖片、樣式表等等,定義完畢后,Portal可以通過“布局與品質(zhì)”管理工具來進(jìn)行品質(zhì)的切換。Liferay-look-and-feel.xml規(guī)范由http://www.liferay.com/dtd/liferay-look-and-feel_3_5_0.dtd 定義。

          本文采用Liferay Portal默認(rèn)的品質(zhì),不準(zhǔn)備對品質(zhì)的自定義深入探討。有興趣的讀者可以查看相關(guān)資料。

          ?

          posted on 2005-10-20 16:01 eamoi 閱讀(5120) 評論(3)  編輯  收藏 所屬分類: Java

          評論:
          # re: 【原創(chuàng)】Liferay Portal二次開發(fā)指南(7) 2005-10-20 21:56 | 江南白衣@ITO
          hello,這幾篇指南加篇總索引好么,方便加入精華區(qū)(如果一篇一篇的加七篇好麻煩呢)  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal二次開發(fā)指南(7) 2005-10-21 00:12 | Dennis
          liferay 我最近才用過

          它只是看起來好而已
          內(nèi)裏的問題很多, 和 source code 也極亂.....
          除此之外最大問題是說明文件不足, i18n 不良....



          PS.
          layout-templates 不是整頁的 template, 只是 portlet aggregate 用的
          look and feel 也不是 template, 只是類似 windows 的 theme 而已
          而且很難寫



          liferay 這玩意
          "用" 是可以, 但只限它完成度比較高的剖份
          "寫"........準(zhǔn)備惡夢吧.......


          我看要等它一兩年, 大約 4.5 版就差不多可以用了  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal二次開發(fā)指南(7) 2005-10-21 08:36 | eamoi
          現(xiàn)在的版本確實存在不少的問題,code寫的比較亂,文檔也很少。不過相信會慢慢改善。

          總目錄稍后會加,等文章到都貼完了。  回復(fù)  更多評論
            
          主站蜘蛛池模板: 咸阳市| 阿拉尔市| 平南县| 神池县| 都昌县| 佛教| 常德市| 疏勒县| 杭锦旗| 凤阳县| 衢州市| 砀山县| 北票市| 东光县| 石景山区| 泊头市| 呼和浩特市| 万山特区| 台山市| 青岛市| 额尔古纳市| 阳泉市| 浙江省| 浦江县| 明星| 大新县| 青铜峡市| 嘉禾县| 莱州市| 察哈| 松江区| 沙洋县| 华坪县| 卢龙县| 凤阳县| 商都县| 大兴区| 玛多县| 大庆市| 阿鲁科尔沁旗| 桐乡市|