- Title and Copyright Information
- About This Content
- Part I The Essentials
- The Basics
- What Can You Do with Oracle Visual Builder Studio?
- What Is an Extension?
- What Is a Workspace?
- What Is the Designer?
- What Are Dependencies?
- What Are Dynamic Components?
- What Are Fragments?
- How Do I Use My Sandbox in Visual Builder Studio?
- Visual Builder and Visual Builder Studio: What’s the Difference?
- What’s the Extension Lifecycle?
- Extension Best Practices
- Get Started
- What Do You Want To Do in VB Studio?
- Configure an Oracle Cloud Application
- Create an Extension
- Add a New Page to an Oracle Cloud Application
- Add an Application to the Oracle Cloud Applications Ecosystem
- Add a Resource to the Oracle Cloud Applications Ecosystem
- Create a Bespoke Application
- Use the Page Designer
- The Basics
- Part II Build an Extension
- Extension-Level Actions
- Manage Your Extension with Git
- Get Oriented with Git
- Pull Changes from the Remote Branch
- Make Your Changes Public
- File-Management Operations
- Refresh Your Workspace
- Resolve Conflicts Using the Git Panel
- Stash Your Changes
- Revert Commits
- Cherry-Pick Commits Between Branches
- Create or Switch a Branch
- Rename a Branch
- Delete a Local Branch
- Merge Remote Branches
- Push a Scratch Repository to a Remote Repository
- Using Branches with a Sandbox
- View Git History
- How Do Sandboxes Relate to Git Branches?
- Work With Services
- Manage Backends
- Manage Service Connections
- Connect to Other Services
- Work With Layouts in Your Extension
- Preview, Share, and Publish Your Extension
- Preview Your App UI
- Share Your App UI
- Customize Optimization
- Debug and Audit Your Code
- Publish Your Extension
- Enable or Disable the CI/CD Pipeline for Publishing
- Publish Your Changes Without CI/CD Pipelines
- Publish Your Changes Through CI/CD Pipelines
- Deploy to Test and Production Instances
- Create or Renew OAuth Tokens to Deploy Your Extension
- Impact of P2T on Extensions
- Deploy an Extension From Your Local System
- Specify a Different Version for the Extension
- What If Dev and Prod Instances Aren’t On the Same Release?
- Deploy Changes From the Remote Branch
- View Your Deployments
- Manage Your Published Extensions
- Roll Back a Published Extension
- Build and Package Your Extension Manually
- Work With Translations
- Part III Configure an App UI
- Customize an App UI
- Customize Dynamic Tables and Forms
- Control Your Display with Rule Sets
- Determine What’s Displayed at Runtime With a Rule Set
- Open a Rule Set From Oracle Cloud Applications
- Create a Rule in a Rule Set
- Create a Layout in a Rule Set
- Control How a Field is Rendered with Templates
- Create Templates for Form Layouts
- Create Fields For a Layout
- Add Converters and Validators to Fields
- Use Context Parameters in Extensions
- Work with Polymorphic Objects in a Layout
- Control Your Display with Business Rules
- What Are Business Rules?
- Work with Business Rules
- Display Messages in a Form
- Control Your Display with Rule Sets
- Customize Dynamic Containers
- Customize Variables and Constants
- Trigger Actions in Dynamic Components
- Work With Fragments From Dependencies
- Part IV Build an App UI or Fragment
- Develop an App UI or Fragment
- Work With Pages and Flows
- Work With Components
- Add Components to Pages
- Add a Component Using Code Completion
- Work With JET Core Pack Components
- Bind a Component to Data
- How Do Quick Starts Work?
- Add an Image to a Page
- Add an Icon to a Page
- Add a Camera Component to a Page
- Filter Data Displayed in a Component
- Use Conditions to Show or Hide Components
- Use Converters to Change Date and Time Formats and Time Zones
- Add Dynamic Components to Pages
- Add a Dynamic Table to a Page
- Add a Dynamic Form to a Page
- Determine What’s Displayed at Runtime With Rule Sets
- Use Field and Form Templates
- Use Business Rules With Your Rule Sets
- Edit a Field’s Properties
- Set a Field to be Read Only
- Set How User Assistance is Rendered in a Layout
- Set a Field to Display as a Text Area in a Form
- Set a Field as Required
- Specify How a User Input Overrides a Field Value
- Map a Field to a Global Field Template
- Use Conditions to Show or Hide Fields in a Layout
- Control How Fields With a Null Value are Displayed in Forms
- Configure How Columns Render in a Dynamic Table’s Layout
- Add Converters and Validators to a Field
- Create Fields For a Layout
- Add a Dynamic Container to a Page
- Make a Rule Set Extendable
- Add Custom Web Components to Pages
- Add Components to Pages
- Work With Variables, Types, and Constants
- Work With JavaScript Action Chains
- About Action Chains
- About the Action Chain Editor
- About the Action Chain Code
- Visually Create an Action Chain
- Built-In Actions
- Add an Array Operation Action
- Add an Assign Variable Action
- Add a Call Action Chain Action
- Add a Call Component Action
- Add a Call Function Action
- Add a Call REST Action
- Add a Call Variable Action
- Add a Code Action
- Add a Fire Data Provider Event Action
- Add a Fire Event Action
- Add a Fire Notification Action
- Add a For Each Action
- Add a Get Dirty Data Status Action
- Add a Get Location Action
- Add an If Action
- Add a Navigate Back Action
- Add a Navigate To Application Action
- Add a Navigate To Flow Action
- Add a Navigate To Page Action
- Add an Open URL Action
- Add a Reset Dirty Data Status Action
- Add a Reset Variables Action
- Add a Return Action
- Add a Run In Parallel Action
- Add a Scan Barcode Action
- Add a Share Action
- Add a String Operation Action
- Add a Switch Action
- Add a Try-Catch Action
- Custom Actions
- Start an Action Chain
- Test Action Chains
- Work With JSON Action Chains
- What is an Action Chain?
- Create an Action Chain
- Built-in Actions
- Add an Assign Variables Action
- Add a Call Action Chain Action
- Add a Call Component Action
- Add a Call Function Action
- Add a Call REST Action
- Add a Call Variable Action
- Add a Fire Data Provider Event Action
- Add a Fire Event Action
- Add a Fire Notification Action
- Add a Get Location Action
- Add a Reset Variables Action
- Add a Scan Barcode Action
- Add a Share Action
- Add a Take Photo Action
- Add a For Each Action
- Add an If Action
- Add a Return Action
- Add a Run In Parallel Action
- Add a Switch Action
- Add a Navigate Action
- Add a Navigate Back Action
- Add an Open URL Action
- Custom Actions
- Test Action Chains
- Start an Action Chain
- Work With Events and Event Listeners
- Define Events in Your App UI
- Create Event Listeners for Events
- Choose How Custom Events Call Event Listeners
- Enable Asynchronous Handling for Component Events
- Raise Fragment or Layout Events that Emit to the Parent Container
- Use Events Defined in the Unified App
- Make an Event Available to Extensions
- Work With Resource Files
- Work With Code
- Work With JavaScript
- Work With JSON
- Trigger Code Insight
- Manage Code Editor Settings
- Files in Source View
- Work With the Diagram View
- Work With Fragments
- Create and Add a Fragment to a Page
- Define Actions and Events in Fragments
- Manage Fragment Settings
- Reuse a Fragment
- Pass Data Between a Fragment and Its Parent Container
- Enable Fragment Variables as Input Parameters
- Enable Page Variables to Provide Initial Values for a Fragment’s Input Parameters
- Bind Fragment Input Parameters to Page Constants
- Automatically Write Back a Fragment Variable’s Value to Its Container Variable
- Automatically Create and Wire a Fragment Variable on Its Container
- Sample Scenario: Create a Fragment and Pass Values
- Create Custom Events that Emit to a Fragment’s Parent Container
- Automatically Wire a Fragment’s Custom Event to the Parent Container
- Set the Binding Type for Variables in Dynamic Components
- Resolve Expressions in Page Properties Based on Fragment Data
- Pass a Fragment’s Context to VDOM or Custom Web Components
- Defer Rendering of a Fragment’s Content
- Make a Fragment Available to Other Extensions
- Add Slots to a Fragment
- Customize How Fragment Properties Display in the Properties Pane
- Common Use Cases
- Part V Troubleshooting
- Troubleshooting and FAQs
- Resolve the “Page cannot be previewed” Message
- Resolve the "Loading Completed with Errors" Message
- Resolve the Empty Page State in the Designer
- Fix Table Columns Showing As Text
- How Do I Clear My Extension’s Resource Cache?
- How Do I Recover My Extension After Deleting the Project?
- Can I Change My Extension’s Extension ID After Deployment?
- Troubleshooting and FAQs