Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle WebCenter
11g Release 1 (11.1.1.5.0)

Part Number E10148-16
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

A Files for WebCenter Portal Applications

This appendix provides reference information about the files that are created and modified as you build up your WebCenter Portal 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 4.2.2, "Developer Actions Affecting Metadata Files."

A.1 About 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:

A.2 Files Overview

The files that are created and modified are closely associated with the objects that you create as part of your WebCenter Portal application. Hence, the easiest way to discuss these files is by object as follows:

A.3 Files Related to WebCenter Portal Applications

This section includes the following subsections that describe the files that are created for you when you create an application using the WebCenter Portal Application template:

There are also image files created that are used in the application.

A.3.1 catalog-registry.xml

catalog-registry.xml is a catalog registry file. It is used by the Resource Manager 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.

A.3.2 default-catalog.xml

default-catalog.xml is a default resource catalog. When a user edits pages at runtime using Oracle Composer, the default catalog file specifies all of the items that are available to be added to a page.

A.3.3 default-navigation-model.xml

default-navigation-model.xml is the navigation model file, which incorporates navigation structures in portal site. For more information, see Chapter 10, "Building a Navigation Model for Your Portal" and Section 8.5.3, "Understanding the Navigation Model and the Navigation Registry."

A.3.4 index.html

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 8.13, "Changing the Default Home Page and Login/Logout Target Pages"

A.3.5 navigation-registry.xml

navigation-registry.xml is used by the Resource Manager 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, "Building a Navigation Model for Your Portal."

A.3.6 pages.xml

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 8.5.1, "Understanding Pages, Page Templates, and the Portal Page Hierarchy."

A.3.7 error.jspx

error.jspx is the default error page displayed to users when Oracle WebCenter encounters an error.

A.3.8 home.jspx

home.jspx is the default Home page, providing users access to features such as the Documents service, Links service, Tags service, and Discussion service.

A.3.9 login.jspx

login.jspx is the default login page that provides login/logout functionality to users. For information on customizing the login page, see Section 67.9, "Adding Portlets to a Login Page."

A.3.10 navigation-renderer.jspx

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.5, "Editing the Navigation Renderer."

A.3.11 pageTemplate_globe.jspx

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 Section 11.2, "Working with Page Templates."

A.3.12 pageTemplate_swooshy.jspx

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 Section 11.2, "Working with Page Templates."

A.4 Files Related to JSR 286 Portlets

This section includes the following subsections that describe the files that are created for you when you build a JSR 286 portlet:

A.4.1 portlet.xml

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 xml:lang="en">JSR 286 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>
      <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 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-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 the defaultViewId 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 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>
    

A.4.2 oracle-portlet-tags.jar

oracle-portlet-tags.jar is the Oracle implementation of the JSP tag library defined by the Java Portlet Specification.

A.4.3 portlet_mode.jsp

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 60.1.1, "Guidelines for Portlet Modes."

A.4.4 portlet_name.java

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.

A.4.5 portlet_nameBundle.jar

portlet_nameBundle.jar is a resource bundle class, containing translation of the strings used by the portlet.

A.4.6 web.xml

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.

A.5 Files Related to PDK-Java Portlets

This section includes the following subsections that describe the files that are created for you when you build a PDK-Java portlet:

A.5.1 producer_name.properties

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".

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".

A.5.3 index.jsp

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.

A.5.4 portlet_name_modePage.jsp

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 60.1.1, "Guidelines for Portlet Modes".

A.5.5 provider.xml

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:

A.5.5.1 provider.xml Syntax

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

A.5.5.2 provider.xml Sample

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>

A.5.6 web.xml

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.

A.6 System Files

This section includes the following subsections that describe the files that are created or modified when you create or modify pages, deploy your application, or consume JSR 268 portlets:

A.6.1 adf-config.xml

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.

For more information, see:

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-3.

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-3 illustrates the usage of the <adf-portlet-config> element.

Example A-3 <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>

A.6.2 DataBindings.cpx

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.

A.6.3 faces-config.xml

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.

A.6.4 page_name.jspx

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.

A.6.5 PageDef.xml

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-4 provides a sample PageDef.xml file.

Example A-4 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>

A.6.6 trinidad-config.xml

trinidad-config.xml contains information about the application skin family. Additionally, it 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 Section 1.10.3, "The WebCenter Application Template Default trinidad-config.xml File"

A.6.7 web.xml

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.

A.6.8 weblogic-application.xml

weblogic-application.xml is a deployment descriptor (a server configuration file that defines the application configuration) for Oracle WebLogic Server deployment.

A.6.9 mds Subdirectory

When you deploy a WebCenter Portal application, an mds subdirectory is created in your project directory. This subdirectory contains other subdirectories and metadata files, such as portlet customizations and personalizations.

A.6.10 wsdl Subdirectory

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.

A.7 Files Related to Security

This section includes the following subsections that describe the files that are created or modified when you implement or modify security:

A.7.1 connections.xml

connections.xml contains portlet producer connection information. Example A-5 shows a sample connections.xml file.

Example A-5 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>

A.7.2 jazn-data.xml

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-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>

A.7.3 cwallet.sso

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.

A.7.4 jps-config.xml

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 Containers for J2EE 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 Containers for J2EE 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 Containers for J2EE 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 section "Migrating Credentials Manually" in the Oracle Containers for J2EE Security Guide.

Example A-7 appUID in the adf-config.xml file

<adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
    <adf-property name="adfAppUID" value="Application1-1167"/>
  </adf:adf-properties-child>

A.7.5 adf-config.xml

Security configurations are stored in adf-config.xml. This file is located at workspaceroot/.adf/META-INF/adf-config.xml. See Example A-8.

Example A-8 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:

The credentialStoreLocation entry in the sample is valid at design time only.

A.8 Oracle JDeveloper Files

This section includes the following subsection that describes the file that is created or modified when you create a page template:

A.8.1 pagetemplate-metadata.xml

pagetemplate-metadata.xml keeps track of all the page templates you create in a project.

A.9 Files Related to WebCenter Web 2.0 Services

This section includes sample connections.xml and adf-config.xml files for some WebCenter Web 2.0 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 the Documents service.

Example A-10 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="/repositoryPath"
      adminUserName="sysadmin"
      applicationName="application_name" />
  </doclibC:adf-doclib-config>

Example A-11 shows a sample adf-config.xml for the Worklist service.

Example A-11 ADF Configuration for the Worklist Service

<worklistC:adf-worklist-config>
    <worklistC:ConnectionName>WebCenter-Worklist</worklistC:ConnectionName>
  </worklistC:adf-worklist-config>