4Extend Application Pages

This chapter contains the following:

Overview of Application Pages

Use Application Composer to modify application pages. You can make changes that some, or all, of your end users can see, depending on the conditions you set. You can create new pages for a custom object and modify existing pages for standard objects.

Custom Objects

You can create a set of application pages for all custom objects. Read this chapter to learn how.

Standard Objects

In addition, you can modify the application pages of many standard objects.

Objects whose application pages are extensible have a tab called Application Pages when the Pages node is selected.

  1. In Application Composer, navigate to the object that you're interested in.

  2. Click the Pages node.

  3. Click the Application Pages tab.

    You can duplicate and then modify the page layouts listed on this tab.

Examples of Page Modifications

Some of the page modifications that you can make using Application Composer include:

  • Hide or show custom fields

    Tip: When creating custom fields, set a maximum width of 15-20 characters for optimum display on application pages.
  • Hide or show standard fields

  • Extend form regions

  • Extend table regions

  • Reorder fields (tables and pages)

  • Change field labels

  • Add subtabs

You can also set conditions on your new page layouts. For example, maybe only certain roles can see the fields that you add to a page.

To modify application pages using Application Composer:

  1. On the main Overview page in Application Composer, select an object and expand its nodes.

  2. Click the Pages node and select the Application Pages tab.

  3. Duplicate and modify page layouts for that object, as needed.

Application pages are available for all custom objects. You can create a set of application pages with a click of a button, after creating a custom object.

When you do so, Application Composer automatically creates default custom layouts for the following:

  • Landing page

  • Creation page

  • Details page

  • Search and select dialog box

Working with these page layouts is exactly the same as working with the page layouts for standard objects.

In the following sections, you will learn how to:

  • Create application pages for custom objects

  • Select a display icon for application pages

  • View custom object application pages at runtime

Create Application Pages for Custom Objects

  1. Make sure you're working in an active sandbox.

  2. In Application Composer's object tree, expand the object that you want to create page layouts for.

  3. Click the Pages node.

  4. On the Application Pages tab, click the Create Default Pages button.

Select the Display Icon for Application Pages

Application Composer creates custom objects with a default icon, but you can change it. Your end users can view this icon in many locations, including the springboard strip of application pages.

To select the icon:

  1. Click the object's node in the object tree to view its Overview page.

  2. In the Display Icon region of the Overview page, select an icon.

See Define Objects for more information.

View Custom Object Application Pages at Runtime

After configuring the application pages for your custom object, test the runtime pages by clicking the Home icon. Depending on which application you created your custom object in, you might have to wait a few minutes for the new display icon to appear on the Home page.

Tip: Use the Favorites and Recent Items menu to switch between runtime pages and Application Composer design time pages.

Search and Select Dialog Boxes

About Search and Select Dialog Boxes

A search and select dialog box is a quick way for your end users to look for records at runtime. For example, your users may need to assign solutions to service requests, but what if your company's knowledge base has over 1,000 solutions? Scrolling through 1,000 records to find the right solution is impossible. Instead, users can leverage a search and select dialog box to enter search criteria (for example, all solutions relating to a particular product) to easily find what they're looking for. And, if your users don't find what they need in the search results table, then they can also create a new record by clicking the Create button.

You can configure search and select dialog boxes for both custom objects, and most standard objects.

A search and select dialog box includes two regions that you can configure:

  • A search region where your users can enter search criteria

  • A search results table where your users can review the search results and select a record

    Note: You can add dynamic choice list fields to the search results table, but for optimal performance, users can't sort on those columns at runtime.

Your users can launch search and select dialog boxes from two areas:

  • From a dynamic choice list field, commonly referred to as a list of values.

  • From a subtab.

Configure a Search and Select Dialog Box for Custom Objects

Application Composer automatically creates a search and select dialog box when you create a set of application pages for a custom object. You can then configure and reuse that dialog box wherever you want to associate the custom object with another object.

To configure a search and select dialog box for a custom object:

  1. In Application Composer, navigate to the Application Pages tab for a custom object.

  2. Click Create Default Pages if you haven't yet created the set of application pages for a custom object.

    See Create Application Pages for Custom Objects.

  3. On the Application Pages tab for the object, go to Reusable Region and edit the Default custom layout. You can also duplicate an existing custom layout.

  4. On the Edit Search and Select Dialog Box Layout page, configure both the search and table regions of the search and select dialog box.

    For example, select which fields to show and hide. You can also rearrange the fields in the search region by moving the fields up and down inside the Selected Fields pane.

    Note: If possible, avoid adding a parent/child pair of dependent fixed choice list fields to the search region, because the two fixed choice list fields operate independently at runtime.
  5. For each field that appears in the search region, you can set these additional search options:

    • Set a default search operator, such as Equals or Contains.

    • Indicate if a search field is required.

    • Select the At Least One Is Required check box for two or more search fields to indicate that at least one of those fields is required.

After you configure the look of the search and select dialog box, you can optionally set default values that appear in the search region to users at runtime. You set default values in the creation page layout or details page layout of the object where the dialog box appears. See Prepopulate a Search and Select Dialog Box with Default Values for detailed instructions.

Examples of How You Can Use Custom Object Search and Select Dialog Boxes

Use a search and select dialog box that you configured for a custom object to let your users associate the custom object with any other object. Here are some examples.

Example 1

Maybe your users want to assign a solution to a service request. In which case, they will assign a solution to a service request using a dynamic choice list field.

  1. Create a custom object for the Solution object.

    1. Create the set of default application pages for the object.

    2. Configure a search and select dialog box for the Solution object.

  2. Create a custom object for the Service Request object.

    1. Create a dynamic choice list field, Solution, that's populated with records from the Solution object.

      This field will automatically use the search and select dialog box that you configured in step 1.a.

      When you create the dynamic choice list field, Application Composer creates a one-to-many relationship between the Solution and Service Request objects. In other words, one solution can be associated with many service requests, but a service request can have only one solution.

    2. Add the new Solution field to the Create Service Request and Edit Service Request pages.

At runtime, your users will use the Solution's search and select dialog box, available from the Solution dynamic choice list field, to search for and select a solution to assign to a service request record.

Tip: Optionally, if you want users to view all service requests associated with a solution, you could add a Service Requests related object subtab to the Edit Solution page. However, to do this, you must create a search and select dialog box for the Service Request object.

Example 2

In this next example, you assign solution records to the company employee who authored the solutions. To do this, you would use the same search and select dialog box that you configured for the Solution object on a subtab.

  1. Create a one-to-many relationship between the Resource and Solution objects, using the Relationships page, available under the Common Setup pane in Application Composer.

    In this case, one resource can author multiple solutions, but a solution can have only one author.

  2. On the Edit Resource page, create a related object subtab called Solutions that's populated with records from the Solution object.

At runtime, your users can search for and select one or more solutions to assign to a resource. They can also create a new solution record to assign to the resource, right from the search and select: Solutions dialog box.

Configure a Search and Select Dialog Box for Standard Objects

You can configure the search and select dialog boxes that are automatically provided for most standard objects.

Standard objects that have extensible search and select dialog boxes include:

  • Account

  • Contact

  • Household

  • Asset

  • Resource

  • Partner

  • Service request

  • Product

  • Product Group

Note: Changes made using Page Composer in previous releases to configure the non-extensible search and select dialog boxes for the above objects aren't migrated to these extensible search and select dialog boxes. Repeat the same configuration using Application Composer to replicate the same look and feel in the extensible search and select dialog boxes.

To configure a search and select dialog box for a standard object:

  1. In Application Composer, select a standard object.

  2. Expand the object's tree structure and click the Pages node.

  3. On the Application Pages tab, go to the Reusable Regions region, and edit the Default custom layout.

    If the default custom layout doesn't yet exist, then duplicate the standard layout. You can also duplicate any existing custom layout.

    Tip: You can configure multiple custom layouts for a search and select dialog box of a standard object. For example, you can display one version of the Contact search and select dialog box on the Edit Account page and a different version of the same Contact search and select dialog box on the Edit Opportunity page.
  4. On the Edit Search and Select Dialog Box Layout page, configure both the search and table regions of the search and select dialog box.

    For example, select which fields to show and hide. You can also rearrange the fields in the search region by moving the fields up and down inside the Selected Fields pane.

    Note: Some fields that appear in the search region are grayed out. You can't remove these fields, but you can rearrange their order.

    If possible, avoid adding a parent/child pair of dependent fixed choice list fields to the search region, because the two fixed choice list fields operate independently at runtime.

  5. For each field that appears in the search region, you can set these additional search options:

    • Set a default search operator, such as Equals or Contains.

    • Indicate if a search field is required.

    • Select the At Least One Is Required check box for two or more search fields to indicate that at least one of those fields is required.

After you configure the look of the search and select dialog box, you can optionally set default values that appear in the search region to users at runtime. You set default values in the creation page layout or details page layout of the object where the dialog box appears. See Prepopulate a Search and Select Dialog Box with Default Values for detailed instructions.

Prepopulate a Search and Select Dialog Box with Default Values

Configure a search and select dialog box to display default values in the search region where users enter search criteria at runtime. You can also set default operators, such as Starts with, End with, and Equals. Prepopulating a search and select dialog box per page layout replaces the saved search capability that was available in previous releases.

To set default search values in search and select dialog boxes:

  1. In Application Composer, select the object that displays the dynamic choice list field, whose search and select dialog box you're configuring.

    For example, the Primary Contact dynamic choice list field appears on the Edit Account page. To set default values for that field's Contact search and select dialog box, go to the Account object.

  2. Expand the object's tree structure and click the Pages node.

  3. On the Application Pages tab, go to either the creation page layout or details page layout for the object, and edit the region where the dynamic choice list field appears.

  4. All dynamic choice list fields that appear in this region are displayed in a table. Find the search and select dialog box that you want to set default values for, and click the Edit icon under Default Search Value.

  5. In the Layout field, select the search and select dialog box layout that you want to set default values for.

    Tip: You can configure multiple custom layouts for a search and select dialog box for a standard object. For example, you can display one version of the Contact search and select dialog box on the Edit Account page, and a different version of the same Contact search and select dialog box on the Edit Opportunity page.
  6. For each field that appears in the search region, you can set these search options:

    • Set a default search operator, such as Equals or Contains.

    • Indicate the value type of the value that you're entering as a default:

      • Expression

      • Literal value

      • Object field

        The value of an object field comes from the source object. In our example of the Contact search and select dialog box that is launched from the Edit Account field, the object field you select here is from the Account object record.

    • Enter the default search value.

      Note: The search and select dialog box prepopulates with default values only if there are no user-entered values. The dialog box overrides any prepopulated values with the search criteria that your users enter.
    • If you don't want the default search value to be changed at runtime, click the Read Only check box.

If you would like different default search values to display for the Contact search and select dialog box on the Edit Opportunity page, then go to the Opportunity object > Pages node and follow the same procedure again.

Dynamic Page Layouts

Present the same page to multiple users differently using page layouts. Set conditions to page layouts for controlled visibility. For example, a sales executive can see privileged fields on an opportunity record, but not other sales team members. Similarly, an open opportunity may have fields that are in progress, which won't appear in a closed opportunity.

Where Can You Use Dynamic Page Layouts?

You can create page layouts for both standard and custom objects. Create page layouts for these types of application pages:

  • Landing page (list page)

  • Creation page

  • Details page (edit page)

  • Search and select dialog

Control Visibility of Page Layouts

When you create a page layout, you set one or more conditions to control when that layout is displayed.

The conditions you can attach to a layout include:

  • Type of record

    Not supported for landing page (list page) custom layouts.

  • Role

  • Advanced expression

    Not supported for landing page (list page) custom layouts.

The record type and role conditions are convenient, declarative ways of attaching conditions to a layout. Use an expression to control the display of a layout, only if the record type and role conditions don't meet your needs.

Examples of layout conditions include:

  • Type of record

    • Only display the Closed Reason field on an opportunity, when the opportunity is closed.

    • Display different page layouts depending on the product category. For example, display different fields if the product category is a physical item, or if it's a service pack.

    • Display different page layouts depending on type of activity, such as a telephone call, task, or appointment.

  • Role

    • A sales manager might see fields related to approving an opportunity, whereas the sales representative wouldn't see those fields.

    • Some opportunity fields might apply only to field sales representatives, some fields to inside sales representatives, and some fields to follow-up sales representatives.

  • Expression

    • Don't allow users to add a revenue item or a product to an opportunity, after a quote has been generated and approved, or while an opportunity is in approval.

    • Control the display of page layouts based on the user's location, language, or device.

    • Write an expression to combine multiple conditions.

Use field groups to organize your pages and make them look more readable. A field group lets you group fields into collapsible regions, each with its own header that you can modify.

Create field groups as part of either a creation page layout, or a details page layout. For detailed instructions on how to create field groups, see Add Field Groups to a Page Layout.

Which Fields Can You Group?

The fields that you can select for a field group are attributes of the top-level object that you're creating the page layout for, such as the opportunity object.

Why Use Field Groups?

Field groups organize your page layouts. Here are some reasons why you should use them:

  • Group related fields so they always appear together on a page.

    Perhaps you want a group of fields, such as Home Ownership and Purchase Date of Home, to always appear together. Group them.

  • Group secondary fields in a region that your end users can optionally expand, if they need to.

    Maybe some fields on a page are useful, but not critical for your end users. Define the field group to be collapsed by default at runtime.

  • Manage page layouts with fewer clicks.

    Once you combine fields into a field group, you can easily move that group up or down the page layout, with a single click.

    Multiple field groups always appear together at runtime within a larger field group "container". When designing a page layout, you can move a field group up or down, but only within this larger container.

    In most cases, field groups appear at runtime as regions right below the page's top summary region.

Field Group Validation

Application Composer validates the contents of field groups. You can't add the same field to different groups. This validation applies only across the field groups created for one page type (creation page or details page).

Tip: Although you can't add the same field to multiple field groups, you can easily move a field between groups. This makes it easy to manage fields within groups, if you later change your mind about field placement.

All supported objects are delivered with a standard layout for their application user interface pages, called standard layouts. Standard layouts are the pristine model layouts that you can't edit.

However, you can:

  • Duplicate standard layouts to create custom layouts, and then make your edits.

    The first custom layout for a page type is automatically named the default custom layout, but you can change the name.

  • Edit custom layouts.

  • Inactivate or deprecate custom layouts.

    You can't delete page layouts, but you can inactivate layouts by selecting an active layout on the Application Pages tab, and then clicking the Inactivate button. Filter the page layouts using the Layout Status drop-down.

    Note: The Inactivate button appears only when you select an active page layout. And, the Activate button appears only when you select an inactivated or deprecated layout.

    You can't inactivate the standard layouts that are automatically delivered for an object.

Working with page layouts for custom objects is exactly the same as working with page layouts for standard objects. The only difference is that after you create a custom object, you must manually create its set of custom layouts before you can start to work with them. Custom objects don't have a set of standard layouts.

Create a set of application page layouts for a custom object with a click of a button. Doing so lets Application Composer automatically create the following:

  • Page layouts for the object's set of user interface pages, such as the creation and details pages.

    To learn how to create a set of application pages for a custom object, see Create Application Pages for Custom Objects.

  • A Search and Select dialog, which you can configure.

    To learn how to configure the Search and Select dialog for custom objects, see Configure a Search and Select Dialog Box for Custom Objects.

Standard Layouts vs. Custom Layouts

Standard layouts are the pristine model layouts that you can't edit. Custom layouts are copies of standard layouts that you make, which you can edit.

Standard layouts exist to make your upgrades seamless. When you upgrade to a new release, Oracle upgrades only the standard layouts for each object. Your custom layouts aren't touched. This makes it easy for your users to continue working immediately after an upgrade. In the meantime, you can take your time to review the changes that happened to standard layouts as part of an upgrade, and manually incorporate those changes as and when needed.

After an upgrade, you can easily review the newly upgraded standard layouts by deactivating all existing custom layouts for a page type, such as the creation page. Then, sign in as a user to view the standard layout at runtime. Observe the changes for the creation page and, if desired, go back to Application Composer to incorporate those changes into your creation page custom layouts and reactivate them.

If an object has one or more custom layouts for some page types, but not for others, then Oracle considers the whole set of pages for that object to be modified. As part of the upgrade, Oracle:

  1. Doesn't touch the custom layouts that already exist, as usual.

  2. Creates custom layouts for those pages that don't have any custom layouts. These new custom layouts preserve what users experienced before the upgrade.

  3. Upgrades all standard layouts, as usual.

Since standard layouts are model layouts that you can't edit, this means that you can't make changes to the page using Page Composer if the standard layout displays at runtime. However, customers can still personalize the page.

Edit a custom layout to do the following:

  • Add fields, actions, links, buttons, and subtabs.

  • Hide and show, reorder, and relabel regions, including subtabs.

To edit a custom layout:

  1. In Application Composer, select the object that you want to create custom layouts for.

  2. Expand the object in the object tree, and select the Pages node.

  3. Select the Application Pages tab.

  4. Find the type of page that you want to modify, such as a creation page layout or a details page layout. Click the Duplicate Layout icon to duplicate and edit an existing layout.

  5. Design the page layout. Depending on how the page is designed, you can add fields, actions, links, and buttons.

    You can also hide and show, reorder, and relabel regions.

    If the page layout is for a details page, then you can also add and reorder subtabs, and add the Attachments field.

    This is a screen shot of the page where you can
edit a creation page layout for an object.

To create a field group:

  1. On a custom layout page, click the New icon in the Field Groups region.

  2. On the Create Field Group: Configure Field Group Details page:

    1. Enter the name of the field group.

      At runtime, the name is displayed as the name of this collapsible region.

    2. Indicate if the region is automatically expanded, or collapsed by default.

    3. You can also set the position of the field group in relation to other field groups, if other field groups already exist.

    4. Click Next.

    This is a screenshot of the Create Field Group
page.
  3. Add fields to the group.

    Tip: You can multi-select and double click fields in the Available Fields list to move them to the Selected Fields list.
    This is a screenshot of the Create Field Group
page, where you add fields to the field group.
  4. If additional custom layouts exist, then you can click Next to add this field group to other custom layouts.

    For example, in the screenshot above, you create a field group as part of a layout for a creation page. But, you could also add this field group to a Sales Manager layout, if it exists.

    Note: You can't add the same field to different field groups. But, this validation applies only across the field groups created for one page type (creation page or details page).

    If you add a field group to multiple custom layouts, then it's possible that a field in the field group could already be present on the other custom layouts. After adding a field group to other custom layouts, review those pages to ensure that such duplicates are removed.

  5. Click Save.

    Your new field group now appears in the Field Groups region.

    This is a screenshot of a page layout for a creation
page, with two field groups defined.
  6. After your field groups are defined, you can optionally hide them, or reorder them within the larger field groups "container" in the custom layout.

    This is a screenshot of the icon you click to reorder
field groups on the page.
  7. You can also move fields between groups, since a field can appear within only one field group for a particular custom layout.

    This is a screenshot of the icon you click to move
a field between field groups on the page.
  8. When you finish making changes to your custom layout, click Done.

Assign Conditions to Page Layouts

You can assign conditions to a custom layout that control when the layout is displayed. You can't assign conditions to a standard layout.

This is a snapshot of the Creation Page Layouts
region, which shows multiple page layouts in the table.
Note: The layouts you create are displayed in a table, and the order of layouts in each table is significant. At runtime, Application Composer evaluates the condition or conditions specified in each layout, starting with the first layout listed in the table. The first layout that matches all Type, Role, and Expression conditions is selected for display at runtime. The standard layout is always the last layout in the table, and it can't be deleted or inactivated.

Assign one or more of these conditions to a custom layout.

  • Type

    1. Select the custom layout you want to add conditions to.

    2. Select a record type field value, if a record type field has been created for the object. At runtime, if the value is selected, then this custom layout displays.

      The default value for this condition is ANY, so if you do not specify a Type condition for a layout, then Application Composer views this condition as satisfied when evaluating a layout for display at runtime.

    You can't assign this condition to landing page (list page) custom layouts.

  • Role

    1. Select the custom layout you want to add conditions to.

    2. Select the role; this is the audience that can view this page layout. For example, perhaps only the sales representative can see this custom layout at runtime. Custom roles, which are copies of the predefined roles that Oracle provides for all customers, are displayed by default for you to select. However, you can optionally choose to display predefined roles, as well.

      The default value for this condition is ANY, so if you do not specify a Role condition for a layout, then Application Composer views this condition as satisfied when evaluating a layout for display at runtime.

  • Advanced Expression

    1. Select the custom layout you want to add conditions to.

    2. Click the Calculator icon.

    3. Enter a Groovy expression that controls when this custom layout is displayed.

    You can't assign this condition to landing page (list page) custom layouts.

Tip: In general, it's best to keep a single custom layout, for each page type, condition-free. This way, if no conditions apply at runtime, then at least your users see a generic custom layout. Otherwise, if no conditions apply at runtime, then the standard layout displays.

Do your end users identify an opportunity by its number? In that case, instead of having them navigate to the opportunity details each time to determine the opportunity number, configure the custom details page layout to display the opportunity number in the page title itself. Thus, giving your users quick and easy access to more relevant information about the record.

You can replace the default page title of a standard or custom object's custom details page with a field's value and its label, or just the field's value. You can also reset the title to its default value.

To modify the default title of an object's custom details page:

  1. In Application Composer, expand the object and click the Pages node.

  2. On the Application Pages tab, navigate to the Details Page Layouts section, and click the custom page layout whose title you want to change.

  3. On the selected custom layout page, click the edit icon next to the Page Title field.

    The Edit Page Title dialog opens.

  4. From the Add Field drop-down list, select the field whose value you want to display in the page title.

  5. To display the field's label as well, select Show Field Label.

  6. Click OK.

    The page title changes to the selected field's value and label (if opted for) at runtime.

  7. To reset the title to the default title that was shipped with the product, click the Reset to Default Page Title icon.

Set any subtab as the default tab on a custom (company-defined) details page of standard and custom objects. This default subtab is the tab that your users first see when navigating to a record's details page from the landing page, workspace, or from another object. You can also reorder and remove any subtabs on the details page. However, you can't remove a subtab that has been configured as the default subtab for a page layout.

For example, a sales representative who's currently assigned to work on the contacts of an account on a daily basis can have the Contacts tab in focus and reordered to be the top-most tab when navigating to the account details.

Set the Default Subtab

To set a subtab as the default tab of an object's custom details page:

  1. In Application Composer, expand the object whose custom page layout you want to edit, and then click the Pages node.

  2. On the Application Pages tab, navigate to the Details Page Layouts section, and click the custom page layout whose default subtab you want to configure.

  3. On the selected custom layout page, click the edit icon next to the Default Subtab field.

    The Edit Default Subtab dialog opens.

  4. From the Default Subtab drop-down list, select a subtab.

  5. Click OK.

    The default subtab changes to the selected subtab.

  6. To reorder subtabs and to choose which subtabs you want to display on the object's details page using the Configure Subtabs dialog, click the Hide, Show, or Reorder Subtabs icon. For more information, see Create and Reorder Subtabs in Application Details Pages.

Note: The subtab that's selected as the default tab can't be removed from the list of Selected Subtabs while configuring the subtabs on the Configure Subtabs dialog. You must deselect the subtab as the default tab before removing it from the Selected Subtabs list.

Default Subtabs and Direct Page Links

Direct page links are links that point to a specific record. You can add such a link to any e-mail, report, or user interface page. Some objects support linking directly to a subtab. If you configure a default subtab, however, then note that the default subtab always takes precedence over any subtab included in a direct page link. This means that when a user clicks a direct page link, any subtab included in that link is ignored in favor of the default subtab configured for the page.

Use Field Values to Control a Page Display

Present a page differently to different users with page layouts, depending on the conditions you define. One condition that you can set for a layout is based on the type of record, which your end users indicate by selecting a value from a field at runtime. For example, an open opportunity could display certain fields that a closed opportunity won't.

Control the display of page layouts this way with a special kind of choice list field, called a record type field. A record type field is a choice list field with a list of values that you specify.

Note: You can create only one record type field per object.

Create a Record Type Field

  1. In Application Composer, navigate to the object that you want to create page layouts for.

  2. Expand the object and click the Fields node.

  3. On the Custom tab of the Fields page, click Create a custom field.

  4. Select Record Type and click OK.

  5. Enter basic field attributes, such as the field display name and whether or not the field is required and updatable.

  6. Configure the list of values to display in the choice list. You can either select a predefined lookup type, or create a new one.

  7. Configure which roles have what access to particular choice list values to restrict the list of values displayed at runtime by role.

    This screenshot illustrates how you can control
which record type field values display at runtime, to each role.

    Custom roles, which are copies of the predefined roles that Oracle provides for all customers, are displayed by default. However, you can optionally choose to display predefined roles also.

Next, add the field to the desired application page layout, where you want the field to appear. This step is described in the next section.

Create Page Layouts per Record Type

  1. In Application Composer, expand the object and select the Pages node.

  2. On the Application Pages tab, find the page layout that you want to create for a record type.

    For example, to create a page layout for an open opportunity, in the Details Page Layouts region, select the standard layout and click the Duplicate Layout icon, and then make your changes in the duplicate custom layout.

    Note: You can't add a record type condition to landing page (list page) custom layouts.

    The first custom layout that you create from a standard layout is called the default custom layout, but you can optionally change the name. Oracle recommends that you don't add conditions to the default custom layout. You can add record type conditions, and all other conditions, to subsequent custom layouts that you create.

  3. Add the record type field to the selected layout.

  4. After editing and saving the layout, select a choice list value under the Type column.

    At runtime, if an end user selects this value, then this layout appears.

    Caution: Remember that during the creation of the record type field, you can also restrict the list of values by role. If you assign a Role condition to the layout as well, then confirm that both Role conditions are complementary.

Assign a Choice List Value to Control a Page Layout Display

  1. Create a record type field for an object.

  2. Add the field to the desired application page where you want the field to appear, such as the object's creation page or details page (edit page).

  3. Assign each choice list value to a layout.

    Landing page (list page) custom layouts don't support record type conditions.

At runtime, when an end user selects a value from the field, the page display changes to match the application page layout that you associated with the field value.

Examples of Page Layouts per Record Type

Examples of page layouts that you might want to create for a record type field and its values are:

  • Only display the Closed Reason field on an opportunity, when the opportunity is closed.

  • Display different page layouts depending on the product category. For example, display different fields if the product category is a physical item, or if it's a service pack.

  • Display different page layouts depending on type of activity, such as a telephone call, task, or appointment.

Control a Page Display Based on a User's Role

Want to display the same page differently to different users depending on their roles? Then, assign a role to one or more page layouts and control which layout appears at runtime to which user. For example, you may want to show fields related to approving an opportunity to a sales manager, but not to a sales representative.

To create a page layout for a role:

  1. In Application Composer, expand the object and select the Pages node.

  2. On the Application Pages tab, find the type of page layout that you want to create for a role.

    For example, to create a page layout for the sales manager, in the Creation Page Layouts region, select the standard layout and click the Duplicate Layout icon. Then, make your changes to the duplicate custom layout.

    Note: The first custom layout that you create from a standard layout is called the default custom layout, but you can change the name. Oracle recommends that you don't add conditions to the default custom layout. You can add role conditions, and all other conditions, to the next custom layouts that you create.
  3. After editing and saving the custom layout, select a role under the Role column.

    Custom roles, which are copies of the predefined roles that Oracle provides for all customers, are displayed by default. But, you can also choose to display predefined roles.

    Ideally, your roles should be stable before you assign roles to page layouts. If you make changes to roles after you create role-specific page layouts, then you will have to come back to these page layouts and update the assigned roles.

    At runtime, the page layout appears only to a user with the specified role.

    Caution: If you assign a Type condition to the layout in addition to a Role condition, then confirm that the Role condition is complementary with any role assignments made at the record type field level.

Use Advanced Expressions to Control a Page Display

Use Application Composer's expression builder and write Groovy scripts to set conditions for page layouts. For example, an expression on a page layout can prevent users from updating a particular field based on the value of an opportunity.

Note: You can't add an expression condition to landing page (list page) custom layouts.
Tip: You can also control the display of pages using choice list values (using a record type field) and roles. The record type and role conditions are convenient, declarative ways of attaching conditions to a layout. Thus, supply an expression to control the display of a layout, only if the record type and role conditions don't meet your needs.

To write an expression for a page layout:

  1. In Application Composer, expand the object in the object tree, and select the Pages node.

  2. On the Application Pages tab, find the type of page layout that you want to create.

    For example, to write an expression that controls the display of a creation page, in the Creation Page Layouts region, select the standard layout and click the Duplicate Layout icon. Then, make changes to the duplicate custom layout.

  3. Note: The first custom layout that you create from a standard layout is called the default custom layout, but you can change the name. Oracle recommends that you don't add conditions to the default custom layout. You can add an expression, and all other conditions, to the next custom layouts that you create.
  4. After editing and saving the layout, under the Advanced Expression column, click the calculator icon to open the expression builder.

    This is a snapshot of the Creation Page Layouts
region, where you can access the expression builder to write an expression
for a page layout.
  5. Write an expression that describes the conditions required for this layout to appear at runtime.

    • If your script references one or more fields, then select those fields in the Depends On choice list, too. If those field values change at runtime, then the expression is reevaluated and the page layout is refreshed if the new condition is met.

      This is a snapshot of the expression builder, where
you can write an expression for a page layout.

      For example, let's say you write this script:

      PartyName == 'abc' || NoteTypeCode == 'GENERAL'

      Your script references two fields. Thus, you must select those fields, Author and Type, in the Depends On choice list, which appears at the top of the expression builder.

      Note that long text fields don't work like other fields. If your script references a long text field, such as Note Text, then you must use the toString() operator in your script. For example:

      If(NoteTxt?.toString() == 'abc')

      Remember to select the Note Text field in the Depends On choice list, too.

    • Your expression should return either a True or False value. At run time, Application Composer interprets a True value to mean that the condition was met.

      For example, let's say you want to display a specific page layout if the Win Probability for an opportunity is 95. In this case, your script could be:

      if (WinProb==95)
      {
      return true;
      }
      else
      {
      return false
      }

Examples of Page Layouts that Appear Based on Expressions

  • Don't allow users to add a revenue item or a product to an opportunity, after a quote has been generated and approved, or while an opportunity is in approval.

  • Control the display of page layouts based on the user's location, language, or device.

  • Write an expression to combine multiple conditions.

Configure the Summary Table on a Landing Page

Configure an object's landing page to define the summary table's column display. For example, set which columns appear by default. After you configure the landing page, you can assign a role condition to the page layout to display a different set of columns on the page, per role. For example, you may want your salespeople to see different landing page information than your partner managers.

At runtime, your end users can create their own saved searches on the landing page summary table, choosing from the set of columns that you selected.

Note: For Oracle CX Sales and B2B Service users:

If you're using Workspace instead of landing pages, note that the Workspace UI isn't extensible in Application Composer.

But, even though you can't use Application Composer to configure the Workspace UI, you can configure Workspace to search for custom objects and fields created in Application Composer. See the related Workspace configuration documentation for more information.

Configure the Summary Table

  1. In Application Composer, expand the object whose landing page you want to configure and select the Pages node.

  2. On the Application Pages tab, in the Landing Page Layouts region, edit an existing custom layout. Or, select the standard layout and click the Duplicate icon and make your changes to the new custom layout.

  3. Navigate to the summary table region and click the Edit icon. Some standard objects might refer to the summary table as the overview table.

  4. In the Configure Summary Table region, indicate which fields should display as columns in the landing page's summary table.

  5. For each field that you select, the Display in Summary Table check box is automatically selected, but you can clear it.

    Clearing the check box means that the column won't automatically display on the landing page at runtime. However, your end users can manually display that column when they create a saved search at runtime.

  6. Click Save and Close.

  7. After editing and saving the custom landing page layout, optionally select a role under the Role column to specify which users should see this landing page at runtime.

  8. If you assigned a role condition, then sign in as that role and test your changes.

    Note: You must have the appropriate job role assigned to you to see the changes.

Enable or Disable Drill Down Fields in Application Pages

This topic covers how you enable or disable drill down fields on application pages. These drill down fields enable you to edit an object from the details page of another object.

Familiarize yourself with the following concepts before you configure drill downs:

  • Object relationships

  • Dynamic choice list fields

  • Subtabs

Overview

The ability to drill down on a field is based on relationships that exist among the objects involved. These relationships could be either implicitly defined through a dynamic choice list type fields or joins, or explicitly defined by creating a relationship using Application Composer.

Note: You can create drill down fields for custom objects, and for standard objects whose task flow has been registered for extensibility. You can't drill down to a common component or custom object.

Use Application Composer to add drill down fields to the desired pages using the Application Pages tab. You can configure drill down for the following types of pages:

  • Details and summary pages (landing pages)

  • Related object subtabs

  • Context link subtabs

You can also drill down from one edit page to another in a hierarchical manner. For example, drill down from the Edit Leads page to an Edit Opportunity page, and then from the Edit Opportunity Page to the Edit Primary Contact page.

Adding Drill Down Fields to Pages

When configuring a details page, you move fields from the Available Fields box to the Selected Fields box. The fields related to the object for which you're modifying the page appear in a table on the right. In the table, the drill down is enabled by default for related fields.

Note: The table appears only if the selected fields are related.

This figure illustrates the table (on the right) where you can enable or disable drill down fields.

This figure illustrates the table where you can
enable or disable drill down fields.

You can enable or disable drill downs using the Drill Down Enabled check box in the table. The check box is selected and grayed out for standard fields of type dynamic choice lists that are delivered by default.

For work area pages, you also specify the Drill Down Column. This column lists the field values as links.

Adding Drill Down Fields to Subtabs

You can add drill down fields to the following types of subtabs:

  • Related object subtabs

    When creating a related object subtab, in the Drill Down Field list, specify the field whose values should appear as drill down links in a column on the subtab.

    This figure illustrates where you select and specify drill down column and fields.

    This figure shows the page where you select and
specify drill down column and fields.

    The Selected Fields table (on the right) displays the fields available for drill down. Specify the fields that you want to display as drill down links on the subtab.

  • Context link subtabs

    When creating a context link subtab, in the Drill Down Field list, specify the field whose values should appear as links in a column on the subtab.

    This figure shows the page where you select and specify drill down column and fields.

    This figure shows the page where you select and
specify drill down column and fields.

    You can also limit the fields you want to display on the subtab by specifying filters in the Search Criteria region.

    For more information on using filters, see the related topic, Overview of Subtabs.

Specify Drill-Down Fields for Custom Dynamic Choice List Fields

This example shows how you specify drill-down fields for custom dynamic choice list fields in application pages.

Specifying Drill-Down Fields

To specify a drill-down field for a custom dynamic choice list field:

  1. Select a sandbox to work in and make it active.

  2. Navigate to Application Composer.

  3. Expand Standard Objects and click Sales Lead.

  4. Click the Actions and Links link.

  5. Click the Application Pages tab.

  6. Edit the desired custom layout in the Details Page Layouts region.

  7. Select the Summary tab, and click the edit icon.

  8. Select a dynamic choice list item from the Available Fields column.

    This figure shows the drill down status column for the selected dynamic choice list fields.

    Drill Down Column

    You have now specified the drill-down fields.

Create and Add Custom Links to Application Pages

This worked example illustrates how to create and add custom links to application pages.

This example covers:

  1. Creating a custom link that launches the Google homepage.

  2. Adding the custom link to the Leads page.

  3. Verifying that the link appears on the UI.

Creating a Custom Link

In this step, you're creating a custom link called Test.

Note: You must have a sandbox active before you begin your tasks.
  1. Navigate to Application Composer.

  2. Expand Standard Objects, and then expand Sales Lead.

  3. Click Actions and Links.

  4. In the Sales Lead: Actions and Links page, select Actions > Create

  5. Enter or select the following:

    Field or Region Value

    Display Label field

    Enter Test.

    After you enter Test, the Name field automatically displays Test.

    Type field

    Select Link.

    After you select Link, the Source field automatically shows the URL option selected, and displays it as disabled.

    URL Definition region

    Enter "http://www.google.com" (along with double quotation marks).

  6. In the script region, enter"http://www.google.com".

  7. Click the Validate icon. A success message appears.

  8. Click Save.

    Next, you must add this new link called Test to the Leads page.

Adding the Link to the Leads Page

In this step, you add the Test link to the Leads page:

  1. Expand Standard Objects, and then expand Sales Lead.

  2. Click Pages under Sales Lead.

  3. Select the Application Pages tab.

  4. In the Details Page Layouts region, duplicate the standard layout to create a new layout to edit, or edit another existing layout.

  5. In the Edit Application Details Page, select the vertical tab to which you want to add the custom link. In this example, select the Summary tab.

    This figure shows the Summary tab and the Edit icon.

    Edit Application Details page, Summary tab

  6. Click Edit icon in the Summary region. The Edit Lead page opens.

  7. In the Available Fields column, locate the Test - Link field and move it to the Selected Fields column.

  8. Click Save and Close.

Testing the Link

In this step, you verify the addition of the custom link.

To test whether the Test link appears on the UI:

  1. Open the Leads page.

  2. Edit a lead and note the Test link on the Edit Lead: <Name> Summary page.

    This figure shows the Test link.

    This figure shows the Test link

  3. Click the Test link. The Google homepage appears.

Subtabs

Every top-level object (such as an opportunity, account, or contact) has an edit page, also known as a details page. The details page is where users go to view record details, and make changes. An object's details page typically has multiple subtabs displayed along the left side of the page. Subtabs are useful because they display details that are related to the current record but derived from another record, or even from an external source. For example, when editing a trouble ticket record, your users might want to view the list of products that are reported on the trouble ticket. You create that subtab using Application Composer.

Where Do Subtabs Appear?

Subtabs are displayed via icons on the left side of an object's details page. Every top-level object has a details page, also known as the edit page, as part of its work area.

The details page is the page where users can view more details about an object. Depending on the security setup, users access the details page by clicking the Edit icon or by selecting the Edit menu item from the Actions menu on the summary table's toolbar. Users can also access the details page by clicking the object record name itself in the summary table.

Note that a subtab displays data in a list. Users can click any record in the list to drill down to view more details about that subtab record.

Note: When viewing a subtab on an iPad or other iOS device, advise your users to scroll to the right directly on the subtab data rows. Scrolling to the right on the subtab area outside the data rows isn't supported by iOS devices.

Let's look at the subtabs that are delivered for a standard object in Oracle CX Sales. In this example, these are the subtabs delivered for the Opportunity object.

This is a screenshot of the Edit Opportunity page,
including the available subtabs.

Here are some subtabs that are available from the Edit Opportunity page.

  • Contacts

    This subtab lists records from the Opportunity Contact object, which is a child of the Opportunity object. Your users can click this subtab to review contacts that are related to the current opportunity record.

    Tip: Child objects have a cascade delete relationship with parent objects. This means that if the parent record is deleted, then child records are also deleted.
  • Opportunity Team

    This subtab lists records from the Opportunity Team Member object, which is a child of the Opportunity object. Your users can click this subtab to review team members that are related to the current opportunity record.

  • Leads

    This subtab lists records from the Sales Lead object. This is a context link type of subtab, which displays data from any object. There is no cascade delete relationship between the Opportunity and Sales Lead objects. Your users can click this subtab to review leads that are related to the current opportunity record.

Standard Subtabs

Standard objects come with a set of standard subtabs. You can configure some regions of standard subtabs using Application Composer.

To configure standard subtabs:

  1. Navigate to Application Composer.

  2. Under the Objects navigation tree, expand Standard Objects, then expand any standard object.

  3. Click the Pages node.

  4. Click the Application Pages tab.

  5. In the Details Page Layouts region, select the standard layout and click the Duplicate Layout icon to duplicate it. Click the Edit icon.

  6. On the Edit Application Details Page, scroll down through the Subtabs Region and click a subtab to configure it.

    Note that some subtabs aren't configurable.

  7. Make your subtab changes by clicking the pencil icon.

    For example, you can hide and show fields. You can also apply a default search filter. See the "Adding Default Search Criteria to Subtabs" section later in this topic.

Custom Subtabs

You can add custom subtabs to both standard and custom objects. You do this by adding subtabs to a details page layout, and specifying the source of subtab data.

Let's say you want to add a new subtab to the Edit Opportunity page. In this example, let's show the customer's address. (For the sake of this example, let's assume that you previously created a custom field, Customer Address (CustomerAddress_c), on the Opportunity object to capture this information.)

Use this procedure to add a new subtab to the Edit Opportunity page.

  1. Navigate to Application Composer.

  2. Under the Objects navigation tree, expand Standard Objects, then expand the Opportunity object.

  3. Click the Pages node.

  4. Click the Application Pages tab.

  5. In the Details Page Layouts region, select a layout. You can select the standard layout and click the Duplicate Layout icon to duplicate it, or select another layout. Click the Edit icon.

  6. On the Edit Application Details Page, scroll down through the Subtabs Region and, at the end of the subtabs, click the Add icon.

    This is a screenshot of the region on the Edit
Application Details Page where you can add a subtab.

    You can add one of five types of subtabs:

    • Related object subtab

    • Child object subtab

    • Context link subtab

    • Common component subtab

    • Mashup content subtab

    • Intelligent Advisor interview subtab

    These subtab types are described in "Subtab Types."

  7. Once you have added a custom subtab, you can then configure it.

    For example, you can hide and show fields. You can also apply a default search filter. See the "Adding Default Search Criteria to Subtabs" section later in this topic.

Adding Default Search Criteria to Subtabs

Optionally add a default search filter to a subtab to help your users work more efficiently. This means that when a user opens a subtab, the records displayed are automatically filtered according to the default search filter that you configure here. Users can change the default search value, but they can't change the default search field. They can, however, further refine their search by adding additional search fields and values at runtime.

You can add a default search filter to custom subtabs, as well as to standard, extensible subtabs for select objects (such as Lead and Opportunity). Note that some standard subtabs aren't extensible, and so you can't add a default search filter to those subtabs (such as the Activities, Notes, and Social subtabs). Also, setting a default search filter isn't enabled for the Account object's Service Requests subtab.

Adding a default search filter to a subtab is optional. Skipping this step doesn't hide the subtab's search region from users (you actually can't hide this region). It just means that no search fields are automatically added to the subtab. Users can still see the search region and add fields to perform their desired search.

  1. Click to edit the subtab's list region and navigate to the Configure Summary Table: Search Region section.

  2. Select the default search filter field, operator, and value to apply to the subtab.

    You can select from a list of both standard and custom fields. Note that you can't pick dynamic choice list fields, set ID-based fixed choice list fields, and any fields that aren't searchable.

    For an example, see Configure Default Search on Standard Subtabs for Leads in the Related Topics.

Note: When configuring the search filter on standard subtabs, the search filter applies to all existing details page layouts with this subtab. Let's say you apply a search filter to the Lead subtab on an Opportunity details page layout. This means that the same search filter is applied to the Lead subtab on an Account details page layout.

Hiding Subtabs

Let's say you want to hide the Appointments subtab on the Edit Opportunity page.

Use this procedure to hide subtabs.

  1. Return to the Edit Application Details Page for the Opportunity object.

  2. Click the Configure Subtabs icon (green arrows).

  3. In the Configure Subtabs dialog, in the Selected Subtabs list, double-click the Appointments subtab.

    This is a screenshot of the Configure Subtabs dialog,
where you can hide and show subtabs.
  4. Click OK.

  5. Click Done.

  6. When you navigate to the Edit Opportunity page at runtime, the Appointments subtab is no longer available.

Subtabs display details that are related to the current record but derived from another object entirely, or even from an external source. Subtabs display on a top-level object's details page. The details pages for standard objects are delivered with a set number of subtabs, but you can add more if required. You can add subtabs to the details pages for custom objects. Using Application Composer, you can create the following types of subtabs.

  • Related object subtab

  • Child object subtab

  • Context link subtab

  • Common component subtab

  • Mashup content subtab

  • Intelligent Advisor interview subtab

Related Object Subtabs

A related object subtab lists records from one object that's related to another object.

What does it mean when an object is related to another? A relationship is a foreign key association between two objects. Using Application Composer, you can create a one-to-many or many-to-many relationship between two objects. This is helpful because if a relationship exists, then you can expose the "many" object records on a subtab that's displayed on the "one" object's details page. This is useful for your users.

For example, your users might want to associate an account with a list of service requests that have been logged for that account. To enable this, you must first create a one-to-many relationship between the account and service request objects. (An account can have multiple service requests associated to it, and a given service request can have one and only one account associated with it.) Then, you can add the Service Requests subtab to the Account details page. At runtime, when your users review a particular account record, they can see all the service requests that have been logged for that account. And, depending on how you configure the subtab, they can also create new service requests, add existing service requests, or remove service requests from the subtab.

To add a related object subtab to an existing details page:

  1. From any custom details page layout, click the Add icon, which displays under the existing subtabs while editing the layout.

  2. Select Related object, then Next.

    This is a screen shot of the Create Subtab page,
where you configure a new subtab for a related object
  3. On the Create Subtab page:

    1. Select the related object that's to be exposed on the subtab, and enter the subtab display label.

      The list of related objects includes those objects that:

      • Are already related to the current object, with any type of one-to-many or many-to-many relationship, either custom or standard.

        For example, if you previously created a one-to-many reference relationship, then you will see the "many" object in the data object list when creating the subtab for the "one" object's details page.

      • Don't yet have a subtab.

      After the subtab is created, you won't be able to create a second subtab for that same "many" object again.

    2. Specify the drill down column. The drill down column is the field that you want your end users to click to drill down to more details about the related object record.

      If you're creating a subtab for a custom object, then the Drill Down Column field might not appear if you haven't yet created the custom object's application UI pages. To display the Drill Down Column field, you must first create the application UI pages for the custom object, sign out, and then sign back in.

    3. Specify a display icon for the subtab.

    4. Select which fields you want to display on the subtab summary table at runtime.

      When selecting the fields for display on a related object subtab, join fields are not available for selection if the relationship is a many-to-many relationship.

    5. Configure the default search setting that applies to this subtab. This setting applies to all existing details page layouts with this subtab.

    6. Configure the default sorting field and its order, either Ascending or Descending.

    7. Optionally hide the Create, Add, and Remove buttons that appear on the subtab at runtime.

      In a related object subtab, your users can use these buttons at runtime to:

      • Create a related object record and associate it to the current record at the same time.

        Note: This button is available only for subtabs in application pages.
      • Add an existing related object record to the current record.

      • Remove a related object record from the subtab. This removes the association between the related object record and the current record.

    8. (Application UI only) If more than one details page layout exists, then click Next to optionally select other details page layouts that will display this subtab.

    9. Click Save and Close.

Add a Related Object Subtab to A Details Page

This example illustrates how you add a related object subtab to a application details page.

This example covers the following:

  1. Creating a related object subtab.

  2. Verifying the addition of the subtab.

1. Create a Subtab

In this step, you create a related object subtab using the Sales Lead object to display fields from the Opportunity object.

For more information about creating subtabs, see Overview of Subtabs.

To create a subtab:

  1. Navigate to Application Composer.

  2. Under the Standard Objects tree, expand the Sales Lead object.

  3. Click the Pages node.

  4. Select the Application Pages tab.

  5. Under the Details Page Layouts region, select the page layout that you want to edit. In this example, select the standard layout and click the Duplicate Layout icon to make a copy of it to edit.

  6. On the Edit Layout page, select the plus icon in the subtabs region.

  7. On the Create Subtab page, select the Related object option.

  8. Click Next.

  9. Specify the values for the fields as follows:

    Field Label Select or Enter Description

    Data Object

    Opportunity

    The object that this subtab is based on. This subtab will display a list of opportunities that are related to a sales lead.

    Display Label

    Opportunity Name

    Name of the subtab.

    Drill Down Column

    Opportunity Name

    Your users will click this column to drill down to view more details about an opportunity record.

    Display Icon

    As applicable

    This icon appears on the application page as the subtab icon.

    Selected Fields

    As applicable

    The fields that you want to appear on the subtab.

  10. Save the Opportunity Name subtab.

    You have created a subtab to display opportunities on a subtab which appears on the Sales Lead details page. To view the new subtab, use the Navigator to view the Leads set of pages, and edit a sales lead record.

2. Verify the Addition of the Subtab

  1. Using the Navigator, select Leads.

  2. Click a lead to open the Edit Lead page.

    The Opportunity Name subtab appears along the left side, with all the other subtabs.

You have now verified the addition of the subtab.

Child Object Subtabs

A child object subtab lists records from a child object that are related to its parent.

A parent child relationship is a one-to-many relationship: one parent record can have many children records. When you create a child record, it's created specifically in the context of its parent. The child object's records are deleted if the parent object record is deleted. A child object doesn't have its own work area, and exists only as a subtab on the parent object's details page.

An example of a parent child relationship is the relationship between the Opportunity object, and its children, such as Opportunity Contact and Opportunity Partner. In this example, contacts and partners are created in the context of the parent opportunity record. At runtime, when your users review a particular opportunity record, they can see all the contacts and partners that have been created for that opportunity. They can edit or add new contacts and partners directly inline, in each subtab.

For custom child object subtabs that you create, your users can create or edit records inline in each child object subtab. But, you can also configure the subtab so that your users can create or edit records in a full-sized dialog window, in addition to inline editing. This is more usable if there are a large number of fields for users to fill out. This setup is described below.

To add a child object subtab to an existing details page:

  1. From any custom details page layout, click the Add icon, which displays under the existing subtabs while editing the layout.

  2. Select Child object, then Next.

  3. On the Create Subtab page:

    1. Select the child object that's to be exposed on the subtab, and enter the subtab display label.

      The list of child objects includes those objects that:

      • Are already related to the current object in a parent child relationship.

      • Don't yet have a subtab.

        After the subtab is created, you won't be able to create a second subtab for that same child object again.

    2. Specify a display icon for the subtab.

    3. In the Configure Summary Table region, select which fields to display on the subtab summary table at runtime.

    4. In the Configure Summary Table: Search Region, add a default search filter to apply to this subtab. This setting applies to all existing details page layouts with this subtab.

    5. In the Configure Summary Table: Default Sorting region, configure the default sorting field and its order, either Ascending or Descending.

    6. In the Configure Summary Table: Buttons and Actions, optionally hide the Create, Edit, and Remove actions on the subtab at runtime.

      In a child object subtab, you can hide these actions, or keep them available. If you keep these check boxes selected, then your users can:

      • Create a child object record inline.

      • Edit an existing child object record inline.

      • Delete a child object record inline.

    7. (Application UI only) If more than one details page layout exists, then click Next to optionally select other details page layouts that will display this subtab.

    8. Click Save and Close.

    9. (Application UI only) If you want your users to create or edit new records in a full-sized dialog window in addition to inline editing, then after creating the subtab, complete these additional steps. This is more usable if there are a large number of fields for users to fill out.

      1. On the details page layout where the child object subtab appears, click the subtab that you want to configure.

      2. Click the Edit pencil icon.

      3. Click the Enable Separate Create Pages and Enable Separate Edit Pages check boxes.

        Note: The drill down column appears, but you can't change it. It's usually the child object's record name. If the child object's record name is configured as an autogenerated number, then the drill down column is removable. However, don't remove it if you want to enable separate edit pages for this subtab.
      4. Click Save and Close.

      Once completed, your users can create child records in a separate full-sized dialog window. To edit existing child records, they can click the record name to drill into a full-sized edit page.

      Even after you enable this full-sized record creation and editing capability, your users can still opt to do their record creation and editing inline, if they choose to. Both options are now available to them.

      This feature is available for child object subtabs based on custom child objects.

Context Link Subtabs

A context link subtab displays a filtered list of records from any top-level object, where the filter is often based on the runtime values from the current object. The object doesn't have to be related to the current object. Context link subtabs are read only.

To add a context link subtab to an existing details page:

  1. From any custom details page layout, click the Add icon, which displays under the existing subtabs while editing the layout.

  2. Select Context link, then Next.

    This is a screenshot of the Create Subtab page,
where you configure a new context link subtab.
  3. On the Context Link subtab configuration page:

    1. Select the object that's to be exposed on the subtab, and choose the subtab display label.

    2. Specify a display icon for the subtab.

    3. Optionally constrain the list of records displayed at runtime using a set of search criteria for the selected object, whose runtime values must match the current object record's runtime values.

      Values can be literal values, or derived from the runtime values in the current object record, or from the runtime values in the current object's parent record.

      Note: If your search criteria includes a fixed choice list field, then you must specify the fixed choice list's runtime value using the lookup code, not the lookup meaning.
    4. Select which fields you want to display on the subtab's read-only summary table at runtime.

      You can configure fields for the main summary table which lists the child object records or related object records.

    5. Select which fields you want to display on the subtab's read-only detail form at runtime.

      You can configure fields for the detail form that appears under the summary table.

    6. Configure the default search setting that applies to this subtab. This setting applies to all existing details page layouts with this subtab.

    7. Configure the default sorting field and its order, either Ascending or Descending.

    8. (Application UI only) If more than one details page layout exists, then click Next to optionally select other details page layouts that will display this subtab.

    9. Click Save and Close.

Common Component Subtabs

Use the common component subtab to add either a Notes subtab or a Change History subtab.

The Notes subtab shows a list of notes related to a custom, top-level object. At runtime, users can access the Notes subtab and create a note that's tied to the current record. For example, a user can record a note on a service request record.

Tip: You can optionally modify the look of the Notes subtab from the Pages node under the Note object.

The Change History subtab shows a list of changes made to the current record. Users can see a record's change history without having to leave the record, which helps to reduce issue resolution time. You can enable this subtab for custom objects, and also for a set of standard objects.

To add a common component subtab to an existing details page:

  1. When editing any custom details page layout, scroll down to the bottom of the existing subtabs.

    Click the Add icon.

  2. Select Common component.

    Note: If the Common component option is disabled, then both the Notes and Change History subtabs already exist on this layout.
  3. Select either the Notes or Change History check box.

    Note: If a check box is disabled, then that subtab already exists on this layout.

The Notes subtab isn't secured, so anyone can immediately view it at runtime.

The Change History subtab, however, is secured. If you add the Change History subtab to a standard object, make sure your users have the right privileges to view the new subtab. For custom objects, grant your users the privilege to view this new subtab by going to the custom object's security node. See "Manage Security by Object."

Mashup Content Subtabs

A Mashup Content subtab exposes an external Web Site right on an object's details page. The mashup content is a result of the expression that you define, which builds the intended URL. For example, on the Contact details page, perhaps you want to add a map using Bing maps that shows the location of the contact. The Bing Maps API expects the URL to be formatted in a certain manner. In this example, write an expression using the fields: Contact Address, Contact City, and Contact State. Then, pass the URL to the Bing Maps API.

Prerequisites

Before you add a Mashup Content subtab:

  • You must first register the web application that you want create the mashup for. See the Creating Mashups topic.

  • You must also ensure that the registered mashup is active. See the Editing Mashups topic.

Add a Mashup Content Subtab to a Details Page

  1. From any custom details page layout, click the Add icon, which displays under the existing subtabs while editing the layout.

  2. Select Mashup content, then Next.

    The Select Mashup Content page appears.

  3. Select the mashup that you want to embed into your application.

  4. Click Insert.

    A screenshot of the Select Mashup Content page, where
you select the mashup that you want to embed into your application
page.

    The Create Subtab page appears with the configured URL definition.

    A screenshot of the Create Subtab page that displays
the details of the selected mashup.
  5. In the Display Label field, enter a name for the new subtab.

  6. A default Display Icon appears. To change it, click Change Icon.

  7. Based on the selected mashup type, do one of the following:

    • If the selected mashup is a parameter-based mashup, use the Add Parameters section to add values for each of the web application's URL parameters configured while registering it. These parameters are appended to the web application's URL as key-value pairs.

    • If the selected mashup is a groovy expression mashup, use the Edit Script section to edit the base URL and add to the URL definition of the registered web application.

  8. (Application UI only) If more than one details page layout exists, then click Next to optionally select other details page layouts that will display this subtab.

  9. Click Save and Close.

    The embedded mashup appears at the bottom of the Subtabs Region page.

    An illustration of a mashup added as a new subtab of
an application page.
    Note: Before end users can view the contents of your Mashup Content subtab at runtime, they must enable the settings in their selected browser to allow mixed content. Refer to the browser documentation for instructions on how to enable this option.

Gather highly personalized customer information by seamlessly integrating Intelligent Advisor interviews into Oracle CX Sales application pages as custom subtabs.

What's Intelligent Advisor and How Does it Work with Your Application

Intelligent Advisor is a specialized decision-making platform. It provides the benefits of a traditional technical rules platform, and implements complex policy logic that drives decision making and calculations. With a few clicks you can choose an Intelligent Advisor interview and assign it to a custom subtab. Interviews with checkpoints are automatically supported with no additional effort.

The primary key of the current parent object record is automatically seeded to the Intelligent Advisor interview to support data mapping capabilities. Data mapping enables you to pre-seed data in an Intelligent Advisor interview and to save outcomes from the interview. See the Oracle Policy Automation Documentation Library for the list of objects supporting data mappings.

Before You Begin

You must register an Intelligent Advisor Hub with your application's environment for the Intelligent Advisor interview subtab choice to appear in the list of custom subtabs.

Your application retrieves a list of available interviews from a designated Intelligent Advisor Hub. The designated Hub is assigned to your application's instance through the Intelligent Advisor Hub administration UI. You define which Intelligent Advisor Hub is assigned to your application's instance, which is a new connection type in the Intelligent Advisor Hub. The Intelligent Advisor Hub automatically configures the instance.

Caution: If this configuration changes after you create an Intelligent Advisor interview subtab, then the subtab won't work correctly.

See Create a CX Sales and B2B Service Connection in Intelligent Advisor in the Oracle CX Sales Implementing Sales guide for detailed instructions.

Add an Intelligent Advisor Interview Subtab to a Details Page

  1. In Application Composer, expand the object whose details page layout you want to edit.

  2. Click the Pages node and select a custom details page layout on the Application Pages tab.

  3. On the Edit Layout page, click the Add (plus) icon in the Subtabs region.

  4. On the Create Subtab page, select Intelligent Advisor interview, then Next.

  5. The Basic Information page appears and displays the list of deployed interviews on the registered Intelligent Advisor Hub in the Interview drop-down list. Retain the default interview or select another.

    Note: If the registered Intelligent Advisor Hub can't be contacted when the page loads, an error message appears.
  6. Optionally, change the display label and icon.

  7. (Application UI only) If more than one details page layout exists, then click Next to optionally select other details page layouts that will display this subtab.

  8. Click Save and Close.

  9. The new Intelligent Advisor interview metadata now appears on the Details Page layout. You can edit the name of the subtab or delete it using the Edit and Delete icons. You can also click the Edit icon next to the interview name to select another interview, or to change the display label and icon.

  10. When you're finished, click Done on the Edit Layout page.

The Intelligent Advisor Interview now appears as a new subtab on the object's page at runtime. You can optionally populate runtime data into the interviews, and you can also save interview outcomes back into the application.

Create and Reorder Subtabs in Application Details Pages

This example illustrates how to add and reorder subtabs that appear on the application details pages. In this example, let's look at adding and reordering subtabs for the Account object.

Creating a Subtab

Let's create a related object subtab for the Edit Account application page.

Note: Before you begin, you must be in an active sandbox session.

Also, it's assumed that you already created a custom child object for the Account object.

To create a subtab:

  1. Navigate to the Account object in Application Composer.

  2. Select the Pages node.

  3. On the Application Pages tab, under Details Page Layouts, duplicate the standard layout to create a new layout to edit, or edit another existing layout.

  4. On the Details Layout page, click the + icon at the bottom left of the page. This icon appears at the bottom of all subtabs.

  5. On the Create Subtab page, select Child object, and click Next.

  6. On the Create Subtab: Child Object page, enter details for the child object whose records you want to capture on this custom subtab.

  7. Click Save and Close.

Reordering a Subtab

Next, you can configure the custom subtab so that it appears closer to the top of other subtabs.

  1. On the Details Layout page, click the Reorder Subtabs icon which appears as two green arrows at the top of the subtabs.

  2. In the Configure Subtabs dialog, highlight your custom subtab and then use the up arrow to change the order of your subtab within the existing set of subtabs.

  3. Click OK, and then click Done.

Access Parent Data When Creating Subtab Records

When you add a subtab to any "parent" page, you can also configure the subtab to default parent data into new records. This means that when your users create a new subtab record, one or more fields can be automatically populated with data from the parent record. This capability is available when the subtab is based on either a standard or custom object, and it's available for both related object subtabs and child object subtabs. This topic describes how you set this up.

Relationships and Subtabs

Two objects can be related in either a one-to-many relationship or in a many-to-many relationship. Relationships are useful because they let you associate one object's records with the records of another object. For example, maybe your users want to track the trouble tickets that get created for an account. You enable this association between records first by creating a relationship between the objects, then by creating the subtabs.

Accessing Parent Data from Subtabs

When a user creates a new record on a subtab, you can choose to have values from the parent record automatically default into a field on the subtab. You must manually enable this capability by writing Groovy to pull data from one field into another field.

To enable this capability, use the Groovy AfterCreate trigger to access parent object data. The trigger will copy parent data to the new record created on the parent object's custom subtab. You must add this Groovy, as follows:

  • If the subtab is based on a one-to-many relationship:

    • Add Groovy to the "many" object.

  • If the subtab is based on a many-to-many relationship:

    • Add Groovy to the intersection object.

Let's look at the following examples in the next section.

Groovy Example for a One-to-Many Relationship

You have a Vehicle subtab on the Account object. When your users create a new Vehicle record on this subtab, you want to populate the new Vehicle record with the Account's city from the City field of the Account object.

To enable this, create an AfterCreate trigger on the Vehicle object with the following code:

setAttribute('AccountCity_c',Account_AccToVehicle_Src?.PrimaryAddressCity);
  • AccountCity_c is the target field on the Vehicle object that you want to populate with the value from the Account object's City field.

  • Account in Account_AccToVehicle_Src? indicates the source object from which to pull the data.

  • AccToVehicle in Account_AccToVehicle_Src? is the name of the 1:M Account to Vehicle relationship.

  • PrimaryAddressCity is the source data from the Account object that you use to populate the AccountCity_c target field on the Vehicle object.

Groovy Example for a Many-to-Many Relationship

You have a Country Club Membership subtab on the Account object. When your users create a new Country Club Membership record on this subtab, you want to populate the new Country Club Membership record with the Account's city from the City field of the Account object.

To enable this, create an AfterCreate trigger on the AccountCountryClub intersection object with the following code:

setAttribute('AccountCity_c',Account_AccToCountryClub_Src?.PrimaryAddressCity

  • AccountCity_c is the target field on the Country Club Membership object that you want to populate with the value from the Account object's City field.

  • Account in Account_AccToCountryClub_Src? indicates the source object from which to pull the data.

  • AccToCountryClub in Account_AccToCountryClub_Src? is the name of the M:M Account to Country Club Membership relationship.

  • PrimaryAddressCity is the source data from the Account object that you use to populate the AccountCity_c target field on the Country Club Membership object.

Subtabs Based on Self-Referencing Relationships

In the case of self-referencing object relationships, both 1:M and M:M, it's not possible to access parent object data when creating records in custom subtabs. For example, it's possible to have the same object (such as Trouble Ticket) as both the source as well as the target of a 1:M or M:M relationship. However, when creating new records in a subtab for such a relationship, parent record data can't be accessed.

Mashups

Overview of Mashups

A mashup is a window into an independent external application. The mashup content changes are driven by direct interactions with the application and are preserved when its parent object pages are updated. Use mashups to integrate any web application with your own application. With a mashup, your users can view and use an external web application without having to leave your application.

Note: A mashup displays a web application that presents information to end users, but can't display raw data returned from a web application endpoint.

The lifecycle of a mashup instance starts when it's launched in a new UI context, and ends when the mashup parent UI context is closed. Any changes made to the mashup as a result of interacting with it are preserved until the object UI is closed and then reopened. At runtime, you can leave a particular mashup instance by navigating to a different browser window or a different record within the application, and return to find the same mashup instance in the same state as you left it. You can have multiple mashup instances at the same time, and each will maintain its state independently.

Here's how you create a mashup:

  1. Register your web application in Application Composer.

  2. Embed the registered web application into your application page as a new subtab or as part of the Summary subtab.

Here's a screenshot showing a sample Wikipedia article mashup, embedded as a new subtab:

This is an illustration of a web application embedded
into an application page as a new subtab.

Here's a screenshot showing a sample Wikipedia article mashup, embedded into the Summary subtab:

This is an illustration of a web application embedded
into the Summary tab of an application page.

Register Your Web Application

Here are two ways you can register web applications in Application Composer:

  • Use the Parameter-based mashup to enter the complete URL of the web application.

  • Use the Groovy expression mashup to register only the domain or subdomain of the web application. You can define the path and add URL parameters later using a Groovy expression.

Note:
  • Ensure that the web application you're registering is supported in iFrame, and doesn't have custom javascript that prevents embedding.

  • Ensure that the web application you're registering doesn't have X-Frame-Options: SAMEORIGIN set in the response header. This option prevents the browser from displaying web applications that aren't hosted in the same domain as the parent page.

  • If the protocol of your application page is HTTP, then use HTTP while registering the web application. If the protocol of your application page is HTTPS, then use HTTPS while registering the web application.

Use URL Parameters to Register a Web Application

  1. In Application Composer's Common Setup menu, or on the Overview page, click Mashup Content.

  2. On the Web Applications page, click Register Web Application.

  3. On the Register Web Application page, in the Name field, enter a name for the web application.

    This name appears in the Mashup catalog while embedding.

  4. Select Parameter-based, if not already selected.

  5. In the URL Definition field, enter the URL of the web application.

    An example of a parameter-based mashup.
  6. In the URL Parameters section, click Add to specify the parameters for the web application.

    Note: Your application displays the URL parameters that you add here at the time of embedding the web application into an actual page, where you can specify the page values for each URL parameter.
  7. To delete a parameter, click the delete icon against it.

  8. Click Save and Close.

Use Groovy Expressions to Register a Web Application

  1. In Application Composer's Common Setup menu, or on the Overview page, click Mashup Content.

  2. On the Web Applications page, click Register Web Application.

  3. On the Register Web Application page, in the Name field, enter a name for the web application.

    This name appears in the Mashup catalog while embedding.

  4. Select Groovy expression.

  5. In the URL Definition field, enter the base URL of the web application.

    For example: https://en.wikipedia.org/wiki/CRM.

    Note: You can define the path and any URL parameters later, using a Groovy Editor while embedding the web application.
    An example of a Groovy Mashup.
  6. Click Save and Close.

The Web Applications page displays the newly registered web application. Here, you can edit the registered applications by changing their URL definition. You can also choose to set a web application as active or inactive. Note that while embedding applications, the mashup catalog only displays active web applications.

Optionally, you can enable your embedded application to call CRM APIs using JSON Web Tokens (JWT) by including window.postMessage() in your mashup content. See Enable Your Embedded Application to Call CRM APIs for detailed information.

Edit Registered Web Applications

You can edit a registered web application to do the following:

  • Change the web application's URL definition.

  • Activate or deactivate the web application.

Note that any changes you make to a web application will reflect across all the application pages that it's currently embedded into.

To edit a registered web application:

  1. In Application Composer's Common Setup menu, or on the Overview page, click Mashup Content.

  2. On the Web Applications page, click the name of the web application that you want to edit.

    This is a screenshot of the Web Applications page that
displays a catalog of all the registered web applications.
  3. To change the URL, edit the value in the URL Definition field.

    This screenshot is an illustration of editing a
mashup.
  4. To activate the web application, select the Active check box; to deactivate it, clear the check box.

    Note: Only active web applications can be embedded into an application page.
  5. Click Save and Close.

Embed a Registered Web Application into Your Application Page

You can choose to embed a registered web application into your own application as a new subtab or as part of the Summary subtab.

Embed a Web Application as a New Subtab

  1. Click the Create Subtab icon from the Pages Overview page or from the details page layout.

  2. Select Mashup content.

  3. On the Select Mashup Content page, select the web application that you want to embed.

  4. Click Insert.

  5. On the Create Subtab page, in the Display Label field, enter a name for the new subtab.

  6. A default Display Icon appears. You can change the icon by clicking Change Icon.

  7. Enter the URL information depending on the type of mashup:

    • For a parameter-based mashup, enter the parameter values in the Add Parameters section. These parameters are appended to the web application's URL as key-value pairs.

    • For a groovy expression mashup, edit the base URL in the Edit Script section.

  8. Click Next.

  9. On the Additional Layouts page, if more than one details page layout exists, click Next to optionally select other details page layouts that will display this subtab.

  10. Click Save and Close.

The new subtab with the web application appears as the last subtab on the Edit page.

Here's a screenshot showing a sample Wikipedia article mashup:

This is an illustration of a web application embedded
into an application page as a new subtab.

Embed a Web Application into the Summary Tab

  1. In Application Composer's object navigation tree, expand the object.

  2. Click the Pages node.

  3. On the Application Pages tab, under Details Page Layouts, duplicate the standard layout to create a new layout to edit, or edit another existing layout.

  4. Click Add and select Mashup Content.

    This screenshot illustrates how to embed a mashup
in the Summary tab of an application page.
  5. On the Select Mashup Content page, select the web application that you want to embed.

  6. Click Insert.

    This is a screenshot of the Select Mashup Content page,
where you select the mashup that you want to embed in your application
page.
  7. To allow your users to expand and collapse the embedded web application, select Enable expand and collapse.

  8. Enter the URL information depending on the type of mashup:

    • For a parameter-based mashup, enter the parameter values in the Add Parameters section. These parameters are appended to the web application's URL as key-value pairs.

    • For a groovy expression mashup, edit the base URL in the Edit Script section. For example: return /wiki/CRM", which opens the Wikipedia's CRM page on your application page.

      This is an illustration of embedding a groovy expression
mashup.
  9. Click Next.

    This is a screenshot of the Additional Layouts page
that lets you select any other layouts that you want to embed the
mashup into.
  10. On the Additional Layouts page, select any other layout that you want to embed the web application into by moving it from the Available Layouts list to the Selected Layouts list.

  11. Click Save and Close.

The embedded mashup appears at the end of the Summary subtab.

Here's a screenshot showing a sample Wikipedia article mashup.

This is an illustration of a web application embedded
into the Summary tab of an application page.

Optionally, you can enable your embedded application to call CRM APIs using JSON Web Tokens (JWT) by including window.postMessage() in your mashup content. See Enable Your Embedded Application to Call CRM APIs for detailed information.

Enable Your Embedded Application to Call CRM APIs

You can enable your embedded application to call CRM APIs using JSON Web Tokens (JWT) by including the following Javascript in your mashup content (the code of your application):

<script type="text/javascript">
function init()
{
if (typeof window.addEventListener === 'function')
{
window.addEventListener('message', receiveJWTToken, fasle);
}
else if (typeof window.attachEvent == 'function')
{
window.attachEvent('onemessage', receiveJWTToken);
}
else
{
throw new Error("Browser doesn't support addEventListener or attachEvent");
}
payload = {}
payload.origin = window.frames.origin;
payload.methos = 'requestJwtToken'
window.parent.postMessage(JSON.stringify(payload), '*');
}
function receiveJWTToken(token)
{
//consume token.data;
}
init();
</script>

The application uses window.postMessage() to first get the JWT Access Token. The script creates an event listener to listen to postMessage(), then requests a token. You can edit the error message in the init() function.

Replace the logic in the receiveJWTToken() function to process the JWT Access Token provided by Oracle in a way that it meets your embedded application's requirements.

View Mashup Content

To view the content of an embedded web application:

  1. From the home page or the navigator menu, select the application page that contains the embedded web application.

  2. On the landing page, click the name of an object.

    For example, if you have selected Opportunities, then click the name of an opportunity from the list.

Depending on where the web application is embedded, the mashup content appears either in the Summary tab or as a new subtab.

The following examples illustrate both the scenarios:

  • A sample Wikipedia article embedded into the Summary tab of an application page:

    An illustration of a web application embedded into the
Summary tab of an application page. The web application appears at
the end of the Summary tab.
  • A sample Wikipedia article embedded into an application page as a new subtab:

    An illustration of a web application embedded into an
application page as a new subtab. The web application subtab appears
as the last subtab.

Modify Work Area Lists

Create Work Area Lists for Others in the Organization

While all users can create personal lists, administrators can create lists for the whole organization or for select job roles. To create a list for others, you must create the list using the Page Composer tool in a sandbox. Your changes become effective after you publish the sandbox.

Note: If you're creating lists for a specific job role, then you must first provision yourself with that job role so you can test your work before publishing the sandbox. See the steps outlined in the related topic Assign Yourself an Additional Job Role.

Before You Start

  1. Create and enter a sandbox with Page Composer as the tool. Other tools don't enable making changes at the job role level, so creating a separate sandbox is a good idea if you're configuring lists for a specific job role.

    1. Navigate to Configuration > Sandboxes.

    2. Click Create Sandbox.

    3. In the Click Create Sandbox page, enter a name and select Page Composer as the tool.

    4. If you're making changes for a specific job role, then specify the job role for Page Composer:

      1. Click Edit in the Support Context column for Page Composer.

      2. In the Edit Sandbox Context window, select the job role.

      3. Click OK.

    5. Click Create and Enter.

      The Sandbox toolbar appears at the top of the page.

  2. Navigate to the work area you want to modify.

  3. Open Page Composer by selecting the tool from the Tools menu in the sandbox bar at the top of the page.

Create the List

With both the sandbox and the Page Composer toolbars displayed on the top of the page, follow these steps to create your list. You create a new list by editing an existing list and saving it under a new name.

  1. In the work area landing pad, click Show Advanced Search next to the List field.

  2. From the Advanced Search panel Saved Search list, select a saved search to use as the starting point for creating a new one.

    Tip: To create a list using only one field, including administrator-created fields, select a search with either Name or Close Date in the title. For opportunities and leads, select the Close Date saved search. For all other objects, select the name saved search, for example, the Account Name saved search or the Contact Name saved search.
  3. Make your changes. You can:

    • Select a different record set to change the scope of your search. For example, selecting My territory hierarchy searches all the records in your territories and their subordinate territories. The available record sets vary from object to object.

      To improve saved search performance, restrict your saved searches to smaller record sets. For example, rather than searching all the records you can see, search all the records in your territory hierarchy. Or restrict your searches to a smaller geographical area. For example, search all the accounts in one state instead of the whole country.

    • Add additional fields by clicking Add.

      Note: If you're adding an administrator-created field to your search, then the field must be indexed for best search performance.
    • Select different operators for the fields in your search. While most of the operators, which differ field by field, are self-explanatory, here are some notes on the more complex:

      • Between

        Selecting the Between operator for a date field, prompts you to enter a specific date range for the search.

      • Rolling-time operators, including Yesterday, Today, Tomorrow, Last Week, This Week, Next Week, Last Month, This Month, and Next Month

        Searching for opportunities created this month, for example, returns opportunities created in the current calendar month. The rolling-time filters use the time zone of the signed-in user for the calculation.

      • Current User

        In some fields, including the Last Updated By and Created By fields, you can create a list that displays only the records relevant to each signed-in user. For example, when you create a list of all opportunities last updated by the current user, all of your users can view the opportunities they recently updated.

      • Is Blank, Is Not Blank, and Does Not Equal

        Selecting the Is Blank operator, makes it possible to search for records missing values in a text field or a field validated by a list of values, for example. Administrators can make these operators available on fields that aren't mandatory, by setting two system profile options. The Enable Additional Search Operators for Text Fields (ZCA_ENABLE_ADDITIONAL_TEXT_OPERATORS) profile option enables the Is Blank and Is Not Blank operators in text field searches. The Enable Additional Search Operators for List of Values (ZCA_ENABLE_ADDITIONAL_LOV_OPERATORS) enables the Is Blank, Is Not Blank, and Does Not Equal operators on fields validated by list of values (both fixed choice and dynamic choice list fields).

    • Specify which attributes you want to display in the search results table by selecting Columns from the View menu.

      You can select specific columns or display all columns.

    • Reorder the filter conditions by clicking Reorder.

    • Delete any fields you added to the search.

      You can't delete the fields provided by Oracle. You can only delete fields you added.

  4. You can test your search by clicking Search.

  5. When you're satisfied with the results, click Save.

    The Create Saved Search window appears.

  6. Enter a new name for the saved search.

    You can't reuse the names of the saved searches provided by Oracle with the application.

  7. Make sure the Run Automatically option remains selected. Selecting this option runs the query each time you select the list in the UI.

  8. If you want users to see the list generated by this search when they navigate to the work area, then select the Set as Default option.

    Note: Making a search the default doesn't override any default searches individual users may have created for their own use. Each user can personalize lists provided by administrators.
  9. Click OK to return to the work area landing page.

Save Your Work and Publish the Sandbox

  1. When you're done making your changes, you must save them by clicking Close in the Page Composer toolbar.

  2. Publish the sandbox by clicking the sandbox name and selecting Publish.

Remove a List by Deleting or Hiding the Underlying Saved Search

You can remove a list from use either by hiding or deleting the underlying saved search. Saved searches are the saved search criteria that generate the list. You can't delete saved searches provided by Oracle; you can only hide them.

Before You Start

  1. Create and enter a sandbox with Page Composer as the tool. Other tools don't enable making changes at the job role level, so creating a separate sandbox is a good idea if you're configuring lists for a specific job role.

    1. Navigate to Configuration > Sandboxes.

    2. Click Create Sandbox.

    3. In the Click Create Sandbox page, enter a name and select Page Composer as the tool.

    4. If you're making changes for a specific job role, then specify the job role for Page Composer:

      1. Click Edit in the Support Context column for Page Composer.

      2. In the Edit Sandbox Context window, select the job role.

      3. Click OK.

    5. Click Create and Enter.

      The Sandbox toolbar appears at the top of the page.

  2. Navigate to the work area you want to modify.

  3. Open Page Composer by selecting the tool from the Tools menu in the sandbox bar at the top of the page.

Hide a Saved Search

Here's how to hide a saved search. This is the only way of removing a list supplied by Oracle from selection in the work area. If you want to hide a saved search that's designated as the default search, then you must first designate a different list as the default.

  1. In the work area landing pad, click Show Advanced Search next to the List field to open the Advanced Search panel.

  2. From the Saved Search list, select a saved search different from the one you want to hide.

  3. Now select Personalize.

  4. In the personalize Saved Searches window, select the saved search you want to hide.

  5. Deselect the Show in Search List option.

  6. Click OK.

    A saved search you hide remains available for future use but doesn't display in the work area. You can restore the saved search to the list in the future by selecting the Show in Search List option.

Delete a Saved Search

Here's how to delete saved searches. You can't delete those provided by Oracle.

Note: If you delete a saved search that's specified as the default, users won't see any lists displayed on the page when they navigate to the work area.
  1. In the work area landing pad, click Show Advanced Search next to the List field to open the Advanced Search panel.

  2. From the Saved Search list, select a saved search you want to delete.

  3. Now select Personalize.

    In the Personalize Saved Searches window, the Saved Searches list displays the name of the saved search you're about to delete.

  4. Click Delete.

  5. Click OK.

Save Your Work and Publish the Sandbox

  1. When you're done making your changes, you must save them by clicking Close in the Page Composer toolbar.

  2. Publish the sandbox by clicking the sandbox name and selecting Publish.

FAQs for Extending Application Pages

What's the difference in upgrade behavior between standard layouts and duplicated layouts?

After an upgrade, the standard layouts for an object's creation and details pages automatically include any new underlying changes made as part of the upgrade.

However, duplicated layouts (copied versions of standard layouts) exist independently from the original, standard layout, and in general, do not uptake most underlying changes that come with an upgrade. In other words, duplicated layouts remain functionally identical to their preupgrade versions, even after an upgrade.

Thus, after every upgrade, carefully review all your duplicated layouts. You can re-create them if you want to pick up new changes introduced in the upgrade.

How can I change what columns are displayed for users in the work area?

The columns of information displayed in work area landing pages are tied to the underlying list. If you want to change what information displays for users in the landing pages, you must edit the list. You can't edit the lists supplied by Oracle, but you can make a copy of the list, make your changes, and then hide the list supplied by Oracle.