New Features in Oracle Visual Builder

Here’s an overview of new features and enhancements added recently to improve your Oracle Visual Builder experience.

Topics:

As soon as new and changed features become available, Oracle Visual Builder instances are upgraded in the data centers where Oracle Cloud services are hosted. You don’t need to request an upgrade to be able to use the new features—they come to you automatically.

Note:

Classic applications created in earlier versions of Visual Builder use a structure that isn't compatible with the visual application structure now used in Visual Builder. No further feature development work is planned for Classic applications, and only critical bug fixes will be addressed. Oracle recommends that you update your Classic applications to use the visual applications approach, which provides a much more robust functionality for creating sophisticated apps.

For the moment, you can use your Visual Builder instance to manage Classic applications, but this option will be disabled by default in new instances starting soon. You can use your existing instance to export Classic applications and then import them as visual applications to migrate the business objects, but be aware that there are no migration capabilities for the web or mobile UIs. See About Classic Applications.

Release 22.07 - May 2022

Some new Visual Builder features can’t be used until you’ve upgraded your Visual Builder Runtime to 22.07. See Features Requiring Visual Builder Runtime 22.07 for more information.

Change Description
Custom actions In addition to Visual Builder's palette of built-in actions, you can now define and implement your own actions. A custom action is implemented with JavaScript and uses metadata to define input and output parameters. Once defined, you use your custom action in action chains just the way you'd use a built-in action. See Custom Actions.
New Flow Diagram view When working with flows in the Diagram view, a new Flow Diagram now displays navigational relationships between pages in the flow. The Flow Diagram, different from the standard Diagram view, provides a more intuitive and interactive view that allows you to focus on navigation between pages in the flow. See View a Flow's Navigation in Diagram View.

You can also use this view to create pages and actions chains when you want to build workflows from scratch, just by dragging pages and actions from the Components palette and dropping them into the diagram. A subset of built-in actions (as well as custom actions) are available in the Components palette for you to use in your workflow. See Add Pages and Action Chains to a Flow in Diagram View.

Fragments
  • Existing fragments in Components palette

    When adding an existing fragment to a page, you can now drag and drop the fragment directly from the Components palette onto the canvas, where previously you had to drop a fragment container before selecting the fragment. This way, a fragment container configured with the selected fragment is automatically created for you. As a part of this update, we've also changed the fragment's Structure view, so you'll see the fragment's name, rather than a generic fragment container, for easier identification. See Create and Add a Fragment to a Page.

  • Fragment metadata

    To provide a richer experience when using fragments, we've introduced metadata settings that enable a developer to better describe their fragments. As a fragment developer, you use this metadata:
    • To surface a fragment in the right context and filter it out where it isn't suitable (for example, to tag a fragment as formTemplate and make it available only to users working with dynamic form templates). See Used For in Manage Fragment Settings.
    • To associate a fragment with icons that display anywhere the fragment is surfaced (for example, when the fragment appears in the Components palette in the Page Designer or the Layout editor). See Icon in Manage Fragment Settings.
    • To control how fragment parameters are to be used inside a fragment by providing the information that Visual Builder requires to suitably generate metadata and expressions when the fragment is used in a component. This information can be specified in the Binding Type property that appears anytime a variable or constant parameter in a fragment is marked as enabled or required. See details about Binding Type in Pass Data Between a Page and Its Fragment.
Components palette enhancements
  • Show Categories and Show Alphabetically options

    We've added two new options to give you more control over how components display in the Components palette. If you want to view a flat list of all components, you can choose to deselect the Show Categories option, enabled by default to show components in categories. If you keep the default, you can choose to view components in alphabetical order or a predefined order (as before). See The Components Palette.

  • New category for existing fragments

    A new Fragments category in the Components palette now displays all existing fragments. To control which fragments show in the palette, you can change a fragment's Used For metadata in the Settings editor. By default, all fragments use the pageContent tag and show in the Components palette. See Manage Fragment Settings.

Structure view enhancements
  • Shading to highlight visible components in Structure view

    Sometimes, the Structure view might be overwhelmed with information, including components that are not visible on the page at the moment. We've now added shading to the Structure view to indicate which components on the page are currently visible; those not visible fade into the background to provide better context about what part of the page the Structure view represents.

    To further trim background information, you can select a new Show Visible Components Only option. This way, your view only displays nodes of components visible on the page.

  • Show Empty slots is now Show Slots

    The Show Slots option (previously Show Empty Slots) now displays the location of empty as well as occupied slots. You can also right-click a slot and use a new Insert Component option to drop a component directly into a slot.

See The Structure View.

Changed requirements for Apache Cordovo custom plug-in As part of maintenance for the deprecated but still supported Cordova custom plug-in, we've updated the minimum version of Cordova and iOS required to build hybrid mobile apps. For details, refer to the readme.md file bundled with the Cordova Project Source file in the Custom Plugins tab of your mobile application’s Settings editor. See Add a Custom Plugin to Your Mobile Application.
Dynamic form enhancements You can now configure form field properties so that fields are displayed as multi-line text areas instead of the default single-line text field. You can set the number of rows of text area to display, and the max number of rows to which a text area can grow. See Set a Field to Display as a Text Area in a Form .
Business object enhancements
  • App profiles to switch schemas for business objects based on existing DB tables and views

    When you use your own database schema, you can now associate application profiles with different phases of your application, to switch the schema that your app connects to during its lifecycle. For example, you might use a particular schema during the development phase, but switch to another one for testing or production. See Switch Schemas Used During an App's Lifecycle.

  • Schema validation for business objects based on existing DB tables and views

    For business objects based on existing DB tables and views, we've added validation to make sure a field's metadata is compatible with the corresponding table/view column. If there's a discrepancy, you'll see validation messages around the UI component as well as in audits. See Create a Business Object Based on a DB Table or View.

  • New performance metrics when tracing GET requests

    When you enable tracing for a business object's REST requests, you now have an indicator of the maximum response size for GET requests, a theoretical value that can help you determine whether you need to take steps to reduce the response size. See Enable Tracing to Monitor Endpoint Calls.

Enhancements for services and backends
  • Declarative support for Transforms

    Transforms can now be defined directly at the backend and server levels, allowing all endpoints coming from that server or backend to inherit that transform function. You can also override the transform at the endpoint level. With this update, Transforms has also moved from its own tab to an area in the Overview tab for backends, service connections, and some endpoints. See Add Transforms.

  • Form-Data and Binary payload support for Service endpoint testing

    You can do much more with the Endpoints Test tab under Services. POST, PATCH, and PUT REST APIs with application/octet-stream and multipart/form-data formats can be tested from the Service Connection Test tab. In addition, you can download binary data or save textual data in the response body. If the response body doesn't contain text, a message indicates that it contains binary data. See Test Service Connection Responses.

Features Requiring Visual Builder Runtime 22.07

This release of Visual Builder uses Oracle JET 12.0.x libraries and components. We recommend that you upgrade your Visual Builder applications to this latest JET version, as well as to the 22.07 Visual Builder Runtime, to take advantage of the full spectrum of 22.07 features.

Among JET 12's many new features is the ability to show dynamic status indicators to your tab bar headers with new icons, badges, and metadata. There's also a new oj-message-banner component that you can use to render brief, semi-permanent messages that communicate information in the context of the current page or actions in progress, without blocking interaction on that page. To see what's new in JET 12.0.x, go to the JET Release Notes and select v12.0.0.

Here are the features that requires the 22.07 Visual Builder Runtime:
Feature Description
Custom actions In addition to Visual Builder's palette of built-in actions, you can now define and implement your own actions. Custom actions can be defined at a web or mobile app-level and you use them in action chains just the way you'd use built-in actions. See Custom Actions.
Fragments
  • Existing fragments in Components palette

    When adding an existing fragment to a page, you can now drag and drop the fragment directly from the Components palette onto the canvas, where previously you had to drop a fragment container before selecting the fragment. This way, a fragment container configured with the selected fragment is automatically created for you. As a part of this update, we've also changed the fragment's Structure view, so you'll see the fragment's name, rather than a generic fragment container, for easier identification. See Create and Add a Fragment to a Page.

  • Fragment metadata

    To provide a richer experience when using fragments, we've introduced metadata settings that enable a developer to better describe their fragments. As a fragment developer, you use this metadata:
    • To surface a fragment in the right context and filter it out where it isn't suitable (for example, to tag a fragment as formTemplate and make it available only to users working with dynamic form templates). See Used For in Manage Fragment Settings.
    • To associate a fragment with icons that display anywhere the fragment is surfaced (for example, when the fragment appears in the Components palette in the Page Designer or the Layout editor). See Icon in Manage Fragment Settings.
    • To control how fragment parameters are to be used inside a fragment by providing the information that Visual Builder requires to suitably generate metadata and expressions when the fragment is used in a component. This information can be specified in the Binding Type property that appears anytime a variable or constant parameter in a fragment is marked as enabled or required. See details about Binding Type in Pass Data Between a Page and Its Fragment.

You can upgrade to the latest JET and Visual Builder Runtime versions from your visual application's Settings editor. See Manage Runtime Dependencies for Visual Applications.

Release 22.04.2 - April 2022

Change Description
Custom app URLs for web PWAs If you use custom URLs for your apps, those URLs can now be used to access web apps that are deployed as Progressive Web Apps (PWAs). No additional configuration is required to support custom URLs for PWAs. To set up the custom URL, see Specify a Custom App URL. To enable PWA support for web apps, see Enable Progressive Web App Support.

Release 22.04 - February 2022

Some new Visual Builder features can’t be used until you’ve upgraded your Visual Builder Runtime to 22.04. See Features Requiring Visual Builder Runtime 22.04 for more information.

If your Visual Builder instance is not on Generation 2—a reference to Visual Builder running natively on Oracle Cloud Generation 2 Infrastructure—this release gives you access to new features and enhancements in 22.04 as well as 22.01 (see Release 22.01 - January 2022). Your instance is on Generation 2 if you find Visual Builder under the Developer Service menu in your Oracle Cloud tenancy.

Change Description
Responsive web app templates New web app templates are now enhanced for responsive design. Available in three navigational styles, these templates adjust to various screen sizes and provide better support for responsive layouts and progressive web apps. See Create a New Web App.

Common elements for these web apps, such as the header, footer, and navigation items, are defined in fragments, enabling you to reuse each piece in the web app's root page as well as other pages. You can also customize these elements however you want to create your own look and feel. See Edit the App Header and Footer.

Note:

Web apps created with version 22.01/21.10 or earlier will not be affected. These apps will maintain their original look and feel even after you upgrade them to 22.04.
Fragment improvements Dynamic containers are now supported in fragments, so you can define sections of a page in containers that you want to display based on conditions. You use dynamic containers in a fragment the same way you'd use them in a page. See Create a Fragment.

You can also create input parameters for a fragment right from the Properties pane of the fragment container on the page where the fragment is used. See Pass Data Between a Page and Its Fragment for a sample scenario.

Background processing of action chain tests Action chain tests now run in the background, even when you are not actively working on your application. If you are, only tests impacted by your changes (for example, if you added a new variable or changed an existing function) are scheduled to run again. This way, your test results stay up-to-date even as you develop your application, helping you detect bugs earlier and maintain your tests more easily. See Manage All Tests in a Visual Application.
Dynamic layout enhancements
  • Dynamic components in Components palette by default

    Dynamic components, such as tables, forms, and containers, are now present by default in the Components palette. Previously, you had to install these components from your environment's Component Exchange before you could use them in your application. Now, dragging and dropping them from the Dynamic Components section of the Components palette onto the canvas automatically installs them to the application and brings up the Layouts tab in the navigator. See How to Create Layouts With Dynamic Components.

  • Option to preview a dynamic component's layout

    When you define multiple layouts, you now have the option of selecting any layout in a dynamic component's Properties pane to preview the layout as it would appear on a page, even if those conditions are not met. You no longer need to run the page and ensure the conditions are met at runtime to check how the layout renders. See Preview Different Layouts.

  • Enhancements for dynamic containers

    • We've improved how you edit sections (formerly templates) in dynamic containers. So you can now edit sections directly in the Page Designer, rather than in the Template editor. Because of this, you can see the component (including dynamic tables and forms) rendered on the page as you work with the container. See Add a Dynamic Container to a Page.
    • Also, dynamic container templates, which let you lay out sections in a dynamic container however you want rather than just vertically, now support dynamic containers as well as fragments. See Change a Dynamic Container's Layout.
  • Condition builder changes

    The condition builder in the Rulesets editor now groups fields for selection under Fields, Responsive, User, and so on, making it easier for you to select from the drop-down list. We've also changed the list of user roles that show by default for Oracle Cloud Applications, so the drop-down lists the available Job and Abstract roles, but you'll need to manually enter Duty roles in the Value field. See Add Display Logic to Determine What's Displayed at Runtime.

  • New User Assistance Density property

    The Properties pane for forms and fields in layouts contains a new property that allows you to set how a field's user assistance text (messages, help text, hints, and so on) are displayed in forms. See Set How User Assistance is Rendered in a Layout.

Properties pane improvements
  • Custom properties in Properties pane

    It's now possible to view, edit, or add custom properties for a component via its Properties pane, in the All tab. Custom properties are those not defined in component metadata, for example, data-* attributes, and can be added by clicking + next to General Attributes in the All tab.

  • Slot value in Properties pane

    You can now change the slot used by a component inside a parent component's slot via the Properties pane, in the General and All tabs. You can change the slot value to move, for example, a button's icon from the startIcon slot to the endIcon slot. This way, you can modify the slots of dropped components without accessing the HTML code.

See The Properties Pane.
JavaScript editor changes
  • ES6 syntax for JavaScript in web apps

    For new JS files in web apps, we now generate the ECMAScript 6 (ES6) syntax with class declarations. Previously, this syntax was used only for JS files in mobile apps. ES6 syntax is supported wherever you generate declarative JS or directly author JS. For example, you can use ES6 syntax to build expressions for rule set conditions or variables.

  • Code snippets for common JS structures

    We've also enhanced the JavaScript editor to offer code snippets for common JS structures, such as "for" loops and conditional statements. For example, typing in the JavaScript editor will show you options to select different "for" loop formats. Selecting one will populate the structure and allow easy navigation of the cursor to the relevant areas.

See Work with JavaScript.
Business object updates
  • Create business objects based on existing tables and views in an Oracle database

    If you use an external database like DBaaS or Autonomous Transaction Processing (ATP) with your Visual Builder instance, you can now use your own DB schema and create business objects based on existing tables and views. These business objects, in general, are the same as native business objects, but there are restrictions. See Switch to Your Own Schema for Business Objects.

  • Mark your own ID column when importing business objects

    When you import spreadsheets and CSV files to create business objects, you can now use your own column as the primary key field, instead of the system-generated id field. This option is available only for non-blank data containing numeric fields. See Create Business Objects from a File.

  • Database schemas used in different app phases

    You can now view the names of the database schemas associated with a particular phase of an app's lifecycle (Development, Stage, and Live). If you are using your own Oracle database, this information can help you access data using other tools for import or export, or access the tables for your own purposes. See View Database Schemas Used During an App's Lifecycle.

  • Validation of a business object field's properties

    The Field Name of a Business Object's field is now underlined in red on the Fields tab to indicate errors that affect not only the Field Name property, but also any properties on that specific field. See Edit Business Object Fields.

Enhancements for app lifecycle management
  • Roll back live app to last published version

    When you publish multiple versions of a live app, you can now roll back the current live version to the previous published version. See Roll Back Application to the Previously Published Version.

  • Custom page for locked app

    When an application is locked for maintenance, Visual Builder displays a default "Application Locked" screen when someone tries to access the locked app. You now have the option of creating a custom page to display to your users, instead of the default. See Create a Custom Lock Page.

Support for server variables in a server URL Server variables are now automatically created when you enter a valid URI template expression in a server instance URL. When your server URL is defined as, for example, https://restcountries.com/{version}, we create version as a server variable for you. All your server variables are listed under a new Server Variables section in the Servers editor, where you can manage them to set a default value (required by the OpenAPI3 specification) or to add an enumerated list. See Add and Use Server Variables with Instance URLs in Service Connections.

A new Server Variables tab has also been added to the Test tab of the Endpoints editor, allowing you to set the server variable value when testing an endpoint.

Features Requiring Visual Builder Runtime 22.04

This release of Visual Builder uses Oracle JET 11.1.x libraries and components. We recommend that you upgrade your Visual Builder applications to this latest JET version, as well as to the 22.04 Visual Builder Runtime, to take advantage of the full spectrum of 22.04 features. To see what's new in 11.1.x, see the JET 11.1.0 Release Notes.

Here is the feature that requires the 22.04 Visual Builder Runtime:
Feature Description
Fragment improvements Dynamic containers are now supported in fragments, so you can define sections of a page in containers that you want to display based on conditions. You use dynamic containers in a fragment the same way you'd use them in a page. See Create a Fragment.

You can also create input parameters for a fragment right from the Properties pane of the fragment container on the page where the fragment is used. See Pass Data Between a Page and Its Fragment for a sample scenario.

You can upgrade to the latest JET and Visual Builder Runtime versions from your visual application's Settings editor. See Manage Runtime Dependencies for Visual Applications.

Release 22.01 - January 2022

This release of Visual Builder is available only on Visual Builder Generation 2, which refers to Visual Builder instances that run natively on Oracle Cloud Generation 2 Infrastructure.

To check if your Visual Builder instance is running on Gen 2, you'll need access to the Oracle Cloud Infrastructure (OCI) console: Open the OCI console, click Developer Services in the menu, and scan the list for Visual Builder. If you see it, then 22.01 features are available to you. If you don't, that means your Visual Builder instance is not on Gen 2, so 22.01 features are available to you as part of release 22.04.

Change Description
Fragments If you've always wanted to break up complex pages into parts that are easier to work with, fragments is for you. A fragment encapsulates a page's section in its own HTML, JSON, and JavaScript files, helping you share it across pages in an application. Besides reuse, it provides performance gains and makes for easier organization and code management. See Work With Fragments.
Support for JET's Stable theme When customizing a Redwood-themed application, you can now use the Stable base theme to override only what you want to change, where previously you might have had to override all variables directly in the Redwood base theme. The Stable theme (introduced in JET 11.0.0) is meant to be as stable as possible; as a result, you can override the variables you want to change while inheriting all other updates to the Redwood theme. See Customize the Redwood Theme for a Web Application.
Dynamic UI enhancements We've made a bunch of updates to enhance UIs based on dynamic components. When you add a dynamic component (table, form, or container), you'll notice that the Dynamic UIs tab in the Navigator is now called Layouts. Other significant enhancements include:
  • BaseComponentContextType

    In addition to ComponentContextType parameters which let you augment a dynamic layout with values provided by your application, you can now define BaseComponentContexType parameters to define values at the service level. Much like component context parameters, base component context parameters become part of the $componentContext system variable and can be used anywhere in the dynamic layout (for example, in a layout's conditions and expressions). See Define Custom Contexts for Components in a Layout.

  • Suggested and required fields

    We've made some updates to improve user experience when working with a dynamic layout's Fields palette. A new Suggested Fields section now emphasizes fields that might be important or relevant to include in the layout. Further, when you create a new layout within the Rule Sets editor, fields that are marked as required are automatically added to the layout. See Create a Layout for a Dynamic Table or Form.

  • Converter and validator improvements

    Adding a validator or converter to a field in a dynamic layout now selects a default based on the field type. For example, if you were adding a converter to an ID field, the Number converter is selected for you by default because ID is a number field. To simplify configuration, only the most commonly used options are displayed for your selection.

    We've also added support for an expression validator to check whether a field's value matches a pattern defined by a regular expression and an expression converter that converts the field's value to a regular expression for evaluation.

    See Add Converters and Validators to Fields.

  • Column sorting and sizing in dynamic tables

    When a field is added to a dynamic table, you can now use several properties to control sorting and sizing for the field's column. These properties are available in the Properties pane when you select a field in a dynamic table's layout. See Configure How Columns Render in a Dynamic Table's Layout.

  • Container templates for dynamic containers

    Sections created by templates in a dynamic container, by default, stack vertically on top of each other. You can now use container templates to change this layout, for example, to show sections in a row. See Change a Dynamic Container's Layout.

Business object enhancements
  • Create business objects based on existing tables and views in an Oracle database

    If you use an external database like DBaaS or Autonomous Transaction Processing (ATP) with your Visual Builder instance, you can now use your own DB schema and create business objects based on existing tables and views. These business objects, in general, are the same as native business objects, but there are restrictions. See Switch to Your Own Schema for Business Objects.

  • Mark your own ID column when importing business objects

    When you import spreadsheets and CSV files to create business objects, you can now use your own column as the primary key field, instead of the system-generated id field. This option is available only for non-blank data containing numeric fields. See Create Business Objects from a File.

  • Specify encoding format for an imported file

    When creating business objects from a file, you can specify a variety of encoding formats for the imported file via a new Character Encoding field. If a value isn't specified or if the specified value is not valid, UTF-8 is used as the default. See Create Business Objects from a File.

Backends and service connections
  • Server authentication options renamed

    The server authentication type descriptions have been updated and two types were renamed:
    • "Propagate Current User Identity" is now called "Delegate Authentication "
    • "OAuth 2.0 Resource Owner" is now called "OAuth 2.0 Resource Owner Password Credentials"
    See Identity Propagation Authentication Mechanisms.
  • List of service connections for a backend

    Any service connections defined for a backend now display on the backend's Overview tab (below the + Service Connection button). Dynamic service connections are automatically shown. Static service connections are shown when the Load more related connections link is selected. See Manage Backends in Your Visual Application.

  • New flow to replace endpoint definitions for static Integrations connections

    For static Integrations service connections, you can now use the Replace button in the Endpoints tab to replace all endpoint definitions without manually creating a new connection and deleting the old one. See Edit Service Endpoints for a Static Service Connection.

  • Support for modifying service authentication and connection settings in the instance

    Administrators of a Visual Builder instance can now use the Services tab in the Tenant Settings page to configure authentication and connection settings for backend services available in the instance. An administrator can also edit connection details to override the settings inherited from child backend services. See Edit Authentication Settings for a Backend Service.

Enumerated type It's now possible to create an enumerated custom type in the Types editor to define a list of values, usually for variables that have a small set of possible values. See Create a Custom Enumeration Type.
Improvements for action chain tests Action chain tests, accessible through the Tests tab at the bottom of an application's window, now include some usability improvements. Instead of showing a full list of tests, this tab shows failed tests alone to highlight items that require you to take action. Test results are also cached across browser sessions now to improve performance. See Test Action Chains.
Page Designer enhancements
  • Data palette

    Where you might use components to design a page, you can now use data sources—via a brand new Data palette in the Page Designer—to design your page. Just as you'd drag and drop components from the Components palette, you drag and drop data sources (say, an Employee object's endpoints) and choose from a suggested list of components tailored to best display your data. See The Data Palette.

  • Panel placement and breadcrumbs

    You can now reposition the Components, Data, Structure, and Properties panels within the Page Designer to customize the canvas for your convenience. With the introduction of the Data palette, the Structure view has been placed, by default, in the bottom left corner of the canvas, but you can change this up however you want.

    We've also added breadcrumbs in a separate bar at the bottom of the canvas to help you navigate a selected component's hierarchy. See The Page Designer Toolbar.

  • New Insert Component option

    In addition to the standard drag-and-drop from the Components palette, you can now add components using an new Insert Component option. This option is available when you right-click on the canvas and in Structure view (where it's most useful to position a component in complex layouts). See The Structure View.

Other enhancements
  • Properties pane in the Diagram view

    We've added a Properties pane to an application's Diagram view, so you can view more details about an application's pages and sub-flows in a central location. See Use the Diagram View.

  • Support for optional chaining operators

    When referring to optional object properties, you can now use optional chaining operators (?.) in JavaScript syntax without it being flagged by audits. These operators, supported in standalone .js files as well as in HTML/JSON file expressions, make it simpler to access the values of deeply nested properties and return an undefined value instead of an error when the reference or function doesn't exist. For example, [[ $page.variables.customerObj.address?.street3 ]] would return undefined if street3 does not exist in the address property. See Optional Chaining in developer documentation.

Release 21.10.2 - October 2021

Change Description
New format required for Android apps

Starting in August 2021, Google requires that all new applications uploaded to Google Play use the Android App Bundle (.AAB) format. You can still continue to upload updated versions of your existing apps in the .APK format. To create an .AAB file for your Android app, see Build an Android App Bundle for Google Play.

Release 21.10 - August 2021

Some new Visual Builder features can’t be used until you’ve upgraded your Visual Builder Runtime to 21.10. See Features Requiring Visual Builder Runtime 21.10 for more information.

Change Description
PWA support for web apps

We've extended our PWA capabilities to support web apps, in addition to mobile apps. This option allows you to create responsive web apps that your users can add to their mobile devices as mobile apps. To enable PWA support for a web app, you use the new PWA tab in a web app's Settings editor.

We also provide an offline fallback page that you can display to users when your PWA-enabled app isn't connected to the Internet. The default offlinePage.html uses a Redwood-theme template, but you can customize it to suit your requirements. See Configure Progressive Web App Support.

Page flow enhancements
  • Revamped page flow diagram

    The Page Flow tab, used to display an application's structure at the application and flow levels, has been revamped to use the Redwood design language. Now called Diagram, this view provides a hierarchical view of an application's flows and pages within a flow. It also allows you to view default pages, navigation flows, and more. See Use the Diagram View.

  • Nested flows shows only when flows exist

    We've streamlined the Navigator view for a web or mobile app so that the nested flows node shows only when a flow is created. To create a new flow, you'll now need to click + next to the application node. To create a subflow, you click + next to an existing flow. See Create a Page Flow.

Redwood icon gallery Visual apps that use the Redwood theme now leverage Redwood's comprehensive icon library and are available to you right from an app's icon gallery. As a part of this update, we added the icon's stylesheet to an app's imports, so you'll always see the latest Redwood icons when new versions of the icon font are released. You access the icon gallery as usual, say when you add an icon to a page or a navigation list component. See Add an icon component to a page.
Action chain enhancements
  • Action chains in separate JSON files

    To optimize performance and reduce Git merge conflicts, we've moved an action chain's source from the artifact JSON to its own JSON file. While action chains created with version 21.10 will use separate JSON files by default, you have the option of migrating action chains created in earlier versions. See Create an Action Chain and Migrate an Action Chain.

  • Deprecated actions

    We've deprecated two built-in actions: The takePhotoAction is deprecated for web apps while the transformChartDataAction is deprecated for both web and mobile apps.

    It's now possible to view actions that have been deprecated in a release by selecting the Show Deprecated menu option in the Actions palette. See Built-in Actions.

    Any action chains that use the previously deprecated navigateToPageAction action will be automatically migrated to the new navigateAction when you upgrade your app to version 21.10.

Data provider enhancements We've added some design-time options that you can configure from a built-in data provider's properties on the Variables tab:
  • Text Filter Attributes and Fetch by Offset for SDPs

    For Service Data Provider (SDP) type variables, you can now configure the Text Filter Attributes field when you want user-specified text to filter results shown in a list component like Select Single. See Filter Component Data by Text. This field was previously added to an Array Data Provider variable's properties.

    We've also added Fetch by Offset to the list of Fetch Capabilities to provide random access for endpoints that support querying using a specified offset.

  • Sort Comparators for ADPs

    For Array Data Provider (ADP) type variables, you can configure the Sort Comparators field to specify your own comparators for sorting.

Business object updates
  • New Groovy timeout override

    When you use Groovy code for business logic, you can now override the default Groovy timeout if you think your script's processing time will overrun the default duration. You can change this setting via the Timeout Override option when you use Groovy expressions to define formula fields, default values, and business rules. See Override the Default Timeout for Groovy Scripts.

  • New Create options to add formulas and aggregate functions to fields

    You can now create aggregate and formula fields directly from a business object's Fields page. Previously you had to create a field, then edit it to add a formula or an aggregation function. See Add a Field for Aggregating Data and Add a Formula to a Field.

  • Fields display in diagrams changed

    We've changed how fields display by default in business object diagrams. They now show by attribute names, rather than display labels, to match what you'll use in REST API calls or Groovy code. You can still view fields by their display labels by turning off the Show Field Names option. See Work with the Business Object Diagrammer.

  • Tracing for endpoint monitoring

    You can now enable tracing for a business object's REST requests to diagnose performance bottlenecks and other issues in your application. See Enable Tracing to Monitor Endpoint Calls.

Other Designer updates
  • New debug mode for preview

    You can now troubleshoot runtime issues with your application using a new Debug Preview option that uses the debug variants of the Visual Builder runtime and Oracle JET libraries. See Preview an App in Debug Mode.

  • Changed default for Page Designer screen setting

    Fit to Canvas, the option that resizes the canvas to always take up all available space between the left and right panes in the Page Designer, is now the default screen option. See The Page Designer Toolbar.

Reset HEAD for a visual app integrated with a Git repo When you link a visual app to a Git repo in a Visual Builder Studio project, you can now reset your current local branch HEAD to use the latest branch head or any other commit. This feature is useful to resolve push and pull failures when the commit referenced by the local branch HEAD is removed from the remote branch. See Change the Branch Head in a Linked Git Repository.

Features Requiring Visual Builder Runtime 21.10

This release of Visual Builder uses Oracle JET 10.1.x libraries and components. We recommend that you upgrade your Visual Builder applications to this latest JET version, as well as to the 21.10 Visual Builder Runtime, to take advantage of the full spectrum of 21.10 features. For example, JET 10.1.0 provides chroming options for buttons out of the box, including a new one called danger, to help you draw a user's attention to important actions on your UI. To see everything that's new in JET 10.1.0, see the Release Notes.

Here are the features that require the 21.10 Visual Builder Runtime:
Feature Description
PWA support for web apps

To help you build apps that scale from desktop to tablet to mobile, we've expanded our PWA capabilities to web apps, in addition to mobile apps. To enable PWA support for a web app, you now use the new PWA tab in a web app's Settings editor. See Configure Progressive Web App Support.

We also provide a default offline page that you can display to users when your PWA-enabled app isn't connected to the Internet. The default offline page is based on a responsive Redwood page template, but you can customize it to suit your requirements.

Action chains in separate JSON files

To optimize performance and reduce Git merge conflicts, we've moved an action chain's source from the artifact JSON to its own JSON file. While action chains created with version 21.10 will use separate JSON files by default, you have the option of migrating action chains created in earlier versions. See Create an Action Chain and Migrate an Action Chain.

Deprecated actions

We've deprecated two built-in actions: The takePhotoAction action is deprecated for web apps while the transformChartDataAction is deprecated for both web and mobile apps.

It's now possible to view actions that have been deprecated in a release by selecting the Show Deprecated menu option in the Actions palette. See Built-in Actions.

You can upgrade to the latest JET and Visual Builder Runtime versions from your visual application's Settings editor. See Manage Runtime Dependencies for Visual Applications.

New Features in Oracle Visual Builder Add-in for Excel

The version of Oracle Visual Builder Add-in for Excel bundled in Visual Builder 22.07 is 3.0. To see what's new in this release, go to the add-in's documentation page and click 3.0.0.

Supported Browsers

Oracle Visual Builder supports most modern HTML5–compliant browsers.

Oracle Visual Builder complies with the Oracle Software Web Browser Support Policy and supports the latest version of the browser available, and in the case of Safari, one previous major release. Support is provided by Oracle on all platforms that the browser vendor provides support for.  For mobile device operating systems, Oracle provides support only for the most recent browser delivered by the device operating system.

The following table describes the platforms supported by the Visual Builder runtime.
Operating System Chrome Firefox Microsoft Browser Safari

Android

Supported*

Not Supported

N/A

N/A

iOS

Not Supported

Not Supported

N/A

Supported

Mac OS X

Supported

Supported

N/A

Supported

Windows

Supported

Supported

Supported

Not Supported

* Chrome for Android only, not native Android browser

JavaScript must be enabled for all browsers.

Note:

The Visual Builder designtime UI for building applications supports the Chrome browser running on Mac OS X and Windows. Other browsers and platforms are not supported.

Note:

Visual Builder runtime has deprecated the use of Internet Explorer 11. Users who try to access a staged or published Visual Builder application from Internet Explorer will now see a deprecation warning. In addition, Oracle Support will no longer address issues pertaining to Internet Explorer 11.

Deprecated Features

Take note of features that have been deprecated and are no longer supported in Visual Builder:

Feature Description Release
Support for Alta theme ending

Apps created on Visual Builder version 20.07 or earlier were created with Oracle JET's Alta theme as the base theme. The Alta theme was deprecated in JET 10 and will not be supported beyond JET 12. To be able to publish new versions of an Alta-based app beyond July 2023 (when JET 12 reaches End of Life), you must transition your app to use the Redwood theme.

To check the theme used by your web or mobile application, navigate to your application's Settings editor and look for the Theme field. If Theme is set to Alta, we strongly urge you to take time to redesign your app using the Redwood theme before support for the Alta theme ends. Starting with 22.04, we'll remind you to do this every time you stage or publish Alta-themed apps.

Planned for 23.01
Select One component dropped from Components palette The Select One (oj-select-one) component, deprecated since JET 8.1.0, has been removed from the Components palette and is visible only if you select the Show Deprecated option. Switch instead to Select Single (oj-select-single). 22.04 - February 2022
Oracle SaaS R13 Light Theme deprecated The Oracle SaaS R13 Light Theme application template has been deprecated, although we will continue to support it until version 22.01 reaches End of Life (EOL). See Updating an Oracle SaaS application template for more information. 22.01 - January 2022
Migration support for deprecated navigateToPageAction When you upgrade your app to version 21.10, any existing action chains that use navigateToPageAction (deprecated in 21.07) are automatically migrated to navigateAction (introduced in 21.07). 21.10 - August 2021
Hybrid mobile apps and Apache Cordova custom plugin In recognition of the increased adoption of the Progressive Web App (PWA) approach for building apps that scale from desktop to tablet to mobile, Oracle is focusing on expanding our PWA capabilities and will correspondingly de-invest in the mobile hybrid solution offered in Visual Builder and Visual Builder Studio. As a result, the use of build configurations to build native .ipa and .apk files for distribution to iOS and Android devices—as well as the Cordova custom plugin option—are being deprecated, although they won't be removed from the products for a minimum of two years (April 2023). We will continue to deliver bug fixes for both native builds as well as PWA until native build reaches End of Life (EOL).

21.07 - May 2021

Internet Explorer 11

Visual Builder runtime has deprecated the use of Internet Explorer 11. Users who try to access a deployed Visual Builder application from Internet Explorer will now see a deprecation warning.

19.4.3 - August 2020

Oracle Support will no longer address issues pertaining to Internet Explorer 11.

21.04 - February 2021

Upgrade Policy

When you create a new visual app, Visual Builder automatically sets your runtime dependencies to the latest Visual Builder Runtime and JET versions. If you’ve already an app, however, it’s up to you to decide when to upgrade, as long as you do so within a certain time period. As a general rule, Visual Builder supports applications built on the current Runtime Version, as well as the two previous versions. So for 22.07, for example, Visual Builder supports not only the 22.04 Runtime Version, but also apps built with 22.04 and 22.01. Once 22.10 comes out, however, support for the 22.01 Runtime Version will drop off, so we'll ask you to upgrade those apps before you can work on them in Visual Builder. If you choose not to upgrade at that time, you run the risk that newer browser versions will break your app. You also won’t be able to take advantage of any important security and performance improvements. For all of these reasons, we encourage you to build time into your development cycle to keep abreast of current changes, and to make sure you upgrade your app (you should version it first) before support for your current runtime version expires.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.