../E63259-01.epub /> ../E63259-01.mobi />
This appendix describes the files that are created and modified as you build up your WebCenter Portal Framework application.
This appendix includes the following topics:
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.
When you use Oracle WebCenter Portal 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 Oracle WebCenter Portal 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 Portal Framework 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 Portal Framework 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 Portal Framework application. Hence, the easiest way to discuss these files is by object:
This section describes the files that are created for you when you create an application using WebCenter Portal's Portal Framework application template. It includes the following topics:
There are also image files created that are used in the application.
catalog-registry.xml
is a catalog registry file. It is used by the runtime administration console when a user creates or edits a resource catalog. The registry defines the superset of all items that are available to be included in a catalog that you create or edit. You can create multiple catalogs for an application, but an application can only have one catalog registry file.
default-catalog.xml
is a default resource catalog. When a user edits pages at runtime using Composer, the default catalog file specifies all of the items that are available to be added to a page.
default-navigation-model.xml
is the navigation model file, which incorporates navigation structures in portal site. For more information, see Chapter 10, "Developing a Navigation Model."
index.html
contains a redirect statement that refers to the portal navigation model, including an URL element, pages_home
, which refers to the "home" page specified in the page hierarchy. For more information, see Section 5.11, "Changing the Default Home Page and Login/Logout Target Pages."
navigation-registry.xml
is used by the runtime administration console when a user creates or edits a navigation model. The registry defines the superset of all items that are available to be included in a model that you create or edit. You can create multiple navigation models for an application, but an application can only have one navigation registry file. For more information, see Chapter 10, "Developing a Navigation Model."
pages.xml
, or the page hierarchy file, organizes pages into a tree structure, with a parent-child relationship between pages. This hierarchical structure allows the convenient propagation or inheritance of security settings from pages to sub pages. For more information, see Section 5.3.2, "Understanding Pages, Page Templates and Styles, and the Portal Page Hierarchy."
error.jspx
is the default error page displayed to users when Oracle WebCenter Portal encounters an error.
home.jspx
is the default Home page, providing users access to features such as the documents, links, tags, and discussions.
login.jspx
is the default login page that provides login/logout functionality to users. For information on customizing the login page, see Section 74.9, "Adding Portlets to a Login Page."
navigation-renderer.jspx
is responsible for rendering non-page resources that appear in a navigation, such as portlets, content, and task flows. For more information, see Section 10.8, "Editing the Navigation Renderer."
pageTemplate_globe.jspx
is one of two seeded page templates created when you select the Configure the application with standard Portal features option when creating an application. This template offers essentially the same functionality as pageTemplate_swooshy.jxpx
but with different graphics. For more information, see Chapter 11, "Developing Page Templates."
pageTemplate_swooshy.jspx
is one of two seeded page templates created when you select the Configure the application with standard Portal features option when creating an application. This template offers essentially the same functionality as pageTemplate_globe.jxpx
but with different graphics. For more information, see Chapter 11, "Developing Page Templates."
This section describes the files that are created for you when you build a JSR 286 portlet. It includes the following topics:
portlet.xml
defines the characteristics of your JSR 286 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>JSR 286 map portlet </description> <portlet-name>portlet1</portlet-name> <display-name>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> <portlet-mode>help</portlet-mode> <portlet-mode>about</portlet-mode> </supports> <supported-locale>en</supported-locale> <resource-bundle>jsrportlet.resource.MapPortletBundle</resource-bundle> <portlet-info> <title>Map Portlet</title> <short-title>Map</short-title> <keywords/> <portlet-preferences> <preference> <name>portletTitle</name> </preference> </portlet-preferences> <security-role-ref> <role-name>viewer</role-name> </security-role-ref> </portlet>
For JSR 286 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 Producer 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. For JSF portlets created using the Oracle JSF Portlet Bridge, this is oracle.portlet.bridge.adf.application.ADFBridgePortlet
.
<expiration-cache>
the default duration (in seconds) of the expiration cache.
<init-param>
defines initialization parameters for configuring the behavior of the portlet. The Oracle JSF Portlet Bridge uses initialization parameters to identify the entry points for the different portlet modes supported by the portlet, for example, for View mode:
<init-param> <name>javax.portlet.faces.defaultViewId.view</name> <value>/myPage.jspx</value> </init-param>
Initialization parameters for other WebCenter Portal-supported modes are:
Edit mode: javax.portlet.faces.defaultViewId.edit
Help mode: javax.portlet.faces.defaultViewId.help
About mode: javax.portlet.faces.defaultViewId.about
Config mode: javax.portlet.faces.defaultViewId.config
Edit Defaults mode: javax.portlet.faces.defaultViewId.edit_defaults
Preview mode: javax.portlet.faces.defaultViewId.preview
Print mode: javax.portlet.faces.defaultViewId.print
Note:
The value for thedefaultViewId
is relative to the application context root and must always start with a /. In the example provided, the value for defaultViewId.view
is /myPage.jspx
.
If you add a defaultViewId
for other portlet modes, then you must also add the mode to the <supports>
tag. For example, <portlet-mode>HELP</portlet-mode>
.
<supports>
provides information about the portlet modes supported for each content type. Portlet modes supported by WebCenter Portal include: edit
, help
, about
, config
, edit_defaults
, preview
, and print
.
<supported-locale>
lists the locales supported by the portlet at runtime.
<resource-bundle>
is the fully qualified class name of the resource bundle used to provide language specific portlet information, such as title and keywords.
<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.
<portlet-preferences>
are preference attribute definitions.
<supported-processing-event>
are events that the portlet can receive.
<supported-publishing-event>
are events that the portlet raises.
<supported-public-render-parameter>
is a public render parameter supported by the portlet.
<container-runtime-option>
an option for defining additional runtime behavior.
<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-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 286 portlets, you can have the following JSP files for your portlet modes:
about.jsp
config.jsp
edit_defaults.jsp
edit.jsp
help.jsp
preview.jsp
print.jsp
view.jsp
For further explanation of portlet modes, see Section 57.4.2, "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.
This section describes the files that are created for you when you build a PDK-Java portlet. It includes the following topics:
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.5.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.5.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:
portlet_nameAboutPage.jsp
portlet_nameEditDefaultsPage.jsp
portlet_nameEditPage.jsp
portlet_nameHelpPage.jsp
portlet_nameShowDetailsPage.jsp
portlet_nameShowPage.jsp
For further explanation of portlet modes, see Section 57.4.2, "Portlet Modes".
provider.xml
is the definition file for your PDK-Java producer.
Example A-2 provides a sample provider.xml
file.
Example A-2 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.
This section describes the files that are created or modified when you create or modify pages, deploy your application, or consume JSR 268 portlets. It includes the following topics:
The adf-config.xml
file is an extensible configuration file used by any ADF component. This file is used by the various WebCenter Portal tools and services, including pages, portlets, and all the tools and services such as search, worklist, discussions, and so on, to set configuration information. This file, with connections.xml
, contains the configuration information required for most of the tools and services to function.
For more information, see:
Section 21.2.1.1, "Updating Your Application's adf-config.xml File" (for information on configuring sandbox creation)
Section 22.5.1, "How to Add an enableSecurity Section to adf-config.xml"
Section B.2.2, "adf-config.xml" (for information on Composer-specific settings)
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.
Example A-3 provides a sample PageDef.xml
file.
Example A-3 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>
In JDeveloper, when you create a Portal Framework application, a trinidad-config.xml
file is automatically created in the /WEB-INF
directory. Example A-4 shows this seeded trinidad-config.xml
file.
Example A-4 Seeded trinidad-config.xml File Created by JDeveloper
<?xml version="1.0" encoding="US-ASCII"?> <trinidad-config xmlns="http://myfaces.apache.org/trinidad/config"> <skin-family>#{preferenceBean.defaultTrinidadSkin}</skin-family> </trinidad-config>
In the trinidad-config.xml
, you can set <skin-family>
, which determines which skin to use, and if necessary, under what conditions. The trinidad-config.xml
file has a simple XML structure that enables you to define element properties using the JSF Expression Language (EL) or static values.
Note:
The default value of<skin-family>
is #{preferenceBean.defaultTrinidadSkin}
. If you change the default value, your application users cannot set skins at runtime.Additionally, trinidad-config.xml
can contain information about the level of page accessibility support, page animation, time zone, enhanced debugging output, and the URL for Oracle Help for the Web (OHW).
For more information, see the "Configuration in trinidad-config.xml" section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework.
trinidad-skins.xml
is required for any skin that is provided as a JAR. The file is usually bundled with each skin JAR to provide a lookup between skin ID and the actual path of the skin. However, for a skin created as a portal resource in a Portal Framework application, a separate runtime API is used to lookup the location of a skin. Therefore, this file is not needed for such skins.
For more information, see the "Customizing the Appearance Using Styles and Skins" chapter in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework.
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.
weblogic-application.xml
is a deployment descriptor (a server configuration file that defines the application configuration) for Oracle WebLogic Server deployment.
When you deploy a WebCenter Portal Framework application, an mds
subdirectory is created in your project directory. This subdirectory contains other subdirectories and metadata files, such as portlet customizations and personalizations.
When you consume JSR 286 portlets in an application, a wsdl
subdirectory is created in the WEB-INF
directory. The files in this subdirectory are internal files created for portlets from a WSRP producer.
This section describes the files that are created or modified when you implement or modify security. It includes the following topics:
connections.xml
contains portlet producer connection information. Example A-5 shows a sample connections.xml
file.
<?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>
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.
Example A-6 provides a sample jazn-data.xml
file.
Example A-6 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 "OPSS Configuration File Reference" appendix in the Oracle Fusion Middleware Application 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 "Migrating Identities Manually" section in the Oracle Fusion Middleware Application Security Guide.
The policy store is migrated in the following ways: entire policy store, application-specific policies, and global polices. For details, see the "Migrating Policies Manually" section in the Oracle Fusion Middleware Application 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-7. For details, see the "Migrating Credentials Manually" section in the Oracle Fusion Middleware Application 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-8.
<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 describes the pagetemplate-metadata.xml
file that is created or modified when you create a page template.
pagetemplate-metadata.xml
keeps track of all the page templates you create in a project.
This section includes sample connections.xml
and adf-config.xml
files for some WebCenter Portal tools and services.
Example A-9 shows the minimum required configuration for the SES web service connection.
Example A-9 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-10 shows a sample adf-config.xml
for documents.
Example A-10 ADF Configuration for the Documents
<doclibC:adf-doclib-config xmlns="http://xmlns.oracle.com/webcenter/doclib/config" primaryConnectionName="Oracle_Content_Server"> <doclibC:spaces-repository spacesRoot="/repositoryPath" adminUserName="sysadmin" applicationName="application_name" /> </doclibC:adf-doclib-config>
Example A-11 shows a sample adf-config.xml
for worklists.