Browser version scriptSkip Headers

Oracle® Applications Cloud Extending the Applications
Release 13.2
Part Number E50709-02
Go to Documentation Home
Home
Go to contents  page
Contents
Book<br />List
Book
List
Go to Feedback page
Contact
Us

Go to previous page
Previous
Go to previous page
Next
PDF

2 Understanding the Customization Development Life Cycle

This chapter contains the following:

Customization Life Cycle: Explained

Run Time Customizations

Sandbox Manager

Moving Customizations

Managing Customizations: Points to Consider

Advanced Customization Life Cycle Tasks: Highlights

Customization Life Cycle: Explained

All customizations and extensions to Oracle Fusion Applications should be done in a full test environment. Typically, this environment contains one or more Oracle Fusion applications that will then be moved to a production environment after all customizations and extensions are complete and tested.

Business analysts using Page Composer and Application Composer can make application customizations in a sandbox. Sandboxes store the customizations in Extensible Markup Language (XML) files in a separate Oracle Metadata Services (MDS) repository that is available only when you work in that particular sandbox. The changes can be done in a test-only sandbox (that is, the code in the sandbox is for testing only, and is never deployed), or they can be done in a sandbox that is then published to the full test environment.

Developers using design time tools, such as Oracle JDeveloper, can deploy their customizations directly to that environment, or they can publish to a sandbox. For more information on design time customization workflow, see the Oracle Fusion Applications Extensibility Guide for Developers.

Project managers can monitor, import, and export customizations. The entire environment with all customizations can then be tested, as shown in the figure below.

Customization workflow in a full test environment

Tip

Depending upon the need, developers may allow users having access to the Oracle Fusion Functional Setup Manager, to configure the customizations and extensions made to Oracle Fusion Applications.

Run Time Customizations

Run Time Customization Workflow: Explained

When you use Application Composer and Page Composer to make run time customizations to Oracle Fusion applications, you can use sandboxes to save your changes in a segregated environment. For example, before you begin making customizations, you create a sandbox named MySandbox and make your customizations in that sandbox. If others want to see the customizations, then they would use MySandbox.

Note

There are restrictions when more than one user works in a sandbox.

You can also use a sandbox when you define security policies for custom objects that you have created using Application Composer. A security sandbox stores the security information in new database tables that are available only when you choose to work in that sandbox.

After you complete your customizations, the sandbox can be reviewed and approved by others, and then published to the full test environment where your customizations become part of that repository.

Note

A flexfield sandbox is for testing only and cannot be published. Instead, you deploy a flexfield to the full test environment using the flexfield UI. To test a flexfield configuration before deploying it to the full test environment, deploy it to a flexfield sandbox. The changes that you deploy to a sandbox are isolated from the full test environment and can be seen only by those who make the flexfield sandbox active in their session. After you are satisfied with the changes in the sandbox, you can deploy the changes to the full test environment.

When you publish a sandbox, the published customizations are labeled. Labeling can act as a save point, meaning that if a future customization causes issues, you can use the Manage Customizations dialog box to remove all customizations done after that point by promoting the last known good label back to the tip.

You can also use the Manage Customizations dialog box to view others' customization metadata files, and to download those files to manually move them to another environment or to diagnose any issues. You can also upload others' customization metadata files to your environment.

Note

The navigator menu and report customizations do not use an Oracle Metadata Service (MDS) repository.

This figure illustrates the use of sandboxes when customizing pages, objects, and security using Page Composer and Application Composer and when configuring flexfields.

The run time customization workflow

Viewing and Diagnosing Run Time Customizations: Points to Consider

Use the Manage Customizations dialog box to view and diagnose run time customizations that have been made to application pages. Customizations are role-dependent and by default, the Manage Customizations dialog box displays the customizations that have been performed by the signed-in user.

If you are unable to display the page that contains the customizations, choose Manage Customizations from the Administration menu, and then, in the Manage Customizations dialog box, type the page, page fragment, or task flow in the Search text field, and click the Search icon.

Note

Before you begin viewing customizations, ensure that you have administrative privileges to access the Manage Customizations dialog box.

Customizations for a user are visible under the Current Context column on the Manage Customizations dialog box.

Tip

After you are in the Manage Customizations dialog box, you can change the page, page fragment, or task flow for which you are viewing customizations using the Search field.

Developers too may be assigned to specific roles and can view only those customizations that are permitted for that role. However, administrators can view all the customizations made at the site level, and for any user, under the All Layers column on the Manage Customizations page. To view customizations made by more than one user, administrators can select multiple users.

Sometimes, an administrator might need to view a personalization that was made by another end user. For example, a user might have made an error while personalizing a page and that page is no longer displayed for the user. Because the user cannot access the page, the user cannot correct the error. In this case, the administrator can access the page, request to see the user's changes, and delete those changes to restore the page to its original settings.

Logging Page-Level Customizations

You can use logging that is applied to a page or you can use the Manage Customizations dialog box to diagnose customization issues to determine whether customizations have been applied to a page.

If you suspect that a problem might have been caused by a customization on a page, such as a user interface component disappearing from a page, you can export the page's customizations and examine the document file.

To turn on run time logging for customizations that are applied to a page, set the log level for the oracle.mds.custmerge module to FINEST. You can set the application's log level by choosing Troubleshooting from the Help menu. You might need to ask your administrator to give you privilege to set the log level.

If you have administration privileges, you can also use Fusion Applications Control to set the log level.

Sandbox Manager

Managing Customizations Using Sandboxes: Explained

Different types of customizations can be applied to an application such as changes to an application's metadata stored in the metadata services repository or changes related to data security of the application. All such customizations are stored in sandboxes and are validated before applying them to an application.

Environment

To customize an Oracle Fusion application in run time, you must first create a sandbox and then use Page Composer or Application Composer to make the customizations. These changes remain within the sandbox and do not affect the mainline code. You can test and validate the changes by publishing the sandbox to a full test environment. After the application has been tested, it can then be moved to the production environment. The customizations created in the sandbox will be migrated to the production environment and will be available to the users of the system.

It is recommended that customizations are never made directly to the mainline code and have to be first done in the sandbox. You make changes to an application at run time in a sandbox so that the changes are isolated from the mainline code. The mainline code is a branch of data that serves as a single source. After the changes in the sandbox are complete and verified and you want to commit them, you can publish the metadata or security-enabled sandbox to the mainline code. If customizations existed in the mainline code before the sandbox was created, you will see the customization information in the sandbox. To view the customizations that were newly added to the mainline code, you will need to exit, publish, or delete the sandbox and create a new sandbox.

Flexfield sandboxes are for testing only and cannot be published. You make flexfield configurations that are stored in a database, and then deploy those configurations to a sandbox to see the resulting deployment artifacts in a sandbox environment. Flexfields are deployed directly to the mainline code using the flexfield UI.

Tools

You can use several run time tools to customize the application. The sandbox manager works with Application Composer and Page Composer to customize objects and pages. The Oracle Business Process Composer and Oracle SOA Composer are also run time customization tools, but they do not use the sandbox manager. They have their own mechanisms for handling customization changes.

For on-premise implementations, a metadata sandbox that you create using the sandbox manager is available in JDeveloper when you are creating and deploying customizations intended for a deployed Oracle Fusion Application in Oracle WebLogic Server. The available sandboxes except security sandboxes appear in a selection list in JDeveloper during deployment.

Note

For cloud implementations, you can use Application Composer to work with sandboxes. For more information on using sandboxes in Application Composer, refer to the Oracle Sales Extensibility Guide.

The metadata sandbox sessions can be saved, downloaded, and imported as files into other Oracle Fusion applications.

Using Sandboxes: Points to Consider

In the customization run time workflow, you use sandboxes to isolate the changes from the mainline code for testing and validating. After you are satisfied with the changes, you can publish the changes back to the mainline code.

You can create two types of sandboxes:

The testing sandboxes are never published and therefore produce no concurrency conflicts between sandboxes. You can have several testing sandboxes at the same time. But if you have multiple users working on the same testing sandbox, then they must adhere to the prescribed guidelines.

Customizations in the sandboxes that are published are merged back to the mainline code. The following figure illustrates the two types of sandboxes and their relationship to the mainline code.

Types of sandboxes

Working with a Single Sandbox

When multiple users are customizing an application using the same sandbox at the same time, conflicts within a sandbox can arise. It is because more than one user may be attempting to customize the same artifact or performing a customization task that indirectly affects other shared files. An example of a direct conflict is when different users attempt to customize the same page, the same fragment, or the same metadata file within the same layer. An example of an indirect conflict is when two users, each creating their own object, cause a conflict in the metadata file that tracks which new objects have been created by both saving their changes around the same time.

Conflicts may also arise when users are editing a shared artifact, such as when a user performs an operation that adds or edits a translatable string. For example, a user edits a field's display label or help text, or a validation rule's error message, while another user performs an operation around the same time that similarly affects translatable strings. Another example of a shared artifact conflict is when two or more users are working in navigator menus that are shared across applications. Whenever there is a customization conflict with another user, the application displays concurrency warning messages.

Whether the sandbox is meant for testing or production, if multiple users work with a single sandbox, follow these guidelines to avoid conflicts.

Working with Multiple Sandboxes

Multiple sandboxes are used when customizations are stored in testing as well as production sandboxes.

If there is a concurrent change made in the mainline code after the sandbox was created and the user attempts to publish that sandbox, then such conflicts are detected at publication time and error messages are displayed.

Tip

If you encounter a message showing a conflict on oracle/apps/menu/fnd/applcore/dataSecurity/dataSecurityService/mds/DSMO.xml when you publish your sandbox, it indicates that the security changes that you made in your sandbox conflict with other security changes in the mainline code. Delete the sandbox and recreate your changes in a new sandbox.

If multiple users are permitted to work in multiple sandboxes at the same time, follow these guidelines to avoid conflicts:

Setting Up Sandboxes: Procedures

To make customizations to the application artifacts you need to first store them in an active sandbox. You can either create a sandbox or select an existing sandbox, and designate it as an active sandbox. The active sandbox holds the context for all the changes. The sandbox uses a database to store the actual changes. After you examine the changes and are certain about them, you can publish the sandbox, or deploy the flexfield, and the changes are merged into the mainline code. Eventually, the sandbox is archived.

Note

The following procedure is for setting up non-flexfield sandboxes. For flexfields, use the Manage Descriptive Flexfields task or the Manage Extensible Flexfields task.

To create a new sandbox and set it up, perform the following steps:

  1. In the global area of the Oracle Fusion Applications, select Administration - Manage Sandboxes.

  2. On the Mange Sandboxes dialog box, create a new sandbox.

  3. To make it a security-enabled sandbox, select the Create Data Security Sandbox check box on the Create Sandbox dialog box. If it is not required, skip this step.

    Note

    Setting up the security sandbox requires duplicating the schema for Oracle Fusion Data Security tables. Therefore, this will always be a lengthy operation in Application Composer. Allow sufficient time for the process to be completed and do not terminate it in a hurry. You may want to defer customizing security and enabling the security sandbox until you are sure that customizations are required.

  4. Click Save and Close.

  5. On the Manage Sandboxes dialog box, select the newly created sandbox or an existing sandbox and click Set as Active. The sandbox is designated as the active sandbox.

  6. Perform the following optional tasks, if required:

  7. Close the Manage Sandboxes dialog box.

Publishing Sandboxes: Procedures

After you have made the customizations in the sandbox, you need to publish them to make them available in the application. Before publishing the customizations, test or validate the changes at run time using test systems and any combination of the validation setups.

If there are changes to the mainline code from another source and you publish your sandbox data, then the mainline code is not overwritten. However, if there are conflicts you are notified, and you need to fix the conflicts before publishing.

To publish a sandbox:

  1. In the global area of the Oracle Fusion Applications, select Administration - Manage Sandboxes.

  2. On the Mange Sandboxes dialog box, select the sandbox and click Publish. The Publish confirmation message box appears.

  3. Click Yes. The sandbox is published to the mainline code.

  4. Close the Manage Sandboxes dialog box.

Moving Customizations

Using Customization Migration to Move Customizations: Points to Consider

The Customization Migration page enables you to create a set of all customizations and extensions that have been made to an Oracle Fusion Applications environment, download that customization set, and upload it into another environment. The customization set includes customizations across all Oracle Fusion Applications product families, such as Oracle Fusion Financials, Oracle Sales Cloud, and Oracle Fusion Human Capital Management (Oracle Fusion HCM). The customization set includes only the customizations and extensions that you make using the following tools and features. Personalizations are not included in the set.

To access the Customization Migration page, navigate to Tools - Customization Migration from the Navigator menu.

Contents of the Customization Set

The customization set includes only the customizations that you make using the following tools, features, or tasks:

Warning

While an upload or restore activity processes Presentation Services toolset customizations, the following can occur:

Note

The Customization does not include code extensions, such as managed beans, that you implement in JDeveloper using the Oracle Fusion Applications Developer role. These code extensions are stored in the app-inf/lib and web-inf/lib directories and you must manually move the extensions.

Note

The Customization Migration page preselects the type of customizations across all applications that will be added to the customization set. You cannot change this selection.

Tip

To prevent in-progress customizations from getting included in the customization set, make your customizations in a sandbox. The customization set does not include customizations that are in sandboxes.

While you can use the Customization Migration page to move customizations and extensions from any source environment to any target environment, you should always perform your customizations and extensions in a full test environment and use the Customization Migration page to move these changes to a production environment. As customization set migration does not provide a merge capability, never customize or extend a production environment. When you import a customization set, the rows in the database that are not preconfigured are updated if a matching record exists. Otherwise a record is inserted.

Note

The customization set does not include all deletions. For example, the set does not include the removal of a customization document using the Manage Customizations dialog box. After you import a customization set into the target environment, you must examine the environment for any deletions that you must make manually. Similarly, the customization set does not include roles or role hierarchy changes. Changes made to Oracle APM have to be manually updated in the target environment.

Creating and Applying Customizations Using a Customization Set: Procedures

Create a customization set to move customizations across all the product families of Oracle Fusion Applications from one environment to another environment. Creating a customization set is beneficial in moving customization in a batch instead of moving customizations one by one.

You need to ensure the following before creating a customization set:

To create customizations:

  1. In the source environment, from the Navigator menu, select Tools - Customization Migration.

  2. From the Outgoing tab of the Customization Migration page, click Create Customization Set.

    Tip

    If the Delete button appears for an existing customization set, click the button. This removes the temporary files that are on the server from the previous customization set creation. You will not be able to create a customization set until the previous set has been deleted.

  3. Provide a name for the customization set.

  4. Optionally, type a description of the set.

  5. Click Save and Close.

  6. Periodically, click Refresh to view the current status of the set creation. Eventually, the status changes to Ready for Download.

    Tip

    To see the detailed status of each customization type, expand Customization Details.

    Note

    The process runs asynchronously. You can exit the dialog box and return to it at a later time.

  7. Click Download and specify the name and location for the file that will be created (ensure that the downloaded file is a JAR file), and click Save.

  8. After the file is successfully downloaded on your local file system, click Delete to remove the temporary files that were created on the server.

To apply customization to the target environment:

Tip

Apply customizations when a few people are signed into the environment, because end users must sign out and sign in again to see any changes that are made.

  1. Open the Customization Migration page in the target environment.

  2. From the Incoming tab, click Browse, specify the name and location of the customization set file, and click Open.

    Note

    If the Browse button appears disabled, click Delete to remove the previously uploaded customization set from the environment and enable the Browse button.

  3. When the status for the customization set is Ready to Apply Customizations, click Apply.

  4. Periodically, click Refresh to view the current status of the Apply action.

    Tip

    The process runs asynchronously. You can exit the dialog box and return to it at a later time.

    Note

    For Oracle Cloud implementations, if problems occur during an Apply action, log a service request using My Oracle Support at https://support.oracle.com.

  5. Access the target environment and examine the environment for any deletions that you must manually make.

  6. Deploy all flexfields that display a Patched status.

  7. Perform the following steps to send the new and updated Oracle Social Network definitions to the Oracle Social Network server:

    1. In the Setup and Maintenance work area, access the Manage Oracle Social Network Objects task.

    2. For an object that was created or updated as part of the applying customizations process, if its Enabled value is anything other than No, trigger the process of sending its definition to the Oracle Social Network server. You can do it by disabling the object and enabling it again with its original status. For example, if the Enabled value is Manual, disable the object, enable the object, and select the value Manual.

    3. Click OK and save the changes.

  8. If you applied Oracle Sales Cloud application customizations, you must perform the following tasks from Application Composer to complete the movement of Oracle Sales Cloud customizations and extensions:

  9. If attachments were enabled on run time pages using Applications Composer, complete the following steps to enable attachments for those pages in the target environment:

    1. In the source environment, in the Setup and Maintenance work area, access the Manage Implementation Projects task.

    2. On the Manage Implementation Projects page, click Actions - Create.

    3. On the Enter Basic Information page, either accept the default values or replace them with the required values.

      Tip

      The following points must be adhered to:

      • Provide a meaningful name for the project. The code and description fields change automatically.

      • If you modify the Code value, replace it with a unique code.

      • Use the default value for the Start Date and leave the Finish Date blank.

      • The user in the Assigned To field must have access to Customization Set Migration functionality.

    4. Click Save and Open Project.

    5. On the Implementation Project page, click Actions - Select and Add.

    6. Search for the Manage Attachment Categories and Manage Attachment Entities tasks, click Apply, and click Done.

    7. In the Tasks region, click Manage Configuration Packages.

    8. On the Manage Configuration Packages page, click Actions - Create.

    9. In the Source Implementation Project region, select the implementation project that you created.

    10. Click Next and on the consequent page, click Next.

    11. On the Create Configuration Package: Schedule page, click Submit. On the warning message box, click Yes to proceed with the export process.

      Note

      Periodically click Refresh to display the status.

    12. After the export process is complete, download the configuration package.

    13. In the target environment, create a similar implementation project and a configuration project and click Save and Close.

    14. On the Manage Configuration Packages page, select the configuration package that you just created and click Upload.

    15. Select the configuration package that you downloaded from the source environment and click Open.

    16. Click Details and click Submit.

    17. Select the configuration package, click Import Setup Data and click Submit.

      Note

      Periodically click Refresh to display the status.

    18. After the import is complete, click Done.

  10. As an optional step, identify and reschedule any Oracle Sales Cloud processes that failed while applying customizations. To do this, from the Navigator menu, select Tools - Scheduled Processes and look for processes with the following statuses:

  11. Manually migrate all business processes that were created in the source environment to the target environment. Alternatively, you can export them from the Process Composer. To access the Process Composer, navigate to the Application Composer and select the business process that you want to migrate.

  12. When the customizations are successfully applied, perform functional testing to verify the changes. If testing exposes problems with the customizations, such as importing more than you intended, or the changes were not what you expected, access the customization set in the Incoming tab of the Customization Migration page, and click Restore to revert to the state before the customization set was applied. In such cases, skip the next step.

    Note

    Users can monitor the progress of the download or the applying process by viewing the process log. This process takes approximately 15 minutes. If it takes any longer and you do not see any progress, click Refresh. You can either let the server take its time and click Continue or click Restart to restart the export process.

    Important

    • After an environment upgrade, any previous imports which were performed in an earlier release cannot be reverted. However if a new import is submitted in the upgraded instance, then the most recent import can be reversed.

    • Lookup values for lookup fields that exist in both source and target are not overwritten during the customization import. The lookup values from source are added to the target and all the lookup values coexist for the same field. For example: Status field in its source environment has values Open, Closed. In the target environment it has values Yes, No. After the import, the Status field in target environment has values Open, Closed, Yes, and No.

    • After the import, perform the following steps in the target environment to send the new and updated Oracle Social Network definitions to the Oracle Social Network server.

      1. In the Setup and Maintenance work area, access the Oracle Social Network Objects task.

      2. On the Oracle Social Network Objects page, click Synchronize to synchronize a selected object or click Synchronize All to synchronize all objects together.

    • During customization import, the data security privileges are not automatically revoked in the target environment. For example, if a specific privilege is granted in the target environment but the corresponding privilege does not exist in source environment. during import, the privilege in the target environment will not be automatically revoked. To address this manually, add such a privilege to the source environment and revoke it. The revoke action is picked up as a customization instance during the customization import process and applied to the target environment.

    Note

    • You can create custom reports directly in the target environment. However, ensure that you create the custom reports and reference them to the already existing custom subject areas (do not create the custom subject areas directly in the target environment).

    • Customization export and import tasks can only be initiated from the mainline code. If they are initiated from a sandbox, the process does not execute.

    Caution

    All user personalizations that are performed after a customization set is applied are lost when you perform a restore action on that customization set.

  13. Broadcast information to the users that they must sign out and sign in to view the most recent changes.

Exporting and Moving Customizations: Points to Consider

Customizations are stored in XML files. This enables you to export customizations for the following reasons:

Exporting and importing customization files also help in backing up and restoring customizations.

The following table lists the tools to use to export and move customizations and extensions.


Tasks

Tools to Use

Move all customizations to another Oracle Fusion Applications environment.

Customization Set Migration.

Move only MDS customizations made to pages and the user interface to another Oracle Fusion Applications environment.

Oracle Enterprise Manager Fusion Applications Control (Fusion Applications Control).

Note

You can also use Fusion Applications Control to download and upload a set of customizations.

Move only descriptive flexfield configurations to another Oracle Fusion Applications environment.

Oracle Fusion Functional Setup Manager (Functional Setup Manager). Moves configurations for a specified module. To move configurations for all modules, use Customization Set Migration.

Move only extensible flexfield configurations to another Oracle Fusion Applications environment.

Functional Setup Manager. Moves configurations for a specified module. To move configurations for all modules, use Customization Set Migration.

Move only value set configurations to another Oracle Fusion Applications environment.

Functional Setup Manager. Moves configurations for a specified module. To move configurations for all modules, use Customization Set Migration.

Move only lookups to another Oracle Fusion Applications environment.

Functional Setup Manager. Move application standard lookups, application common lookups, or both.

Move only data security policies to another Oracle Fusion Applications environment.

Functional Setup Manager.

Note

It does not move Oracle Fusion Human Capital Management roles.

Export customizations to a file to help diagnose an issue.

Manage Customizations dialog box.

Export customizations to import them into an application workspace in JDeveloper.

Manage Customizations dialog box.

Note

Fusion Applications Control is not available in Oracle Cloud implementations. Therefore, in Oracle Cloud implementations, to perform tasks that require use of Fusion Applications Control, log a service request using My Oracle Support at https://support.oracle.com.

Downloading Customizations

On the Manage Customizations dialog box, from the Administration - Manage Customizations menu, you can download customization files for a given page. You can use these files for diagnosing customization issues.

You can also download all customizations of the page for all layers (AllCustomization.zip), using the Download Customizations for All Layers link located at the bottom of the dialog box. The file contains all the customization XML files for the page.

Managing Customizations: Points to Consider

The Manage Customizations dialog box displays the customizations of the task flows in a page. You can access the Manage Customizations dialog box from Page Composer and from the Administration menu in the global area of Oracle Fusion Applications. You can use this dialog box to perform the following activities:

Backing Up and Rolling Back Customizations

Metadata labels are created when you save customizations made in Page Composer. Labels identify the state of the objects in an MDS repository at a given point in time and can serve as save points to which you can roll back your customizations, if the customizations create problems. Therefore, before you make customizations, create a backup of a known good state by creating a label in Page Composer.

For a specific page, to revert to a label that you backed up, you roll back the customization to that label by making that label become the latest version. This action is often referred to as promoting the label to the tip. You can perform this task in the Promote Documents dialog box accessible from the Manage Customizations dialog box.

Note

When you use the Manage Customizations dialog, you are rolling back only the customizations for the page and its pageDef file. You are not rolling back the other customizations made at the label's save point.

Deleting Customizations

You can use the Manage Customizations dialog box to delete customizations. In the page that contains the customizations, select the page fragment or task flow and choose Manage Customizations from the Administration menu. In the Name list, select the correct layer, find the page, task flow, or fragment that contains the customizations, and click Delete for the customization document that you want to delete.

Advanced Customization Life Cycle Tasks: Highlights

Move customizations from one environment to another by exporting, downloading, and uploading customizations. You can preserve customizations by backing them up or delete customizations if you do not need them. Also, configure log settings and examine log files to diagnose problems associated with the movement of customizations.

Customization Tasks