IBM Lotus Quickr services for IBM WebSphere Portal 8.0 中定製元件

genusBIT發表於2009-07-06

轉自:developerWorks

作者:Axel Saß, 認證 IT 專家, IBM
Jon Brunn, 軟體架構師, Federated Integration Test team, IBM China Development Lab

內容的 Lotus Quickr 表示:基本概念

Lotus Quickr services for WebSphere Portal 使用組合應用程式的概念來建立空間。下載試用版 Lotus Quickr 8.0,這是一個基於 Web 2.0 的團隊協作產品。您可以在 developerWorks 文章 “在 WebSphere Portal V6 中構建組合應用程式和模板” 中瞭解組合應用程式概念的更多資訊。

一般而言,使用組合應用程式能夠實現目前的 IT 開發的多個方面。組合應用程式應該具有以下功能:

  • 重用部件
  • 讓這些部件彼此互動
  • 是一個完整的包,其中包含要部署的所有必要資訊
  • 能夠以模板的形式重用整個應用程式

Lotus Quickr 中打包了兩種不同型別的組合應用程式。Wiki、部落格和列表(例如公告、聯絡人和專案任務)使用 IBM Workplace Web Content Management 顯示其內容,而提要(feed)閱讀器和庫組合應用程式不使用 Workplace Web Content Management。

本文主要介紹如何定製使用 Workplace Web Content Management 的組合應用程式。我們仔細瞭解一下 Workplace Web Content Management 的一般概念。

Workplace Web Content Management 概念

在 Workplace Web Content Management 系統檢視中,內容是一個資料元素(比如文字、數字或影像)集合。您可以通過兩種方式與該內容互動:

  • 編寫模板(authoring template)。編寫模板用於建立或編輯內容。這些模板定義使用者介面希望如何建立或編輯特定內容。
  • 演示模板(presentation template)。演示模板用於顯示內容。

編寫模板被影射到演示模板。給定一個編寫模板和一個站點,就會有一個相關聯的演示模板被用於向使用者顯示內容。演示模板可以包括對 Web 內容元件的引用。當被演示模板引用時,Web 內容元件就會成為包含在演示模板中的可重用片段,就好象它們本來就在演示模板中一樣。Web 內容元件型別包括 HTML、影像、富文字、樣式表等。當您引用一個 Web 內容元件時,引擎既可以將引用替換為元件的內容(比如 HTML 或富文字元件),也可以將引用替換為 Web 內容元件的內容的 URL(比如影像或樣式表元件)。

圖 1 展示了不同的 Workplace Web Content Management 工件如何彼此互動。


圖 1. Workplace Web Content Management 工件
Workplace Web Content Management 工件

Workplace Web Content Management 元件

在 Lotus Quickr 的不同的演示模板中,使用了許多 Workplace Web Content Management 元素。元素表示如何向使用者提供某部分內容的資訊或該資訊是什麼格式。以下是 Lotus Quickr 組合應用程式的演示模板中使用的元素:


  • 用於與內容互動。可以選擇不同的操作:NEW、EDIT、DELETE、APPROVE、REJECT。

  • 用於顯示 HTML 程式碼。

  • 用於顯示選單。在 Lotus Quickr 的 Workplace Web Content Management 模板中,這個元素用於顯示一組條目,比如內容項。

  • 用於將 JSP 程式碼整合到 Workplace Web Content Management 元件中。舉例來說,這個元件可用於顯示正確的 Project Task 狀態圖。

  • 這個元素用於輸入文字。

  • 這個元素用於輸入富文字。

  • 這個元素用於輸入數字。

  • 這個元素用於輸入日期和/或時間。

  • 這個元素用於顯示一幅影像。

  • 這個元素用於輸入一個選項。

Workplace Web Content Management 遠端操作

Workplace Web Content Management 遠端操作 可用於建立一些連結,這些連結能夠觸發底層 Workplace Web Content Management 系統內的特定操作。您可以在 WebSphere Portal V6 文件中瞭解遠端操作的更多資訊。

遠端操作是一個 URL。通過將一個引數新增到 Workplace Web Content Management 應用程式的連結中,可以新增遠端操作。例如:

http://quickr.greenautos.com:10038/lotus/myquickr?wcmAuthoringAction=action

您可以使用不同型別的操作:

  • Delete
  • Edit
  • Read
  • Openmainview
  • New
  • 與工作流相關的操作:
    • Decline
    • Approve

一般情況下,不需要使用 Workplace Web Content Management 遠端操作來建立您自己的內容。可以使用 Authoring Tools 元件完成所有需要的任務。

定製依賴於 Workplace Web Content Management 的 Lotus Quickr 組合應用程式

在後面的內容中,我們將更全面地討論適用於 Wiki、部落格和列表的組合應用程式。這 3 種應用程式依靠 Workplace Web Content Management 來向使用者顯示它們的內容。對於每種組合應用程式,Workplace Web Content Management 都提供了對應的演示模板、編寫模板以及這些模板中使用的 Workplace Web Content Management 元件和樣式。

Wiki 組合應用程式

Wiki 組合應用程式支援使用者建立和編輯內容。建立的每個條目都能夠連結到其他條目。

圖 2 顯示了演示模板的 Wiki 區域。


圖 2. 演示模板的 Wiki 區域
演示模板的 Wiki 區域

Wiki 組合應用程式中使用了以下區域:

  • Wiki Icon - Icon
  • Wiki - Area New Page Action - Authoring Component - Used Actions: Create
  • Wiki - Page list Tools - Authoring Component - Used Actions: Delete
  • Wiki - Recently added Pages - Menu - Six Last Entries
  • Wiki - Recently modified Pages - Menu - Six Last modified entries
  • Wiki area - About Box - HTML - About Box plus Atom Feed:
    • Common Site area About Info
    • Common Site area About box Links

演示模板的 Wiki 區域中使用了下面這個元素:

  • all_wiki_pages - Wiki – Pages

圖 3 顯示了一個 Wiki 頁面。


圖 3. Wiki 頁面
Wiki 頁面

圖 4 顯示了 About 框和 Task 框的詳細資訊。


圖 4. About 框和 Task 框
About 框和 Task 框

Wiki 頁面中使用了以下區域:

  • Wiki Icon - Icon
  • Table of Contents - HTML
  • Table of Contents Trigger - HTML
  • Wiki - Edit Page - Authoring Component - Used Actions: Edit
  • Wiki page - Task Box - HTML
    • Wiki - New and Delete Page Link - Authoring Component - Used Actions:
      • NEW. New_button
      • EDIT. Wiki – Version and History Actions
      • DELETE
    • wiki_list - Wiki Pages
  • Wiki Page - About Box
    • Common Site Area - About Information
    • Wiki - References to Box
    • Feed Bookmark
    • Common Content - About box Links

Wiki 頁面中使用了下面這個元素:

  • comment_section - Document Posts show Component

可用於 Wiki 組合應用程式的編寫模板包括以下元素:

  • Wiki - Area
    • body - Rich Text
  • Wiki - Page
    • body - Rich Text

部落格組合應用程式

部落格組合應用程式支援使用者建立一組資訊片段。所有這些條目按照一定順序依次顯示。

圖 5 顯示了演示模板的部落格區域。


圖 5. 演示模板的部落格區域
演示模板的部落格區域

Blog - Entry 模板中使用了以下元件:

  • Blog Icon - Icon
  • Blog entry - Task Box
    • Blog - Edit Entry - Authoring Component - Used Actions
    • Blog - New Delete Entry - Authoring Component - Used Actions:
      • NEW
      • DELETE
  • Blog - Recent Entries
  • Blog entry - About Box
    • Common Content About Info
    • Feed Integration
    • Common Content About box Links

Blog 頁面中使用了下面這個元素:

  • comment_section - Document Posts show Component

圖 6 顯示了部落格頁面中使用的元素。


圖 6. 部落格頁面中使用的元素
部落格頁面中使用的元素

Blog - Main 頁面中使用了以下元件:

  • Blog Icon - Icon
  • Blog - Entry View - Menu - Renders the last 10 entries
    • Document Posts - Count
  • Blog - New Post - Authoring Component - Used Actions: NEW
  • Blog - Manage Blog Action - Authoring Component- Used Actions:
    • DELETE:
      • Blog - Manage - Presentation Template
      • Edit Portlet Settings - JSP
        /teamspace/jsp/html/edit_portlet_settings.jsp
  • Blog – Recent Entries - Menu - Display recently added entries
  • Blog view – About Box
    • Common Site Area – About Info
    • Feed Integration
    • Common Site area – About Box Links

圖 7 顯示了 Blog – Manage 頁面中使用的元件。


圖 7. Blog – Manage 頁面中使用的元素
Blog – Manage 頁面中使用的元素

Blog - Manage 頁面中使用了以下元件:

  • Blog Icon - Icon
  • Blog - Manage Posts View - Menu(這個選單列出可以管理的所有部落格文章。)
  • Blog - New Post - Authoring Component - Used Actions: NEW
  • Blog view - About box
    • Common Site Area - About Info
    • Feed Integration
    • Common Site area - About Box Links

可用於部落格組合應用程式的編寫模板包含以下元素:

  • Blog - Entry
    • blog - Rich Text

列表組合應用程式

列表組合應用程式是一個基礎模板。在 Lotus Quickr 中,它被用於以下組合應用程式:Project Tasks、Announcements 和 Contacts。每個列表的主要內容使用了一個基本的演示模板。這個演示模板然後使用一個模板對映進行配置,以使用依賴於列表的值例項化模板元素。

例如,看一下圖 8、9 和 10,您會看到元件 List – Main Icon 的外觀因實現(Announcements、Contacts 或 Project Tasks)的不同而不同。

圖 8 顯示了使用列表組合應用程式的 Announcements 實現。


圖 8. Announcement 區域
Announcement 區域

圖 9 顯示使用列表組合應用程式的 Contact 實現。


圖 9. Contact 區域
圖 9. Contact 區域

圖 10 顯示了使用列表組合應用程式的 Project Tasks 實現。


圖 10. Project Tasks 區域
Project Tasks 區域

List - Main 頁面中使用了以下元件:

  • List - Main Icon - Icon
  • List - Home Action Links - Authoring Component- Used Actions:
    • NEW. New_button - Create new list item
    • DELETE. List - Edit Portlet Settings - JSP
      /teamspace/jsp/html/list_edit_portlet_settings.jsp

List – Main 頁面中使用了以下元素:

  • New_button - 新的 Announcement、Contact 和 Project Task 按鈕的名稱
  • Menu - 用於顯示條目列表的元件名稱

圖 11 顯示了一個 Announcement 項。


圖 11. Announcement 項
Announcement 項

List – Announcement 項中使用了以下元件:

  • List - Main Icon - Icon
  • List - Item Action Links - Authoring Component - Used Actions:
    • NEW. New_button
    • EDIT
    • DELETE

List – Announcement 項中使用了以下元素:

  • New_button - 新的 Announcement、Contact 和 Project Task 按鈕的名稱
  • Comment_section - Document Posts – Show

圖 12 顯示了一個 Contact 項。


圖 12. Contact 項
Contact 項

List – Contact 項中使用了以下元件:

  • List - Main Icon - Icon
  • List - Item Action Links - Authoring Component - Used Actions:
    • NEW. New_button
    • EDIT
    • DELETE

List - Contact 項中使用了以下元素:

  • New_button - 新的 Announcement、Contact 和 Project Task 按鈕的名稱
  • Phone_number
  • Mobile_number
  • Work_number
  • Fax_number
  • Address
  • Company
  • Email_address
  • URL
  • Notes

圖 13 顯示了一個 Project Task 項。


圖 13. Project Task 項
Project Task 項

List - Announcement 項中使用了以下元件:

  • List - Project Task Priority Title Image - JSP
    • /teamspace/jsp/html/list_project_task_priority_titleicon.jsp
  • List - Update Task Status - JSP
    • /teamspace/jsp/html/list_update_task_status.jsp
      用於更新當前的任務狀態
  • List - Item Action Links - Authoring Component - Used Actions:
    • NEW. New_button
    • EDIT
    • DELETE
  • List - Project Task Status Image - JSP
    • /teamspace/jsp/html/list_project_task_status_image.jsp
      更改完成狀態

List - Announcement 項中使用了以下元素:

  • New_button - 新 Announcement、Contact 和 Project Task 按鈕的名稱
  • Description - Rich Text
  • Assigned_to - User Selection
  • Priority - Option Selection
  • Start_date
  • Due_date
  • Comment_section

編寫模板的名稱及其元素如下:

  • List - Announcement
    • body - Rich Text
    • type - Option Selection
  • List – Contact
    • phone_number - Text
    • mobile_number - Text
    • work_number - Text
    • fax_number - Text
    • address - Text
    • company - Text
    • email_address - Text
    • url - Text
    • notes - Rich Text
  • List - Project Task
    • description - Rich Text
    • assigned_to - User Selection
    • priority - Option Selection
    • percentage_complete - Number
    • start_date - Date and Time
    • due_date - Date and Time

      層疊樣式表

      可以使用不同的選項來更改 Lotus Quickr Teamroom 的外觀。developerWorks Lotus 文章 “Customizing themes in IBM Lotus Quickr services for IBM WebSphere Portal V8.0” 中描述的所有方法也適用於 Lotus Quickr 中的組合應用程式。但是由於一些組合應用程式使用 Workplace Web Content Management 作為它們的基礎,所以它們會使用一些變體。下面將介紹這些變體。

      在常規門戶樣式表中更改樣式

      組合應用程式中使用的大多數樣式都在下面的檔案中定義:

      \#wp_profile#\installedApps\porta\wps.ear\wps.war\
      themes\html\#Theme Directory#\styles_ibmportlet.jspf

      下面兩張螢幕截圖顯示了基本樣式。圖 14 顯示了 Wiki 頁面中使用的樣式。


      圖 14. Wiki 頁面中使用的樣式
      Wiki 頁面中使用的樣式

      圖 15 顯示了 Wiki 頁面的右側 —— 用於顯示常用樣式的選單部分。


      圖 15. Wiki 頁面右側使用的樣式
      Wiki 頁面右側使用的樣式

      接下來,我們通過一個例子來介紹如何更改原始操作的樣式。

      更改原始操作的樣式

      在 Lotus Quickr 基本主題中,原始操作與圖 16 中顯示的螢幕類似。


      圖 16. 原始的 Create 使用者介面
      原始的 Create 使用者介面

      要將這些操作的外觀從圖 16 中顯示的樣式更改為一個不同的樣式,執行以下操作:

      1. 建立兩個新影像。一個影像充當背景,另一個影像充當摺疊影像(twisty image)。例如,您可以使用基本主題提供的影像。可以在下面的目錄下找到背景影像:
        was_profile_root/installedApps/cellname/wps.ear/wps.war/
        themes/html/QPG/images/portlet/buttonBG.gif
      2. 可以在下面的目錄中找到摺疊影像:
        was_profile_root/installedApps/cellname/wps.ear/
        wps.war/images/icons/pb-menu.gif

        摺疊影像與主題是相互獨立的。這意味著您可以在一個伺服器上僅使用一幅摺疊影像。如果要這麼做,您應該使用一種適合於在伺服器上使用的所有主題的普通顏色。

      3. 開啟下面的檔案:
        was_profile_root/installedApps/cellname/wps.ear/wps.war/themes/html/
        custom_theme/styles_ibmportlet.jspf
        搜尋以下定義:
        .ibm-portlet-sidebar .primary-action-section BUTTON {
      4. 將這個定義替換為清單 1 中顯示的樣式定義。


        清單 1. 樣式定義
        						
        .ibm-portlet-sidebar .primary-action-section BUTTON {
           background: #E6F0FC url(./images/your-example.gif) left center repeat-x;
           color: #295500;
           border: 1px solid #295500;
           padding: 0.2em 0.5em;
           cursor: pointer;
        }
        

      5. 確保您的定義與清單 2 中的定義類似。


        清單 2. 修改之後的定義
        						
        .ibm-portlet-section-header-small .ibm-portlet-primary-actions BUTTON,
        .ibm-portlet-sidebar .ibm-portlet-primary-actions BUTTON,
        .ibm-portlet-sidebar .primary-action-section BUTTON {
          background: #E6F0FC url(./images/buttonBG-green.gif) left center repeat-x;
          color: #29550;
          border: 1px solid #295500;
          padding: 0.2em 0.5em;
          cursor: pointer;
          }
        

      6. 儲存檔案。
      7. 將包含新的背景 GIF 影像的檔案新增到主題中的影像目錄中。首先導航到:
        was_profile_root/installedApps/cellname/wps.ear/wps.war/
        themes/html/customized_theme/images

        然後,將新影像複製到該目錄。

      8. 將 pb-menu.gif 替換為該影像的新版本。首先導航到:
        was_profile_root/installedApps/cellname/wps.ear/wps.war/images/icons

        然後,將舊 pb-menu.gif 影像替換為新 pb-menu.gif 影像。

      9. 重新載入和編譯了主題之後,按鈕應該具有新的外觀,例如,它的外觀可能與圖 17 類似。

        圖 17. 修改之後的 Create 使用者介面
        修改之後的 Create 使用者介面

      有兩種例外情況無法使用更改樣式的常規行為。

      更改 Announcement 標題

      圖 18 中顯示的 Announcement 樣式 (content-title) 無法通過樣式表 JSPS 訪問。


      圖 18. 公告中使用的樣式
      公告中使用的樣式

      由於 List - Main Page 中的 Announcement 項、Contact 項或 Project Task 項是在 Teamspace portlet 中定義的,所以您需要將更改直接新增到指定的 Workplace Web Content Management 元件。圖 19 顯示了更改之前的 Announcement 標題。


      圖 19. 更改之前的 Announcement 標題
      更改之前的 Announcement 標題

      轉到 Lotus Quickr 主頁。選擇 Site Administration - Manage Content。在 Components 樹中,單擊以下每項的 Edit:

      • List - Announcements Menu
      • List - Contacts Menu
      • List - Project Task Menu

      對於每一項,轉到 Chapter Design for each menu search result,並在 class="teamspaceList" 之後新增 style="color: #enter_your_value_here",如圖 20 所示。


      圖 20. 突出顯示的文字被新增到 Workplace Web Content Management 元件中
      突出顯示的文字被新增到 Workplace Web Content Management 元件中

      結果應該與圖 21 類似。


      圖 21. 更改之後的 Announcement 標題
      更改之後的 Announcement 標題

      更改列表的分頁值

      無論是否顯示了列表(例如在 Library 應用程式或 Announcements 中),使用者都可以決定要顯示多少連結,如圖 22 所示。


      圖 22. 分頁值顯示
      分頁值顯示

      要更改底部的連結的顏色,您需要更改 wpsLink,後者位於 styles_theme.jspf 檔案中。由於這個類的值派生自當前使用的顏色主題,所以您必須在下面的程式碼中更改 bodyAnchor* 的值:

      \#wp_profile#\installedApps\porta\wps.ear\wps.war\themes\html\
      #Theme Directory#\colors\default.properties

      在這個檔案的開頭,找到圖 23 中突出顯示的區域。


      圖 23. 更改此 wpslink 文字
      更改此 wpslink 文字

      將這些值替換為新顏色的值。在我們的例子中,顏色值為 #295500,如圖 24 所示。


      圖 24. wpslink 的新文字
      wpslink 的新文字

      儲存 default.properties 檔案並重新編譯 styles.jsp。將最後的編輯時間更改為當前時間,以便讓伺服器知道它必須重新編譯該檔案。

      所做更改的結果應該與圖 25 中所示的影像類似。


      圖 25. 更改之後的編號
      更改之後的編號 

      與 Workplace Web Content Management 相關的其他資訊

      在以下各節中,介紹一些標準任務,以及您可能想要在所建立頁面中新增的增強功能。

      Workplace Web Content Management 元件中使用的 JSP

      JavaServer Page (JSP) 通常在需要一項特殊功能來顯示特定內容時使用。您可以在以下目錄中找到 Workplace Web Content Management 元件中使用的 JSP:

      \#PortalRoot#\installedApps\WCM_Teamspace_Portlet_######.ear\
      ######.war\teamspace\jsp\html

      確保將 ###### 替換為您的部署代號。

      如果您需要將程式碼新增到特定 JSP 檔案中,我們建議您建立一個新 JSP 檔案,複製舊檔案並將其放在一個不同的子目錄中。例如,將其放在下面的目錄中:

      \#PortalRoot#\installedApps\WCM_Teamspace_Portlet_######.ear\
      ######.war\teamspace\jsp\html\customized

      接下來,建立一個新 JSP 元件,並在演示模板中引用該元件。您然後應該將該子目錄複製到 portlet 外部的某個區域,以進行備份。

      此外,您應該新增一些註釋來說明在演示模板或 JSP 元件內部所做的更改。您必須新增一條註釋,因為應用修復包時,您無法確定定製的檔案不會被刪除。例如,您可能像下面這樣新增一條註釋:

      "The List - Project Task Priority Image component uses the list_
      project_task_priority_icon.jsp. This JSP renders the priority image of the project."

      新增 Back 連結

      要新增一個按鈕來指向應用程式的主螢幕,可以新增清單 3 中所示的程式碼。


      清單 3. 新增一個 Back 按鈕
      				
      " title="< Back to ">< Back to 
      

      這個 Back 按鈕總是在需要從一個細節頁面返回到主頁面時使用。例如,它可以用在 Blog – Manage 或 Blog – Entry 頁面中。

      在 Workplace Web Content Management 內容內部實現線上感知(people awareness)

      要實現根據使用者姓名感知其線上情況,可以新增一個感知圖示。這個圖示在使用者線上時是綠色的,當使用者離線時是灰色的。為了使人們能夠感知名稱,將以下屬性新增到 IDCmpnt 標籤中:

      start="
    • id=’contentAuthor’>" end="
    • "/>

      這個屬性在 Wiki – Area 頁面中使用。

      區域語言支援

      這一節介紹如何使用 Workplace Web Content Management 在 Workplace Web Content Management 和 Lotus Quickr 元件中實現區域語言支援(National Language Support,NLS)。字串 @nls@ 表示 Workplace Web Content Management 的一個 NLS 感知字串。當通過呈現 portlet 進行呈現時,Workplace Web Content Management 將這個鍵字串替換為一個 Workplace Web Content Management 屬性檔案中的值。在通過 Workplace Web Content Management 管理或編寫 portlet 檢視 Web 內容工件時,這些鍵不會被替換為它們的值。這個檢視允許網站設計人員檢視使用了哪些鍵並替換為新鍵。

      要在 Workplace Web Content Management 元件中新增區域語言支援,執行以下操作:

      1. 建立屬性檔案及其 NLS 變體:
        myNLS.properties
        myNLSproperties_en.properties

        在檔案中新增以下程式碼:

        mystring=My string
        my2string=My 2. string
      2. 原始檔必須位於 Workplace Web Content Management 團隊空間 portlet 的類路徑上。例如,可以將這些檔案放在 #Portalroot#\wcm\shared\app 中。
      3. 在 Workplace Web Content Management 元件中新增對 NLS 字串的引用:
        @nls:myNLS@mystring@ through the authoring portlets

      如果您需要更改一個字串,或向資源包中新增一些內容,需要重啟伺服器才能使新內容生效。

      將 Atom 提要新增到當前內容中

      要新增一個 ATOM 提要連結來訪問當前內容,將清單 4 中所示的程式碼新增到您想要在其中顯示連結的元件中。


      清單 4. 新增 Atom 提要

      ">
      

      此連結可以在 About 框元件中找到。例如 Blog entry – About box 就包含這個提要連結。


      通過新增新頁面來定製 Workplace Web Content Management 組合應用程式

      在新增新頁面之前,您應該思考以下問題:

      • 您需要提供新內容嗎?
      • 您需要建立一個新的內容項嗎?

      如果您決定建立一個新頁面,執行以下步驟:

      1. 定義組成內容的元素。然後建立一個編寫模板,您可以在其中輸入內容。瞭解與建立 編寫模板 有關的更多資訊。有了這個編寫模板之後,可以建立一個內容物件。
      2. 接下來,新增一個 演示模板 來顯示此資訊。
      3. 在建立了想用來顯示內容的演示模板之後,確定想要在該模板中使用哪個 Workplace Web Content Management 元件。有 3 個選項:JSP、Menu 和 HTML。如果您擁有靜態內容,則使用 HTML 元件。如果您想要顯示一個內容項列表,則使用 Menu 元件。如果您需要具有最高的靈活性,則使用 JSP 元件。
      4. 通過新增指向新頁面的按鈕或連結,可以將新增的內容整合到現有的站點結構中。

      下面看一個將頁面新增到部落格組合應用程式的例子。這個新頁面顯示當前使用者的部落格條目,應該從部落格主頁中訪問它。為了完成這個示例,我們使用一個個性化元件來選擇特定的部落格條目。這個元件具有區域語言支援功能。

      執行以下操作,新增區域語言支援的資源包:

      1. 在資料夾 #PortalserverRoot#\wcm\shared\app 中建立一個名為 myblogs.properties 的檔案。
      2. 為每個要被區域化的文字字串新增一個名稱/值對。對於 My Blogs 增強,可以新增以下檔案:
        myblogs.title=My Blog Entries
        myblogs.goto.page=Goto My Blog Entries
      3. 通過新增與語言相關的檔名稱,複製應該受支援的所有語言的檔案。對於英語,將 myblogs.properties 複製到 myblogs_en.properties。對於德語,將 myblogs.properties 複製到 myblogs_de.properties,然後翻譯該檔案中的所有條目。

      這些個性化規則目前不支援選擇型別為當前站點區域(current sitearea)的站點區域。可以使用一個請求引數來過濾出必要的內容項。要將當前的站點區域新增到請求物件中,呼叫一個 JSP 來新增必要的資訊。執行以下步驟:

      1. 在下面的資料夾中建立一個名為 customized 的目錄:
        #PortalserverRoot#\installedApps\WCM_Teamspace_Portlet_
        xxxxxxxxx.ear\xxxxxxxx.war\teamspace\jsp\html\customized
      2. 在下面的資料夾中建立一個名為 currentSite.jsp 的檔案:
        #PortalserverRoot#\installedApps\WCM_Teamspace_Portlet_
        xxxxxxx.ear\xxxxxxx.war\teamspace\jsp\html\customized

        由於安裝程式之間的差異,您可能需要將 xxxxxxx 更改為您的 Lotus Quickr 伺服器的部署 ID。搜尋 WCM_Teamspace_Portlet。這個檔案應該包含清單 5 中的程式碼。


      清單 5. 當前的 Site.jsp 的程式碼

      				
      
      
      
      
      
      
      

      接下來,執行以下步驟,將一個 JSP 元件新增到 Workplace Web Content Management 中的共享庫中:

      1. 單擊 Site Administration。
      2. 單擊 Manage Content。
      3. 選擇 New - Component - JSP。
      4. 在 Name 欄位中,輸入 blog_current_site。在 Display title 欄位中,輸入 Blog - Current Site JSP。
      5. 在 Path 欄位中輸入 JSP 的路徑 /teamspace/jsp/html/customized/currentSite.jsp。
      6. 單擊 Save,然後單擊 Close。

      接下來,執行以下步驟,新增個性化規則元件:

      1. 選擇 Web Content 標籤。
      2. 選擇 New - Component - Personalization。
      3. 在 Name 欄位中,輸入 blog_myblogs_perso_comp,在 Display title 欄位中,輸入 Blog - MyBlogs Personalization component。
      4. 滾動到 Personalization Element 部分。單擊 New,如圖 26 所示。


        圖 26. 新增新的個性化元素
        新增新的個性化元素

      5. 輸入規則的描述:Select the entries the current has created in the current blog。
      6. 在 Select 欄位中,單擊 content*,然後從顯示的列表中選擇 Web Content。
      7. 在 Site Area situation 中選擇 value,然後在顯示的選項中選擇 Request and Manage Properties。
      8. 選擇 Add Dynamic Property。
      9. 在 Enter a name for the dynamic 欄位中,輸入名稱 library。保留預設型別 Text,然後輸入 library 作為規則中使用的名稱,如圖 27 所示。單擊 Save。


        圖 27. 輸入 Dynamic Property 中的值
        輸入 Dynamic Property 中的值

      10. 單擊 Done。
      11. 在 Site Area condition 中,選擇 value,然後在顯示的選項中選擇 Request and library。
      12. 選擇 attribute,然後從顯示的列表中選擇 Author。
      13. 單擊 value* 後面的 >’,然後從顯示的選項中選擇 Portal Users and Distinguished Name。
      14. 選擇 add Condition,然後從顯示的列表中選擇 Authoring Template。
      15. 選擇 value*,然後從顯示的列表中選擇 WCM Template。
      16. 選擇 Blog - Entry,然後單擊 OK,如圖 28 所示。


        圖 28. 選擇 Blog Entry 作為過濾引數
        選擇 Blog Entry 作為過濾引數

      17. 單擊 Save。
      18. 在 Results per page 欄位中輸入 5。

      建立新頁面之後,您需要建立頁面的顯示方式。您需要完成頁面的頁首、設計、頁尾和分隔符。因為已經存在一個部落格條目列表,所以您可以複製此內容。執行以下步驟:

      1. 單擊 Web Content 標籤,並且不要關閉個性化元件。
      2. 選擇 Components,然後選擇 Blog - Entry View。
      3. 將 Blog - Entry View Header 部分的內容複製到 Personalization Component Header 部分,如圖 29 所示。


        圖 29. 複製到 Header 部分的文字
        複製到 Header 部分的文字

      4. 對設計、頁尾和分隔符部分執行相同操作。
      5. 展開 Access,然後選擇 Grant User Access。
      6. 選擇 Search。
      7. 選擇 [all authenticated portal users] 選項,然後單擊 OK。
      8. 展開 Save 按鈕,然後選擇 Save and close 選項。
      9. 單擊 X 關閉 Blog - Entry View 標籤,如圖 30 所示。


        圖 30. 關閉 Blog - Entry View
        關閉 Blog - Entry View

      現在您需要建立或編輯負責在 Blog - Main 和 Blog - My Blogs Page 中顯示操作選項的元件。

      編輯 Blog - Main 頁面操作,使使用者能夠單擊一個連結來轉到 My Blogs Page。執行以下步驟:

      1. 如果您未在 Web Content 區域中,選擇 Web Content 標籤。
      2. 選擇 Components。
      3. 選擇 Blog - Manage Blog Action 選項。
      4. 單擊 Edit。
      5. Blog – Manage Blog Action 元件是一個 Authoring Tool 元件,其功能取決於使用者的許可權。這裡使用了 Edit 訪問許可權,只有具有 Edit 訪問許可權的使用者才能夠擁有他們創作的部落格條目。滾動到 Edit action design 並輸入清單 6 所示的程式碼。


        清單 6. 將一個新按鈕新增到操作列表的程式碼
        						
        
        " title="@nls:myblogs@myblogs.goto.page@" target="">@nls:myblogs@myblogs.goto.page@

      6. 單擊 Save,但不要關閉檔案。

      接下來建立 My Blogs Page 操作:

      1. 在 Blog - Manage Blog Action 元件中,展開 Save 選項並選擇 Save as。
      2. 在 New name 欄位中,輸入 blog_myblog_action。在 New display title 欄位中,輸入 Blog - My Blog Action。單擊 OK。
      3. 刪除 Read action design 的內容,如圖 31 所示。


        圖 31. 空 Read Action Design
        空 Read Action Design

      4. 在 Delete action design 部分,刪除突出顯示的的內容,如圖 32 所示。


        圖 32. Delete action design 的新內容
        Delete action design 的新內容

      5. 選擇 Save and close。

      接下來,您需要新增要顯示 My Blog Entries 的內容的頁面。建立內容、一個編寫模板和一個演示模板。因為您不會實際新增內容,所以只需要編寫模板就可以建立一個內容物件。這個編寫模板應該是您能找到的最基本的模板。Lotus Quickr 包含一個編寫模板 Welcome,可根據它建立 My Blog Entries 編寫模板。

      第一步是為此頁面建立一個編寫模板:

      1. 如果您未在 Web Content 區域中,選擇 Web Content 標籤。
      2. 選擇 Authoring Templates 選項。
      3. 單擊 > 訪問第二個模板頁面。
      4. 使用 Welcome 編寫模板作為 My Blog Entries 編寫模板的基礎模板。可以建立一個內容佔位符來觸發內容的表示,編寫模板本身所能做的只是支援定義一個頁面型別,並將該頁面新增到內容層次結構中。選擇 Welcome 選項。
      5. 單擊 Edit。
      6. 展開 Save 選項。然後選擇 Save as。
      7. 在 New name 欄位中,輸入 myblogs_page_authoring。在 New display title 欄位中,輸入 Blog - Myblogs Authoring。單擊 OK。
      8. 展開 Save 選項,選擇 Save and close。

      接下來建立演示模板。與編寫模板不同,您需要新增部落格條目的顯示,一個虛構的演示模板是不夠的。幸運的是,Blog - Main 頁面顯示的內容與 My Blog Entries 頁面的內容很相似。您可以使用 Blog – Main 頁面作為新的演示模板的基礎。執行以下步驟:

      1. 選擇 Presentation Templates。
      2. 選擇 Blog - Main 選項。
      3. 單擊 Edit。
      4. 展開 Save 選項,選擇 Save as。
      5. 在 New name 欄位中,輸入 blog_myblogs;在 New displaytitle 欄位中,輸入 Blog - My blogs。單擊 OK。

      執行以下步驟,更改 My Blogs 演示模板的外觀:

      1. 選擇 Presentation Template。
      2. 將 blog_current_site JSP 元件新增到頁面。參見圖 33。將以下程式碼新增到檔案開頭:


        圖 33. 新增 blog_current_site JSP 元件
        新增 blog_current_site JSP 元件

      3. 將頁面標題從

        更改為
        @nls:myblogs@myblogs.title@

        這可以通過將圖 34 中突出顯示的文字更改為圖 35 中突出顯示的文字來完成。



        圖 34. 更改之前的頁面標題
        更改之前的頁面標題



        圖 35. 更改之後的頁面標題
        更改之後的頁面標題

      4. 接下來將一個 Back 按鈕新增到 Blog - Main 頁面。為此,刪除以下程式碼:
        type="sitearea" field="description"/>

        如圖 36 所示。


        圖 36. 要刪除的程式碼
        要刪除的程式碼

        在同一位置輸入清單 7 中顯示的程式碼。



        清單 7. 要為 Back 按鈕新增的程式碼
        						
        " title="< Back to ">< Back to 
        

      5. 在下面的程式碼中:

        將 blog_entry_view 替換為 blog_myblogs_perso。

      6. 在下面的程式碼中:
        name="shared resources/blog_manage_action"/>

        將 blog_manage_action 替換為 blog_myblogs_action。

      7. 展開 Save 選項,選擇 Save and close。

      接下來建立一個虛構的內容(dummy content)。有了這個虛構內容之後,您可以使用演示模板顯示 My Blog Entries。執行以下步驟:

      1. 選擇 New - Content。
      2. 選擇 Blog - Myblogs Authoring 選項,然後單擊 OK。
      3. 在 Name 欄位中,輸入 myblogs_page。在 Display title 欄位中,輸入 Blog - My Blogs Page。
      4. 展開 Save 選項,選擇 Save and close。
      5. 展開 Blog,選擇 Team Blog。
      6. 單擊 OK。

      您需要編輯站點區域文件,新增模板對映和其他元素。模板對映用於定義內容、編寫模板和演示模板之間的關係。執行以下步驟:

      1. 展開 Site Areas。選擇 By Site,然後在右側選單中選擇 Blog。
      2. 單擊 Edit。
      3. 單擊 Edit Template Mapping 按鈕。
      4. 單擊 Add 按鈕。
      5. 選擇 Blog - Myblogs Authoring 和 Blog - My Blogs 選項。單擊 OK。

      您可以使用兩種選項中的一個來將特定元件新增到一個頁面。使用第一個選項,您可以使用 Component 標記直接新增該元件,這表示該元件是被靜態引用的。

      但是您應該選擇第二個選項。使用這種方法時,您在頁面中定義一個佔位符或一個元素,然後通過演示模板引用該佔位符,在 Site Area 文件中定義佔位符的值。在本例中,建立新部落格時可以使用不同的個性化元件。

      執行以下步驟,新增一個元件:

      1. 單擊 Manage Elements 按鈕。
      2. 在 Element type 框中選擇 Component Reference。
      3. 在 Name 欄位中,輸入 blog_myblogs_perso;在 Display title 欄位中,輸入 My Blogs Personalization Component。單擊 Add 按鈕。
      4. 將 Element type 列表中的選擇更改為 Link。
      5. 不應該靜態引用顯示 My Blog Entries 的頁面。在 Name 欄位中,輸入 myblogs_page;在 Display title 欄位中,輸入 My Blogs page。單擊 Add 按鈕。
      6. 單擊 OK。
      7. 在 My Blogs Personalization Component 中單擊 Select Component 按鈕。
      8. 從顯示的列表中選擇 Personalization 元件。
      9. 選擇 Blog - Myblogs Personalization Component,然後單擊 OK。
      10. 在 My Blogs Page 部分單擊 Browse Content 按鈕。
      11. 展開 By Site Area。展開 Blog 並單擊 Team Blog。選擇右側的 Blog - My Blogs Page。單擊 OK。
      12. 展開 Save 選項。選擇 Save and close。

      要測試更改,請確保執行了以下操作:

      • 如果對資源包進行了更改,請重啟伺服器。
      • 在 Lotus Quickr 的 Home 檢視中,單擊 Create a Place link。

      接下來,選擇 Teamblog as Template。輸入您所在地的名稱,然後單擊 Create 按鈕。

      您現在可以測試您的更改了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-608415/,如需轉載,請註明出處,否則將追究法律責任。

相關文章