Oracle® Fusion Middleware Developer's Guide for Oracle WebCenter 11g Release 1 (11.1.1) Part Number E10148-08 |
|
|
View PDF |
This appendix provides reference information about the files that are created and modified as you build up your WebCenter application. This appendix includes the following sections:
For a complete reference for the Oracle Application Development Framework (Oracle ADF) metadata files that you create in your data model and user interface projects, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
To learn more how files are affected by major actions, see Section 39.2.2, "Developer Actions Affecting Metadata Files."
When you use Oracle WebCenter Framework to build applications and components, several files are created as you perform such actions as building and consuming portlets. As you work with your application, you may find it useful to know a little bit about each of these files and how they relate to your application. You can group the files affected by the Oracle WebCenter Framework into two broad categories as follows:
Files that are common to any Oracle ADF application, such as web.xml
. For these files, it is useful to know what specific additions and changes are made for WebCenter applications. Those modifications are described in this appendix, but for more complete descriptions of these common files, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
Files that are unique to WebCenter applications, such as portlet.xml
. For these files, it is useful to know what the file is for and what it contains. These files are described completely in this appendix.
The files that are created and modified are closely associated with the objects that you create as part of your WebCenter application. Hence, the easiest way to discuss these files is by object as follows:
This section includes the following subsections that describe the files that are created for you when you build a JSR 168 portlet:
portlet.xml
defines the characteristics of your JSR 168 portlet. For complete details on portlet.xml
, you should see the Java Portlet Specification available at:
http://jcp.org/en/jsr/detail?id=168
Example A-1 provides a sample fragment from a portlet.xml
file. Note that this example does not include all of the available elements of portlet.xml
.
Example A-1 portlet.xml Sample
<portlet> <description xml:lang="en">JSR 168 map portlet </description> <portlet-name>portlet1</portlet-name> <display-name xml:lang="en">Map Portlet</display-name> <portlet-class>jsrportlet.MapPortlet</portlet-class> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> </supports> <supported-locale>en</supported-locale> <resource-bundle>jsr.resource.MapPortletBundle</resource-bundle> <portlet-preferences> <preference> <name>portletTitle</name> </preference> </portlet-preferences> <security-role-ref> <role-name>viewer</role-name> </security-role-ref> </portlet>
For JSR 168 portlets, the portlet.xml
file contains all information related to portlets and their settings. Note that not all of these settings are used in the previous sample.
<description>
describes the portlet, providing details to the end user.
<portlet-name>
uniquely identifies the portlet within the portlet application.
<display-name>
is used when presenting a list of available portlets to the user.
<portlet-class>
contains the fully qualified class name of the class implementing the javax.portlet.Portlet
interface or extending the GenericPortlet
abstract class that becomes the entry point for the portlet logic. The portlet container uses this class when it invokes the portlet life cycle methods.
<supports>
provides information about the portlet modes supported for each content type.
<title>
is the static title of the portlet, usually displayed in the portlet decoration on the portlet window.
<short-title>
is the title that is used on devices (such as mobile phones) that have limited display capabilities.
<keywords>
are used by applications that offer search capabilities for their users.
<security-role-ref>
maps a role name to a security role in web.xml
. The list of roles in web.xml
that the <security-role-ref>
maps to is published to the consumer as the producer's user categories. In web.xml
, <security-role>
appears similar to the following:
<security-role> <description>Viewer role</description> <role-name>viewer</role-name> </security-role>
oracle-portlet.xml
is an Oracle extension of portlet.xml
to support WSRP 2.0 features. For example, a portlet's navigational parameters (a WSRP 2.0 feature) are defined in oracle-portlet.xml
. In the future, when JSR 286 becomes available, this extension file will no longer be necessary.
The oracle-portlet.xml
file is generated when:
The Enable inter-portlet communication using Oracle WSRP V2 extensions checkbox is selected in the step 1, General Portlet Information of the Create JSR 168 Java Portlet wizard. For information, see Section 31.2.1, "How to Create a JSR 168 Java Portlet."
A page or a task flow is converted into a JSF portlet using the Oracle JSF Portlet Bridge. For information, see Chapter 30, "Creating Portlets with the Oracle JSF Portlet Bridge."
This section includes the following subsections:
The top-level element of oracle-portlet.xml
is <portlet-app-extension>
.
<portlet-app-extension xsi:schemaLocation="http://xmlns.oracle.com/portlet/oracle-portlet-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/portlet/oracle-portlet-app">
The <portlet-app-extension>
element must include the child elements shown in Example A-2.
Example A-2 oracle-portlet.xml Element Hierarchy
<portlet-app-extension> <allow-export> ... </allow-export> <allow-import> ... </allow-import> <portlet-extension> <portlet-name> ... </portlet-name> <navigation-parameters> <name> ... </name> <type> ... </type> <label> ... </label> <hint> ... </hint> <usage> ... </usage> <aliases> ... </aliases> </navigation-parameters> <portlet-id> ... </portlet-id> <allow-export> ... </allow-export> <allow-import> ... </allow-import> <strict-authentication>...</strict-authentication> <hide-portlet> ... </hide-portlet> <require-iframe> ... </require-iframe> <minimum-wsrp-version>2</minimum-wsrp-version> </portlet-extension> </portlet-app-extension>
The child elements have the following usages:
<portlet-app-extension>
indicates the start and end of the portlet application definition.
<portlet-extension>
indicates the start and end of a portlet definition.
<portlet-name>
identifies the portlet to which the extensions that follow it apply.
<navigation parameters>
defines the parameters for the previously identified portlet.
<name>
is the name of the navigation parameter. This name must be unique within the portlet.
<type>
is the type of the navigation parameter. Currently the only supported type is string.
<label>
is the label for the navigation parameter that end users see on the customization and personalization pages of the portlet.
<hint>
is currently not used.
<usage>
is currently not used.
<aliases>
is currently not used.
<portlet-id>
is the unique identifier of the portlet.
<allow-export>
is a flag that indicates whether the portlet supports the export of its customization data. This value can be true
or false
.
<allow-import>
is a flag that indicates whether the portlet supports the import of its customization data. This value can be true
or false
.
<strict-authentication>
is a flag to be set at the producer level. This value can be true
or false
. If this flag is set to true
, it indicates that the portlet container must expose the current user and role membership information supplied by the local server. If false
, the user and role membership information suggested by the consumer is used instead.
<hide-portlet>
is a flag that indicates that the portlet must not appear under the producer connection in the Application Resources panel or Resource Palette.
Only <require-iframe>
and <minimum-wsrp-version>
tags can appear after this tag. If any other tag is added after the <hide-portlet> tag, then deployment may fail.
<require-iframe>
is used to indicate to the Oracle ADF Faces portlet consumer that the portlet must be rendered in an inline frame (IFRAME).
<minimum-wsrp-version>
is the minimum WSRP version supported. The minimum version is 2.
Example A-3 provides a sample of oracle-portlet.xml
with two portlets with three navigational parameters each.
Example A-3 oracle-portlet.xml Sample With Navigational Parameters
<portlet-extension> <portlet-name>ParameterForm</portlet-name> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter1</name> <type>xsi:string</type> <label xml:lang="en">First parameter</label> <hint xml:lang="en">First parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter2</name> <type>xsi:string</type> <label xml:lang="en">Second parameter</label> <hint xml:lang="en">Second parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter3</name> <type>xsi:string</type> <label xml:lang="en">Third parameter</label> <hint xml:lang="en">Third parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <portlet-id>4</portlet-id> <allow-export>true</allow-export> <allow-import>true</allow-import> <require-iframe>true</require-iframe> <minimum-wsrp-version>2</minimum-wsrp-version> </portlet-extension> <portlet-extension> <portlet-name>ReadOnlyParameterForm</portlet-name> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter1</name> <type>xsi:string</type> <label xml:lang="en">First parameter</label> <hint xml:lang="en">First parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter2</name> <type>xsi:string</type> <label xml:lang="en">Second parameter</label> <hint xml:lang="en">Second parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <navigation-parameters> <name>ora_wsrp_navigparam_Parameter3</name> <type>xsi:string</type> <label xml:lang="en">Third parameter</label> <hint xml:lang="en">Third parameter set by portlet</hint> <usage/> <aliases/> </navigation-parameters> <portlet-id>5</portlet-id> <allow-export>true</allow-export> <allow-import>true</allow-import> <require-iframe>true</require-iframe> <minimum-wsrp-version>2</minimum-wsrp-version> </portlet-extension>
oracle-portlet-tags.jar
is the Oracle implementation of the JSP tag library defined by the Java Portlet Specification.
Depending on the implementation style of the portlet mode that you choose to create for your portlet, a corresponding JSP file is created in your portlet_name
\html
directory to define that mode. For example, if you choose to have View and Edit modes for your portlet, then you need view.jsp
and edit.jsp
in your portlet_name
\html
directory. For JSR 168 portlets, you can have the following JSP files for your portlet modes:
For further explanation of portlet modes, see Section 31.2.5.1, "Guidelines for Portlet Modes."
portlet_name
.java
is the class that acts as the entry point for the portlet logic. This class must implement the javax.portlet.Portlet
interface or extend the GenericPortlet
abstract class. The portlet container uses this class when it invokes the portlet lifecycle methods.
portlet_name
Bundle.jar
is a resource bundle class, containing translation of the strings used by the portlet.
web.xml
is a Java EE standard descriptor that contains details about Web applications. For more information about web.xml
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
connections.xml
contains WSRP producer connection information. Example A-4 shows a sample connections.xml
file.
Example A-4 connections.xml
<?xml version = '1.0' encoding = 'UTF-8'?> <References xmlns="http://xmlns.oracle.com/adf/jndi"> <Reference name="SampleWSRPProducer-wsconn" className="oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl" xmlns=""> <Factory className="oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory"/> <RefAddresses> <XmlRefAddr addrType="WebServiceConnection"> <Contents> <wsconnection description="http://portlet.example.com:9999/portletapp/portlets/wsrp2?WSDL"> <model name="{urn:oasis:names:tc:wsrp:v2:wsdl}WSRP_v2_Service" xmlns="http://oracle.com/ws/model"> <service name="{urn:oasis:names:tc:wsrp:v2:wsdl}WSRP_v2_Service"> <port name="WSRP_v2_PortletManagement_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_PortletManagement_Binding_SOAP"> <soap addressUrl="http://host:port/portletapp/portlets/WSRP_v2_PortletManagement_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="setPortletProperties"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setPortletProperties" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setPortletProperties"/> <output name="setPortletPropertiesResponse"/> </operation> <operation name="getPortletProperties"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletProperties" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletProperties"/> <output name="getPortletPropertiesResponse"/> </operation> <operation name="importPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:importPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="importPortletsResponse"/> <input name="importPortlets"/> </operation> <operation name="destroyPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:destroyPortlets" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="destroyPortlets"/> <output name="destroyPortletsResponse"/> </operation> <operation name="exportPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:exportPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="exportPortletsResponse"/> <input name="exportPortlets"/> </operation> <operation name="releaseExport"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:importPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="releaseExport"/> <output name="releaseExportResponse"/> </operation> <operation name="getPortletsLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletsLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getPortletsLifetimeResponse"/> <input name="getPortletsLifetime"/> </operation> <operation name="copyPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:copyPortlets" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="copyPortletsResponse"/> <input name="copyPortlets"/> </operation> <operation name="getPortletPropertyDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletPropertyDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletPropertyDescription"/> <output name="getPortletPropertyDescriptionResponse"/> </operation> <operation name="clonePortlet"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:clonePortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="clonePortletResponse"/> <input name="clonePortlet"/> </operation> <operation name="setPortletsLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setPortletsLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="setPortletsLifetimeResponse"/> <input name="setPortletsLifetime"/> </operation> <operation name="getPortletDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletDescription"/> <output name="getPortletDescriptionResponse"/> </operation> <operation name="setExportLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setExportLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setExportLifetime"/> <output name="setExportLifetimeResponse"/> </operation> </port> <port name="WSRP_v2_Markup_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_Markup_Binding_SOAP"> <soap addressUrl="http://host:port/portletapp/portlets/WSRP_v2_Markup_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="initCookie"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:initCookie" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="initCookieResponse"/> <input name="initCookie"/> </operation> <operation name="getMarkup"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getMarkup" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getMarkupResponse"/> <input name="getMarkup"/> </operation> <operation name="releaseSessions"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:releaseSessions" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="releaseSessions"/> <output name="releaseSessionsResponse"/> </operation> <operation name="performBlockingInteraction"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:performBlockingInteraction" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="performBlockingInteraction"/> <output name="performBlockingInteractionResponse"/> </operation> <operation name="getResource"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getResource" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getResourceResponse"/> <input name="getResource"/> </operation> <operation name="handleEvents"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:handleEvents" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="handleEvents"/> <output name="handleEventsResponse"/> </operation> </port> <port name="WSRP_v2_Registration_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_Registration_Binding_SOAP"> <soap addressUrl="http://host:port/portletapp/portlets/WSRP_v2_Registration_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="register"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:register" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="register"/> <output name="registerResponse"/> </operation> <operation name="getRegistrationLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getRegistrationLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getRegistrationLifetimeResponse"/> <input name="getRegistrationLifetime"/> </operation> <operation name="setRegistrationLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setRegistrationLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setRegistrationLifetime"/> <output name="setRegistrationLifetimeResponse"/> </operation> <operation name="deregister"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:deregister" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="deregister"/> <output name="deregisterResponse"/> </operation> <operation name="modifyRegistration"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:modifyRegistration" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="modifyRegistration"/> <output name="modifyRegistrationResponse"/> </operation> </port> <port name="WSRP_v2_ServiceDescription_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_ServiceDescription_Binding_SOAP"> <soap addressUrl="http://host:port/portletapp/portlets/WSRP_v2_ServiceDescription_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="getServiceDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getServiceDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getServiceDescription"/> <output name="getServiceDescriptionResponse"/> </operation> </port> </service> </model> </wsconnection> </Contents> </XmlRefAddr> </RefAddresses> </Reference> <Reference name="SampleWSRPProducer" className="oracle.portlet.client.connection.wsrp.WSRPProducerConnection" xmlns=""> <Factory className="oracle.portlet.client.connection.wsrp.WSRPProducerConnectionFactory"/> <RefAddresses> <XmlRefAddr addrType="connectionDesc"> <Contents> <wsrpproducerconnection wsConnection="SampleWSRPProducer-wsconn" timeout="30"/> </Contents> </XmlRefAddr> </RefAddresses> </Reference> </References>
This section includes the following subsections that describe the files that are created for you when you build a PDK-Java portlet:
producer_name
.properties
specifies deployment details about the producer, such as the location of the provider.xml
file. For example, this file is used if the registration URL to the PDK-Java samples is of the form:
http://host:port/jpdk/provider/samples
or:
http://host:port/jpdk/provider
where the service ID field contains samples
. See also Section A.4.2, "_default.properties".
_default.properties
specifies deployment details about the producer, such as the location of the provider.xml
file. For example, this file is used if the registration URL to the PDK-Java samples is of the form:
http://host:port/jpdk/provider
Note that the producer name is not supplied here so it has to default. See also Section A.4.1, "producer_name.properties".
index.jsp
serves as a convenient starting point when testing PDK-Java producers from Oracle JDeveloper. This file lists all of the producers available in the application.
Depending on the implementation style of the portlet mode that you choose to create for your portlet, a corresponding JSP file is created in your \htdocs\
portlet_name
directory to define that mode. For example, if you choose to have View and Edit modes for a portlet named portletOne
, then you need portletOneShowPage.jsp
and PortletOneEditPage.jsp
in your \htdocs\portletOne
directory. For PDK-Java portlets, you can have the following JSP files for your portlet modes:
For further explanation of portlet modes, see Section 31.2.5.1, "Guidelines for Portlet Modes".
provider.xml
is the definition file for your PDK-Java producer.
Note:
PDK-Java producers were formerly referred to as providers.This section includes the following subsections:
For more information about the elements and syntax of provider.xml
, see the Provider Definition Extensible Markup Language (XML) Tag Reference v2 on the Oracle Technology Network.
http://www.oracle.com/technology/products/ias/portal/html/javadoc/xml_tag_reference_v2.html
Example A-5 provides a sample provider.xml
file.
Example A-5 provider.xml Sample
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?providerDefinition version="3.1"?> <provider class="oracle.portal.provider.v2.DefaultProviderDefinition"> <localePersonalizationLevel>none</localePersonalizationLevel> <session>true</session> <defaultLocale>en</defaultLocale> <preferenceStore class="oracle.portal.provider.v2.preference.FilePreferenceStore"> <name>prefStore1</name> <useHashing>true</useHashing> </preferenceStore> <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition"> <id>1</id> <name>SampleRenderer</name> <title>SampleRenderer example</title> <shortTitle>SampleRenderer</shortTitle> <description>Example portlet rendered using the SampleRenderer</description> <timeout>40</timeout> <timeoutMessage>SampleRenderer example timed out</timeoutMessage> <acceptContentType>text/html</acceptContentType> <showEdit>true</showEdit> <showEditToPublic>false</showEditToPublic> <showEditDefault>true</showEditDefault> <showPreview>true</showPreview> <showDetails>true</showDetails> <hasHelp>true</hasHelp> <hasAbout>true</hasAbout> <renderer class="oracle.portal.sample.v2.devguide.samplerenderer.SampleRenderer"/> <personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager"> <dataClass>oracle.portal.provider.v2.personalize. NameValuePersonalizationObject </dataClass> </personalizationManager> </portlet> </provider>
web.xml
is a Java EE standard descriptor that contains details about Web applications. For more information about web.xml
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
connections.xml
contains PDK-Java producer connection information. Example A-4 shows a sample connections.xml
file.
This section includes the following subsections that describe the files that are created or modified when you create or modify pages:
Created at page design time:
Created at application deployment time:
Created upon consumption of JSR 168 portlets
The adf-config.xml
file is an extensible configuration file used by any ADF component. This file is used by the various WebCenter Services, including pages, portlets, and all the services such as search, worklist, forums, and so on, to set configuration information. This file, with connections.xml
, contains the configuration information required for most of the services to function.
Table A-1 describes the child elements of <adf-portlet-config>
. The init-param
names in the first column correspond to the names of the servlet init-params
used when the portlet client is accessed through the Web adapter.
Table A-1 Child Elements of adf-portlet-config
Element (init-param) | Description | Default Value |
---|---|---|
parallelPoolSize (parallel.pool.size) |
The number of threads to use for parallel execution of tasks. |
10 |
parallelQueueSize (parallel.queue.size) |
The size of the queue of tasks waiting for parallel execution. Tasks are rejected when the queue size is exceeded. |
20 |
defaultTimeout (default.timeout) |
The default timeout period in seconds for requests made to producers. This value is used when a timeout is not defined at the portlet or producer level. |
10 |
minimumTimeout (minimum.timeout) |
The minimum timeout period in seconds for requests made to producers. This value is used to impose a lower limit on timeout periods specified by portlets or producers. |
0.1 |
maximumTimeout (maximum.timeout) |
The maximum timeout period in seconds for requests made to producers. This value is used to impose an upper limit on timeout periods specified by portlets or producers. |
60 |
resourceProxyPath (resource.proxy.path) |
The base path of the resource proxy servlet, relative to the context root of the application. Used to construct links to the resource servlet within portlet markup. |
/resourceproxy |
supportedLocales (supported.locales) |
The set of supported locales defined using strings of the form: language[_country[_variant]] |
Commented out by default. You should uncomment it if you have multiple locales. See Example A-6. |
portletTechnologies (portlet.technologies) |
The set of portlet technologies supported by the client defined by the fully qualified names of classes that implement the PortletTechnologyConfig interface. |
{o.p.c.ci.web.WebPortletTechnologyConfig, o.p.c.ci.wsrp.WSRPPortletTechnologyConfig} |
cacheSettings (cache.*) |
Cache configuration information. Used to enable or disable the cache, define its maximum size and impose limits on the amount of space available for different users and subscribers. |
The cache is enabled and no size restrictions are imposed. |
<adf-portlet-config> element Sample
Example A-6 illustrates the usage of the <adf-portlet-config>
element.
Example A-6 <adf-portlet-config> element Sample
<adf-portlet-config xmlns="http://xmlns.oracle.com/adf/portlet/config"> <supportedLocales> <value>en</value> <value>fr</value> <value>de</value> <value>es</value> </supportedLocales> <portletTechnologies> <value>oracle.portlet.client.containerimpl.web. WebPortletTechnologyConfig</value> <value>oracle.portlet.client.containerimpl.wsrp. WSRPPortletTechnologyConfig</value> </portletTechnologies> <defaultTimeout>20</defaultTimeout> <minimumTimeout>1</minimumTimeout> <maximumTimeout>60</maximumTimeout> <resourceProxyPath>/portletresource</resourceProxyPath> <cacheSettings> <maxSize>10000000</maxSize> <subscriber default="true"> <systemLevel> <maxSize>5000000</maxSize> </systemLevel> <userLevel> <maxSize>8000000</maxSize> </userLevel> </subscriber> </cacheSettings> </adf-portlet-config>
DataBindings.cpx
is a file common to Web applications. For more information about DataBindings.cpx
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
faces-config.xml
is a file common to JSF applications. It describes the page flow of your application. For more information about faces-config.xml
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
page_name
.jspx
is the JSP file for your page. Whenever you add or remove components, such as portlets or data controls from the page, this file is updated.
PageDef.xml
is a file common to Oracle ADF applications. This file holds information about portlet bindings. Also, portlet parameters can be tied to page variables in this file.
For more information about PageDef.xml
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
PageDef.xml Sample
Example A-7 provides a sample PageDef.xml
file.
Example A-7 PageDef.xml Sample
<?xml version="1.0" encoding="UTF-8" ?> <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="10.1.3.37.97" id="app_SRFeedbackPageDef" Package="oracle.srdemo.view.pageDefs"> <parameters/> <executables> <methodIterator id="findAllServiceRequestIter" Binds="findAllServiceRequest.result" DataControl="SRPublicFacade" RangeSize="4" BeanClass="oracle.srdemo.model.entities.ServiceRequest"/> <variableIterator id="variables"> <variable Name="portlet1_Param1" Type="java.lang.Object" DefaultValue=" ${bindings.findAllServiceRequestIter.currentRow.dataProvider['svrId']}"/> <variable Name="portlet1_Param2" Type="java.lang.Object"/> <variable Name="portlet1_Param3" Type="java.lang.Object"/> <variable Name="portlet1_Param4" Type="java.lang.Object"/> <variable Name="portlet1_Param5" Type="java.lang.Object"/> </variableIterator> <methodIterator id="findServiceRequestByIdIter" Binds="findServiceRequestById.result" DataControl="SRPublicFacade" RangeSize="10" BeanClass="oracle.srdemo.model.entities.ServiceRequest"/> <portlet id="portlet1" portletInstance="/oracle/adf/portlet/OmniProducer_1150310748178/ applicationPortlets/Portlet100_eebc7f18_010b_1000_8001_82235f640cea" class="oracle.adf.model.portlet.binding.PortletBinding" xmlns="http://xmlns.oracle.com/portlet/bindings"> <parameters> <parameter name="Param1" pageVariable="portlet1_Param1"/> <parameter name="Param2" pageVariable="portlet1_Param2"/> <parameter name="Param3" pageVariable="portlet1_Param3"/> <parameter name="Param4" pageVariable="portlet1_Param4"/> <parameter name="Param5" pageVariable="portlet1_Param5"/> </parameters> </portlet> </executables> <bindings> <methodAction id="findAllServiceRequest" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="findAllServiceRequest" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_findAllServiceRequest_result"/> <table id="findAllServiceRequest1" IterBinding="findAllServiceRequestIter"> <AttrNames> <Item Value="assignedDate"/> <Item Value="problemDescription"/> <Item Value="requestDate"/> <Item Value="status"/> <Item Value="svrId"/> <Item Value="custComment"/> <Item Value="custCommentDate"/> <Item Value="custCommentContactBy"/> <Item Value="mgrNotes"/> <Item Value="mgrNotesDate"/> </AttrNames> </table> <methodAction id="findServiceRequestById" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="findServiceRequestById" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_findServiceRequestById_result"> <NamedData NDName="svrIdParam" NDValue= "${bindings.findAllServiceRequestIter.currentRow.dataProvider['svrId']}" NDType="java.lang.Integer"/> </methodAction> <attributeValues id="svrId" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="svrId"/> </AttrNames> </attributeValues> <attributeValues id="custComment" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="custComment"/> </AttrNames> </attributeValues> <attributeValues id="mgrNotes" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="mgrNotes"/> </AttrNames> </attributeValues> <list id="ServiceRequestcustCommentContactBy" IterBinding="findServiceRequestByIdIter" ListOperMode="0" StaticList="true" NullValueFlag="1"> <AttrNames> <Item Value="custCommentContactBy"/> </AttrNames> <ValueList> <Item Value=" "/> <Item Value="Phone"/> <Item Value="Email"/> <Item Value="SMS"/> </ValueList> </list> <methodAction id="mergeEntity" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="mergeEntity" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_mergeEntity_result"> <NamedData NDName="entity" NDValue= "${bindings.findServiceRequestByIdIter.currentRow.dataProvider}" NDType="java.lang.Object"/> </methodAction> </bindings> </pageDefinition>
web.xml
is a Java EE standard descriptor that contains details about Web applications. For more information about web.xml
, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
When you deploy a WebCenter application, an mds
subdirectory is created in your project directory. This subdirectory contains other subdirectories and metadata files, such as portlet customizations and personalizations.
This section includes the following subsections that describe the files that are created or modified when you implement or modify security:
When you implement or modify security for your application, the jazn-data.xml
file is created or modified.
The jazn-data.xml
file is used to facilitate the deployment of realm and policy information for your application. In your development environment (JDeveloper), jazn-data.xml
is located in your application's workspacedir
/src/META-INF
directory. After deployment, the contents of this file are merged in domain-level identity or policy stores. This file contains the policies that are created at design time, and is merged at deployment by JpsApplicationLifecycleListener
into the system-jazn-data.xml
file (or appropriately configured policy store) for the deployment target.
When you migrate security information with JpsApplicationLifecycleListener
, the jazn-data.xml
file can be used as the source file for the migration. For more information about migrating roles, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
jazn-data.xml Sample
Example A-8 provides a sample jazn-data.xml
file.
Example A-8 jazn-data.xml Sample
<?xml version = '1.0' encoding = 'UTF-8'?> <jazn-data> <jazn-realm> <realm> <name>jazn.com</name> </realm> </jazn-realm> <policy-store> <applications> <application> <name>mdsapp-secure</name> <app-roles> <app-role> <name>unauthenticated-role</name> <display-name>anonymous-role</display-name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> </app-role> <app-role> <name>authenticated-role</name> <display-name>authenticated-users</display-name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> </app-role> <app-role> <name>approle</name> <display-name>approle</display-name> <description>approle</description> <guid/> <class>oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> <name>orcladmin</name> </member> </members> </app-role> </app-roles> <jazn-policy> <grant> <grantee> <principals> <principal> <class>oracle.security.jps.internal.core.principals.JpsAuthenticatedRoleImpl</class> <name>authenticated-role</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.adf.share.security.authorization.RegionPermission</class> <name>project1.pageDefs.securePageDef</name> <actions>view</actions> </permission> </permissions> </grant> <grant> <grantee> <principals> <principal> <class>oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl</class> <name>anonymous-role</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.adf.share.security.authorization.RegionPermission</class> <name>project1.pageDefs.publicPageDef</name> <actions>view</actions> </permission> </permissions> </grant> </jazn-policy> </application> </applications> </policy-store> <jazn-policy/> </jazn-data>
cwallet.sso
contains external application credentials, if any, and the connection's secure data such as database password. The cwallet.sso
file is located in the workspaceroot
/src/META-INF
directory.
jps-config.xml
is located at workspaceroot
/src/META-INF
. The jps-config.xml
file packaged with the application is used only at design time. At runtime, the configurations stored in the domain-level jps-config.xml
file become functional.
jps-config.xml
configures OPSS services. For more information on the element hierarchy and attributes of jps-config.xml
, see the appendix "OPSS Configuration File Reference" in the Oracle Fusion Middleware Security Guide.
The recommendation for migration is to create a new jps-config.xml
file with the source and destination contexts defined as required by the migration commands. For details on migrating identities, see the section "Migrating Identities Manually" in the Oracle Fusion Middleware Security Guide.
The policy store is migrated in the following ways: entire policy store, application-specific policies, and global polices. For details, see the section "Migrating Policies Manually" in the Oracle Fusion Middleware Security Guide.
The credential store is migrated in the following ways: entire credential store or application-specific credentials. When migrating application-specific credentials, ensure that srcFolder
and targetFolder
are the same. srcFolder
and targetFolder
can be determined from appUID
in the adf-config.xml
file, see Example A-9. For details, see the section "Migrating Credentials Manually" in the Oracle Fusion Middleware Security Guide.
Security configurations are stored in adf-config.xml
. This file is located at workspaceroot
/.adf/META-INF/adf-config.xml
. See Example A-10.
Example A-10 adf-config.xml
<adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
<JaasSecurityContext initialContextFactoryClass="oracle.adf.share.security.JAASInitialContextFactory"
jaasProviderClass="oracle.adf.share.security.providers.jps.JpsSecurityContext"
authorizationEnforce="true"
authenticationRequire="true"/>
<CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore"
credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
</adf-security-child>
Note:
ThecredentialStoreLocation
entry in the sample is valid at design time only.This section includes sample connections.xml
and adf-config.xml
files for some WebCenter Web 2.0 Services.
Example A-11 shows the minimum required configuration for the SES Web service connection.
Example A-11 SES Web Service Sample Connection
<Reference name="GenericSesConnection" className="oracle.adf.mbean.share.connection.webcenter.search.SesConnectionReferenceable"
credentialStoreKey="GenericSesConnection" xmlns="">
<Factory className="oracle.adf.mbean.share.connection.webcenter.search.SesConnectionFactory"/>
<RefAddresses>
<XmlRefAddr addrType="SesConfig">
<Contents>
<SesConfig>
<AttributeMap>
<Attribute name="date">
<SesAttribute>LastModifiedDate</SesAttribute>
</Attribute>
<Attribute name="person">
<SesAttribute>Author</SesAttribute>
</Attribute>
</AttributeMap>
<SoapUrl>http://host:port/search/query/OracleSearch</SoapUrl>
</SesConfig>
</Contents>
</XmlRefAddr>
<StringRefAddr addrType="appUsername">
<Contents>wpadmin</Contents>
</StringRefAddr>
<SecureRefAddr addrType="appPassword"/>
</RefAddresses>
</Reference>
Example A-12 shows a sample adf-config.xml
for the Documents service.
Example A-12 ADF Configuration for the Documents Service
<doclibC:adf-doclib-config xmlns="http://xmlns.oracle.com/webcenter/doclib/config" primaryConnectionName="Oracle Content Server"> <doclibC:spaces-repository spacesRoot="/repository path" adminUserName="sysadmin" applicationName="application_name" /> </doclibC:adf-doclib-config>
Example A-13 shows a sample adf-config.xml
for the Worklist service.