16 Additional Oracle WebCenter Upgrade Details

This chapter describes the changes that the upgrade utility in Oracle JDeveloper 11g automatically makes to a WebCenter 10.1.3.x application while upgrading the application. It also describes how you can change the location of customization store for preconfigured portlet producers.

The chapter contains the following sections:

16.1 Automated Changes in Upgraded WebCenter Applications

To upgrade a WebCenter 10.1.3.x application to Oracle WebCenter 11g, you use JDeveloper 11g. While upgrading an application, the upgrade utility in JDeveloper 11g automatically makes certain changes, such as those related to customizable components, external applications, and portlet components.

This section describes the following changes:

16.1.1 Customizable Component Changes

In WebCenter applications, you can use Oracle Composer to add components to pages that users can customize at runtime. Oracle Composer provides components like Panel Customizable and Show Detail Frame that users can add to applications to support page personalization and customization.

When you upgrade a WebCenter 10.1.3.x application that uses customizable components, JDeveloper automatically makes various changes related to customizable components to prepare the application to run on Oracle WebLogic Server. These changes include:

  • General Changes

  • Panel Customizable Changes

  • Show Detail Frame Changes

16.1.1.1 General Changes

When you upgrade your WebCenter application, JDeveloper makes the following general changes to your application:

  • The namespace of customizable components in JSPX files is renamed from:

    http://xmlns.oracle.com/adf/faces/customizable

    To

    http://xmlns.oracle.com/adf/faces/customizable/html

  • From web.xml, entries for the following are removed:

    • Context parameter oracle.mds.web-app-root

    • Filter mdsFilter

    • Filter mapping for mdsFilter

    • Servlet jsp2, servlet mapping for jsp2, and resource proxy

  • The Java Customizable Components library is removed and the WebCenter Customizable Components library is added.

  • The old Customizable Components tag libraries are removed and the new version Customizable Components (HTML) is added.

  • In import statements and declarations, if any, in Java files, the class name of Panel Customizable is changed to oracle.adf.view.html.component.customizable.PanelCustomizable.

  • In import statements and declarations, if any, in Java files, the class name of Show Detail Frame is changed to oracle.adf.view.html.component.customizable.ShowDetailFrame.

16.1.1.2 Panel Customizable Changes

A Panel Customizable component is a container for a group of Oracle ADF components, task flows, and portlets that you can make customizable at runtime. When you upgrade a WebCenter application, JDeveloper removes various attributes from Panel Customizable because they are no longer supported in Oracle WebCenter 11g. Table 16-1 lists Panel Customizable attribute changes in an upgraded WebCenter application.

Table 16-1 Panel Customizable Attribute Changes in an Upgraded WebCenter Application

Attribute Attribute Availability in an Upgraded WebCenter Application

DisplayHeader

ExpansionMode

Text

Icon

IsSeededInteractionAvailable

IsMinimizable

IsMaximizable

IsMovable

IsShowContentEnabled

ContentInlineStyle

DisclosureListener

Background

isEditable

isHelpAvailable

Removed.

All these attributes are removed from an upgraded WebCenter application. A header is no longer supported for Panel Customizable. Therefore, DisplayHeader and certain other attributes, such as ExpansionMode, Text, and so on, that are dependent on the header being available are also removed.

DisplayScrollBar

Removed.

However, to render scrollbars for the Panel Customizable content area, you can set the Layout attribute to Scroll.

Width

Height

Deprecated.

The usage of the Width and Height attributes is discouraged. It is recommended that you use the inlineStyle attribute to specify the width or height of Panel Customizable. For example, you can set inlineStyle="width:300px;height:500px;".


Example 16-1 shows the sample Panel Customizable code in the source view of a WebCenter 10.1.3.x application.

Example 16-1 Panel Customizable Code in a WebCenter 10.1.3.x Application

<cust:panelCustomizable id="panelCustomizable1"
  text="panelCustomizable 1"
  displayHeader="true" 
  isMaximizable="true"
  isMinimizable="true"
  width="100%"
  height="50px">
  displayScrollBar="auto"
  isShowContentEnabled="true"/>

Example 16-2 shows the sample Panel Customizable code after a WebCenter 10.1.3.x application has been upgraded to Oracle WebCenter 11g. Notice that attributes such as isMinimizable and displayHeader are removed from the Panel Customizable code.

Example 16-2 Panel Customizable Code of a WebCenter 11g Application

<cust:panelCustomizable id="panelCustomizable1" 
xmlns="http://xmlns.oracle.com/adf/faces/customizable/html"/>

16.1.1.3 Show Detail Frame

A Show Detail Frame component renders a border or chrome around a child component in your WebCenter application pages. It provides a header with an Actions menu that contains User Interface (UI) controls to customize the display of the child component. Table 16-2 lists the changes that JDeveloper makes to the attributes of the Show Detail Frame component when you upgrade your WebCenter application.

Table 16-2 Changes Made to Show Detail Frame Attributes in Upgraded WebCenter Applications

Attribute Description

isMaximizable

This attribute is removed from the upgraded application.

isSeededInteractionAvailable

IsSeededInteractionAvailable=true is migrated to the following:

  • showMoveAction=menu

  • showMinimizeAction=chrome

  • showRemoveAction=chrome

IsSeededInteractionAvailable=false is migrated to the following:

  • showMoveAction=none

  • showMinimizeAction=none

  • showRemoveAction=none

isMovable

This attribute is renamed to showMoveAction. The upgrade utility migrates isMovable=None|Menu to showMoveAction=none|menu, respectively.

isMinimizable

This attribute is renamed to showMinimizeAction. The upgrade utility migrates the isMinimizable=false|true to showMinimizeAction=none|chrome, respectively.

expansionMode

This attribute is removed from the upgraded application if expansionMode=maximized. If the value was set to normal or minimized, then the attribute is retained.

ContentInlineStyle

This attribute is renamed to InlineStyle.


Example 16-3 shows the sample code of Show Detail Frame in the source view of a WebCenter 10.1.3.x application page. Example 16-4 shows the sample Show Detail Frame code after this application is upgraded to Oracle WebCenter 11g. Notice that isMaximizable is removed and the isSeededInteractionAvailable, isMinimizable, isMovable, and ContentInlineStyle attributes are renamed.

Example 16-3 Show Detail Frame Code of a WebCenter 10.1.3.x Application

<cust:showDetailFrame id="showDetailFrame1" 
  text="showDetailFrame 1"
  isSeededInteractionAvailable="false"
  isMaximizable="false"
  isMinimizable="true"
  isMovable="true">
  contentInlineStyle="background-color:rgb(0,255,255)"/>

Example 16-4 Show Detail Frame Code of a WebCenter 11g Application

<cust:showDetailFrame id="showDetailFrame1" 
  text="showDetailFrame 1"
  displayActions="never"
  showMoveAction="none"
  showMinimizeAction="none"
  contentStyle="background-color:rgb(0,255,255)"
  xmlns="http://xmlns.oracle.com/adf/faces/customizable/html"/>

16.1.2 External Application Changes

You can associate external applications with portlet producers. Oracle WebCenter Framework defines an external application as any application that implements its own authentication process. That is, an application that does not take part in the single sign-on process of Oracle WebCenter Framework. For more information, see the "Working with External Applications" section in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

This section contains the following subsections:

16.1.2.1 Overview of External Applications Changes in Oracle Application Server 10g and Oracle Fusion Middleware 11g

Compared to Oracle Application Server 10g, in Oracle Fusion Middleware 11g, external applications have undergone some changes. In Oracle Fusion Middleware 11g, external applications let you specify shared and public credentials. External applications also let you define an internal name (that serves the purpose of external application identifier and cannot be changed after creation) and a display name (that can be changed). Another distinguishing feature is that in Oracle Application Server 10g, external applications use Metadata Services (MDS) to store metadata; in Oracle Fusion Middleware 11g, external applications are stored as connections similar to other services like content repository connections.

Table 16-3 compares how the distinguishing attributes of external applications map between Oracle Application Server 10.1.3.x and Oracle Fusion Middleware 11g. The table shows sample values for the name, ExtAppId, and GUID attributes.

Table 16-3 Distinguishing External Applications Attributes in Oracle Application Server 10.1.3.x and Oracle Fusion Middleware 11g

External Application Attribute Sample Attribute Value in Oracle Application Server 10.1.3.x Sample Attribute Value in Oracle Fusion Middleware 11g

Name

app1

app1 (Also used as the display name of the external application)

extAppId

/oracle/adf/externalApps/extApp9213895574200898560.xml

app1

SharedCredEnabled

Attribute not supported

False

PublicCredEnabled

Attribute not supported

False

loginEnabled

Attribute not supported

True

GUID

Attribute not supported

ExtAppbc638395-2860-41ae-a9ff-edfc6b79110f


16.1.2.2 External Application Upgrade Changes

If your WebCenter 10.1.3.x application relies on external applications, then when you upgrade that application, the associated external applications are also upgraded automatically. For example, when migrating a WebCenter 10.1.3.x application that uses PDK-Java producers dependent on external applications, the external applications are automatically upgraded. While upgrading a WebCenter application, the upgrade utility performs the tasks for an upgraded external application:

  • Uses the name of the 10.1.3.x external application as the internal name (ExtAppId) of the upgraded application.

  • Updates the producer metadata with the new external application ID. An external application is referenced in the portlet producer metadata through its ID.

  • Migrates the external application metadata from MDS store configured in the WebCenter application's adf-config.xml to connections.xml.

  • Adds the automated login configuration to the project that contains external application portlets.

  • Adds the new attributes, listed in Table 16-3, to the upgraded external application.

  • Removes the credential provisioning page configured for the project containing external application portlets and the managed bean and navigation rule defined in each project. In Oracle Fusion Middleware 11g, the credential provisioning page is packaged in the external application library.

  • Configures external application libraries, WebCenter External Application Service, and WebCenter External Application Service View.

16.1.3 Portlet Component Changes

When you upgrade a WebCenter application that uses portlets, JDeveloper automatically makes various changes related to portlet tags in the upgraded application.

16.1.3.1 Portlet Tag Changes

In WebCenter 10.1.3.x applications, the adfp:portlet tag represents a portlet in the namespace http://xmlns.oracle.com/adf/faces/portlet.

In WebCenter 11g applications, portlet tags are converted to Trinidad HTML Portlet tags. The adfp:portlet portlet tag is migrated to adfph:portlet in the namespace http://xmlns.oracle.com/adf/faces/portlet/html.

16.1.3.2 Attribute Changes

Table 16-4 lists the attributes that are renamed or removed from an upgraded WebCenter application containing portlets.

Table 16-4 Attribute Changes in an Upgraded WebCenter Application Containing Portlets

Attribute Change in the Upgraded Application

isSeededInteractionAvailable

This attribute is renamed to displayActions. The upgrade utility migrates isSeededInteractionAvailable=false|true to displayActions=onHover|always, respectively.

isMinimizable

This attribute is renamed to showMinimizeAction. The upgrade utility migrates isMinimizable=false|true to showMinimizeAction=none|chrome, respectively.

isMaximizable

This attribute is renamed to showMaximizeAction. This change is applicable only for HTML portlets. The attribute is not available for rich-text portlets. The upgrade utility migrates isMaximizable=false|true to showMaximizeAction=none|chrome, respectively.

isMovable

This attribute is renamed to showMoveAction. The upgrade utility migrates isMovable=False|True to showMoveAction=none|menu, respectively.

contentInlineStyle

This attribute is renamed to InlineStyle.

text

This attribute is renamed to title.

portletType

This attribute is removed.

isLinkModeAvailable

This attribute is removed.

showRemoveAction

This attribute is removed from an HTML portlet. In Oracle WebCenter 11g, this attribute is available only for rich-text portlets.

expansionMode

In JDeveloper 11g, the values allowed for this attribute are normal and minimized. In a WebCenter 10.1.3.x application, if the value is set to maximized, then the attribute is removed from the upgraded application.


16.2 Content Integration Connections: Migration of Credentials to External Applications

Content integration capabilities of Oracle WebCenter enable you to integrate decentralized content located across various content repositories, such as Oracle Content Server, Oracle Portal, or your file system, into your WebCenter applications. This section describes the authentication methods supported in Oracle WebCenter 10.1.3.x and Oracle WebCenter 11g applications. It also describes how credentials are migrated to external applications for content repository connections when you upgrade a WebCenter 10.1.3.x application.

To integrate content from a content repository into your WebCenter application, you need to create a connection to the required repository. In Oracle WebCenter 11g, while creating a content repository connection, you can set the authentication method to any of the following:

  • Identity Propagation: In this method, no credentials are passed to the content repository. Instead, the repository connector uses the current user's identity as determined from the Java security context. This method is generally used when the application and the content repository use the same identity store to authenticate users.

  • External Application: This method can be used in all other cases where the current user's identity should not be propagated directly to the content repository.

In Oracle WebCenter 10.1.3.x, the authentication method used for connecting to a content repository is determined through the setting specified for JAAS security. Select the Use JAAS for security checkbox if you want to transfer the user's identity to the repository without passing the credentials and to use the trust relationship between the WebCenter application and the content repository. If you do not use JAAS security, you need to specify credentials and leave the checkbox unselected.

Figure 16-1 shows the content repository connection details of a WebCenter 10.1.3.x application that does not use JAAS security. In Figure 16-1, the Use JAAS for security checkbox is not selected and credentials are specified in the Username and Password fields.

Figure 16-1 Authentication Method of a WebCenter 10.1.3.x Application

Description of Figure 16-1 follows
Description of "Figure 16-1 Authentication Method of a WebCenter 10.1.3.x Application"

If you upgrade a WebCenter 10.1.3.x application in which JAAS security is used (that is, the Use JAAS for security checkbox is selected), then Identity Propagation is automatically set as the authentication method for the connection in the upgraded application. (The Use JAAS for security feature is same as Identity Propagation.)

If the Use JAAS for security checkbox was not selected in your WebCenter 10.1.3.x application, when you upgrade the application, the authentication method is set to External Application. Further, a new external application with public credentials is created automatically by using credentials from the 10.1.3.x content repository connection. Figure 16-2 shows the content repository connection details of an upgraded application. It shows the External Application authentication method selected and a new external application created for the upgraded application. Figure 16-3 shows the public credentials automatically specified for the newly created external application.

Figure 16-2 Content Repository Connection Configuration of an Upgraded Application

Description of Figure 16-2 follows
Description of "Figure 16-2 Content Repository Connection Configuration of an Upgraded Application"

Figure 16-3 Public Credentials Specified for an External Application

Description of Figure 16-3 follows
Description of "Figure 16-3 Public Credentials Specified for an External Application"

Note:

If your application contains a content repository connection that uses credentials, during application upgrade if there is a problem in retrieving credentials from the credential store or in creating the external application, you must edit the upgraded content repository connection. In the Edit Content Repository Connection wizard, you must select External Application as the authentication method, and then create an external application with the required credentials.

16.3 Preconfigured Portlet Producers: Customization Store's Location

By default, customizations related to preconfigured portlet producers are stored at the following location in Oracle WebCenter 11g:

11g_jdev_install_dir/jdeveloper/portal/portletdata

You may choose to store portlet customizations at a location different. This section describes how to change the location of a customizations store for various preconfigured portlet producers. It contains the following subsections:

16.3.1 WSRP Portlet Producers

To specify a file preference store location for portlet customizations of your WSRP portlet producers, update your producer's WEB-INF/web.xml with the following entry:

<env-entry>
    <env-entry-name>oracle/portal/wsrp/server/fileStoreRoot</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>{YOUR_PORTLET_DATA_PATH}</env-entry-value>
</env-entry> 

Where YOUR_PORTLET_DATA_PATH refers to the path where you want to store portlet customizations.

If you want to use a database preference store for your WSRP portlet producer, then you must set up the database preference store. For information, see the "Setting Up a Preference Store" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

16.3.2 Web Clipping Portlet Producer

To specify the Web Clipping customization store, update the following entry in mds-config.xml:

<property name="metadata-path" value="{YOUR_PORTLET_DATA_PATH}"/> 

For information about Web Clipping portlet configuration, see the "Web Clipping Portlet Configuration Tips" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

16.3.3 OmniPortlet and other PDK-Java Portlet Producers

For OmniPortlet, you specify the customization store location in provider.xml. The file is available at the following location in the Fusion Middleware 11g installation:

MW_HOME/user_projects/domains/wc_domain/servers/WLS_Portlet/tmp/_WL_user/portalTools_11.1.1.2.0/RANDOMLY_GENERATED_DIRECTORY/war/WEB-INF/providers/omniPortlet/provider.xml

Tip:

To locate OmniPorlet's provider.xml, search for "omniPortlet/provider.xml" in the installation directory of Oracle WebLogic Server.

To specify a file preference store location for portlet customizations of your OmniPortlet portlet producers, update the following entry in provider.xml:

<preferenceStore class="oracle.webdb.reformlet.ReformletFilePreferenceStore">
    <name>omniPortletprefStore</name>
    <useHashing>true</useHashing>
    <rootDirectory>{YOUR_PORTLET_DATA_PATH}</env-entry-value</rootDirectory>
</preferenceStore>

You can change the file preference store location for other PDK-Java portlet producers in the same way.

If you use a database preference store for OmniPortlet and other PDK-Java portlet producer, then you must set up the database preference store. For more information, see the "Setting Up a Preference Store" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

16.3.4 OmniPortlet Repository Changes

In Oracle WebCenter 11g, OmniPortlet connection details are stored in the Oracle Platform Security Service (OPSS) credential store. In earlier versions of Oracle WebCenter, connection details for OmniPortlet are stored in the Web Clipping repository. After you upgrade an Oracle WebCenter application containing OmniPortlet, connection details for OmniPortlet are automatically migrated from the Web Clipping repository when you run the OmniPortlet for the first time after upgrade. The first run of OmniPortlet can be either accessing the OmniPortlet Test Page or displaying an OmniPortlet instance on an application page. The upgrade process is recorded in the log file of Oracle WebLogic Server. After application upgrade, in OmniPorlet's provider.xml, the vaultId tag is marked with the prefix MIGRATED_FROM_VAULT_ID_old_vault_id.

If there is any error during application upgrade, you may need to run the upgrade procedure again. For example, if application upgrade fails due to the Web Clipping repository being unavailable, you must ensure that the database is up and running and then upgrade your application again.

To re-run the upgrade procedure for an application that contains an OmniPortlet:

  1. From the OmniPorlet's provider.xml, remove the MIGRATED_FROM_VAULT_ID_old_vault_id prefix.

  2. Restart the OmniPortlet producer.

  3. Access the OmniPortlet Test Page by using the following URL format:

    http://host:port/portalTools/omniPortlet/providers/omniPortlet
    

    Where, host and port refer to the host name and port number of the system where you installed Oracle WebCenter.

16.4 Migration of JSR 168 Portlet Producers to JSR 286: Handling of Portlet Elements

In JDeveloper 11g, when you open for the first time an existing portlet producer application that contains JSR 168 portlets, the portlets are automatically upgraded to be JSR 286 compliant.

When you upgrade a 10g portlet producer application, the WebCenter migrator deletes oracle-portlet.xml and upgrades portlet.xml. It converts the navigation parameters stored in oracle-portlet.xml into public render parameters and adds them to portlet.xml. If weblogic-portlet.xml exists, it is retained as is.

The migration of a JSR 168 portlet producer application to JSR 286 is fully automated; it does not require you to perform any additional manual steps. However, based on the warnings that may be displayed in the log panel during migration, you may want to make additional changes to portlets. The following tables describe how various parameters in the oracle-portlet.xml file of a JSR 168 portlet producer application are handled in portlet.xml of a JSR 286 portlet producer application:

  • Table 16-5: Describes handling of portlet-app-extension elements

  • Table 16-6: Describes handling of portlet-extension elements

  • Table 16-7: Describes handling of navigation-parameters elements

Table 16-5 Handling of portlet-app-extension Elements of oracle-portlet.xml during Portlet Producer Upgrade

portlet-app-extension Element XML Type Handling of the element in portlet.xml of the JSR286-Compliant Upgraded Application

<export-size-limit>

int

Ignored

<allow-export>

boolean

Converted to a portlet application-level com.oracle.portlet.allowWsrpExport Container Runtime Option (CRO) with the same boolean value.

<allow-import>

boolean

Ignored

<allow-copy-portlets>

boolean

Ignored

<export-encryption-data>

complexType

Ignored

<use-jazn-security>

complexType

Ignored

<strict-authentication>

boolean

Converted to the following portlet application-level CRO with the opposite boolean value:

com.oracle.portlet.useWsrpUserContextForUserAuthenticationInfo

If this element does not exist in oracle-portlet.xml but oracle-portlet.xml does exist and the portlet.xml schema version is 1.0, the following portlet application-level CRO is created with the value true:

com.oracle.portlet.useWsrpUserContextForUserAuthenticationInfo


Table 16-6 Handling of the portlet-extension Elements of oracle-portlet.xml

portlet-extension Element XML Type Handling of the element in portlet.xml of the JSR286-Compliant Upgraded Application

<portlet-name>

string

Used for correlating the portlet-extension entry in oracle-portlet.xml with the appropriate portlet entry in portlet.xml

<published-events>

complexType

Ignored

<handled-events>

complexType

Ignored

<navigation-parameters>

complexType

Each navigation-parameters element is converted into a JSR286 public render parameter

<portlet-id>

string

Converted to a portlet-level com.oracle.portlet.wsrpPortletHandle CRO with the value "E:i" + portlet-id value + ":default".

If the parameter is not present, a portlet-level com.oracle.portlet.wsrpPortletHandle container runtime option is created with the value "E:n" + portlet-name (from portlet.xml) + ":default"

<allow-export>

boolean

Ignored

<allow-import>

boolean

Ignored

<hide-portlet>

boolean

Converted to a portlet-level com.oracle.portlet.offerPortletOverWsrp CRO with an opposite boolean value.

<require-iframe>

boolean

Converted to a portlet-level com.oracle.portlet.requireIFrame CRO with the same boolean value.

<minimum-wsrp-version>

int

Converted to a portlet-level com.oracle.portlet.minimumWsrpVersion CRO with the same integer value.


Table 16-7 describes the handling of navigation parameters of oracle-portlet.xml in the portlet.xml file when you upgrade a portlet producer application. When a JSR 168 portlet producer application is upgraded, the following changes are made while converting oracle-portlet.xml's navigation parameters into public render parameters:

  • If the portlet has any declared supported-public-render-parameter in portlet.xml, all navigation parameters from oracle-portlet.xml are ignored and a warning message is logged.

  • If portlet application-level public-render-parameter descriptions in portlet.xml have the same identifier as the local part of the navigation parameters' name in oracle-portlet.xml, the navigation parameters that conflict are ignored and a warning message is logged.

  • If any navigation parameters specified in any portlet-extension element in oracle-portlet.xml have different namespace parts but the same local part of the <name> element, all overlapping navigation parameters except one are ignored and a warning message is logged.

Table 16-7 Handling of the navigation-parameters Element available in oracle-portlet.xml

navigation-parameter Element XML Type Handling in portlet.xml of a JSR286 Container

<name>

QName

The full QName is used as the public-render-parameter QName in portlet.xml at the portlet application-level. The local part of the QName is used as the public-render-parameter identifier at the portlet application-level, and as the supported-public-render-parameter value at the portlet level.

<type>

QName

Ignored

<label>

localizedString

Converted to the description element.

The <label>, <hint>, and <usage> elements are merged in the given sequence to create the description element of the public-render-parameter in portlet.xml.

<hint>

localizedString

Converted to the description element.

The <label>, <hint>, <usage> elements are merged in the given sequence to create the description element of the public-render-parameter in portlet.xml.

<usage>

string

Converted to the description element.

The <label>, <hint>, <usage> elements are merged in the given sequence to create the description element of the public-render-parameter in portlet.xml.

<aliases>

QName

Converted to alias declarations on the public-render-parameter declaration in portlet.xml at the portlet application level.