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

Sun logo
Sun Java System Portal Server 6 2004Q2 管理員指南 

第 7 章
管理顯示設定檔

本章描述 Sun Java™ System Portal Server display profile 元件以及元件的管理方式。

本章包含下列章節:


顯示設定檔的摘要

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

display profile 將透過定義下列三個項目來建立桌面的顯示配置:

Portal Desktop 會在 Sun Java™ System Identity Server 服務之上執行顯示設定檔資料儲存機制,以供儲存內容提供者與通道資料之用。除此之外,也會為通道與提供者設定特性。

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

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


注意

雖然可以,但您不應使用 Sun Java System Identity Server SDK 編輯 display profile。


顯示設定檔與管理主控台

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


備註   

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


顯示設定檔文件結構

本節將會說明 display profile 文件的整體結構。display profile 文件的基本資料格式為 XML。請參閱附錄 B,「XML 參照」以取得更多關於顯示設定檔 DTD 語法的資訊。

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

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

一般而言,display profile 的文件結構類似以下:

<DisplayProfile>

  <Properties>...全域特性...</Properties>

  <Channels>...通道定義...</Channels>

  <Providers>...提供者定義...</Providers>

</DisplayProfile>

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

下列各節將更詳細說明 display profile 物件。

DisplayProfile 根物件

DisplayProfile root 容器物件能夠讓桌面 servlet 作為容器提供者取得提供者的控點等等。沒有與通道相關的實際提供者類別。其他 display profile 物件不應參照這個通道。

DisplayProfile 根物件 XML 語法

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

<Properties/>

<Available />

<Selected />

<Channels/>

   </Container>

提供者物件

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

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

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

getStringProperty("color")

通道物件

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

範例通道物件 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 物件可以擁有與他們相關的特性。display profile 將特性編排於特性「空間」中。空間這個名詞是用來表示其唯一用途是特性的保留位置。特性沒有與其相關的特性空間。請參閱「Sun Java System Portal Server 6 2004Q2 Desktop Customization Guide」以取得有關特性定義的資訊。

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

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

String f = getStringProperty("color");

display profile 中的對應 <Provider name> 定義必須定義:

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


備註   

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


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


顯示設定檔物件查詢

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

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

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

存在於 provider 物件中的特性將用於擁有通道預設值的語義。例如,對於定義特性 title 的提供者 xml,所有由提供者 xml 衍生的通道將會繼承 title 特性。若通道希望覆寫此特性,則可以設定其本身特性中的值。


顯示設定檔特性

本節將說明 display profile 特性與如何指定這些特性。

顯示設定檔特性類別

display profile 特性類別為:

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

<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 區段並顯示於管理主控台。從提供者中繼承預設特性。若已編輯預設特性,它會顯示為自訂。

指定顯示設定檔屬性

當指定 display profile 屬性時,您需要考慮如何將他們「嵌套」、如何在集合中使用未命名屬性、如何傳播屬性。

特性嵌套

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

<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>

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


備註     

在相同集合中,請勿使用與另一個未命名特性相同的值建立一個未命名特性。如果建立特性,提供者將因為重複名稱而不可以存取值。

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


條件式特性

這會提供常規作業以擷取條件式特性。最常見的情況為 localeclient,但您可以在任何種類的情況中定義特性。如需更多資訊,請參閱「Sun Java System Portal Server 6 2004Q2 Desktop Customization Guide」。

例如,語言環境過濾器的實作為:

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> 標記

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

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

程式碼範例 7-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 屬性標示所有display profile 屬性,包括「布林」、「集合」、「整數」、「字串」與「參照」。propagate 屬性是一個可以為 truefalse 值的布林屬性 (預設值為 true)。propagate 屬性會控制在本機設定但卻不是在-本機讀取屬性時,將如何處理特性。

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

當通道要求屬性值時,則可以在任何「遠端」位置讀取值。當設定屬性值時,有兩個儲存屬性值的選項:

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

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

考慮下列 display profile 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 的特性,下列必須為真:

對於其他事項,propagate 會被視為 true

您僅可以使用 propagate 屬性標記頂層特性。display profileDTD 允許這個作業但 display profile 代碼將會忽略它。頂層特性會於特性空間中直接定義。

顯示設定檔文件優先權

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

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

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

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

您使用 <DisplayProfile priority= syntax> 標記在 XML 檔案中指定 display profile 文件優先權。您可以直接編輯顯示設定檔 XML 來變更優先權,方法是使用 Sun Java System Identity Server 管理主控台或使用 dpadmin 指令來載入 display profile。更多關於 dpadmin 指令的詳細資料,請參閱第 21 章,「指令行公用程式」


備註   

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


文件優先權範例 1

這個範例使用兩個 display profile,一個是供組織 acme 使用,另一個是供 uid bill 使用。當 Bill 登錄 (uid=bill) 至 桌面時,標題為「Bill 的書籤」的書籤通道會使用下列三個書籤顯示 (以該順序):

文件優先權範例 2

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

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

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

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

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


顯示設定檔合併語義

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

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

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

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

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

合併程序如何運作

當使用者登錄 Sun Java System Portal Server 時,與當認證生效之後,系統會根據下列方法決定使用者的 display profile:

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

顯示設定檔合併類型

display profile 使用下列三種合併類型以決定如何結合 display profile 文件:

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

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

原子 display profile 屬性 (無法包含其他屬性者) 無法使用 fuse 語義。這包括 String、Integer、Boolean、與 Reference 屬性。

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

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

下列範例顯示所有使用者的混合集是如何由具有下列display profile區段的組織層級文件組成。

<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 可以如何忽略定義於組織層級中的所有通道。組織定義類似下列各項:

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 合併語義以結合非-原子 display profile 物件。這些物件包括 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 Identity Server

使用者的 display profile 文件即可由下列組成:

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

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


提示       

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



管理顯示設定檔

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

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


備註   

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


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

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

顯示設定檔的類型

如何使用 Sun Java System Identity Server 管理主控台檢視

說明

全域顯示設定檔文件

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

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

動態顯示設定檔文件

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

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

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

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

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

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

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

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

管理 display profile 的高-層級步驟為:

  1. 為新建立的組織、子組織或角色載入顯示設定檔。(您不需要為在安裝過程中建立的組織執行這個步驟。)
  2. 使用 dpadmin 指令、「編輯 XML」連結,或者使用「下載 XML」與「上傳 XML」連結下載已儲存檔案然後載入檔案來修改 display profile。
  3. 新增通道與容器,並使用「通道與容器管理」連結新增、刪除與修改其屬性。

預設顯示設定檔文件

表 7-3 解釋當安裝範例入口網站時,Sun Java System Portal Server 桌面 在 /opt/SUNWps/samples/portal desktop 目錄中提供的 display profile 文件。這個兩欄表格會在第一欄列示 display profile 文件,而在第二欄會有一個簡短的說明。

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

顯示設定檔文件

說明

dp-anon.xml

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

dp-org.xml

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

dp-org-final.xml

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

dp-providers.xml

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

關於訂這些範例 display profile 的相關資訊,請參閱「Sun Java System Portal Server 6 2004Q2 Desktop Customization Guide」。

載入顯示設定檔

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

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

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

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

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

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


    提示

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


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

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

  13. 按一下 [編輯 XML]。
  14. display profile XML 文件隨即出現於文字視窗中。

  15. 將已複製的 display profile 貼至 display profile 視窗中。
  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


備註   

您可以在指令結尾的檔案名稱前新增 -r --dryrun 選項以驗證在實際將變更寫入 LDAP 之前此指令可以成功執行。


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

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

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


    提示

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


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

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

若要檢視整個顯示設定檔

若要移除顯示設定檔

若您有某些理由需要移除顯示設定檔,例如若其遭毀壞,則您可以使用含有 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 顯示設定檔。有關載入顯示設定檔的相關資訊,請參閱若要載入顯示設定檔 (指令行)

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

可以使用「通道與容器管理」連結來管理:

使用桌面屬性頁面時,獲授權的管理員只能看到「通道與容器管理」連結。其他所有 display profile 屬性均為隱藏,因此可維護安全性。

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

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

新增通道

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

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

提供者

說明

AppProvider

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

BookmarkProvider

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

JSPProvider

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

LoginProvider

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

MailCheckProvider

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

NotesProvider

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

SearchProvider

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

URLScraperProvider

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

UserInfoProvider

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

XMLProvider

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

簡易 web 服務提供者

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

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

在預設情況,範例預先配置 web 服務通道在範例 Portal Desktop 上提供。範例配置 web 服務通道可藉由管理員使用 Identity Server 管理主控台加入。

任一 web 服務通道皆非常適合與相對簡易的 web 服務一起使用,例如擁有不複雜的輸入參數以及介面展示需求的 web 服務。如果「簡易 web 服務提供者」偵測到它並未裝備好控制特定的 web 服務,將會對使用者顯示適當的訊息。

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

「簡易 web 服務提供者」將支援下列的 WSDL 配置屬性類型:

預先配置 web 服務通道

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

若要設定預先配置 web 服務通道,您將被要求經由管理主控台指定 WSDL URL 與方法名稱。

可配置 web 服務通道

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

新容器通道

「容器通道」清單的新連結能讓您從已定義容器提供者的清單中選取欲建立的容器提供者。表 7-5 所顯示的已定義提供者通道可以做為建立新通道的基礎。這個兩欄表格會在第一欄列示提供者,在第二欄列示簡單的說明。若需有關已定義的內容提供者的相關資訊,請參閱「Sun Java System Portal Server 6 2004Q2 Desktop Customization Guide」。

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

提供者

說明

JSPFrameCustomTableContainerProvider

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

JSPSingleContainerProvider

顯示單一通道。

JSPTabContainerProvider

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

JSPTabCustomTableContainerProvider

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

JSPTableContainerProvider

在表格中顯示內容通道。

TemplateEditContainer 提供者

繪製「編輯」頁面的框架。

TemplateTabContainerProvider

支援多個標籤。

TemplateTabCustomTableContainerProvider

建立新標籤。

TemplateTableContainerProvider

在表格中顯示內容通道。

建立通道或容器通道

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

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

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

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

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

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

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

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

  16. 按一下 [建立]。

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

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

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

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

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

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

  12. 依需要修改屬性。
  13. 請參閱「Sun Java System Portal Server 6 2004Q2 Desktop Customization Guide」以暸解有關通道特性的詳細資訊。

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

若要移除通道或容器通道

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

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

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

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

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

管理容器

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

這些範例包括:

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

使用 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]

請參閱第 21 章,「指令行公用程式」以取得關於 dpadmin 指令的完整語法。執行 dpadmin 指令時,請注意下列事項:

dpadmin 指令的使用指南

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


注意     

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


修改顯示設定檔

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

了解顯示設定檔錯誤訊息

當您嘗試與儲存包含無效 XML 的 display profile 文件時,系統會報告錯誤。錯誤訊息會以標題、訊息與子-訊息出現。訊息方塊的標題為「無效的 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. 修改 display profile 輸入 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 中的新通道新增至 display profile。在這個範例中,新通道必須在 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>

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

    若要新增特性至集合中新增新特性

    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. 如需詳細資料,請參閱第 7 章,「管理顯示設定檔」

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

    1. 使用 modify 子指令變更 display profile 文件的優先權。
    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=?0?version=?.0

      <Properties/>

      <Channels/>

      <Providers/>

      EOF

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

    若要使通道可用於容器

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

      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">

      <Available>

          <Reference value="BookMark">

      </Available>

      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 Identity Server 提供文字視窗以供檢視並直接編輯 display profile 文字之用。只要您擁有對於組織、子組織或角色的管理存取權限,就可以使用 Sun Java System Identity Server 管理主控台來瀏覽這個文字視窗與檢視或編輯 display profile。


    備註

    若您的瀏覽器為 Netscape 4.x 則不可以直接透過管理主控台編輯 display profile XML。


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

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

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

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

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


      備註     

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


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

    11. 備註   

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




    上一頁      目錄      索引      下一頁     


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