Oracle® Cloud

What's New in Oracle Visual Builder

E71444-22

October 2019

What’s New for Oracle Visual Builder

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

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 Oracle Visual Builder used a structure that is not compatible with the Visual application structure now used in Oracle Visual Builder. No further feature development work is planned for working with Classic applications, and only critical bug fixes will be addressed. Oracle recommends that customers update their existing Classic applications to use the new Visual applications approach, which provides developers with a much more robust set of functionality which they can use to create more sophisticated applications.

Existing Visual Builder instances can be used to manage Classic applications, but in an upcoming release this will be disabled by default in new instances. Customers can use their existing instances to export their Classic applications and then import them as Visual applications to migrate the Business Objects, but be aware there are no migration capabilities for the web or mobile UIs. See About Classic Applications.

Release 19.3.1 – September 2019

Apart from the new features that Oracle Visual Builder 19.3.1 provides, described in the following table, note the following change that affects Visual Builder administrators. After signing into Oracle Cloud, Visual Builder administrators use the Oracle Cloud Infrastructure Console to access the Visual Builder service. Previously they accessed this service from the My Services Dashboard. See Set Up Oracle Visual Builder in Administering Oracle Visual Builder.

The developer’s guide (Developing Applications with Oracle Visual Builder) includes a new chapter, Common Use Cases, which describes how to implement common use cases in Visual Builder applications, such as enabling client-side validation for forms. This chapter will be expanded over time to describe additional use cases.

Feature Description
New declarative actions

The following new actions have been added:

  • A new geolocation action has been added to allow declarative access to the user's current location.
  • A new Share action allows mobile applications to invoke the native sharing capabilities of the host platform and share content with other applications, such as Facebook, Twitter, and Slack.
  • Support for Cordova's pause and resume events (vbPause, vbResume) was added. The vbPause event fires when the native platform puts the application into the background, typically when the user switches to a different application. The vbResume event fires when the native platform pulls the application out from the background.
  • A "video" option was added to the list of mediaType parameters of the TakePhoto action. Selecting "video" will record a video or allow an existing videos to be selected. In web apps, selecting the video mediaType will open a dialog where non-video files are filtered out. In PWA apps on iOS and Android and iOS native apps, the option allows video recording using the camera, or selecting a video file. In Android native apps, only file selection is allowed. Recording using the camera is not supported.
New Custom Event contract

A new "navigateToItem" custom event is declared by default in new mobile and web applications created with templates using navigation items (drawer/tab) on the root page (or Shell Page). The custom event provides an easy way for you to configure navigation between items/tabs. An event listener for switching the item/tab is defined by default in the root or shell page.

New UI for building filters

A new UI has been added in the mapper to help with creating FilterCriterion to filter the output for SDP (Service Data Provider) variables and call REST actions.

Added support for registering your own Oracle DB instance

An administrator can now use a wizard in the Tenant Settings to switch the Tenant schema to another Oracle DB instance that has more space. By using your own Oracle DB instance you will also have direct SQL access to the tables created for your business objects.

In the wizard, the administrator can specify a DBaaS or Autonomous Database instance. The wizard includes a tool for selecting which projects in the tenant are downloaded prior to switching to the new DB instance.

New UI for managing user roles

The UI in the Settings editor for creating and managing user roles in a visual application has been updated and streamlined. When creating a user role, the user role and the users and groups assigned to it, are now created directly in the IDCS application.

The "virtual roles" mechanism used in earlier releases is no longer supported. If you are developing an application that used virtual roles, you will need to use the new UI to replicate those users and roles because the virtual roles won't be converted to the new role mapping mechanism.

Improvements in Action Chain editor

The following improvements and features were added to support for Actions:

  • The action chain editor is now displayed as a tab within the artifact tab in the Designer. This makes it easier to switch between the action chain and other artifact editors.
  • The action chain editor now includes an overview window that shows the entire diagram when in diagram view. The visible part of the diagram is highlighted. When zooming or panning the diagram, the overview window updates its highlighted area to match. Also clicking on the overview window or dragging the highlighted area pans the diagram.
Improved templates and wizards for mobile apps

The following improvements were made to the wizards and templates for mobile apps:

  • A new wizard was added for creating root pages, allowing you to select the nav style and page template. When creating a new root page, you can choose to create new flows or select existing flows for the new root page. If the nav-style of the new root page is None, you can choose to create a flow or page, and choose page templates.
  • The wizard for creating apps now allows you to select from multiple nav styles (Horizontal, Vertical and None), page templates for individual flows can be selected, and the UI was improved for Nav styles that need multiple items.
  • The application no longer has a single scrollbar enabled at the root of the application. Instead, the scrollbar is within the content of the template.
  • The tab bar at the top of an application can be locked in place, and the content in a tab can now be scrolled. This is implemented by default in new mobile applications. Existing applications can add it by simply slotting the tab bar to the "navigationBarTop" slot and moving it directly into the "oj-ext-mobile-page-template" parent node.
  • Scrolling now supports momentum scrolling for a more native feel on iOS.
  • Safe margins for iPhone X (R, S, SMAX) are correct in portrait and landscape modes.
  • New pages created with the "Summary with Content" template now use content scrolling, and the summary is locked in place.
  • Two new template pages can now be created with the wizards: Form and List. Sample code is provided as starting points for the ListView and Form layouts commonly used in mobile applications.
Improved templates and wizards for web apps

The following improvements were made to the wizards and templates for web apps:

  • The wizard for creating web apps now supports two navigation styles: None and Tabbed.
  • The tabbed web application template is responsive, providing a shell that displays the navigation drawer in smaller screen sizes (like phones), and a tabbed display in desktop/tablet form factors.
  • The wizard for creating root pages allows you to select existing flows or create a new flow. When nav-style None is selected you can choose if you want to create a flow.
Added PWA loading spinner

The starter mobile application template now adds a spinner to the index.html. This spinner is taken down once the application is initialized and content is displayed.

Extra Headers for Basic Auth in Mobile apps

It is now possible to specify extra HTTP headers when using Basic Auth authentication in Mobile apps, enabling integration with Oracle Mobile Hub (OMH).

Improvements to the Events editor

The following improvements were made to the Events editor:

  • The event listeners UI has been updated to show more information about where events are fired and which components are firing them.
  • Events and their payloads can now be defined in the Events editor and fired using the Fire Custom Event action. This allows the runtime to propagate events to their desired listeners and to help you configure when the events are fired.
Improvements to the Page Designer

The following improvements and features were added to the Page Designer:

  • The Component Palette, Page Structure and Property Inspector panels are now visible in Code view. Switching between Design and Code modes only swaps the canvas and code editor. Component selection and changes are now synced across all panels and views.
  • You can now drag and drop components from the Components Palette directly into the Code view and reposition them in Code view using the Page Structure view.
  • Cut/Copy/Paste is now supported for selected components in the Page Structure view and Design mode. The actions can be invoked using standard shortcuts (ctrl+x, ctrl+c and ctrl+v, CMD key on macOS), and are also available in the component's popup menu. When a component is pasted into a page it is automatically assigned a unique ID. When a component is pasted on a different page, all property values that are expressions are removed.
  • A "Temporary Override" option has been added to some properties in the Property Inspector which allows you to set a temporary value for the property. The value is only applied during design time. For boolean-type properties, you can select a Temporary Override option of Off, True or False in the component's popup menu. In the Page Structure view, an orange badge is used to indicate when a Temporary Override is currently used on a component. The Temporary Override settings are only valid until the page designer is reloaded or the page's code is edited in Code mode. The Temporary Override option is available for the following component properties:

    • "test" property of oj-bind-if component. Using this enables the contents wrapped by the IF to be displayed in the page designer. The option allows you to override a default value of false that would otherwise be the result of the IF condition.
    • "expanded" property of oj-collapsible
    • "expanded" property of oj-ext-mobile-navigation-bar-drawer
    • "initial-visibility" property of oj-dialog
  • The oj-dialog component is now supported in the Design mode and has been added to the Components Palette. When designing an app, you can choose to keep dialog components open in the canvas while designing its contents by using the Temporary Override option in the Property Inspector or the component's popup menu to set the initial-visibility property. In Live mode you can invoke the action that opens the dialog, for example, if the dialog opens when a button is clicked.

    When the dialog is open in the canvas, only the components inside the dialog on the canvas are selectable and drop indication feedback is enabled for them.

  • Unused component import is removed from the page model when the last instance of the component is deleted from the page.
  • Components dropped into a parent's slot are wrapped with a template element if the slot's metadata includes attribute data.
  • Non-field components dropped into a form layout container are now all accompanied by a label component to allow default column alignment with regular field components.
  • Layout helpers have been added for simple non-component HTML elements (for example, <div>). This enables children (deleting, moving, adding child components) inside the element to be easily manipulated.
Improvements to the Property Inspector in Page Designer

The following improvements and features were added to the Property Inspector in the Page Designer:

  • Docs hyperlink has been added to the help popups on properties and slots of the component in its Property Inspector. The link leads to the particular JSdoc page in the component's documentation based on its metadata.
  • Menu components in Slots sections now offer Divider and Menu Multi-Select subcomponents in the Add Action drop-down.
  • In the Table Columns customizer, the drop-down list of identified column fields has been renamed from "Fields" to "Simple Field Columns". The list includes only the fields which are not represented by separate components in the column templates' code.
  • Basic support for a mobile application's Drawer component (available in New Mobile Application wizard as Vertical navigation style option) was added to the Property Inspector. In the Page Structure view, you can now see a "Mobile Navigation Bar - Drawer" component after opening the Page Designer for an application's root page (root pages / app).

    In the Property Inspector, the Drawer component contains:

    • A Navigation Items section which helps you customize the navigation items in the drawer, similar to customizing items of the Bottom Bar component
    • An Expanded property with a Temporary Override section that allows you to force a value to be True in the design time. This enables you to make the Drawer visible on the canvas so that you can work with it visually.
  • The Styling section in the General tab now displays classes for components that have a predefined set of styling classes listed in its styleclasses metadata.
Improvements to Quick Starts

When using a Quick Start, the following improvements were made to help locate data in the Endpoint Selector:

  • improvements to how the focus is shown for single items
  • improved tooltip for switch between simplified and advanced mode
  • the search keyword is now highlighted
Enhancements to Business Object editor

The following improvements and features were added to the Business Objects editor:

  • In the Diagrams view, when no objects are selected in the diagram you can now select which business objects are displayed in the Property Inspector. When a business object is selected, you can use the Property Inspector to edit the business object, its fields and relationships.
  • The business object directory structure has changed. All json files for the artifacts (business objects and diagrams) are now under the businessObjects directory. Business object metadata defined in Application Settings is now stored in businessObjects.json instead of settings/security.json.
Enhanced business object security definitions

Enhancements were made to the Data Security Rules section that you use to define business object security. Support for Groovy expressions has been improved. You can now use a Groovy expression to identify the current user instead of a JavaScript expression, and you can use any expression that can be evaluated to a literal constant when the business object REST API is called. When creating conditions, you can now also choose fields from a related object in the Field drop-down list.

Added support for constant variables Constant variables are now supported when you add a new variable. A constant can have a value specified via it's default value or when provided as an input parameter, but it cannot be changed at runtime.
Improved UI for Service Catalog

Catalog settings can now be defined both for the tenant and at the application level. When editing the catalog settings at the application level, you can view the current tenant settings and choose to override them.

Improvements to connecting to Fusion Applications catalogs in the Tenant Settings

In the Tenant Settings editor, specifying the base URL for a Fusion Applications catalog for the tenant has been simplified. You now only need to supply a valid Fusion Applications base URL. The path to the interface catalog will now be resolved automatically.

Earlier FA configurations with no REST-Framework-Version header might have been migrated to the highest allowed version of REST-Framework-Version that the FA instance provides. To enforce a particular REST-Framework-Version, you might need to add / change the header value explicitly.

Improvements to the External Build process

The following improvements were made to support using the external build tools:

  • Support was added for creating custom requirejs module bundles for visual applications. You can use this to help improve application performance by creating multiple bundles and customizing the content of each bundle. You can then control which bundles are loaded initially and which are loaded when they are needed.
  • The external build can be configured to produce bundles that conform to the pure EcmaScript 5 standard supported by older browsers and also produce an ES6 set of bundles. This allows you to write more modern code (EcmaScript 6) in your application and also have an application that can run on IE11 and other old browsers.
EcmaScript 2018 support

The code editor for .js files now has editing and audit support for EcmaScript 2018 (ES2018) in mobile apps and when using the external build process. ES2018 is not supported in web apps, which continue to use ES5.

JET Audit tool added

The JET audit tool has been integrated into the design time. The tool currently works on all HTML files, and can help produce pages that conform to the JET guidelines.

Added settings for JET and runtime versions

It is now possible to specify a Visual Builder runtime and JET version in the application settings for web and Progressive Web Apps.

Added support for IDCS multi-stripe

Visual Builder can now be used in IDCS accounts which use multiple stripes.

Improved Who am I dialog The UI of the Who am I dialog is streamlined to be more intuitive, and to disallow some combinations of selected items.

Release 19.1.3 – March 2019

Feature Description
Support for Progressive Web Application

You can now enable the mobile applications that you create in Visual Builder as Progressive Web Apps. Among other benefits, this allows you to distribute your application through a URL for users to access. See Enable Progressive Web App Support from Mobile Applications.

Take Photo action

The Take Photo action has been enhanced so that, in addition to mobile applications, you can use it in web and Progressive Web Apps that you create in Visual Builder. The runtime behavior depends on the type of application that you use the action in. See Take Photo Action.

Open URL action replaces Navigate to External action

A new action, Open URL, replaces the deprecated Navigate to External action. Using the Open URL action, you can choose where to open the URL:

  • From a web application, in a new or existing browser tab
  • From a mobile application, in the native browser, such as Safari on iOS, in app browser, or the current web view

See Open URL Action.

New Navigation Drawer template for mobile apps

For mobile applications, Visual Builder now provides a new navigation option that you can implement when you select the Vertical navigation style when creating a new mobile application. See Create a New Mobile Application.

Improvements to staging and publishing using DevCS

The workflow for staging and publishing using the Developer Cloud Service pipeline has been improved. See Optimize Your Builds.

Improved support for the Component Exchange

You can now use the Component Exchange component catalog to add reusable components published by Oracle to your application.

In the Component Exchange, you can now see all available versions of a component in addition to the latest one, and choose the version you want to install.

Improvements to the Page Designer

The following improvements and features were added to the Page Designer:

  • You can now select multiple components in the canvas and in the Page Structure view. On the canvas, you select multiple components by holding the Shift key while clicking on the components. In Page Structure View, you select multiple components by holding the Ctrl/Cmd key while clicking on nodes of the tree.

    When multiple components are selected, they can be moved together to a different place on the same page, and actions invoked in the popup menu are applied to all the selected items. When the Delete action is selected, all the selected components are removed. The Surround actions make the chosen option the common parent of the selected components, for example, two selected adjacent components can be surrounded with one oj-bind-if. Selecting the Parent submenu in the popup menu will show all the common parents of the selected components.

  • The Page Structure view has been redesigned and the following functions added:

    • An options dropdown menu was added
    • Tooltips on nodes now show all details, including IDs, classes and content hints even when these details are hidden in the tree
    • A new popup was added showing the slots on nodes of components which have slots
    • Special wrapping div elements used for sizing inside grid container are now displayed as Cell and Gap elements
  • The Variables drop-down in the Property Inspector now includes a Create Variable action for all scopes to allow direct creation of a new variable to bind to the property.

  • The oj-tab-bar component now preserves the selected tab while the page is refreshing in canvas.
Changes to Security settings

The following changes were made to how security settings are configured:

  • Anonymous access is now set at the level of the artifacts (web, mobile, service connections, business objects) instead of the visual application. The Allow Anonymous Access checkbox in the visual application's Settings editor has been removed.
  • A Business Objects tab has been added to the visual application's Settings editor, and the Security tab has been removed. The tab contains security settings for business objects, the URLs for the Catalog APIs and the tool for getting an access token.

Improvements to Application Wizard

The design of the New Application wizard has been updated.

Improvements to business rules editor

A new tab was added to the Editor's palette for object functions that shows the parameters of the current object function. This list of parameters updates automatically when you edit the function's parameters using the business rules Property Inspector.

Support for secure static headers for web services

You can now define secure static headers at the server level. The header value is encrypted and stored by the vb proxy, and the vb proxy will apply the secure header when a request is made by the service. Warning messages are shown if the service connection is not using the vb proxy.

Improvements to Audits

You can now select individual issues and use the menu in the Audits pane to execute all tasks related to the selected issue, including fixing the issue.

Improvements to translations

When downloading translation files, the downloaded file is now fully ARB-compliant.

Improved support for Excel Add-in

The UI for the REST console has been improved.

Changes to relationships between business objects

The way relationships between business objects are modeled in the entity.json has been modified to improve scalability. The entity.json of both business objects in a relationship now contain some details of the relationship. This enables the existence of all relationships for a given business object to be known without loading the whole data model.

The following changes were made to the UI for relationships:

  • In the Overview tab, incoming relationships (for example, 1:M) are shown as a dotted line until clicked, at which point the full details from the owning business object are loaded to enable the cardinality and required status to be determined.
  • In the Relationship Editor, the optional Accessor name fields that only appeared in Edit mode has been replaced with mandatory relationship name fields in both Edit and Create. Using the name as an accessor is optional, and you can enable and disable the option.
  • Many-to-many relationships are no longer derived from the existence of the two many-to-one relationships, but are persisted in entity.json. If a many-to-many is needed and the intersection business object already exists, this can be selected in a dropdown list in the Create Relationship dialog.
Optimized mobile template size

The Debug and the Release versions of the iOS and Android templates have been optimized to reduce their size.

Release 18.4.5 Update – February 2019

Feature Description
Added support for Custom Cordova Plugins

Visual Builder now supports adding Custom Cordova Plugins to an application. Visual Builder now provides a Cordova project template that is used when adding plugins and building the IPA/APK. See Add a Custom Plugin to Your Mobile Application.

Deprecating development of Classic applications

In an upcoming release, new Visual Builder instances will have the ability to manage Classic applications disabled by default. Existing Visual Builder instances will retain the ability to manage Classic applications, and Oracle recommends that customers update any existing Classic applications to use the new Visual applications approach. No further feature development work is planned for working with Classic applications, and only critical bug fixes will be addressed. Visual applications provide developers with a much more robust set of functionality which they can use to create more sophisticated applications.

If your Visual Builder instance supports Classic applications, you can export your Classic applications and then import them as Visual applications to migrate the Business Objects, but be aware there are no migration capabilities for the web or mobile UIs. See About Classic Applications

Release 18.4.5 – December 2018

Feature Description
Added support for nested flows

Visual Builder now supports nested flows, and the following features were added:

  • The Settings editor for pages now contains a Default Flow setting that is used when a nested flow is embedded in the page using the Flow Container component.
  • Nested flows can be created in the flows folder under any flow.

See Work with Flow Artifacts.

Added support for iPad deployment for mobile apps

iPad was added as a deployment target option when building mobile apps.

Support for Integrations

A new tab for setting the Integrations Cloud Server URL and authentication was added in the application's Settings editor. An Oracle Integration Cloud service catalog was added that lists REST integrations defined in the Oracle Integration Cloud Service, and you can now use the service connection wizard to select integrations from the catalog and add them to your application.

Improvements to the Page Designer

The following improvements were made to the Page Designer for visual applications:

  • iPad added as device option in the Page Designer for mobile apps
  • Quick Starts now generate ojAction events instead of click events for buttons
  • The Settings editor for a shell page now contains a Default Flow setting to be used when nested flows are embedded in the page using the Flow Container component (oj-vb-content)
  • Pages in design-time are now automatically refreshed when navigating to them to update data changed in a different page (for example, when saving data in Live mode in one tab that affects the data displayed in another tab.)
  • Empty container-like components on the canvas are now highlighted to indicate the area they occupy (rendered border) and their name (gray label). This applies to the Form Layout, Grid/Flex/Bar Containers and Rows, and Toolbar and Masonry components.
  • Support for drop handling for flex in mobile page templates was improved.
  • Improved drop support for oj-form-layout means that any component can be dropped into a form layout, and form layouts can also be nested. A component can be paired with the oj-label that precedes it in the source code, so components without a label-hint attribute set can have their label in the form.
  • A Flow Container component was added to represent the oj-vb-content element. The component can be used in the page to embed a nested flow's page.
Improved support for installing components

The following improvements were made to support adding components:

  • A mechanism was added for updating components installed from Component Exchange.
  • When opening an application, the Component Exchange is automatically checked for new versions of installed components, and a message is displayed when updates are available.
  • The window displaying Component Exchange items now contains individual Browse, Installed and Updates tabs. The Updates tab lists the new versions of components when they are available and can be used to update components.
Improvements in the Property Inspector

The following improvements were made to the Property Inspector for visual applications:

  • An Array type customizer in the All tab for array types can be used to create and manage the array items.
  • A Slots customizer in the General tab and in Page Structure view now lists the component's slots in a logical order.
    • default slot first, contextMenu slot last, the other slots in between
    • startIcon, endIcon slots (for example, for button components)
    • start, middle, end slots (for example, for a bar layout component)
  • For components inside For Each, the $current and the As alias are now available in the mapper/expression editor opened from Property Inspector.
  • The names of action chains created from the Events tab now have "Chain" appended to the name (for example, ButtonActionChain).
Improvements to Quick Starts

The following improvements were made to Quick Starts:

  • The Bind Data step of Quick Starts for List View, Table and Create/Edit/Detail pages now includes component selection dropdown for all the selected fields.
  • Quick Starts now generate ojAction events for buttons instead of previously generated click events
  • Updated default label position attribute (label-edge) in forms generated by Quick Starts for web and mobile apps.
Improvements to Action Chain editor

The following improvements were made to support for working with actions in the Action Chain editor:

  • When adding a Call Component Method action, the component id input is now populated with a list of ids from the page. Upon selection, the component method input is also populated with the methods that are valid for the selected component.
  • When adding a Call REST Endpoint action, placeholders are now shown for the failure outcome in addition to the success outcome.
Improvements to Event Listeners

The mapper for custom events and variable change listeners now displays $event in the sources. Notification messages are now displayed when an event listener refers to an action chain that does not exist, calls an action chain without mapping required parameters and calls an action chain with unrecognized parameters.

New notifications for variables and types

Notifications were added to indicate invalid or missing details for variables and types:

  • Type is not defined as a valid object or array
  • Type references another type that doesn't exist
  • Type references an invalid type
  • Variables: Default value is invalid
  • Variables: SDP: No endpoint defined
  • Variables: MSDP: No SDPs specified
Settings window now opens in tab

The application's Settings are now displayed in an editor tab in the designer instead of a modal window.

Support for child business objects in business rules editor

The custom code editor for business rules now contains the option to select a template with code for working with child business objects.

Added support for Visual Builder Add-in for Excel plugin

The Oracle Visual Builder Add-in for Excel is a plug-in for Microsoft Excel that allows Excel users to edit business data available from Oracle REST services.

Support for vanity URLs

You can now specify a vanity URL for an application in the Application tab of the visual application's Settings editor.

Supported Oracle JET version

Feature Description
Upgrade to Oracle JET 7.0.1

The Visual Builder design-time was upgraded to use Oracle JET 7.0.1. The Visual Builder runtime uses Oracle JET 7.1.0 libraries and components. 

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.


Oracle Cloud What's New in Oracle Visual Builder

E71444-22

Copyright © 2018, 2019, Oracle and/or its affiliates. All rights reserved.

Primary Author: Oracle Corporation

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.