作為管理員,可以透過編輯配置檔案來自訂 Web 主控台顯示的某些方面。本節說明以下作業︰
如需有關使用 Web 主控台的資訊,請參閱「Service Registry 3 2005Q4 使用者指南」。
Service Registry 包含一些預先定義的查詢,這些查詢顯示在 [Web 主控台搜尋] 表單的 [選取預先定義的查詢] 下拉式清單中。作為管理員,您可以在 Registry 安裝的特定下拉式清單中增加新查詢。
使用 Web 主控台將 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 主控台的以下區域中︰
[搜尋] 表單區域 ([基本查詢] 被選取時)
[探索] 功能表區域
[類別方案/概念選擇器] 視窗 (當您需要為某些類別的 Registry 物件選擇概念時)
作為管理員,如果您不希望 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 主控台每次為每個查詢顯示 10 個搜尋結果。如果搜尋傳回的結果多於 10 個,則使用者可以顯示結果的其他頁面。作為管理員,您可以修改每一頁面顯示的搜尋結果數量。
依預設,Web 主控台在搜尋結果區域中顯示特定欄。對於每個物件,會顯示物件類型、名稱、說明、版本和版本註釋。對於某些物件類型,配置了非預設顯示。例如,對於 ServiceBinding 物件,顯示包含終點,而不包含版本資訊。作為管理員,您可以增加配置資訊以為您選擇的物件類別顯示非預設資料。
若要執行以下任一作業,請編輯配置檔案。
變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules /soar/WEB-INF/classes。
在文字編輯器中開啟檔案jaxr-ebxml.properties。
尋找特性 omar.client.thinbrowser.numSearchResults 的定義︰
omar.client.thinbrowser.numSearchResults=10
將值 10 變更為您所需的值。
儲存並關閉 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 物件的非預設顯示。
對於大部分,您可以從 ebXML Registry Information Model Version 3.0 規格 (請參閱在閱讀本書之前以取得詳細資訊) 推論方法名稱。getStatusAsString 方法可以在 RegistryObjectImpl 實作類別中找到。(但此 Service Registry 發行版本不包含 API 文件。)
儲存並關閉 registry-browser-config.xml 檔案。
依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。
若要驗證重新配置,請使用 Web 主控台的 [搜尋] 或 [探索] 功能表來顯示已為其變更欄的物件。