Drag relation object tables for service request pages
Implementors can use this fragment to configure tables for service request-related objects, including standard and custom objects. It supports create, edit, and delete actions and follows the same Redwood-aligned UI patterns used by Jumpstart-generated pages.
Configure Related Object Tables on Service Request Pages
Use the cx-svc-custom-relation-objects-list fragment to add
related-object tables to Service Request detail pages. You can drag the fragment
onto a Service Request details page, connect it to the related object, and configure
the table, create form, and edit form layouts in Visual Builder Studio.
When to Use This Fragment
Use this fragment when you want agents to view and manage records related to a service request without leaving the SR page.
Common examples include:
| Use Case | Description |
|---|---|
| Order tracking on SR pages | Show related orders on the Service Request page so agents can create, view, edit, or delete linked orders inline. |
| Case-to-contact relationships | Display related contacts on a Case page with drill-down navigation and row-level actions. |
| Custom object extensions | Add related custom objects such as warranties, entitlements, or escalation details to SR or customer work order pages. |
Before You Start
Make sure you have access to Visual Builder Studio and the target application extension. In Visual Builder Studio, layouts define how dynamic tables and forms are rendered, including their data source, fields, behavior, and templates.
For custom objects, first confirm that the object model is available through Application Composer. Then use Visual Builder Studio to expose and configure the UI extension.Configure the Related Object Table
First, we'll identify the related object metadata in Application Composer.
- In Application Composer, note the following values for the object you want to
show in the related table:
Value Description APINameThe object API name. NameThe object display name or object name used by the application. SourceIdThe source identifier used to relate records to the parent object. RelationFieldAPINameThe field that defines the relationship to the parent object.
Create a service connection for the custom objects
For custom objects, create a service connection in Visual Builder Studio. Name the
connection cx-service-custom to use the fragment defaults. A layout
requires access to a service, either through a service connection in the extension
or through a connection provided by a dependency.
| Layout ID | Purpose |
|---|---|
tableLayout |
Defines the table columns and table behavior. |
createLayout |
Defines the fields and behavior used when creating a related record. |
detailLayout |
Defines the fields and behavior used when editing or viewing details for a related record. |
Use the default layout IDs when possible. If you use tableLayout,
createLayout, and detailLayout, you don’t need
to pass custom layout IDs as fragment parameters. Add the required templates.
Add the required templates
Add these templates to enable row actions and navigation:
| Template | Purpose |
|---|---|
recordDrillDownLinkTemplate |
Enables drill-down navigation from a table row. |
actionTemplate |
Enables row-level actions such as edit and delete. |
Create an optional custom App UI
For custom objects, you can optionally create a custom App UI named
cx-service-custom. Add create, edit, and list pages for the
object if you want a fuller navigation experience outside the embedded related
table.
Add the fragment to the target page
In Visual Builder Studio, open the target page, such as the Service Request Details page.
Drag thecx-svc-custom-relation-objects-list fragment
onto the page and configure its parameters for the related object. Set the extension ID
Use the correct extensionId value:
| Object Type | Extension ID |
|---|---|
| Standard objects such as Service Request, Case, or Contact. | oracle_cx_serviceUI |
| Custom objects | Your project's extension ID. |
Enable same-tab navigation for SR details pages
On the Service Request pages, set the enableObjectsToOpenInSameTab
to True.
This keeps navigation aligned with the expected Redwood User experience pattern.
Required Create Layout Field
Include the RecordName field in the createLayout.
This field is required. If it's missing, record creation can fail.
Tips and Considerations
| Area | Consideration |
|---|---|
| Layout names | Use tableLayout,
createLayout, and
detailLayout to rely on default fragment
behavior. |
| Standard objects | Use oracle_cx_serviceUI as the
extensionId. |
| Custom objects | Use your project Extension ID and create the
cx-service-custom service connection when
needed. |
| Navigation | Set enableObjectsToOpenInSameTab =
true on SR Details pages. |
| Create forms | Always include RecordName in the create
layout. |
| Multiple tables | Use unique HTML template IDs for each table’s templates. |
After configuration, agents can work with related standard or custom object records directly from the Service Request page. Depending on the configured layouts and templates, they can view related records in a table, drill into details, create records, edit existing records, and delete records while staying within the Redwood Service Request experience.