Skip Headers
Oracle® WebCenter Framework Developer's Guide
10g (10.1.3.2.0)

Part Number B31074-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

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

C Files for WebCenter Applications

This appendix provides reference information about the files that are created and modified as you build up your WebCenter application.

See Also:

C.1 About Files

When you use Oracle WebCenter Framework to build applications and components, you will notice a number of files are created as you perform such actions as building and consuming portlets. As you work with your application, you will 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:

C.2 Files Overview

The files that get 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:

C.3 Files Related to JPS Portlets

When you build a JPS portlet, the following files are created for you:

C.3.1 oracle-portlet.xml

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.

C.3.1.1 oracle-portlet.xml Syntax

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

where all attributes should have the values shown in Example C-1.

Example C-1 oracle-portlet.xml Element Hierarchy

<portlet-app-extension>
 <allow-export> ... </allow-export>
 <allow-impoty> ... </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-impoty> ... </allow-import>
 </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> define 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.

C.3.1.2 oracle-portlet.xml Sample With Navigation Parameters

Example C-2 provides a sample of oracle-portlet.xml with two portlets with three navigational parameters each.

Example C-2 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>
</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></portlet-extension>

C.3.2 oracle-portlet-tags.jar

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

C.3.3 portlet.xml

portlet.xml defines the characteristics of your JPS portlet. For complete details on portlet.xml, you should see the Java Portlet Specification available on the following URL:

http://jcp.org/en/jsr/detail?id=168

Example C-3 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 C-3 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> provides a description of the portlet, which can be used to provide 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>

C.3.4 portlet_mode.jsp

For each 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 will need view.jsp and edit.jsp in your portlet_name\html directory. For JPS 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 18.1.1, "Guidelines for Portlet Modes".

C.3.5 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 life cycle methods.

C.3.6 portlet_nameBundle.jar

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

C.3.7 web.xml

web.xml is a file common to J2EE development. For more information about web.xml, see Oracle Application Development Framework Developer's Guide and Oracle Containers for J2EE Security Guide.

C.3.8 profile_name.deploy

profile_name.deploy stores a set of deployment characteristics for a deployment profile. profile_name.deploy is created when you right-click web.xml and choose Create WAR Deployment Profile. You can use the deployment profile to deploy your portlet application to a Web or enterprise application archive, or to a portlet container.

C.4 Files Related to PDK-Java Portlets

When you build a PDK-Java portlet, the following files are created for you:

C.4.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 C.4.2, "_default.properties".

C.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 C.4.1, "producer_name.properties".

C.4.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.

C.4.4 portlet_name_modePage.jsp

For each 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 18.1.1, "Guidelines for Portlet Modes".

C.4.5 provider.xml

provider.xml is the definition file for your PDK-Java producer. Note that PDK-Java producers were formerly referred to as providers.

C.4.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

C.4.5.2 provider.xml Sample

Example C-4 provides a sample provider.xml file.

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

C.4.6 web.xml

web.xml is a file common to J2EE development. For more information about web.xml, see Oracle Application Development Framework Developer's Guide.

C.4.7 profile_name.deploy

profile_name.deploy stores a set of deployment characteristics for a deployment profile. profile_name.deploy is created when you right-click web.xml and choose Create WAR Deployment Profile. You can use the deployment profile to deploy your portlet application to a Web or enterprise application archive, or to a portlet container.

C.5 Files Related to Pages

When you create or modify pages, the following files are created or modified:

C.5.1 adf-config.xml

adf-config.xml is used by the Oracle WebCenter Framework to configure its portlet client. The <adf-portlet-config> element in adf-config.xml configures the portlet client. Table C-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 C-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 once 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 must have multiple locales. See Example C-5.

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

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

C.5.2 adf-faces-config.xml

adf-faces-config.xml is a file common to Oracle ADF applications using JSF as the view technology. For more information about it, see Oracle Application Development Framework Developer's Guide.

adf-faces-config.xml Sample

Example C-6 provides a sample adf-faces-config.xml file.

Example C-6 adf-faces-config.xml Sample

<?xml version="1.0" encoding="windows-1252"?>
<adf-faces-config xmlns="http://xmlns.oracle.com/adf/view/faces/config">
  <skin-family>#{skinBean.currentSkin}</skin-family>
</adf-faces-config>

C.5.3 DataBindings.cpx

DataBindings.cpx is a file common to Web applications. For more information about it, see Oracle Application Development Framework Developer's Guide.

C.5.4 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 it, see Oracle Application Development Framework Developer's Guide.

C.5.5 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.

C.5.6 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. To learn more about how parameters are wired through PageDef.xml, see Section 4.5, "Contextually Linking Components".

For more information about PageDef.xml, see Oracle Application Development Framework Developer's Guide.

PageDef.xml Sample

Example C-7 provides a sample PageDef.xml file.

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

C.5.7 web.xml

web.xml is a file common to J2EE development. For more information about web.xml, see Oracle Application Development Framework Developer's Guide.

C.5.8 profile_name.deploy

profile_name.deploy stores a set of deployment characteristics of a deployment profile. profile_name.deploy is created when you right-click web.xml and choose Create WAR Deployment Profile. You can use the deployment profile to deploy your application to a Web or enterprise application archive.

C.5.9 mds Subdirectory

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

C.5.10 wsdl Subdirectory

When you consume JPS 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.

C.6 Files Related to Security

When you implement or modify security for your application, the following file is created or modified:

C.6.1 app-jazn-data.xml

The app-jazn-data.xml file is used to facilitate the deployment of realm and policy information for your application. In your development environment (Oracle JDeveloper), app-jazn-data.xml is located in your application's .adf/META-INF directory. Postdeployment, the file is unpacked to the directory ORACLE_HOME/j2ee/oc4j_instance/applications/app-name/adf/META-INF.

The app-jazn-data.xml file is created when a policy is defined in the application using the authorization editor of Oracle JDeveloper. Each time a developer updates the policy for a page or component (for example, an iterator or data control), Oracle JDeveloper's embedded Oracle Containers for J2EE's (OC4J) system-jazn-data.xml, located in JDEV_HOME\system\oracle.j2ee.10.1.3.xx.xx\embedded-oc4j\config, is updated. At the same time, these changes are also propagated to file app-jazn-data.xml.

Note:

app-jazn-data.xml does not appear in the Applications Navigator in Oracle JDeveloper.

When you migrate security information with the JAZN Migration tool, the app-jazn-data.xml file can be used as the source file for the migration. See Section 12.2.4, "Migrating Security and Application Roles" for more information about migrating roles.

The elements and attributes contained in the app-jazn-data.xml file are a subset of OC4J's system-jazn-data.xml file. See Oracle Containers for J2EE Security Guide for more information.

app-jazn-data.xml Sample

Example C-8 provides a sample app-jazn-data.xml file. In this example, the view privilege on the test.jspx page is granted to the anonymous role, while the customize, personalize, and view privileges are granted to the user role.

Note:

The realm information in the app-jazn-data.xml file includes only roles and not the individual users that are part of that role.

Example C-8 app-jazn-data.xml Sample

<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<jazn-data
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
    jazn-data-10_0.xsd"
  schema-major-version="10"
  schema-minor-version="0"
>
<!-- JAZN Realm Data -->
<jazn-realm>
    <realm>
        <name>jazn.com</name>
        <users>
        </users>
        <roles>
            <role>
                <name>users</name>
                <guid>58B213307F7811DBBF8F39184ABB7640</guid>
                <members>
                </members>
            </role>
        </roles>
    </realm>
</jazn-realm>
<!-- JACC Repository Data -->
<jacc-repository>
</jacc-repository>
<jazn-policy>
    <grant>
        <grantee>
            <principals>
                <principal>
          <class>oracle.adf.share.security.authentication.ADFRolePrincipal</class>
          <name>anyone</name>
                </principal>
            </principals>
        </grantee>
        <permissions>
            <permission>
          <class>oracle.adf.share.security.authorization.RegionPermission</class>
          <name>view.pageDefs.testPageDef</name>
                <actions>view</actions>
            </permission>
        </permissions>
    </grant>
    <grant>
        <grantee>
            <principals>
                <principal>
                    <realm-name>jazn.com</realm-name>
                    <type>role</type>
                    <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                    <name>users</name>
                </principal>
            </principals>
        </grantee>
        <permissions>
            <permission>
           <class>oracle.adf.share.security.authorization.RegionPermission</class>
           <name>view.pageDefs.testPageDef</name>
           <actions>customize,personalize,view</actions>
            </permission>
        </permissions>
    </grant>
</jazn-policy>
<jazn-permission-classes>
</jazn-permission-classes>
</jazn-data>