身為管理員,您可以編輯配置檔案,自訂某些部分的 Web Console 顯示畫面。
本小節說明以下作業︰
如需有關使用 Web Console 的資訊,請參閱「Service Registry 3.1 使用者指南」。
Service Registry 包含一些預先定義的查詢,這些查詢顯示在 [Web Console 搜尋] 表單中的 [選取預先定義的查詢] 下拉式清單中。身為管理員,您可以將新的查詢增加至 Registry 安裝的特定下拉式清單中。
使用 Web Console 將即時查詢 (AdhocQuery) 物件發佈至登錄 (Registry)。
針對查詢指定的名稱和說明會出現在預先定義查詢的下拉式清單中。在查詢的 SQL 敘述中,指定使用者所提供資料的預留位置,方法是將這些資料括在一組單引號內,如下所示:
select * from registryobject where id = ''$lid''
記下即時查詢 (AdhocQuery) 物件和 SQL 敘述中任何預留位置的唯一識別碼,或是將這些識別碼複製並貼入到檔案中。
變更至目錄 RegistryDomain-base/3.0/jaxr-ebxml。
在文字編輯器中,開啟檔案 registry-browser-config.xml。
製作原始檔案的副本,以便在必要時回復所做的變更。
使用下列格式,在 registry-browser-config.xml 檔案中增加項目。在 SQL 敘述中,針對各個預留位置指定 Parameter 元素。
<Query> <AdhocQueryRef id="unique-identifier"/> <Parameter parameterName="$placeholder-name" datatype="string"> <rim:Name> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter-name-in-en-locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter-name-in-fr-locale"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter-description-in-en-locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter-description-in-fr-locale"/> </rim:Description> </Parameter> ... </Query>
unique-identifier 是即時查詢 (AdhocQuery) 物件的唯一識別碼。
各個參數的 parameterName 屬性值必須來自查詢的 SQL 敘述預留位置。
datatype 屬性可含有下列任何值:
string:此參數會顯示為 [搜尋] 表單中的文字欄位。
taxonomyElement:此參數會顯示為 [搜尋] 表單中的下拉式清單。如果您指定 taxonomyElement 資料類型,「名稱」和「說明」元素後面必須接著 SlotList 元素,如下所示:
<rim:SlotList> <rim:Slot name="domain"> <rim:ValueList> <rim:Value> classification-scheme-or-concept-id </rim:Value> </rim:ValueList> </rim:Slot> </rim:SlotList>
classification-scheme-or-concept-id 是分類方案或概念的唯一識別碼,其中的概念 (或子概念) 必須出現在下拉式清單中。如果分類方案未出現在登錄 (Registry) 中,您必須發佈分類方案。
槽名稱必須是「domain」。
boolean:此參數會顯示為 [搜尋] 表單中的核取方塊。
如果 datatype 是 string 或 boolean,您也可以將 defaultValue 屬性增加至 Parameter 元素中,以指定要出現在 [搜尋] 表單中的預設值。
針對您支援的任何語言環境,指定各個參數名稱和描述的本土化字串值。目前語言環境的 parameter-name 會在 [搜尋] 表單中顯示為參數標籤。
使用 registry-browser-config.xml 檔案中的現有項目做為參照。
儲存並關閉 registry-browser-config.xml 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
[選取預先定義的查詢] 下拉式清單中出現的預設查詢是「基本查詢」,這可供使用者按名稱、說明和分類來搜尋登錄 (Registry) 物件。
身為管理員,您可以將此預設值變更為安裝環境適用的查詢。例如,您可能希望預設查詢是已加入 Registry 的新預先定義查詢,如增加預先定義的查詢中所述。若要進行變更,請編輯配置檔案的特性。
變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes。
在文字編輯器中開啟檔案 jaxr-ebxml.properties。
找出特性 jaxr-ebxml.thin.defaultQueryPanel 的定義。依預設,此特性已標記為註釋:
#jaxr-ebxml.thin.defaultQueryPanel=
移除註釋字元 (#)。
經由指定將做為預設值的查詢邏輯識別碼,來設定特性值,如以下範例所示:
jaxr-ebxml.thin.defaultQueryPanel=urn:oasis:names:tc:ebxml-regrep:query:MyQuery
儲存並關閉 jaxr-ebxml.properties 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
分類方案的樹狀結構會出現在下列的 Web Console 區域:
當您按一下 [搜尋] 功能表區域中的 [選擇分類節點 (Classification Node)],或需要選取某些登錄 (Registry) 物件種類的概念時,便會出現 [分類方案 (ClassificationSchemeor)/概念選擇器] 視窗
[檔案管理] 功能表區域
身為管理員,如果您不想讓 Service Registry 的使用者使用分類方案,可將分類方案隱藏不顯示。若要隱藏分類方案,請在配置檔案中定義特性。
變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes。
在文字編輯器中開啟檔案 jaxr-ebxml.properties。
使用下列語法,設定特性 jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList。所有的特性定義必須全部位於同一行,且不得包含空格。
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= class-scheme-id1|class-scheme-id2|...
指定要隱藏的各個分類方案的邏輯識別碼。如果您指定一個以上的識別碼,請使用垂直列 (|) 分隔各個識別碼,如以下範例所示:
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= urn:oasis:names:tc:ebxml-regrep:classificationScheme:StatusType| urn:oasis:names:tc:ebxml-regrep:profile:ws:classificationScheme:BindingType
儲存並關閉 jaxr-ebxml.properties 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
依預設,Web Console 會針對各個查詢一次顯示 25 筆搜尋結果。如果搜尋後傳回 25 筆以上的結果,使用者可顯示額外的結果頁面。身為管理員,您可以修改各頁面上顯示的搜尋結果數量。
依預設,Web Console 會將某些欄顯示在搜尋結果區域中。對於各個物件,這時會顯示物件類型、名稱、說明、版本和版本註釋。對於某些物件類型,則配置非預設的顯示畫面。例如,對於服務連結 (ServiceBinding) 物件,顯示畫面包含的是端點,而非版本資訊。身為管理員,您可以增加配置資訊,以顯示您所選擇物件類型的非預設資料。
若要執行各個作業,需要編輯配置檔案。
變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes。
在文字編輯器中,開啟檔案 jaxr-ebxml.properties。
尋找特性 omar.client.thinbrowser.numSearchResults 的定義:
omar.client.thinbrowser.numSearchResults=25
將值 25 變更為您所要的值。
儲存並關閉 jaxr-ebxml.properties 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
您可以針對物件類型,配置 [搜尋結果] 區域的欄。這些欄會顯示物件的屬性。
變更至目錄 RegistryDomain-base/3.0/jaxr-ebxml。
在文字編輯器中,開啟檔案 registry-browser-config.xml。
在 registry-browser-config.xml 檔案中增加項目,或編輯現有的項目。使用下列格式。
此範例將配置 Service 物件的非預設顯示。
<ObjectTypeConfig className="org.freebxml.omar.client.xml.registry.infomodel.ServiceImpl" id="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service"> <SearchResultsConfig> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Object Type" columnWidth="25" editable="false" method="getObjectType"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Name" columnWidth="25" editable="true" method="getName"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Description" columnWidth="30" editable="true" method="getDescription"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Status" columnWidth="15" method="getStatusAsString"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Version" columnWidth="5" method="getVersionName"/> </SearchResultsConfig> </ObjectTypeConfig>
registry-browser-config.xml 檔案提供 ObjectTypeConfig 元素的語法。使用檔案中已有的元素做為範例。這些元素會配置登錄 (Registry) 物件的預設顯示,並配置外部連結 (ExternalLink)、外部物件 (ExtrinsicObject) 和服務連結 (ServiceBinding) 物件的非預設顯示。
您可配置的欄數上限是 30。
對於 SearchResultsColumn 元素:
columnClass 屬性值一定是 java.lang.Object。
columnHeader 屬性值是 Web Console 資源束檔案中訊息的金鑰。這些檔案位在目錄 registryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes /org/freebxml/omar/client/ui/thin/。例如,如果您針對 columnHeader 值鍵入 Object Type,Web Console 的背景 Bean 會使用 WebResourceBundle 類別查找具有該金鑰的訊息。如果 WebResourceBundle 找不到訊息,會將金鑰轉換為小寫,然後再試一次。如果仍然找不到,它會將訊息值設定為 "???"+key+"???",並且記錄關於遺失資源束項目的警告訊息。因此,若要增加新的本土化 columnHeader 值,您必須將新的訊息金鑰輸入至本目錄所包含的 ResourceBundle 檔案中。
Web Console 未使用 columnWidth 屬性。
Web Console 未使用 editable 屬性。
在大多數狀況下,您可以從「ebXML Registry Information Model Version 3.0」規格的類別屬性推衍出 method 屬性的方法名稱 (如需詳細資訊,請參閱閱讀本書之前)。getStatusAsString 方法可以在 RegistryObjectImpl 實作類別中找到。(不過,此發行版本的 Service Registry 不含 API 文件。)
各個 omar.client.xml.registry.infomodel 類別名稱只能有一個 ObjectTypeConfig 元素。
儲存並關閉 registry-browser-config.xml 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
若要驗證重新配置,請使用 Web Console 的 [搜尋] 或 [檔案管理] 功能表,顯示您已變更欄的物件。