Oracle® Fusion Middleware Developer's Guide for Oracle WebCenter 11g Release 1 (11.1.1.5.0) Part Number E10148-13 |
|
|
View PDF |
This appendix provides reference information about the configuration, location, and attributes of the default catalog definition file. This information is useful while performing the tasks described in Part III, "Customizing Your Application and Extending Customization Options".
For detailed information about Resource Catalogs, see Chapter 15, "Creating and Managing Resource Catalogs."
This appendix includes the following sections:
Section C.1, "Configuration and Location of Catalog Definitions"
Section C.4, "Factory Classes Available for Adding Dynamic Resources to the Catalog"
The rcv-config
section of your adf-config.xml
file defines the name of the default catalog. The rcv-config
element is not available by default in your application's adf-config.xml
file. You must add it if you want to change the name of the default catalog or, if you have chosen to implement multiple catalogs, specify a catalog selector class.
<rcv:rcv-config>
<rcv:catalog-selector class-name=""/>
<rcv:default-catalog catalog-name="/oracle/webcenter/portalapp/catalogs/default-catalog.xml"/></rcv:rcv-config>
The Resource Catalog service stores catalog definition files in MDS at the resource-catalog-root
directory. The resource-catalog-root
is defined as an MDS namespace, hence the exact location depends on your MDS configuration. The default resource-catalog-root
is defined by the default-scope
attribute in the adf-rcs-config
element in your adf-config.xml
. This attribute is set to "/
" implying that a catalog ID is expressed as fully the qualified MDS path:
<rcs:adf-rcs-config>
<rcs:rcs-config>
<rcs:catalog-config default-scope="/"
default-registry="/oracle/webcenter/portalapp/catalogs/catalog-registry.xml"/>
. . .
<rcs:security-manager class-name="oracle.webcenter.portalframework.genericsiteresources.internal.security.CatalogSecurityManager"/>
</rcs:rcs-config>
The security-manager
element defines the security manager implementation.
Example C-1 provides the catalog definition XML schema for your reference.
Example C-1 XML Schema for Catalog Definition
<xsd:schema elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/adf/rcs/catalog" xmlns:rcs="http://xmlns.oracle.com/adf/rcs/catalog" xmlns:md="http://xmlns.oracle.com/bali/xml/metadata" xmlns:mds="http://xmlns.oracle.com/mds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="1.0"> <xsd:annotation> <xsd:appinfo> <jaxb:schemaBindings> <jaxb:package name="oracle.adfinternal.rc.catalog.xml"/> </jaxb:schemaBindings> </xsd:appinfo> </xsd:annotation> <!-- declare all elements as top-level elements so they appear in the component palette pages generated by XMLEF --> <!-- IMPORTANT: catalogDefinition & navigationModel CANNOT share a common type --> <!-- MDS cannot handle it. --> <xsd:element name="catalogDefinition" type="rcs:catalogDefinitionType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <!-- enable customization for navigation models --> <xsd:element name="navigationDefinition" type="rcs:navigationDefinitionType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <!-- disable customization of the schema definition for both catalog & navigation models --> <xsd:element name="schema" type="rcs:schemaType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="descriptor" type="rcs:descriptorType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="attributes" type="rcs:attributesType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="attribute" type="rcs:attributeType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> <!-- ### this marks "attributeId" attribute as "locally unique" within the <attributes> tag --> <mds:localUniqueAttribute>attributeId</mds:localUniqueAttribute> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="parameters" type="rcs:parametersType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="parameter" type="rcs:parameterType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> <!-- ### this marks "id" attribute as "locally unique" within the <parameters> tag --> <mds:localUniqueAttribute>id</mds:localUniqueAttribute> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="contents" type="rcs:contentsType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="folder" type="rcs:folderType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="resource" type="rcs:resourceType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="includeCatalog" type="rcs:includeCatalogType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="includeNavigation" type="rcs:includeNavigationType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="repository" type="rcs:repositoryType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="dynamicFolder" type="rcs:dynamicFolderType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="source" type="rcs:dynamicFolderSourceType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="customFolder" type="rcs:customFolderType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="component" type="rcs:componentType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="url" type="rcs:urlType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="customContent" type="rcs:customContentType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="separator" type="rcs:separatorType"> <xsd:annotation> <xsd:appinfo> <md:elementMetadata> <mds:customizationAllowed>true</mds:customizationAllowed> </md:elementMetadata> </xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:complexType name="descriptorType"> <xsd:attribute name="attributeId" type="xsd:string" use="required"/> <xsd:attribute name="labelKey" type="xsd:string"/> <xsd:attribute name="shortLabelKey" type="xsd:string"/> <xsd:attribute name="helpTextKey" type="xsd:string"/> <xsd:attribute name="hintTextKey" type="xsd:string"/> <xsd:attribute name="searchable" type="xsd:boolean" default="true"/> <xsd:attribute name="multivalue" type="xsd:boolean" default="false"/> <xsd:attribute name="endUserVisible" type="xsd:boolean" default="true"/> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="schemaType"> <xsd:sequence> <xsd:element ref="rcs:descriptor" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="attributeType"> <xsd:attribute name="attributeId" type="xsd:string" use="required"/> <xsd:attribute name="value" type="xsd:string" use="required"/> <xsd:attribute name="isKey" type="xsd:boolean" default="false"/> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="attributesType"> <xsd:sequence> <xsd:element ref="rcs:attribute" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="parameterType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="id" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="parametersType"> <xsd:sequence> <xsd:element ref="rcs:parameter" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="itemType"> <xsd:all> <xsd:element ref="rcs:attributes" minOccurs="0" maxOccurs="1"/> <xsd:element ref="rcs:parameters" minOccurs="0" maxOccurs="1"/> </xsd:all> <xsd:attribute name="id" type="xsd:ID" use="required"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="description" type="xsd:string"/> <xsd:attribute name="visible" type="xsd:string" default="true"/> </xsd:complexType> <xsd:complexType name="includeCatalogType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="scope" type="xsd:string" use="required"/> <xsd:attribute name="catalogId" type="xsd:string" use="required"/> <xsd:attribute name="insertFolderContents" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="includeNavigationType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="scope" type="xsd:string" use="required"/> <xsd:attribute name="navigationId" type="xsd:string" use="required"/> <xsd:attribute name="insertFolderContents" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="repositoryType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="repository" type="xsd:string" use="required"/> <xsd:attribute name="path" type="xsd:string"/> <xsd:attribute name="includeSubfolders" type="xsd:boolean" default="true"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="dynamicFolderSourceType"> <xsd:attribute name="repository" type="xsd:string"/> <xsd:attribute name="path" type="xsd:string"/> <xsd:attribute name="includeSubfolders" type="xsd:boolean" default="true"/> </xsd:complexType> <xsd:complexType name="dynamicFolderType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:sequence> <xsd:element ref="rcs:source" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="expression" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="customContentType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="contentProviderClass" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="customFolderType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="factoryClass" type="xsd:string" use="required"/> <xsd:attribute name="path" type="xsd:string"/> <xsd:attribute name="insertFolderContents" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- this is a bit of a kludge. To keep MDS happy we must define a type --> <!-- for separators even though they don't have any special attributes --> <xsd:complexType name="separatorType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"/> </xsd:complexContent> </xsd:complexType> <!-- implementation of filters has been deferred <xsd:complexType name="filterType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:attribute name="expression" type="xsd:string"/> <xsd:attribute name="filterClass" type="xsd:string"/> <xsd:attribute name="scope" type="xsd:string" default="subtree"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> --> <xsd:group name="folderContentGroup"> <xsd:choice> <xsd:element name="folder" type="rcs:folderType"/> <xsd:element name="repository" type="rcs:repositoryType"/> <xsd:element name="resource" type="rcs:resourceType" /> <xsd:element name="dynamicFolder" type="rcs:dynamicFolderType" /> <xsd:element name="customFolder" type="rcs:customFolderType"/> <xsd:element name="customContent" type="rcs:customContentType"/> <xsd:element name="component" type="rcs:componentType"/> <xsd:element name="url" type="rcs:urlType"/> <xsd:element name="includeCatalog" type="rcs:includeCatalogType"/> <xsd:element name="includeNavigation" type="rcs:includeNavigationType"/> <xsd:element name="separator" type="rcs:separatorType"/> </xsd:choice> </xsd:group> <xsd:complexType name="contentsType"> <xsd:group ref = "rcs:folderContentGroup" minOccurs="0" maxOccurs="unbounded" /> </xsd:complexType> <!-- contents is optional to allow resourceType to extend folderType --> <!-- most resources won't have children so the contents element should be optional --> <xsd:complexType name="folderType"> <xsd:complexContent> <xsd:extension base="rcs:itemType"> <xsd:all> <!-- <xsd:element name="filter" type="rcs:filterType" minOccurs="0" maxOccurs="unbounded"/> --> <xsd:element ref="rcs:contents" minOccurs="0" maxOccurs="1"/> </xsd:all> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- resourceType extends folderType to allow resource elements to have children --> <xsd:complexType name="resourceType"> <xsd:complexContent> <xsd:extension base="rcs:folderType"> <xsd:attribute name="repository" type="xsd:string" use="required"/> <xsd:attribute name="path" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- resourceType extends folderType to allow component elements to have children --> <xsd:complexType name="componentType"> <xsd:complexContent> <xsd:extension base="rcs:folderType"> <xsd:attribute name="factoryClass" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- resourceType extends folderType to allow URL elements to have children --> <xsd:complexType name="urlType"> <xsd:complexContent> <xsd:extension base="rcs:folderType"> <xsd:attribute name="url" type="xsd:string" use="required"/> <xsd:attribute name="factoryClass" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="catalogDefinitionType"> <xsd:complexContent> <xsd:extension base="rcs:folderType"> <xsd:all> <xsd:element ref="rcs:schema" minOccurs="0" maxOccurs="1"/> </xsd:all> <xsd:attribute name="contact" type="xsd:string"/> <xsd:attribute name="definitionFilter" type="xsd:string"/> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="navigationDefinitionType"> <xsd:complexContent> <xsd:extension base="rcs:folderType"> <xsd:all> <xsd:element ref="rcs:schema" minOccurs="0" maxOccurs="1"/> </xsd:all> <xsd:attribute name="contact" type="xsd:string"/> <xsd:attribute name="definitionFilter" type="xsd:string"/> <xsd:attribute name="resourceBundle" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:schema>
The catalog definition schema provides a rich set of elements through which you can specify the structure and content of your resource catalogs.
This section contains the following subsections:
For an example of creating a custom catalog definition file, see Section 15.2, "Creating a Custom Resource Catalog."
The catalogDefinition
element defines the overall characteristics of the catalog, such as the location of translated strings.
Example C-2 illustrates the use of catalogDefinition
.
Example C-2 Example of catalogDefinition
<catalogDefinition id="DefaultCatalog" visible="#{true}" resourceBundle="portal.catalog.DefaultCatalogBundle" definitionFilter="portal.catalog.DefaultCatalogFilter" xmlns="http://xmlns.oracle.com/adf/rcs/catalog">
Table C-1 describes the keywords of the catalogDefinition
element. For information about including attributes
for elements, see Section C.3.8, "attributes."
Table C-1 catalogDefinition Keywords
Keyword | Description |
---|---|
xmlns |
http://xmlns.oracle.com/adf/rcs/catalog |
id |
The identifier used when referring to this catalog definition. |
visible |
Whether the Resource Catalog must be available for selection at runtime. This attribute takes an EL value and can be used to conditionally display the catalog to specific users or groups. The default value is #{true}, which means that the catalog is displayed at all times. |
resourceBundle |
The name of the resource bundle to be used for obtaining translated attribute values, where |
definitionFilter |
The fully qualified name of a Java class that implements the |
A catalog can have attributes
, such as title, subject, and description. For information about including attributes
, see Section C.3.8, "attributes."
The folder
element defines a catalog folder, used to organize content in the catalog. Folders can contain any number of entries including other folders. You can mix different types of catalog elements in the same folder.
Folders can have attributes
just like any other entry. For information about including attributes
for elements, see Section C.3.8, "attributes."
Example C-3 illustrates the use of the folder
element.
Example C-3 Example of folder
<folder visible="#{true}" id="webDevFolder"> <attributes> <attribute value="WEB_DEV_FOLDER.TITLE" attributeId="Title" isKey="true"/> <attribute value="WEB_DEV_FOLDER.DESCRIPTION" attributeId="Description" isKey="true"/> <attribute value="WEB_DEV_FOLDER.KEYWORDS" attributeId="Subject" isKey="true"/> <attribute value="/adf/webcenter/folderlayout_qualifier.png" isKey="false" attributeId="IconURI"/> </attributes> <contents/> <folder>
Table C-2 describes the keywords of the folder
element.
Table C-2 folder Keywords
Keyword | Description |
---|---|
id |
The unique identifier used when referring to this folder. |
visible |
Whether the resource must be rendered in the catalog. This attribute takes an EL value and can be used to conditionally display the resource to specific users or groups. The default value is #{true}, which means that the resource is displayed in the catalog at all times. |
Rather than adding the code to the catalog definition source, you may find it easier to add a folder in Design view of the catalog definition file. For more information, see Section 15.2.3.1, "Adding a Folder."
The url
element is used to define the following types of links in a catalog:
Task Flow: Link to a WebCenter Services task flow or a custom task flow created in Oracle JDeveloper.
Portlet: Link to any registered portlet producer.
Content: Link to a file or directory from an existing Content Repository connection.
Other: Link to a custom component that you create by providing the XML code for that component.
Example C-4 illustrates the use of the url
element.
Example C-4 Example of a url Resource
<url visible="#{true}" factoryClass="oracle.webcenter.portalframework.sitestructure.rc.TaskFlowResourceFactory" id="tagCloud" url="taskflow://oracle/webcenter/tagging/controller/taskflows/tag-selection.xml#tag-selection"> <attributes> <attribute value="TAG_CLOUD.TITLE" attributeId="Title" isKey="true"/> <attribute value="TAG_CLOUD.DESCRIPTION" attributeId="Description" isKey="true"/> <attribute value="TAG_CLOUD.KEYWORDS" attributeId="Subject" isKey="true"/> <attribute value="oracle.webcenter.tagging" attributeId="WEBCENTER_SERVICE_ID" isKey="false"/> <attribute value="/adf/webcenter/label_qualifier.png" attributeId="IconURI"/> <attribute value="height:211px" attributeId="attr.contentStyle" isKey="false"/> </attributes> <contents/> </url>
Table C-3 describes the keywords for the url
element.
Table C-3 url Keywords
Keyword | Description |
---|---|
id |
The unique identifier used when referring to this folder. |
visible |
Whether the resource must be rendered in the catalog. This attribute takes an EL value and can be used to conditionally display the resource to specific users or groups. The default value is #{true}, which means that the resource is displayed in the catalog at all times. |
factoryClass |
If you are adding a custom component, then specify the factory class of the component. For all other resource types, the The factory classes for the available resource types are as follows:
|
URL |
The URL to access the resource. Different link types support different URL formats. For more information, see Table 15-1, "URL Format for the Different Resource Types". |
Resource links can have attributes, such as title, subject, and description, and parameters. For more information, see Section C.3.8, "attributes" and Section C.3.10, "parameters."
Rather than adding the code to the catalog definition source, you may find it easier to add a link in Design view of the catalog definition file. For more information, see Section 15.2.3.2, "Adding a Link."
The includeCatalog
element is used to include a reference to another catalog definition file.
Example C-5 illustrates the use of the includeCatalog
element.
Example C-5 Example of a Nested Resource Catalog
<includeCatalog visible="#{true}" scope="/" id="users-catalog" catalogId="/oracle/webcenter/portalapp/catalogs/users-catalog.xml"> <attributes> <attribute value="catalog" isKey="false" attributeId="Title"/> </attributes> </includeCatalog>
The includeCatalog
element supports the same keywords as the catalogDefinition
element. See Table C-1 for the keywords on the includeCatalog
element.
A catalog can have attributes
, such as title, subject, and description. For information about including attributes
for elements, see Section C.3.8, "attributes."
Rather than adding the code to the catalog definition source, you may find it easier to add a catalog in Design view of the catalog definition file. For more information, see Section 15.2.3.3, "Adding a Resource Catalog."
The component
element is used to include a custom XML resource, such as a simple ADF Faces component or raw HTML, in the catalog. The component
element must be located within the contents
section. You can add multiple component
in a catalog definition file.
The component
element must contain a parameters
element with a nested parameter
element. Set the id
for the parameter
element to xml
. Include the XML fragment inside this parameter
element. To generate an ADF Faces ID for the component at runtime, set the ID on the component to #
(hash symbol).
Example C-6 shows the code to add a Box
component to the Resource Catalog.
Example C-6 Panel Customizable Component in the Catalog Definition File
<component id="pc" visible="#{true}" factoryClass="oracle.adf.rc.component.XmlComponentFactory"> <attributes> <attribute attributeId="Title" value="BOX" isKey="true"/> <attribute attributeId="Description" value="BOX.DESCRIPTION" isKey="true"/> <attribute attributeId="Subject" value="BOX.KEYWORDS" isKey="true"/> <attribute attributeId="IconURI" value="/adf/webcenter/panelcustomizable_qualifier.png"/> </attributes> <parameters> <parameter id="xml"><cust:panelCustomizable id="#" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"/> </parameter></parameters> </parameters> </component>
Table C-4 describes the keywords of the component
element. For information about including attributes
for elements, see Section C.3.8, "attributes."
Table C-4 component Keywords
Keyword | Description |
---|---|
|
The unique identifier for the component in the catalog definition. |
visible |
Whether the resource must be rendered in the catalog. This attribute takes an EL value and can be used to conditionally display the resource to specific users or groups. The default value is |
|
The name of a Java class that implements the |
A custom component can have attributes, such as title, subject, and description, and parameters. For more information, see Section C.3.8, "attributes" and Section C.3.10, "parameters."
You may find it easier to add a custom component in Design view of the catalog definition file. For more information, see Section 15.2.3.4, "Adding a Component."
The customFolder
element defines content generated using Resource Catalog adapters. This element renders a folder that is populated with content dynamically at runtime. The catalog displays the folder even if there are no resources inside it.
Example C-7 illustrates the use of the customFolder
element to render task flows from the Analytics service.
Example C-7 Example of a customFolder Resource
<customFolder factoryClass="oracle.webcenter.analytics.view.rc.ASServiceContextFactory" id="analyticsServiceFolder" visible="#{true}"> <attributes resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle"> <attribute attributeId="Description" isKey="true" resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle" value="ANALYTICS_FOLDER.DESCRIPTION"/> <attribute attributeId="IconURI" isKey="false" value="/adf/webcenter/folderanalytics_qualifier.png"/> <attribute attributeId="Subject" isKey="true" resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle" value="ANALYTICS_FOLDER.KEYWORDS"/> <attribute attributeId="WEBCENTER_SERVICE_ID" isKey="false" value="oracle.webcenter.analytics"/> <attribute attributeId="attr.text" isKey="false" value="#{uib_o_w_s_r_DefaultGroupSpaceCatalog['ANALYTICS_FOLDER.TITLE']}"/> <attribute attributeId="Title" isKey="true" resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle" value="ANALYTICS_FOLDER.TITLE"/> </attributes> <parameters/> </customFolder>
Table C-5 describes the keywords for the customFolder
element.
Table C-5 customFolder Keywords
Keyword | Description |
---|---|
id |
The unique identifier used when referring to this folder. |
visible |
Whether the resource must be rendered in the catalog. This attribute takes an EL value and can be used to conditionally display the resource to specific users or groups. The default value is #{true}, which means that the resource is displayed in the catalog at all times. |
factoryClass |
The factory class of the service. See Section C.4, "Factory Classes Available for Adding Dynamic Resources to the Catalog" for information about the supported factory classes. |
A custom folder can have attributes, such as title, subject, and description, and parameters. For more information, see Section C.3.8, "attributes" and Section C.3.10, "parameters."
Rather than adding the code to the catalog definition source, you may find it easier to add a custom folder in Design view of the catalog definition file. For more information, see Section 15.2.3.5, "Adding a Custom Folder."
The customContent
element defines content generated using Resource Catalog adapters. This element renders a folder that contains resources that are generated dynamically at runtime. Unlike the customFolder
element, the customContent
element renders a folder in the catalog only if the folder contains resources.
Example C-8 illustrates the use of the customContent
element.
Example C-8 Example of a customContent Resource
<customContent contentProviderClass="com.oracle.ensemble.interop.adf.EnsembleContentProvider" id="ensembleContentProvider" visible="true"> <attributes resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle"/> </customContent>
Table C-3 describes the keywords for the customContent
element.
Table C-6 customContent Keywords
Keyword | Description |
---|---|
id |
The unique identifier used when referring to this folder. |
visible |
Whether the resource must be rendered in the catalog. This attribute takes an EL value and can be used to conditionally display the resource to specific users or groups. The default value is #{true}, which means that the resource is displayed in the catalog at all times. |
contentProviderClass |
The fully qualified name of a class that implements the interface |
A custom content provider can have attributes, such as title, subject, and description, and parameters. For more information, see Section C.3.8, "attributes" and Section C.3.10, "parameters."
Rather than adding the code to the catalog definition source, you may find it easier to add a custom content folder in Design view of the catalog definition file. For more information, see Section 15.2.3.6, "Adding a Custom Content Provider."
Entries in a resource catalog have associated attributes that describe the entry. Values for some attributes can be obtained directly from the resources or from the name
and description
attributes on each XML element in the catalog definition. However, these values may not always be appropriate for displaying to end users, and often they are not available in different languages. Attributes defined using the attributes
element in the catalog definition let you override those available from other sources. In addition, these attributes can be defined in terms of a key to a resource bundle so the actual values displayed reflect the current user's locale.
Within the attributes
element you can insert any number of individual attribute
elements that define the attributes you want to apply to a resource catalog entry.
Example C-9 illustrates the use of the attributes
element.
Example C-9 Example of attributes and attribute Elements
<attributes> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.TITLE" attributeId="Title" isKey="true"/> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.DESCRIPTION" attributeId="Description" isKey="true"/> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.KEYWORDS" attributeId="Subject" isKey="true"/> <attribute value="oracle.webcenter.collab.announcement" attributeId="WEBCENTER_SERVICE_ID" isKey="false"/> </attributes>
Table C-7 describes the keywords of the attributes
element.
The attribute
element defines an attribute for a resource catalog entry that corresponds to a descriptor in the schema
element. For information about attributes, see Section C.3.8, "attributes." Oracle Composer uses the following attributes:
Title
Description
Subject
IconURI
ToolTip
You should include at least a Title
and Description
attribute for each catalog entry. A Subject
attribute is also highly recommended to facilitate keyword searching of the resource catalog. The Title
attribute overrides the name
attribute on the parent element and is used to declare a display name that is translated through a resource bundle. Similarly, the Description
attribute overrides the description
attribute on the parent element and is used to declare a description that is translated through a resource bundle.
You can declare your own attributes by including them in the schema
element. For more information, see Section C.3.11, "schema."
Example C-10 illustrates the use of the attribute
element.
Example C-10 Example of attributes and attribute Elements
<attributes> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.TITLE" attributeId="Title" isKey="true"/> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.DESCRIPTION" attributeId="Description" isKey="true"/> <attribute value="ANNOUNCEMENTS_MAIN_VIEW.KEYWORDS" attributeId="Subject" isKey="true"/> <attribute value="oracle.webcenter.collab.announcement" attributeId="WEBCENTER_SERVICE_ID" isKey="false"/> </attributes>
Table C-8 describes the keywords of the attribute
element.
Table C-8 attribute Keywords
Keyword | Description |
---|---|
attributeId |
The identifier of the attribute as declared in the |
value |
The value of the attribute. |
isKey |
A flag indicating whether the value is a literal value ( |
resourceBundle |
The name of the resource bundle to be used for obtaining translated attribute values. |
For task flows included in your Resource Catalog, you can use the attribute
element to pass task flow parameters and attributes of the enclosing Show Detail Frame
component. You can do this by prefixing the attributeId
values for the task flow parameters and Show Detail Frame
attributes with parameter.
and attr.
respectively as shown in the following example:
<attributes> <attribute value="dark" attributeId="attr.background" isKey="false"/> <attribute value="#{myBean.myParam1}" attributeId="parameter.myParam1" isKey="false"/> </attributes>
For more information, see Section 15.2.9, "How to Define Task Flow Parameters and Attributes of the Enclosing Show Detail Frames for Task Flows."
A few of the Resource Catalog components, such as links, custom components, and custom folders, support parameters. Parameters are used to provide the XML code for a custom component or bind the resource to other artifacts in the application. You can use the parameters
element to define parameters on a resource. The parameters
element must be included inside the tag for the resource. Each parameters
element can have multiple parameter
tags. You must provide an ID and a value for each parameter that you define.
When you define a parameter for a custom XML component, you must specify the parameter ID to be xml
and the value is the code for the custom component. In the code, the component's ID must be #
so that it is generated at runtime. In addition, you must specify the namespace for the component.
Example C-11 illustrates the use of the parameters
element in a custom XML component definition.
The schema
element contains one or more descriptor
elements. The descriptor
elements provide the resource catalog service with information about the attributes used within the catalog, such as whether they are searchable. Out-of-the-box, the attributes Title, Description, Subject, ToolTip, and IconURI are supported for a resource. You can add other custom attributes that you want to expose on the resource.
Example C-12 illustrates the use of the schema
element.
Example C-12 Example of schema
<schema resourceBundle="oracle.adf.rc.attribute.nls.AttributeBundle" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"> <descriptor labelKey="TITLE.PROMPT_KEY" endUserVisible="true" multivalue="false" searchable="true" attributeId="Title" shortLabelKey="TITLE.SHORT_PROMPT_KEY" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"/> <descriptor labelKey="DESCRIPTION.PROMPT_KEY" endUserVisible="true" multivalue="false" searchable="true" attributeId="Description" shortLabelKey="DESCRIPTION.SHORT_PROMPT_KEY" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"/> <descriptor labelKey="SUBJECT.PROMPT_KEY" endUserVisible="true" multivalue="false" searchable="true" attributeId="Subject" shortLabelKey="SUBJECT.SHORT_PROMPT_KEY" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"/> <descriptor labelKey="TOOL_TIP.PROMPT_KEY" endUserVisible="true" multivalue="false" searchable="false" attributeId="ToolTip" shortLabelKey="TOOL_TIP.SHORT_PROMPT_KEY" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"/> <descriptor labelKey="ICON_URI.PROMPT_KEY" endUserVisible="false" multivalue="false" searchable="false" attributeId="IconURI" shortLabelKey="ICON_URI.SHORT_PROMPT_KEY" xmlns="http://xmlns.oracle.com/adf/rcs/catalog"/> </schema>
Table C-9 describes the keywords of the descriptor
element.
Table C-9 descriptor Keywords
Keyword | Description |
---|---|
attributeId |
The identifier of the attribute being described. |
searchable |
Indicates whether the attribute is included in resource catalog searches ( |
multivalue |
Indicates whether the attribute can have multiple values ( |
endUserVisible |
Indicates whether the attribute should be exposed to end users ( |
resourceBundle |
The name of the resource bundle used to translate the label keys. |
labelKey |
The resource bundle key for the attribute's label. |
shortLabelKey |
The resource bundle key for the attribute's short label. |
Resource Catalog adapters are used to add resources to a catalog dynamically, for example, a folder to display all available content repository connections to users. As the content of such a folder cannot be determined when you create the catalog, the adapter ensures that the folder is populated dynamically.
To use an adapter, you must specify the factory class as part of the resource definition while adding the resource. This section describes the supported factory classes. It includes the following sections:
Use the oracle.adf.rc.component.XmlComponentFactory
class inside a <component>
construct to include an XML component in the catalog. The XmlComponentFactory
class requires a single parameter named xml
and the value of the parameter is a block of XML representing one or more components that can be added to a page. The following example shows the code to add a Panel Customizable
component to the Resource Catalog:
<component id="pc" factoryClass="oracle.adf.rc.component.XmlComponentFactory">
<attributes>
<attribute attributeId="Title" value="Box"/>
<attribute attributeId="Description" value="Container for other objects"/>
<attribute attributeId="IconURI" value="/adf/webcenter/panelcustomizable_qualifier.png"/>
</attributes>
<parameters>
<parameter id="xml">
<cust:panelCustomizable id="#" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"/>
</parameter>
</parameters>
</component>
For the detailed steps, see Section 15.2.3.4, "Adding a Component."
The ContentUrlResourceFactory
class is used to include portal framework content from UCM connections. It is used when you add a URL resource of type Content to the catalog. The following example shows how the ContentUrlResourceFactory
class can be used:
<url id="contentItem" factoryClass="oracle.webcenter.content.model.rc.ContentUrlResourceFactory" url="content://UCM/PersonalSpaces/weblogic/content.xml"> <attributes> <attribute value="Personal Document" isKey="false" attributeId="Title"/> </attributes> <parameters> <parameter id="templateView">SpaceTemplate</parameter> </parameters> </url>
where id
is the unique identifier for the resource, and url
is the URL to access the resource. The URL must begin with content:
if you use ContentUrlResourceFactory
. In addition, you can add a templateView
parameter to specify the Content Presenter display template to be used.
For more information, see Section 15.2.3.2, "Adding a Link."
The ContentFolderContextFactory
class is used to list all the Content Repository connections available to the application. You can add a customFolder
resource to the catalog and specify this factory class, as shown in the following example:
<customFolder id="AllConnections" factoryClass="oracle.webcenter.content.model.rc.CustomFolderContextFactory" />
For more information about custom folders, see Section 15.2.3.5, "Adding a Custom Folder."
In the WebCenter Spaces context, the DefaultFolderContextFactory
class is used to render the folder for the current Space. If the user is in the home Space, then the user's personal folder is rendered. You can add a customFolder
resource to the catalog and specify this factory class, as shown in the following example:
<customFolder id="GroupDocuments" factoryClass="oracle.webcenter.doclib.model.rc.DefaultFolderContextFactory" />
For more information about custom folders, see Section 15.2.3.5, "Adding a Custom Folder."
The ContentListFactory
class is used to add a dynamic list of folders to the catalog. You can add a customFolder
resource to the catalog and specify this factory class, as shown in the following example:
<customFolder id="customFolder-folder" visible="#{true}" path="" factoryClass="oracle.webcenter.content.model.rc.ContentListFactory"> <attributes> <attribute attributeId="Title" value="Folders List" isKey="false"/> </attributes> <parameters> <parameter id="datasource">UCM#dCollectionID:60</parameter> <parameter id="datasourceType">dsTypeFolderContents</parameter> </parameters> </customFolder>
The ContentListFactory
class supports the following parameters:
datasource
: The data source of the content. The value depends on the value of datasourceType
.
datasourceType
: The data source type of the content. Valid values are dsTypeSingleNode
, dsTypeFolderContents
, dsTypeQueryExpression
, dsTypeMultiNode
, and dsTypeScenarioResults
.
templateView
: To specify the Content Presenter display template to be used.
For more information about using Content Presenter, see Chapter 30, "Adding Content Task Flows and Document Components to a Portal Page."
The EnsembleContentProvider
class is used to display a dynamic list of all registered pagelet producers. You can add a customContent
resource to the catalog and specify this factory class, as shown in the following example:
<customContent contentProviderClass="com.oracle.ensemble.interop.adf.EnsembleContentProvider" id="ensembleContentProvider" visible="true"> <attributes resourceBundle="oracle.webcenter.spaces.resource.DefaultGroupSpaceCatalogBundle"/> </customContent>
For more information about custom content providers, see Section 15.2.3.6, "Adding a Custom Content Provider."