Known Issues

Known issues associated with this release of Visual Builder.

Invoking OIC REST API from Service Connection returns 404 error

If you are using version 119 or later of the Chrome browser, you might see the following error when trying to create a Service Connection to OIC integrations (using the "Select from Catalog") option:

"Error: "Network Error Unable to read the integrations from [vb-catalog://backends/ics/ic/api/integration/v1/integrations]. Please check the settings for Integration Applications and verify that Integration Applications server is working."

The reason for the error is that starting with version 119, the Chrome browser treats cross-domain redirects and CORS differently than earlier versions.

If you encounter the error, navigate to the "Integration Applications" backend and change the Connection Type to "Always use proxy, irrespective of CORS support" to eliminate the CORS issue.

Integration Applications not listed in Service Catalog

When creating a service connection to an Oracle Integration service, Integration Applications created within an Oracle Integration 3 project are not included in the list of available services in the Service Catalog.

To create a service connection to integrations within a project, the workaround is to either define the specification or define the service endpoint in the Create Service Connection wizard:

  1. Open the Create Service Connection wizard.
  2. Do either of the following:
    • Select "Define by Specification" and specify the URL of the Oracle Integration 3 OpenAPI/Swagger.
    • Select "Define by Endpoint" and enter the Oracle Integration 3 endpoint URL.

Live app not working after upgrading to Oracle Integration 3

After upgrading a Visual Builder instance on Oracle Integration Gen 2 to Oracle Integration 3, your live app might stop working if the app is still trying to access business objects on the Oracle Integration Gen 2 instance.

The workaround is to update the service definition to the new host name, and then re-deploy the app:

  1. In the Services pane, open the connection for the Oracle Integration Gen 2 service.
  2. In the Servers tab, click Default Server to open the service definition used by the connection.
  3. In the Servers tab for the service definition, click Edit to open the Edit Server dialog.
  4. In the Instance URL field, update the host name to the host name of your Oracle Integration 3 instance. Click Save.
  5. Re-deploy your app.

Component not loading in page after upgrading application

After upgrading your application, some components might not load data correctly when bound to an ADP variable, if the application/page's JSON / JavaScript files contain configurations or code that returns invalid JSON data.

ADP data in a JSON file needs to be assigned a valid JSON value. ADP data that is assigned a value from the result of a previous action (for example, a call module action or REST action), must also be valid JSON. When a non-JSON value (such as JavaScript values like NaN or Infinity) is provided, you should choose the correct JSON value that should be used and then replace it.

Visual Builder upgrade tools might not be equipped to correctly upgrade the application when invalid JSON is present.

The workaround is to ensure that all values in JSON files are valid JSON.

Filter field populated with cached data

When using the Filter field in the Designer, Chrome's Autofill form data feature might populate the field in some panels and dialogs with cached data. For example, when using the Filter field in the Navigator, the field might display your cached email address. If cached data is appearing in the field, clear Chrome's cached Autofill form data:

  1. Click the three dots at the top right of the Chrome browser window to open the Chrome options menu.
  2. Select More tools > Clear browsing data in the menu.
  3. Open the Advanced tab in the Clear browsing data dialog box.
  4. Select All Time in the Time range dropdown list.
  5. Select Autofill form data in the list. Click Clear Data.

oj-input-time component displays converted time

The behavior of the Oracle JET oj-input-time component has changed with the release of JET v12 to fix an issue where the component's default converter ignored the offset at the end of an ISO time string when the offset is provided. This means that the time now displayed by the component might be different from the time displayed in earlier JET versions.

For example, prior to v12, the component displayed the ISO time string T21:00:00+00:00 as 9:00 PM in the GMT timezone and 9:00 PM in the PST timezone, which ignores the offset (+00:00). The updated version of the component uses the offset to convert the displayed time based on the user's location, so T21:00:00+00:00 would be displayed as 9:00 PM in the GMT timezone and 1:00 PM in the PST timezone. If the ISO time string is provided without an offset (for example, T21:00:00 instead of T21:00:00+00:00), there is no conversion and the component will behave as it did in earlier versions, displaying the same time (9:00 PM) in all timezones.

If the updated component is not displaying the time that you expect, one workaround is to use the oj-bind-text component to display the time instead. Another workaround is to use the oj-input-time component and add your own converter:

<oj-input-time value='[[$current.data ]]' readonly="true"
 converter='{"type": "datetime", "options": "formatType":"time","timeFormat":"short","timeZone":"Etc/GMT-0"}}' >
 </oj-input-time>

Update deprecated Oracle SaaS application template theme

The sample SaaS R13 LightBlue theme (ApplicationsCloudUITheme) is deprecated as it relies on the deprecated Alta theme. If any of your existing apps use this theme, you are strongly encouraged to convert them to use the Redwood or Stable themes, and then customize the theme using CSS variables.

The sample SaaS R13 LightBlue theme update for Oracle Visual Builder 22.10 is the final planned update.

For existing apps that still use the SaaS R13 LightBlue theme, you'll need to apply the update before running the app with Oracle Visual Builder 22.10. To upgrade the theme, download the updated version of the Oracle SaaS R13 theme files (ApplicationsCloudUI-n.n.n.zip) from the vbcs-samples repository on GitHub, import the updated theme resources into your application, and select the updated theme in your web app's Settings editor. For details on the upgrade steps, see Upgrading the Sample R13 SaaS LightBlue Theme for Visual Builder.

Cannot switch theme in application settings

You might not be able to upgrade an application's theme because the theme dropdown list is not available or is not working properly.

If you run into this situation, the workaround is to upgrade the application:

  1. Upgrade the app version to the next higher version (for example, from version 21.07 to 21.10).
  2. Upgrade the application's theme.

Loading JSON using Text module stops Persistence Toolkit working

If you add JSON resources to your app, as shown in these code snippets, the Oracle Offline Persistence Toolkit stops working.

// Add resource
define([
  'text!resources2/js/test.json'
], function(

// Where resources2 is defined as:
  "requirejs": {
        "paths": {
            "resources2": "{{ location.pathname + (window.vbInitConfig.BASE_URL_TOKEN ? 
                          window.vbInitConfig.BASE_URL_TOKEN + '/' : '') + 'resources'}}"
        }
    },

The following error occurs when the app tries to load the Oracle Offline Persistence Toolkit.

Failed to load offline handler from /ic/builder/rt/otf/2.0/webApps/foo/
version_279023731935549663/app-flow.js: Error: importScripts failed for /ic/builder/rt/otf/2.0/
webApps/foo/version_279023731935549663/app-flow.js at /ic/builder/rt/otf/2.0/webApps/foo/versio
n_279023731935549663/app-flow.js
https://requirejs.org/docs/errors.html#importscripts

Two possible workarounds exist to address this issue:

  1. Wrap the JSON file in a JavaScript file and load the JavaScript file.
  2. Use the Fetch API to load the JSON file in the offline handler.

Error testing connection to IDCS REST APIs with OAuth User Assertion Authentication type

Testing a service connection representing an IDCS REST API with OAuth 2 User Assertion Authentication type in the Test tab will not work. In doing so, you will face an error like:

{
"type": "abcs://proxy_problem/oauth/design_allowed_scope",
"title": "Invalid URI",
"detail": "Cannot process \"https://<idcs>.identity.oraclecloud.com/admin/v1/Me\"",
"status": 400,
"o:errorDetails": [
{ "type": "abcs://proxy_problem/auth/scope/update", "title": "Invalid service scope",
      "detail": "Cannot process service scope \"urn:opc:idm:t.user.me\" in IDCS, for URI \"
{1}
\"",
"status": 400
}
]
}

This limitation only exists in the Service Tester (Test tab). Creating a web app and calling the same REST API from the web app works without any issues.

Service connection using self-signed certificate not working

Your staged or published apps might stop working if they use service connections with self-signed certificates and the certificates have expired. Any certificates issued after 2020-09-01T00:00:00.00Z will automatically expire 398 days after they have been issued. If your apps use certificates issued before 2020-09-01T00:00:00.00Z, the certificates will not expire, but you should update them with a newer certificate.

To avoid disruptions, you should plan regular updates to refresh the self-signed certificates before they expire (for example, every 6 months). It's not recommended to use self-signed certificates in production apps.

Authentication failing on OIC service connections

When creating a service connection to an OIC Integration REST API, connecting to the service might fail if you select an authentication mechanism that is not permitted by the OIC Integration REST service's settings.

If the connection to the service fails with a 401 HTTP error code, check if the authentication settings for the VB Service Connection match the OIC Rest Trigger's Security settings:

  • If the VB Service Connection uses "Oracle Cloud Account" or any of the OAuth 2.0 methods for authentication, then the corresponding OIC REST Trigger needs to be configured with either the "OAuth 2.0" or "OAuth 2.0 OR Basic" options.
  • If the VB Service Connection uses "Basic" for authentication, then the corresponding OIC REST Trigger needs to be configured with either the "Basic" or "OAuth 2.0 OR Basic" options.

New business objects not selected in Business Object Resource Editor

When you create new business objects from a file (CSV, zip, xls) using the Import Business Object wizard, the business objects might not be selected when you open the Business Object Resource Editor in the Endpoints tab, but the available new business objects should be selected by default when you open the editor.

If the business objects are not selected by default:

  1. Reload your browser. After reloading the browser, the business objects should be selected in the Business Object Resource Editor.
  2. Choose the business objects you want to expose.
  3. Click Apply Defaults, then click Save.

Problems when saving business object diagram as image

When trying to save a business object diagram as an image, you might see the following issues:

  • It's not possible to save the diagram as a PNG image.
  • When saving the diagram as a SVG file, the icons representing the business object field types are not displayed correctly in the saved image. All the icons are rendered as "broken" images.

The workaround to save a diagram where the field icons are intact is to use the zoom in/out tools to make the entire diagram visible, and then to take a screen shot of the diagram using a screen capture application.

PWA application does not open using custom URL

When using a custom URL to open the root page of a PWA application, the page might fail to open if the URL does not end with a backslash ("/").

The workaround is to add the backslash at the end of the URL of the root page.

Creating new record using REST API results in empty response

If your Visual Builder instance is configured to use another Oracle DB, when you use the REST API to insert a new record in a table you might see a response that contains no data, even though the insert is successful and the call returns the expected status (HTTP 201).

This can happen when a business object has a primary key field defined as <column name> NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY ....

The workaround is to perform the following steps to modify the business object's primary key field:

  1. Open the application in Visual Builder.
  2. Open the business object you want to modify.
  3. Open the Fields tab.
  4. Select the primary key field.
  5. In the Sequence Name dropdown list, select the appropriate internal sequence used by the database to create new records in the table.

    If the database schema has only one table with an identity column, it should be clear which sequence to select (the sequence will have an internal looking name). If there is more than one table with an identity column, you can use the following query to locate the sequence the database created for the column:

    select data_default from SYS.user_tab_columns where table_name = <table name used by the BO> and column_name = <primary key field>;

After the Sequence Name property is set to the the correct sequence, Visual Builder will select nextval from that sequence before inserting the record into the table, and will use that value in the primary key column.

Error message not helpful when trying to designate a non-unique field as the primary key

When importing a csv file in the Import Business Objects wizard, the import might fail when you try to designate a non-unique field as the primary key field in the wizard. You might see an error similar to this:

<BO Name>: Error renaming field "<Field Name>" to "X#" on  entity "<BO
    Name>" <BO Name>: <number of rows> exist

If you see this error, to import the business object you need to select a different field for the key. To be valid, the field must contain unique values.

Cannot drag button component into table

In the Page Designer, you cannot drag-and-drop a button component into the column of a table if the table is inside a template.

Error when creating new version of application

You might see errors or have problems when creating new versions of an app if the app has too many obsolete versions. Visual Builder limits the total number of versions of an app to 100, which includes development, staged and obsolete versions. You cannot create a new version if it will result in the limit being exceeded.

Each time you publish a new version of an app, the previous version becomes obsolete. On the Visual Builder Home page, you can see the total number of app versions in the Versions column, next to the number of the current version.

To remove obsolete app versions, you must first move them to the Trash, and then permanently delete them. For details, see Delete a Visual Application.