Sun Java logo     上一頁      目錄      索引      下一頁     

Sun logo
Sun Java System Portal Server 6 2005Q4 管理指南 

第 10 章
管理顯示設定檔

本章說明 Sun Java™ System Portal Server 顯示設定檔元件及其管理方式。

本章包含下列章節:


顯示設定檔的摘要

本節說明 Portal Server 的顯示設定檔元件。

顯示設定檔透過定義下列三個項目,以建立標準桌面的顯示配置:

Portal Desktop 會在 Sun Java™ System Access Manager 服務上實作顯示設定檔資料儲存機制,以儲存內容提供者與通道資料。除此之外,也會為通道與提供者設定屬性。

使用者的顯示設定檔是說明容器管理與通道特性的一系列 XML 文件。(一個顯示設定檔文件等同於一個 XML 文件。)顯示設定檔文件會整體儲存以作為 Sun Java System Access Manager 服務層中的單一屬性。也就是說,顯示設定檔文件是常駐於 Sun Java™ System Directory Server 實例中的 LDAP 屬性。

若要變更顯示設定檔特性值,則提供者會使用提供者 API (PAPI) 以取得並設定值。當將通道值設定至顯示設定檔時,PAPI 內部執行會使用 Access Manager SDK 以在 Sun Java System Access Manager 桌面服務屬性中設定顯示設定檔文件。


警告

雖然可以,但您不應使用 Sun Java System Access Manager SDK 編輯 顯示設定檔。


顯示設定檔與管理主控台

您可以透過 Sun Java System Access Manager 管理主控台與 dpadmin 指令來編輯顯示設定檔與其他 Portal Desktop 服務資料。當您編輯顯示設定檔時,可以新增、修改與移除提供者、容器、通道與編輯特性。上傳 XML 與下載 XML 連結允許您上傳與下載顯示設定檔文件。除此之外,Sun Java System Access Manager 管理主控台在 [Portal Desktop] 屬性頁中提供 [通道與容器管理] 連結以新增通道與容器並編輯現有屬性。[通道與容器管理] 連結可讓您在建立新通道與容器時定義屬性。您也可以使用 [通道與容器管理] 連結新增、修改與移除通道與容器。請參閱管理顯示設定檔,以取得更多資訊。


備註   

當 [通道與容器管理] 連結僅可以存取顯示設定檔的某部分時,將假設被授權的管理員會使用它。請參閱第 7 章「配置授權管理」以取得更多關於如何配置被授權管理員的資訊。


顯示設定檔文件結構

本節將會說明顯示設定檔文件的整體結構。顯示設定檔文件的基本資料格式為 XML。如需顯示設定檔 DTD 語法的詳細資訊,請參閱「Sun Java System Portal Server 6 2005Q4 Technical Reference Guide」。

顯示設定檔格式會建立桌面的顯示配置,方法是定義提供者與通道物件及其特性。顯示設定檔儲存於 isp 層級的 Sun Java System Directory Server 中 (或最頂端的目錄節點)、組織層級、角色層級或使用者層級。在執行階段,使用者的顯示設定檔是透過目錄樹的使用者特定設定檔中「合併」所有顯示設定檔文件的結果,而該使用者的特定顯示設定檔物件的值是由顯示設定檔的「合併」語義所決定。

顯示設定檔物件直接對映至定義該物件的 XML 標記。例如,<Channel name> </Channel> XML 標記會定義通道物件。

一般而言,顯示設定檔的文件結構類似以下:

<DisplayProfile>

  <Properties>...global properties...</Properties>

  <Channels>...channel definitions...</Channels>

  <Providers>...provider definitions...</Providers>

</DisplayProfile>

<Properties><Channels><Providers> 是執行編排的機制。這些機制會讓 XML 顯示設定檔文件更具結構性,以便讓相似物件可以位於每個「空間」中。如需「空間」的詳細資訊,請參閱組合顯示設定檔物件

下列各節將更詳細說明顯示設定檔物件。

顯示設定檔根物件

顯示設定檔根容器物件能夠讓桌面 servlet 作為容器提供者取得提供者的控點等等。該通道沒有相關聯的提供者類別。其他顯示設定檔物件不應參考這個通道。

顯示設定檔根物件 XML 語法

   <Container name="_desktopRoot" provider="none">

  <Properties/>

  <Available />

  <Selected />

  <Channels/>

   </Container>

提供者物件

提供者物件是在描繪通道時,於執行階段執行的軟體實體。(因此,通道是在執行階段的提供者實例。) <Provider> 顯示設定檔定義是用於定義顯示設定檔通道的範本。其將設定「提供者」java 物件的類別名稱與所有必要屬性的預設值。

<Provider> 顯示設定檔定義包含顯示設定檔的用戶端所必需的資訊,以建構 provider 物件,亦即,Java™ 類別名稱。

<Provider> 顯示設定檔定義會設定指向此提供者之所有通道的預設特性值。通道-特定的屬性只有在提供者預設值需要覆寫時才需要。提供者顯示設定檔物件應包含用於提供者 Java 物件所有屬性的預設值。例如,若提供者 Java 代碼包含:

getStringProperty("color")

通道物件

channel 物件代表單一顯示元素。由 channel 物件包含的物件可以被視為此通道的屬性。<Channel name> 定義包括提供者的符號參考。除此之外,您可以定義通道特定屬性以覆寫定義於提供者定義的預設值。在顯示設定檔文件中,給定通道中的通道名稱必須是唯一的,但您可以在不同的通道層級中定義相同名稱。

範例通道物件 XML 語法

<Channel name="SampleXML" provider="XMLProvider">

    <Properties >

        <String name="refreshTime" value="600" advanced="true"/>  

        <String name="title" value="XML Test Channel"/>

        <String name="description" value="This is a test of the XML Provider system"/>

        <String name="url" value="file:///etc/opt/SUNWps/desktop/default/SampleXML/getQuotes.xml"/>

        <String name="xslFileName" value="/etc/opt/SUNWps/desktop/default/SampleXML/html_stockquote.xsl"/>

    </Properties>

</Channel>

容器物件

container 物件與 channel 物件相同,只是 container 物件不能產生內容。也就是說,容器是一個從其他通道取得其內容的通道。container 物件允許可用與已選通道清單並可以包含子通道定義。子通道一般會與其他通道集合於頁面,並產生自己的內容。容器通道產生內容的方法主要是集合一個或多個通道的內容。

範例容器物件 XML 語法

<Container name="TemplateTableContainer"provider="TemplateTableContainerProvider">

  <Properties>

    <String name="title" value="Template Based Table Container"/>

    <String name="description"

     value="This is the channel for the front provider"/>

    <Collection name="channelsColumn" advanced="true">

     <String name="SampleJSP" value="2"/>

     <String name="SampleXML" value="2"/>

     <String name="Notes" value="2"/>

    </Collection>

    <Collection name="channelsRow" advanced="true">

     <String name="MailCheck" value="3"/>

     <String name="SampleRSS" value="2"/>

     <String name="SampleXML" value="2"/>

     <String name="App" value="5"/>

     <String name="SampleSimpleWebService" value="6"/>

     <String name="Bookmark" value="4"/>

     <String name="Notes" value="3"/>

    </Collection>

    <Collection name="channelsIsRemovable">

     <Boolean name="UserInfo" value="false"/>

    </Collection>

  </Properties>  

  <Available>

    <Reference value="UserInfo"/>

    <Reference value="MailCheck"/>

    <Reference value="SampleRSS"/>

    <Reference value="SampleJSP"/>

    <Reference value="SampleXML"/>

    <Reference value="App"/>

    <Reference value="SampleSimpleWebService"/>

    <Reference value="Bookmark"/>

    <Reference value="Notes"/>

  </Available>

  <Selected>

    <Reference value="UserInfo"/>

    <Reference value="MailCheck"/>

    <Reference value="SampleRSS"/>

    <Reference value="SampleJSP"/>

    <Reference value="SampleXML"/>

    <Reference value="App"/>

    <Reference value="SampleSimpleWebService"/>

    <Reference value="Bookmark"/>

    <Reference value="Notes"/>

  </Selected>

  <Channels>

  </Channels>

</Container>


組合顯示設定檔物件

rootproviderchannel 物件可以擁有與他們相關的屬性。顯示設定檔將特性在特性「空間」中進行編組。之所以用空間這個名詞,是表示其唯一用途是為特性保留位置。特性沒有與其相關的特性空間。請參閱「Sun Java System Portal Server 6 2005Q4 桌面自訂指南」以取得有關特性定義的資訊。

通道、提供者與根層級中的特性空間擁有不同的語義。所有通道皆共用全域特性。任何通道皆可以存取在此定義為全域特性的屬性。主題是全域特性的範例。主題資料在全域範圍內定義,可以在所有通道中共用。

定義於提供者的屬性是基於該提供者通道的預設值。若特性不是定義於通道中,則會使用預設值。即提供者必須定義每個由提供者 Java 物件使用的特性。因此,若 Java 代碼包含:

String f = getStringProperty("color");

顯示設定檔中的對應 <Provider name> 定義必須定義:

<String name="color" ... />


備註   

請勿將全域特性用作為全部通道的預設值。顯示設定檔提供者定義會定義由 provider 物件使用的特性介面,其將使用提供者定義。


通道特性會覆寫提供者定義中的預設值以自訂通道。例如,URLScaperProvider 會定義 url 特性。預設值在此並無意義,因為通道將自動覆寫此值。


顯示設定檔物件查詢

在執行階段,系統不會要求直接來自於提供者的特性。請求將永遠送至通道。若 Java provider 物件請求特性,則它將以下列順序搜尋顯示設定檔,直到找到特性,或直到找到容器階層的頂部:

  1. 通道的特性
  2. 通道提供者的特性
  3. 通道父系的特性
  4. 通道父系提供者的特性
  5. 通道的父系特性 (等等)
  6. 全域特性空間會定義於顯示設定檔 root 定義中

然而,當通道要求其特性名稱時,將取得全部以上所述的聯合集。

存在於 provider 物件中的特性將用於擁有通道預設值的語義。例如,對於定義特性 title 的提供者 xml,所有由提供者 xml 衍生的通道將會繼承 title 特性。如果您希望某個通道覆寫此特性,請在該通道的特性內設定該值。


顯示設定檔特性

本節將說明顯示設定檔特性與如何指定這些特性。

顯示設定檔特性類別

顯示設定檔特性類別為:

原子特性值也可指定為主體內文。範例:

<String name=”foo”>bar</String>

<Integer name=”aNumber”>1</Integer>

<Boolean name=”flag”>false</Boolean>

文件類型定義元素屬性

在顯示設定檔 XML 中,除非屬性預設值已變更,否則下列屬性不會列於 XML 檔案並顯示於管理主控台中:

<advanced="false" lock="false" merge="fuse" propagate="true">

若重設預設值,只有預設值已變更的屬性會包括於 XML 區段並顯示於管理主控台。從提供者中介承預設特性。若已編輯預設特性,它會顯示為自訂。

指定顯示設定檔特性

當指定顯示設定檔特性時,您需要考慮如何「嵌套」他們、如何在集合中使用未命名特性、如何使用條件式特性以及如何傳遞特性。

特性嵌套

顯示設定檔可以將已嵌套的特性 (特性中的特性) 包含至任何路徑中。這可讓您擁有字串集合的集合的集合,或字串集合與集合等等。例如,這裡有一個集合的集合:

<Collection name="people">

    <Collection name="john">

        <Integer name="age" value="31"/>

        <String name="eyes" value="hazel"/>

    </Collection>

    <Collection name="bob">

        <Integer name="age" value="35"/>

        <String name="eyes" value="blue"/>

    </Collection>

    ... etc ...

</Collection>

未命名的特性

原子特性類型 (布林、整數與字串) 可以是未命名,例如:

<String value="apple"/>

等同於

<String name=”apple” value=”apple”/>

也就是說,如果一個原子特性並沒有名稱,則它的名稱將等同於該特性的字串值。

出於實用的目的,這只有在集合中才會有用,因為它可以讓您使用集合來代表一個已排序的集 (幾乎是一個清單) 而非表格。例如,這是一個表示郵遞區號清單的集合:

<Collection name="zipcodes">

    <Integer value="95112"/>

    <Integer value="95054"/>

    <Integer value="98036"/>

</Collection>

用於使用未命名特性的關鍵是集合可以代表表格 (名稱 = ) 或清單。


備註   

在相同集合中,請勿使用與另一個未命名特性相同的值建立一個未命名特性。特性已建立,但由於該值的名稱重複,因此提供者無法存取。

除此之外,因為 Portal Server 會將擁有相同名稱與值的特性視為等同於未命名的布林特性,所以您可能會不經意地在相同集合中建立具有重複名稱的特性。這會導致無法存取。


條件式特性

這會提供常規作業以擷取條件式特性。最常見的情況為 localeclient,但您可以在任何種類的情況中定義特性。請參閱 Sun Java System Portal Server 6 2005Q4 桌面自訂指南,以取得更多資訊。

例如,語言環境篩選器的實作為:

public class LocalePropertiesFilter extends PropertiesFilter {

 public LocaleProperties() {

    super();

  }

  String getCondition()

    return "locale";

  }

  public boolean match(ProviderContext pc, String condition, String value) {

    return condition.toLowerCase().equals("locale") &&

      getValue().equals(value);

  }

}

條件式特性查詢包括一個或多個特性篩選器。若需要篩選器清單中的篩選器,則必須符合全部條件式查詢以繼續執行作業。若不需要篩選器,則可能無法符合,不會導致全部查詢失敗。

非必須篩選器鏈結可以用於執行漸增的較少指定篩選器查詢,類似於 Java 來源束查詢的語義。例如,選擇性篩選器對於在日期查詢之後的語言環境查詢而言相當有用。使用篩選器 {locale=en, locale=US, date=03/03/2003},您可以使它成功符合含有合格子 {locale=en; date=03/03/2003} 的特性,即使它並非完全符合篩選器規格。此作業透過將語言環境篩選器設為可選來完成。

在管理主控台中,選擇式特性會顯示為 condition-value 且像集合一樣可以編輯。條件式屬性可被嵌套且可被新增至通道或置於其他條件式屬性內。使用 [新增屬性] 頁面新增新條件式屬性。

<ConditionalProperties> Tag

<ConditionalProperties> 標記必須用於定義篩選準則。這個標記包括下列必要的屬性:

在顯示設定檔中,<ConditionalProperties> 標記可以定義為如程式碼範例 10-1中概述的那樣。

程式碼範例 10-1  <ConditionalProperties> 標記使用範例  

<Properties>

    <String name="foo" value="bar">

    <ConditionalProperties condition="locale" value="de">

        <String name="foo" value="german bar">

        <String name="baz" value="a german baz value">

    </ConditionalProperties>

    <ConditionalProperties condition="client" value="nokia">

        <ConditionalProperties condition="locale" value="de">

            <String name="foo" value="nokia german bar">

        </ConditionalProperties>

    </ConditionalProperties>

</Properties>

顯示設定檔屬性傳播

您可以使用 propagate 屬性標示所有顯示設定檔特性,包括 [布林]、[集合]、[整數]、[字串] 與 [參考]。propagate 屬性是一個可以為 truefalse 值的布林屬性 (預設值為 true)。propagate 屬性會控制在本機設定但卻不是在本機讀取特性時,將如何處理特性。

例如,通道的特性集即由下列的聯合組成的集:

當通道需要特性值時,可以從任何「遠端」位置讀取。設定了特性值後,有兩個關於在何處儲存特性值的選項可用:

  1. 通道的特性空間
  2. 遠端位置

propagate 屬性控制位置。當設定propagate 屬性為 true 時,將本機儲存特性至設定特性的物件 (在大部分情況下為通道)。當設定 propagate 屬性為 false 時,將會適當地設定特性 (無論在何地讀取)。也就是,當設定為 false 時,將變更現有值,但當設定為 true 時,將建立新屬性且會本機儲存 (除非它已位於本機中)。

考慮下列 顯示設定檔 XML 區段:

<DisplayProfile>

  <Properties>

    <String name="color" value="blue"/>

  </Properties>

...

<Channel name="testchannel" provider="..."/>

  <Properties/>

</Channel>

...

</DisplayProfile>

特性 color 位於全域特性空間中。因為未設定 propagate (且依預設為 true),若通道 testchannel 設定屬性 color 則會出現下列結果:

<DisplayProfile>

  <Properties>

    <String name="color" value="blue"/>

  </Properties>

...

<Channel name="testchannel" provider="..."/>

  <Properties/>

    <String name="color" value="new value"/>

</Channel>

...

</DisplayProfile>

屬性會被傳播至設定它的本機物件 (通道)。另一方面,若在全域屬性空間中將 propagate 設定為 false,例如:

<String name="color" value="blue" propagate="false"/>

則通道 testchannel 設定屬性 color 的結果將為:

<DisplayProfile>

  <Properties propagate="false">

    <String name="color" value="new value"/>

  </Properties>

...

<Channel name="testchannel" provider="..."/>

  <Properties/>

</Channel>

...

</DisplayProfile>

除了個別的屬性之外,屬性空間也可以使用 propagate 屬性標示,例如:

<Properties propagate="false">

...

</Properties>

對於視為 propagate=false 的屬性,下列必須為 true:

對於其他設定,propagate 被視為 true

您僅可以使用 propagate 屬性標記頂層特性。顯示設定檔 DTD 不允許此作業,而顯示設定檔代碼將會忽略它。頂層屬性會於屬性空間中直接定義。

顯示設定檔文件優先權

當使用者登入時,系統會在執行階段判斷構成使用者顯示設定檔文件集的文件集。顯示設定檔的桌面內部執行 (解釋顯示設定檔的部分) 藉由查詢使用者所隸屬的所有 LDAP 節點決定此文件集。它可以為組織 DN (o=sesta.com)、子組織、角色 DN (cn=Role1,o=sesta.com),以及 uid (uid=jtb,ou=People,cn=Role1,0=sesta.com),還有全域顯示設定檔。每個 LDAP 節點的顯示設定檔文件之後會被讀取 (若存在於該處) 且所有的文件會放置於集中。系統會根據文件優先權排序集。較低的數字代表較低的優先權。例如,1 的優先權低於 2。文件之後會從低的數字排序到高的數字。更多關於這個程序的詳細資訊,請參閱合併程序如何運作

使用者層級文件 (uid=jtb,ou=People,...) 是一個特殊的例子,被稱為基礎文件。基礎文件的優先權視為無限。因此,它將永遠是最高的數字 (因此擁有最高的優先權)。所有的合併會與已排序的基礎文件相關,且使用者文件的優先權設定永遠是最高的。<DisplayProfile> 標記所使用的 priority 屬性利用特殊關鍵字 user 指定目前的顯示設定檔為使用者層級顯示設定檔。

執行合併時,會先使用優先權最低的文件 (最低數),然後再依序處理優先權較高的文件,直到到達使用者 (基礎) 文件。

因此,顯示設定檔文件優先權的執行對優先權數非常重要。例如,組織層級文件可以擁有比角色層級文件更高的優先權,但那不是必須的。依您需要如何為網站排列文件優先權而定。

您使用 <DisplayProfile priority= syntax> 標記指定 XML 檔案中的顯示設定檔文件優先權。若要變更優先權,可以使用 Sun Java System Access Manager 管理主控台編輯顯示設定檔 XML,或使用 dpadmin 指令載入顯示設定檔。如需管理指令行公用程式以及 dpadmin 指令的詳細資訊,請參閱「Sun Java System Portal Server 6 2005Q4 Technical Reference Guide」。


備註   

請勿為兩個顯示設定檔文件指派相同的優先權。這樣執行會導致桌面不正確的顯示。然而,產品不會檢查重複的文件優先權。


文件優先權範例 1

這個範例使用兩個顯示設定檔,一個是供組織 acme 使用,另一個是供 uid bill 使用。當 Bill 登入 (uid=bill) 桌面時,會使用下列三個書籤 (以該順序) 顯示標題為 [Bill 的書籤] 的書籤通道:

文件優先權範例 2

此範例使用三個顯示設定檔、全域顯示設定檔、組織 acme 的顯示設定檔以及角色 hradmin 的顯示設定檔。當使用者被指派以 hradmin 角色登錄至桌面時,TemplateTableContainer 會使用下列通道顯示:

顯示設定檔文件優先權摘要

根據您是否考慮合併順序或將鎖定能力視為定義因素來決定顯示設定檔文件具有較高或較低的優先權。

若不考慮鎖定,則數字較低的顯示設定檔文件擁有較低的優先權。數字較低的顯示設定檔文件會最先合併,如此較高優先權文件的值會覆寫較低優先權文件的值。在這個情況下,數字較低的文件就擁有較低優先權。

然而,數字較低的顯示設定檔文件也可以鎖定物件,這樣它將不會被較高數的文件影響。在這個情況下,數字較低文件擁有較高優先權。


顯示設定檔合併語義

顯示設定檔是由 XML 文件的階層所構成。Portal Server 可以為使用者、使用者所屬於的每個角色以及使用者組織或子組織儲存顯示設定檔文件。在執行階段,系統會合併這些多個顯示設定檔文件以傳送特定的 Portal Desktop 至使用者。合併顯示設定檔程序會因為潛在變更、提供者與屬性定義而影響最後的顯示設定檔。

顯示設定檔資料格式包含定義如何合併這些文件的語法。此定義一般已知為合併語義

合併語義控制當不同 LDAP 節點 (基本 DN、DN 與角色 DN) 的顯示設定檔文件合併為單一表示 (也就是桌面) 時,屬性將如何結合。合併語義會假設一個顯示設定檔文件的順序。Sun Java System Access Manager 不會提供角色的階層結構。而使用者的角色結構是平型的。所有角色皆為同層級。因為這個原因,Portal Server 會為 Sun Java System Access Manager 角色加上額外的順序以模擬階層式的結構。

使用者的顯示設定檔文件集由下列所構成:存在於使用者 LDAP 組織子組織節點的文件;存在於每個使用者角色節點;與存在於使用者項目節點的文件。並不是每個節點中都需要定義這些文件,但每個節點中最少必須定義一個文件。文件集的排序是根據顯示設定檔文件定義的優先權值。請參閱顯示設定檔文件優先權,以取得更多資訊。

您可以使文件合併程序可視為將顯示設定檔文件放至於另一個文件的頂端。當已命名通道、提供者與特性置於彼此頂端時會發生合併。合併是根據顯示設定檔物件名稱而決定,而非根據定義於顯示設定檔文件的 XML 結構。就像通道可以存在於將被合併的顯示設定檔封鎖階層中的不同容器裡。

合併程序如何運作

當使用者登入 Portal Server 並且認證生效之後,系統會透過下列方法決定使用者的顯示設定檔:

  1. 為該使用者指出所有顯示設定檔文件,方法是搜尋整個全域顯示設定檔、LDAP 組織、子組織角色與使用者所屬的使用者節點。
  2. 將已擷取的顯示設定檔文件置於您可以想像為空間的暫時區域中。
  3. 根據優先權在空間中排序顯示設定檔文件,由最低優先權開始。(擷取文件的節點不會影響優先權排序。同時,使用者顯示設定檔文件傯是擁有最高優先權。)
  4. 將文件移出空間,順序由最低優先權開始,然後是放置次低優先權文件於這個文件之上,並套用合併與鎖定語義。
  5. 繼續執行步驟 4 直到文件被移出空間,如此系統會將值傳回給使用者,這即是在文件中找到的物件的合併程序。

顯示設定檔合併類型

顯示設定檔使用三種合併類型以決定如何結合顯示設定檔文件:

對於通道與提供者,fuse 具有特殊意義。通道本身實際上並不會互相混合。fuse 表示應該合併此通道或提供者的特性。replace 語義會置換整個通道或提供者,包括所有屬性。remove 語義會從合併往上移除整個通道或提供者至該點。

顯示設定檔 <DisplayProfile> 根節點也可以有合併語義。replace 語義意為優先權更高的文件中定義的所有顯示設定檔物件會完全覆寫優先權較低的文件中定義的物件。所有至該點的合併會被取消且更高優先權的文件會用做合併的新基礎。remove 語義表示所有至該文件點的合併結果將被捨棄。使用在已排序的集中找到的下一個顯示設定檔文件開始合併。當使用通道與提供者時,fuse 語義意為已包含的物件 (通道與提供者) 應被合併。

原子顯示設定檔屬性 (無法包含其他屬性者) 無法使用fuse 語義。這包括 String、Integer、Boolean、與 Reference 屬性。

通道的特性集由通道特性加上通道提供者特性加上通道父系特性等等所組成。您可以將這個特性的總數集視為通道的單一文件特性。文件合併是指一個文件的特性整體集由使用者合併集中所有文件的通道單一文件特性集聯合組成。

移除範例:使用 remove Merge 修改容器的已選通道清單

下列範例顯示所有使用者的合併集是如何由具有下列顯示設定檔片段的組織層級文件所組成。

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ...</Properties>

 

    <Available> ...</Available>

    <Selected merge="fuse">

        <Reference value="UnixTipoftheDay"/>

    </Selected>

</Container>

「每日 unix 提示」說明 UNIX® 的使用方法。屬於管理角色的使用者很可能會發現此通道沒有什麼幫助。若要讓每個具有管理角色的人移除此通道,請依照下列步驟在管理角色文件中定義 TemplateTableContainer 通道:

admin role

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ... </Properties>

    <Available> ... </Available>

    <Selected merge="fuse">

        <Reference value="Outages"/>

        <Reference value="SolarisAdmin"/>

        <Reference value="AdminTipoftheDay"/>

        <Reference value="UnixTipoftheDay" merge="remove"/>

    </Selected>

</Container>

之前的範例片段會導致 Reference value="UnixTipoftheDay" 從管理角色顯示設定檔中移除。

置換範例:使用 replace Merge 從所有使用者的顯示中移除通道

下列範例顯示對於特定容器,角色 admin 可以如何忽略定義於組織層級中的所有通道。組織定義類似下列各項:

organization display profile

<Container name=...>

    ...

    ...

    <Selected>

        <Reference name="X"/>

        <Reference name="Y"/>

        <Reference name="Z"/>

    </Selected>

</Container>

因為角色管理不希望在該角色之下的任何使用者擁有 X、Y、Z 通道,所以容器會定義為下列各項:

admin role

<Container name=...>

    ...

    ...

    <Selected merge="replace">

        <Reference name="A"/>

        <Reference name="B"/>

        <Reference name="C"/>

    </Selected>

</Container>

角色文件容器中的已選清單會置換組織文件容器的已選清單。

混合範例:使用 fuse Merge 建立以角色為基礎的通道清單

您一般會使用 fuse 合併語義以結合非-原子顯示設定檔物件。這些物件包括 Collection 與可用或已選通道清單。在此,fuse 表示所有包含於非-原子屬性的屬性也應合併。以這個方式使用 fuse 會讓呈現給使用者的最後非-原子屬性在不同文件中建立。

下列範例顯示設定檔文件是針對屬於 admin、employee 與 movieFreak 角色的使用者。使用者的已選通道會在最後顯示。

admin role

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ... </Properties>

    <Available> ... </Available>

    <Selected merge="fuse">

        <Reference value="Outages"/>

        <Reference value="SolarisAdmin"/>

        <Reference value="AdminTipoftheDay"/>

    </Selected>

</Container>

employee role

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ... </Properties>

    <Available> ... </Available>

    <Selected merge="fuse">

        <Reference value="Benefits"/>

        <Reference value="EmployeeNews"/>

    </Selected>

</Container>

movieFreak role

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ... </Properties>

    <Available> ... </Available>

    <Selected merge="fuse">

        <Reference value="NewMoviesReleases"/>

        <Reference value="MovieShowTimes"/>

    </Selected>

</Container>

使用者已選通道的結果清單如下 (使用於套用到合併的相同方式,從較低至較高優先權排序可用通道清單):

<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">

    <Properties> ... </Properties>

    <Available> ... </Available>

    <Selected merge="fuse">

        <Reference value="Outages"/>

        <Reference value="SolarisAdmin"/>

        <Reference value="AdminTipoftheDay"/>

        <Reference value="Benefits"/>

        <Reference value="EmployeeNews"/>

        <Reference value="NewMoviesReleases"/>

        <Reference value="MovieShowTimes"/>

    </Selected>

</Container>

合併鎖定

可以被合併的所有顯示設定檔物件也可以被鎖定。當物件被鎖定時,在較高優先權文件中,合併語義並不會影響該物件。啟用低優先權文件以避免高優先權文件使用合併語義以變更顯示設定檔的特別方面。

合併鎖定範例:使用 lock Merge 以強制所有使用者的屬性值

下列範例顯示特定組織如何確定所有使用者都可查看「員工新聞」通道。使用者無法從他們的顯示中移除這個通道。在組織層級文件中,容器通道的所選清單會如下列所定義:

<Selected merge="fuse">

    ...

    <Reference value="EmployeeNews" lock="true"/>

    ...

</Selected>

合併鎖定範例:使用 lock Merge 強制從所有使用者的顯示中移除通道

下列範例顯示如何強制移除「線上遊戲」通道。在此分析藍本中,使用者已將此通道加入其使用者文件的所選取通道清單中。單純從組織層級文件的所選通道清單中移除通道,並不會有任何作用。相反,員工與組織清單會進行合併,因此仍會存在「線上遊戲」通道。若要從組織之下的所有使用者中強制移除通道,則已選通道清單將如下定義:

<Selected merge="fuse">

    ...

    <Reference value="OnlineGames" merge="remove" lock="true"/>

    ...

</Selected>

remove 語義會從合併結果中移除通道,且lock 會避免較低優先權文件將值再度合併。


顯示設定檔與 Sun Java System Access Manager

使用者的顯示設定檔文件即可由下列組成:

並不是每個節點中都需要定義這些文件,但每個節點中最少必須定義一個文件。文件集的排序是根據顯示設定檔文件定義的優先權值。請參閱顯示設定檔文件優先權,以取得更多資訊。合併語義控制當不同節點的顯示設定檔文件合併為單一表示或桌面時,屬性將如何合併。請參閱顯示設定檔合併語義,以取得更多資訊。

管理員可以使用Sun Java System Access Manager管理主控台編輯顯示設定檔。您可以設定授權管理員,使得他們不會在 Sun Java System Access Manager 管理主控台中看到顯示設定檔。當建立桌面服務範本時,您可以執行這個作業。取消選取 [顯示桌面服務屬性] 方塊,以對委派的管理員隱藏顯示設定檔文字。


提示       

組織管理員可以在「Portal Desktop」服務中定義一個與特定角色相關的容器 (或容器階層)。然後,委派管理員 (角色管理員) 可以透過 Portal Desktop 屬性頁面的 [通道與容器管理] 連結在此容器下定義必要的通道與容器。請參閱使用通道與容器管理連結以管理通道,以取得更多資訊。



管理顯示設定檔

在 Sun Java System Access Manager 管理主控台與 dpadmin 指令中編輯顯示設定檔 (與其他「Portal Desktop」服務資料)。當您編輯顯示設定檔時,可以在顯示設定檔中新增、修改與移除提供者、容器與通道與編輯特性。

除此之外,Sun Java System Access Manager管理主控台在 [Portal Desktop] 屬性頁中提供 [通道與容器管理] 連結以新增通道與編輯特性。當建立新通道時,此連結也可以讓您修改屬性。


備註   

[通道與容器管理] 連結適用於授權管理員,並允許管理員新增與修改容器與通道中的屬性。整體系統管理員應負責新增容器與提供者,讓授權管理員可以使用。


表 10-2 解釋不同類型的顯示設定檔與如何使用 Sun Java System Access Manager 管理主控台並對其管理。這個三欄表格會在第一欄中列示顯示設定檔類型,在第二欄將列示如何使用 Sun Java System Access Manager 管理主控台以存取顯示設定檔,在第三欄則有一個簡短的說明。

表 10-2  顯示設定檔的類型 

顯示設定檔的類型

如何使用 Sun Java System Access Manager 管理主控台檢視

說明

全域顯示設定檔文件

選擇檢視服務管理。按一下 [Portal Desktop] 旁邊的特性箭頭。在桌面全域屬性區段中,按一下 [編輯 XML]。

定義由系統中的所有使用者繼承的顯示設定檔元素,不論其所屬的組織或角色為何。(即使目前尚未強制,您也可以使用顯示設定檔 XML 文件定義將由所有人使用的共用提供者。)

動態顯示設定檔文件

選擇檢視服務管理。按一下 [Portal Desktop] 旁邊的特性箭頭。在桌面動態屬性區段中,按一下 [編輯 XML]。

說明通道的容器管理與屬性。這個顯示設定檔並不用於在執行階段產生使用者的桌面,但是它會成為每個新建立組織與角色的預設值。依預設,動態顯示設定檔文件為空白。若要使用動態顯示設定檔,您必須先寫入該設定檔。

組織、子組織或角色顯示設定檔

選擇檢視使用者管理。選取適當的組織、子組織,若有需要請在 [顯示] 功能表中選取 [角色]。從 [顯示] 功能表中選取 [服務]。按一下 [Portal Desktop] 旁邊的特性箭頭。在桌面頁面中,按一下 [編輯 XML]。

顯示已選的組織、子組織或角色的顯示設定檔。當建立新組織、子組織或角色時,您可以建立這個項目的範本。當建立桌面服務的範本時,初始顯示設定檔會如上所述的被設定為動態顯示設定檔文件。因此,若動態顯示設定檔為空白,則不須填入任何資料。

最可能的情況是,您使用這個顯示設定檔文件自訂容器管理與通道屬性以滿足不同組織與角色的需求。

當您安裝 Portal Server時,建立初始組織。安裝程式之後會根據您的指定匯入顯示設定檔全域層級文件與預設顯示設定檔。

之後,每次建立新組織、子組織或角色時,將不會自動載入顯示設定檔。您必須手動載入顯示設定檔以供新建立的組織、子組織或角色使用。請參閱若要載入顯示設定檔 (管理主控台),以取得更多資訊。

管理顯示設定檔的高層級步驟為:

  1. 為新建立的組織、子組織或角色載入顯示設定檔 (安裝程序會對安裝期間所建立的組織執行此步驟。)
  2. 使用 dpadmin 指令、[編輯 XML] 連結或者作為已使用 [下載 XML] 與 [上傳 XML] 連結儲存然後載入的檔案修改顯示設定檔。
  3. 新增通道與容器,並使用 [通道與容器管理] 連結新增、刪除與修改其屬性。

預設顯示設定檔文件

表 10-3 說明安裝範例入口網站時,Portal Server 桌面在 /opt/SUNWps/sample/desktop 目錄中提供的顯示設定檔文件。這個兩欄表格會在第一欄列示顯示設定檔文件,而在第二欄會有一個簡短的說明。

表 10-3  範例入口網站提供的顯示設定檔文件

顯示設定檔文件

說明

dp-anon.xml

由無需認證的匿名使用者使用。

dp-org.xml

範例顯示設定檔會在預設組織層級中載入。它將定義用於組織的全域屬性與由組織使用的通道定義。

dp-org-final.xml

dp-org.xml 的副本,具有定義於「書籤」與「應用程式」通道的 NetMail 連結。當建立 NetMail 服務時,將使用這個顯示設定檔文件。

dp-providers.xml

範例顯示設定檔於全域設定檔層級載入。這個文件會定義所有提供者定義。因為這些提供者將由所有組織使用,所以此系統將會在頂層載入這個顯示設定檔,所有組織就可以使用這些提供者。若提供者定義僅由一個組織使用,則請在組織層級顯示設定檔中將其定義。

關於訂這些範例顯示設定檔的相關資訊,請參閱「Sun Java System Portal Server 6 2005Q4 桌面自訂指南」。

載入顯示設定檔

首次安裝 Portal Server 時,安裝程式會建立初始組織。安裝程式也會根據您的指定匯入顯示設定檔全域層級文件與預設顯示設定檔。若您決定不要安裝範例入口網站,則不會安裝範例顯示設定檔文件。

之後,建立新組織、子組織或角色時,將不會自動載入顯示設定檔。您必須手動載入顯示設定檔以供新建立的組織、子組織或角色使用。

載入顯示設定檔有三種基本方法:

若要載入顯示設定檔 (管理主控台)


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 在您要複製顯示設定檔的地方選取組織或子組織。
  4. 從 [檢視] 功能表中選擇 [服務]。
  5. 按一下瀏覽窗格中桌面旁邊的特性箭頭。
  6. [Portal Desktop] 屬性隨即顯示在資料窗格中。


    提示

    您可能必須往下捲動以檢視桌面服務。


  7. 複製顯示設定檔。
  8. 按一下 [編輯 XML],然後選取並複製顯示設定檔的所有文字。

  9. 選取您要為之載入顯示設定檔的組織、子組織或角色。
  10. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  11. 按一下瀏覽窗格中桌面旁邊的特性箭頭。
  12. [Portal Desktop] 服務屬性清單 (包括顯示設定檔),會顯示於資料窗格中。

  13. 按一下 [編輯 XML]。
  14. 顯示設定檔 XML 文件隨即出現於文字視窗中。

  15. 將已複製的顯示設定檔貼至顯示設定檔視窗中。
  16. 完成後按一下 [儲存]。
  17. 所做的變更僅會影響此特定組織中的使用者。

若要載入顯示設定檔 (指令行)

使用 dpadmin 指令的modify 子指令載入顯示設定檔。

例如,下列指令會載入顯示設定檔 (dp-org.xml):

dpadmin add -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d

"o=sesta.com,o=isp" dp-org.xml


備註   

若要在寫入任何變更至 LDAP 之前檢驗指令是否能夠成功完成,可將 -r--dry-run 選項加到檔名之前的指令結尾處。


若要下載與上傳顯示設定檔


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 在您要複製顯示設定檔的地方選取組織或子組織。
  4. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  5. 按一下瀏覽窗格中桌面旁邊的特性箭頭。
  6. [Portal Desktop] 屬性隨即顯示在資料窗格中。


    提示

    您可能必須往下捲動以檢視桌面服務。


  7. 在 [全域] 屬性區段中按一下 [下載 XML] 並儲存顯示設定檔至一個檔案。
  8. 在瀏覽窗格中選取您要為之上傳顯示設定檔的組織、子組織或角色。
  9. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  10. 按一下瀏覽窗格中桌面旁邊的特性箭頭。
  11. 按一下 [上傳 XML] 並指定要載入的檔案。
  12. 按一下 [上傳]。
  13. 表示顯示設定檔上傳成功的訊息隨即出現。

  14. 按一下 [關閉]。
  15. 所做的變更僅會影響此特定組織中的使用者。

若要檢視整個顯示設定檔

執行含有 list 子指令的 dpadmin 指令以檢視整個顯示設定檔,例如:

dpadmin list -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp"

若要移除顯示設定檔

若您有某些理由需要移除顯示設定檔,例如若其遭毀壞,則您可以使用含有 remove 子指令的 dpadmin 指令。

例如,若要從根移除整個顯示設定檔 (dp-org.xml):

dpadmin remove -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -t root

若要從根或從您要求顯示設定檔的節點中移除顯示設定檔,您必須載入新的顯示設定檔。例如,若您如上所示移除 dp-org.xml 顯示設定檔,則必須載入另一個類似的顯示設定檔,例如 dp-org-final.xml 顯示設定檔。有關載入顯示設定檔的相關資訊,請參閱若要載入顯示設定檔 (指令行)

使用通道與容器管理連結以管理通道

可以使用 [通道與容器管理] 連結來管理:

使用桌面屬性頁面時,獲授權的管理員只能看到 [通道與容器管理] 連結。其他所有顯示設定檔屬性均為隱藏,因此可維護安全性。

通道與容器管理預設提供者

[Portal Desktop 通道] 與 [容器管理] 連結會顯示允許您新增或移除容器通道或內容通道的管理畫面。

新增通道

[通道] 清單的 [新增] 連結可讓您從已定義的內容提供者清單中選取要新增的內容提供者。表 10-4 顯示可以作為建立新通道基礎的提供者通道。這個兩欄表格會在第一欄列示提供者,在第二欄列示簡單的說明。如需已定義內容提供者的詳細資訊,請參閱「Sun Java System Portal Server 6 2005Q4 Desktop Customization Guide」。

表 10-4  已定義的提供者通道 

提供者

說明

AppProvider

列出至 Web 應用程式的連結 (使用者可以自訂清單)。

BookmarkProvider

允許使用者管理顯示於入口網站頁面上的書籤清單。

JSPProvider

從一或多個 JSP™ 檔案中取得內容。

LoginProvider

允許使用者從匿名入口網站頁面中認證 Sun Java System Access Manager。

MailCheckProvider

提供關於使用者郵件狀態的資訊。

NotesProvider

列示全系統訊息並允許使用者發佈此類訊息

SearchProvider

使用 Sun Java System Portal Server 搜尋引擎支援搜尋功能。

URLScraperProvider

從給定的 URL 中取得內容並使用 Sun Java System Portal Server 以格式化內容。

UserInfoProvider

從顯示設定檔與 Access Manager 中收集資訊。會顯示問候、使用者名稱、時區、語言環境並具有存取使用者的 IMAP 與 SMTP 資料的權限。

XMLProvider

從給定的 URL 中取得 XML 內容並使用 XSLT 將內容翻譯為標記語言。

簡易 Web 服務提供者

簡易 Web 服務 (SWS) 提供者會提供存取以資料為導向的 Web 服務。根據這個提供者,範例通道透過存取貨幣換算率服務示範 Web 服務的執行作業。

簡易 Web 服務通道有兩種類型:

依預設,範例預先配置 Web 服務通道可在範例入口網站桌面上使用。範例配置 Web 服務通道可藉由管理員使用 Access Manager 管理主控台加入。

任一 Web 服務通道皆非常適合與相對簡單的 Web 服務一起使用,例如擁有簡單輸入參數以及介面展示需求的 Web 服務。如果「簡易 Web 服務提供者」偵測到尚未有能力處理特定的 Web 服務,將會為使用者顯示適當的訊息。

在任何給定的時間,根據此提供者的通道可以連結至單一 Web 服務以及相關聯的方法。「簡易 Web 服務提供者」會支援簡易資料類型,例如整數、字串、倍數。在此版本中,簡易 Web 服務提供者支援:

簡易 Web 服務提供者不支援在 WSDL 定義的連結作業中使用錯誤資料。

簡易 Web 服務提供者支援下列 WSDL 配置特性類型:

預先配置 Web 服務通道

範例預先配置 Web 服務通道提供了與範例貨幣轉換器服務的互動方式。

若要設定預先配置的 Web 服務通道,需要透過管理主控台指定 WSDL URL 與方法名稱。

可配置 Web 服務通道

可配置 Web 服務通道允許使用者切換通道以指向使用者指定的 Web 服務。上述功能是透過提供使用者修改 WSDL URL 值,以及屬於網路服務的方法名稱的能力所完成的。但是,和預先配置頻道類型不同的是,可配置網路服務頻道並不允許使用者儲存 Web 服務輸入參數的預設值。

新容器通道

[容器通道] 清單的 [新建] 連結可讓您從已定義容器提供者的清單中選取要建立的容器提供者。表 10-5 所顯示的已定義提供者通道可以做為建立新通道的基礎。這個兩欄表格會在第一欄列示提供者,在第二欄列示簡單的說明。若需有關已定義的內容提供者的相關資訊,請參閱「Sun Java System Portal Server 6 2005Q4 桌面自訂指南」。

表 10-5  已定義的提供者容器通道 

提供者

說明

JSPFrameCustomTableContainerProvider

在使用者以 JSP 框架集為基礎的 Portal Desktop 上建立新框架。

JSPSingleContainerProvider

顯示單一通道。

JSPTabContainerProvider

顯示一個由數個含有標題的標籤所組成的通道。

JSPTabCustomTableContainerProvider

在使用者以 JSP 標籤為基礎的 Portal Desktop 上建立新標籤。

JSPTableContainerProvider

在表格中顯示內容通道。

TemplateEditContainer 提供者

繪製 [編輯] 頁面的框架。

TemplateTabContainerProvider

支援多個標籤。

TemplateTabCustomTableContainerProvider

建立新標籤。

TemplateTableContainerProvider

在表格中顯示內容通道。

建立通道或容器通道


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 選取您要將通道新增至的組織、子組織或角色。
  4. 當您以授權管理員身份登錄時,您將自動進到您有管理權限的組織、子組織或角色。

  5. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  6. 在瀏覽窗格中按一下 [Portal Desktop] 旁的特性箭頭。
  7. 桌面屬性頁面隨即出現在資料窗格中。

  8. 在桌面頁中按一下 [通道與容器管理] 連結。
  9. [通道] 頁面隨即出現,具有在根處設定的容器路徑集。

  10. 按一下想要新增通道或容器的 [容器]。
  11. 頁面頂端顯示將新增通道的容器路徑。已定義的通道與容器會顯示在清單中 (若有的話)。

  12. 按一下 [新增] 以加入容器通道或通道。
  13. 若要新增容器通道,請按一下 [容器通道] 下的 [新增]。若要建立通道,請按一下 [通道] 之下的 [新增]。

    [新通道] 頁面隨即顯示。

  14. 請鍵入通道名稱,然後從功能表中選取提供者類型。
  15. 關於可用提供者的資訊,請參閱表 10-4

  16. 按一下 [建立]。

若要修改通道或容器通道屬性


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 選取您要修改通道的組織、子組織或角色。
  4. 當您以授權管理員身份登錄時,您將自動進到您有管理權限的組織、子組織或角色。

  5. 從 [檢視] 功能表中選擇 [服務]。
  6. 在瀏覽窗格中按一下 [Portal Desktop] 旁的特性箭頭。
  7. 桌面屬性頁面隨即出現在資料窗格中。

  8. 在桌面頁中按一下 [通道與容器管理] 連結。
  9. [通道] 頁面隨即顯示。容器路徑顯示於頂端。已定義的通道會顯示在清單中。

  10. 按一下待修改通道或是容器通道旁邊的 [編輯特性] 連結。
  11. [特性] 頁面隨即顯示。

  12. 依需要修改屬性。
  13. 請參閱「Sun Java System Portal Server 6 2005Q4 桌面自訂指南」以暸解有關通道屬性的詳細資訊。

  14. 完成後按一下 [儲存]。

若要移除通道或容器通道


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 選取您要修改通道的組織、子組織或角色。
  4. 當您以授權管理員身份登錄時,您將自動進到您有管理權限的組織、子組織或角色。

  5. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  6. 在瀏覽窗格中按一下 [Portal Desktop] 旁的特性箭頭。
  7. 桌面屬性頁面隨即出現在資料窗格中。

  8. 在桌面頁中按一下 [通道與容器管理] 連結。
  9. [通道] 頁面隨即顯示。容器路徑顯示於頂端。已定義的通道會顯示在清單中。

  10. 按一下待移除的通道或容器通道旁邊的核取方塊。然後按一下 [刪除]。
  11. 通道會刪除,且更新 [通道] 清單以顯示其移除。

管理容器

管理容器時,您也可以使用 Sun Java System Access Manager 管理控台以直接編輯顯示設定檔 XML。您也可以使用 dpadmin 指令,此指令適用於在本節的大多數部分說明的不同範例。

這些範例包括:

關於透過 Sun Java System Access Manager 管理主控台編輯顯示設定檔的資訊,請參閱使用顯示設定檔文字視窗

使用 dpadmin 指令

dpadmin 指令的語法為:

$ dpadmin list|merge|modify|add|remove [command-specific options] -u uid -w password {-g|-d dn} [-l locale] [-r] [-b] [-h] {-v|--version} [file]

如需 dpadmin 指令的完整語法,請參閱「Sun Java System Portal Server 6 2005Q4 Technical Reference Guide」。執行 dpadmin 指令時,請注意下列事項:

dpadmin 指令的使用指南

執行 dpadmin 指令更新顯示設定檔時,請使用下列指南:


警告     

在執行 dpadmin listdpadmin modify 指令之間,請不要用任何方式變更 LDAP 伺服器中的顯示設定檔文件 (藉由使用管理主控台、dpadmin、或 ldapmodify 指令)。否則,那些變更會被最新的 dpadmin modify 覆寫。


修改顯示設定檔

您可以執行下列其中一項以修改顯示設定檔物件:

了解顯示設定檔錯誤訊息

當您嘗試與儲存包含無效 XML 的顯示設定檔 文件時,系統會報告錯誤。錯誤訊息會以標題、訊息與子訊息出現。訊息方塊的標題為 [無效的 XML 文件]。訊息內容為以下內容之一:

若您收到 [無效的 XML 文件] 錯誤,則必須更正這個錯誤以儲存您正在使用的 XML 文件。

若要檢視顯示設定檔物件

若要置換容器中的通道

  1. 使用 modify 子指令用在標準輸入上指定的值置換容器中的通道。
  2. 例如,這個指令用在標準輸入上指定的值置換容器 TemplateTableContainer 的通道 Test

    dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Channel name="Test" provider="testprovider">

        <Properties>

            <String name="title" value="Test Channel"/>

            <String name="description" value="This channel is a test."/>

        </Properties>

    </Channel>

    EOF

  3. 使用 list 子指令檢驗通道是否已被置換。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要置換通道中的屬性

  1. 使用 modify 子指令用在標準輸入上指定的值置換通道中的屬性。
  2. 例如,下列作用於通道NewChannel 的指令會以 said 檔案中的新物件置換 new.xml 中的已命名屬性,其中 new.xml 為:

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <String name="welcome" value="Hi, welcome to your desktop!"/>

    dpadmin modify -p TemplateTableContainer/NewChannel -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" new.xml

  3. 使用 list 子指令檢驗屬性是否已被置換。
  4. 請參閱若要檢視顯示設定檔物件,以取得更多資訊。

若要新增通道至容器中

  1. 修改顯示設定檔輸入 XML 檔案以只包括新 <Channel> 定義,例如,建立下列檔案 testadd.xml

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Channel name="TestChannel" provider="testprovider">

        <Properties>

          <String name="teststring" value="sfds"/>

        </Properties>

    </Channel>

  2. 使用 add 子指令新增通道至容器。
  3. 例如,下列指令會將定義於 testadd.xml 中的新通道新增至顯示設定檔。在這個範例中,新通道必須在 TemplateTableContainer 層級新增。若您不使用 -p 選項指定父系物件,則通道會在根層級新增。

    dpadmin add -p "TemplateTableContainer" -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" testadd.xml


    備註       

    當新增新通道至 JSPTabContainer 時,您實際上是新增一個新標籤。JSPTabContainer 要求定義 TabProperties 以供其全部可用與已選的標籤使用。因此,對與任何新增至 JSTTabContainer 的新容器或通道,將下列 XML 片段新增至為其新增新通道與容器的 JSPTabContainerTabProperties Collection 中。


    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Collection name="<New Channel Name>">

                <String name="title" value="<New Channel Title>"/>

                <String name="desc" value="<New Channel Description>"/>

                <Boolean name="removable" value="false"/>

                <Boolean name="renamable" value="true"/>

                <Boolean name="predefined" value="true"/>

    </Collection>

  4. 使用 list 子指令檢驗通道是否已被加入。
  5. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要新增屬性至集合中

  1. 使用 combine (-m) 選項以新增新屬性至集合。
  2. 例如,下列指令會新增新屬性 msg2 至集合 bar 中。現有屬性,msg,仍然保留於結果中。新增之前與之後使用 list 子指令顯示屬性值。

    dpadmin list -n TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp

    ...

    <Collection name="foo">

        <Collection name="bar">

            <String name="msg" value="hi"/>

        </Collection>

    </Collection>

    ...

    dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -m <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Collection name="foo">

        <Collection name="bar">

            <String name="msg2" value="woo hoo"/>

        </Collection>

    </Collection>

    EOF

    dpadmin list -n TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp”

    ...

    <Collection name="foo">

        <Collection name="bar">

            <String name="msg" value="hi"/>

            <String name="msg2" value="woo hoo"/>

        </Collection>

    </Collection>

    ...

若要新增集合屬性

  1. 使用 add 子指令以在標準輸入指定的值新增集合。
  2. 例如,下列指令會新增在標準輸入指定的集合屬性 zipCodes 至命名為 Postal 的通道、容器或提供者。

    dpadmin add -p SamplesTabPanelContainer/Postal -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Collection name="zipCodes">

        <Integer value="98012"/>

        <Integer value="98036"/>

        <Integer value="94025"/>

        <Integer value="95112"/>

    </Collection>

    EOF

  3. 使用 list 子指令檢驗集合屬性是否已被加入。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要從通道或容器移除屬性

  1. 使用 remove 子指令從通道或容器移除屬性。
  2. 例如,下列指令會在全域層級中將屬性 locationsBookmarks 通道 (或容器) 移除。

    dpadmin remove -t property -p Bookmarks -n locations -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -g

  3. 使用 list 子指令檢驗屬性是否已被移除。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要移除提供者

  1. 使用 remove 子指令以移除提供者。
  2. 例如,下列指令會移除提供者 NotesProvider

    dpadmin remove -t provider -n "NotesProvider" -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp"

  3. 使用 list 子指令以檢驗提供者是否已被移除。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要從容器移除通道

  1. 使用 remove 子指令從容器移除通道。
  2. 例如,下列指令會移除存在於父系容器 TemplateTableContainer 的通道 Test

    dpadmin remove --type channel --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"

  3. 使用 list 子指令檢驗通道是否已被移除。
  4. 如需詳細資訊,請參閱第 10 章「管理顯示設定檔」

若要變更顯示設定檔文件優先權

  1. 使用 modify 子指令變更顯示設定檔文件的優先權。
  2. 例如,下列指令會將文件優先權由原始優先權變更為組織的 10。

    dpadmin modify -m -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <DisplayProfile priority=”30” version=”1.0”

    <Properties/>

    <Channels/>

    <Providers/>

    EOF

  3. 使用 list 子指令檢驗是否已變更優先權。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要使通道可用於容器

  1. 使用具有 combine (-m) 選項的 modify 子指令,將在標準輸入上指定的通道新增至容器現有的「Available」清單中。
  2. 例如,下列指令會新增 BookMark 通道至 TemplateTableContainerAvailable 清單。

    dpadmin add -p SamplesTabPanelContainer/Postal -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Collection name="zipCodes">

        <Integer value="98012"/>

        <Integer value="98036"/>

        <Integer value="94025"/>

        <Integer value="95112"/>

    </Collection>

    EOF

  3. 使用 list 子指令檢驗是否已變更優先權。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要使容器不可使用通道

  1. 使用 remove 子指令,將通道從容器「Available」清單中移除。
  2. 例如,下列指令會將通道 Test 從父系容器 TemplateTableContainer 的 Available 清單中移除。

    dpadmin remove --type available --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"

  3. 使用 list 子指令檢驗通道是否已被移除。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要從容器的可用通道清單中選取通道

  1. 使用具有 combine (-m) 選項的 modify 子指令,將在標準輸入上指定的通道新增至容器的現有「Selected」清單中。
  2. 例如,下列指令會新增 BookMark 通道至 TemplateTableContainerSelected 清單。

    dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -m <<EOF

    <?xml version="1.0" encoding="utf-8" standalone="no"?>

    <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

    <Selected>

        <Reference value="BookMark">

    </Selected>

    EOF

  3. 使用 list 子指令檢驗是否已變更優先權。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

若要從容器可用通道清單中取消選取通道

  1. 使用 remove 子指令,將通道從容器的「Selected」清單中移除。
  2. 例如,下列指令會將通道 Test 從父系容器 TemplateTableContainer的 Selected 清單中移除。

    dpadmin remove --type selected --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"

  3. 使用 list 子指令檢驗通道是否已被移除。
  4. 如需詳細資訊,請參閱若要檢視顯示設定檔物件

使用顯示設定檔文字視窗

Sun Java System Access Manager提供文字視窗以供檢視並直接編輯顯示設定檔文字之用。只要您擁有對於組織、子組織或角色的管理存取權限,就可以使用 Sun Java System Access Manager 管理主控台來瀏覽這個文字視窗與檢視或編輯顯示設定檔。


備註   

如果您的瀏覽器為 Netscape 4.x,則無法直接使用管理主控台編輯顯示設定檔 XML。


若要存取顯示設定檔文字視窗


備註   

有關 Access Manager 管理主控台最新的完整資訊,請參閱「Sun Java System Access Manager 2005Q4 管理指南」。


  1. 以管理員的身份登入 Sun Java System Access Manager 管理主控台。
  2. 依預設,已選取位置窗格中的 [身份管理] 且 [所有已建立的組織] 已顯示於瀏覽窗格中。

  3. 選取您要為之修改顯示設定檔的組織、子組織或角色。
  4. 當您以授權管理員身份登錄時,您將自動進到您有管理權限的組織、子組織或角色。

  5. 在瀏覽窗格中的 [檢視] 功能表中選擇 [服務]。
  6. 在瀏覽窗格中按一下 [Portal Desktop] 旁的特性箭頭。
  7. 桌面屬性頁面隨即出現在資料窗格中。

  8. 在桌面頁面中,按一下 [顯示設定檔編輯 XML] 連結。
  9. 顯示設定檔隨即出現於文字視窗中。


    備註     

    根據預設,顯示設定檔優先權層級被設定為關鍵字 user,表示目前的顯示設定檔是使用者層級顯示設定檔。其他允許的值為整數。較低的數字表示較低的優先權。例如,a 1 的優先權低於 a 2。


  10. 請執行變更並按一下 [儲存]。

  11. 備註   

    全域、組織、子組織或角色層級文件的變更會立即生效。使用者層級文件的變更,則要在使用者登出並再次登入後才會生效。




上一頁      目錄      索引      下一頁     


Copyright 2005 Sun Microsystems, Inc. 版權所有。