Oracle APEX 18.1 New Features Presenter’s Name Presenter’s Title Organization, Division or Business Unit Month 00, 2018
Agenda New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
New Create Application Wizard Low Code Development Oracle APEX 18.1 introduces an all new Low Code Create Application Wizard. New and improved user experience for creating applications. Simpler and modernized wizards for creating pages. Allows creation of more advanced pages such as Dashboards, Master-Detail, etc. Low code application development is all about high productivity: more feature function, greater consistency, and higher fidelity, all with less effort. Low code frameworks, such as Application Express, leverage powerful components that provide reporting, data visualization, and form controls. This allows an application developer to focus on solving the business problem and delivering superior solutions, with less time and effort spent on mundane and repetitive lower-level coding. You can add pages that include various components including calendars, cards, charts, dashboards, forms, interactive grids, master detail or editable grids, and reports. Add application-level features such as an Application About page, role-based user authentication, end user activity reports, configuration options to enable or disable specific functionality, a feedback mechanism to gather end users comment, and a Customize button to enable end users to choose their own theme style http://apex.oracle.com/lowcode
New Create Application Wizard Features Supports adding common frameworks or "Features" when creating an application such as access control, activity reporting, theme selection, and more Features provide application-level functionality and are based on best-practices used in APEX Packaged Applications. Customize user interface options such as Theme Style, application icon and page icons
New Create Application Wizard Blueprints Blueprints represent an application definition in JSON format. The Blueprint editor allows for editing the JSON based definition and updating application properties. Copy & paste the JSON code of one page to quickly create a large number of similar pages. Blueprints of previously generated applications can be loaded again to iterate the application design. You can view the application blueprint by running the Create Application Wizard and clicking the View Blueprint link at the top of the Create Application Wizard. The Application Blueprint window transforms and displays the current application definition as a JSON document. Edit the document to update application properties and then click Apply Blueprint to change the current application details. If you need to create a large number of similar pages you can copy the relevant JSON code for one page, paste it numerous times, and then make small adjustments to the JSON. This approach can be significantly quicker than manually clicking the Add Page button for each page in the wizard. You can also replace the blueprint with the definition from a previously generated application. Click Load a Previous Blueprint to replace the blueprint with the definition from a previously generated application. This approach is very an simple way to iterate the application design by adding additional pages, changing the features, or tweaking the settings, before generating the application again.
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
REST Enabled SQL The Basics… Execute any SQL through a REST Endpoint - e.g. "curl" utility
REST Enabled SQL Support Remote Database Connections Executing dynamic SQL or PL/SQL on remote databases using ORDS and REST Relies on the ORDS "REST Enabled SQL" feature (ORDS 17.3 or later) Requires ORDS instance having a connection pool configured for target database. Oracle APEX passes SQL query to ORDS over REST Self-describing JSON response Response contains a JSON object with: Result set meta data (column names, data types) The result data Information about pagination Execute SQL query or PL/SQL defined at the component-level on a remote database using REST Enabled SQL References. REST Enabled SQL Service references enable developers to execute SQL or PL/SQL defined on a remote Oracle database. Because REST Enabled SQL Services are stored at the workspace-level within Application Express components, they are available to all applications within a workspace. To use REST Enabled SQL Services, the remote database must include Oracle REST Data Services (ORDS) release 17.3 or later on the front-end and have the REST Enabled SQL feature enabled. All SQL and PL/SQL is sent to the Oracle REST Data Services (ORDS) instance which executes it on the remote database.
REST Enabled SQL Support Using Remote Database Connections in Oracle APEX Create and maintain References to REST Enabled SQL Instances (Oracle REST Data Services) in Shared Components: A name, Endpoint URL, and Authentication information Use a REST Enabled SQL Service and therefore a remote Oracle database as the Data Source for Oracle APEX components like: Classic Reports, Interactive Reports Reflow Report, Toggle Columns Report Tree Region, JET Charts, CSS Calendar PL/SQL Process
REST Enabled SQL Support Using Custom PL/SQL Code Access REST enabled SQL sources within custom PL/SQL Code: Execute query and provide a "cursor" object APEX_EXEC.OPEN_REMOTESQL_QUERY Execute a PL/SQL block anonymously APEX_EXEC.EXECUTE_REMOTE_SQL Use REST Enabled SQL as a Plug-In developer: "Region Source supports different Data Sources" Plugin Attribute Use APEX_EXEC PL/SQL package in Plug-In code
REST Enabled SQL Support REST Enabled SQL vs. Database Links Database Links: Integration at the SQL- level Works over SQL*Net or over the internet in the Cloud which can be problematic Opens a session within the remote database REST Enabled SQL: Integration at the workspace - level Works with JSON over HTTP(s) which makes it easy-to-use it in Cloud environments or over the internet Better scalability by using Connection Pool at the remote database Both REST Enabled SQL Services and database links enable developers to access data remotely. However, these features access remote data differently. Key differences between database links and REST Enabled SQL Services include: Database Link: Functions at the SQL-level which enables developers to use remote tables and local tables in the same SQL query. Works over SQL*Net or over the internet in the Cloud which can be problematic. REST Enabled SQL Service: Functions at the workspace-level. Developers can create an Application Express component with a query on a REST enabled SQL service but cannot join it to a local table. Queries created on a REST enabled SQL service but cannot join it to a local table. Works with JSON over HTTP(s) which makes it easy-to-use it in Cloud environments or over the internet. Both Database Links and REST Enabled SQL fetch data over the network which is significantly slower than fetching data from a table in the local database. When evaluating the best approach for your environment, be sure to evaluate the impact on page view performance and always consider replicating remote data in local tables, with an appropriate refresh algorithm.
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
REST Service Consumption Web Source Modules Oracle APEX 18.1 introduces a new data source type called "Web Source Modules", a declarative method to define references to external REST APIs and generic JSON data feeds. Web Source Modules store additional metadata about how to parse response data and map it as a virtual table with rows and columns. A module can contain one or many Web Source Operations which are the references to a concrete external web service. Create and maintain Web Source Modules in Shared Components. Web Source Modules act as a reference to one or multiple external web services. A module can contain one or many Web Source Operations which are the references to a concrete external web service. Web Source Modules enable developers to access to Representational State Transfer (REST) services or generic JSON data feeds in applications and use the data in Application Express components such as reports, interactive reports, and interactive grids. A Web Source Module contains metadata about the Web service which can be used by Application Express Components or PL/SQL processes to invoke the service and to process the responses. Web Source Modules contain multiple operators that differ depending upon the Web service target. For a REST services, an operation is a specific service handler (such as, GET, PUT, POST, or DELETE). Developers assign Operation a Database Action such as Fetch Multiple Rows, Fetch Single Row, Insert Row, Update Row, and Delete Row. However, you can assign each Database Operation only once to a Web Source Operation.
REST Service Consumption Web Source Modules Use as data sources for Oracle APEX components such as: Interactive Report, Classic Report JET Chart, CSS Calendar Tree Region, Reflow Report, Toggle Column Report Post Processing SQL modifies data before being processed by an Oracle APEX component: Apply SQL functions, aggregations, join to local tables etc. Avoid unnecessary HTTP requests by using Caching
REST Service Consumption Web Source Modules: Drive Oracle APEX Components…
REST Service Consumption …with data from a REST Endpoint
REST Service Consumption Post Processing SQL Query: Join Local Data to the Web Source Result Data
REST Service Consumption Web Source Modules: Custom PL/SQL Code Access Web Source Modules within custom PL/SQL Code: Execute "GET" request and provide a "cursor" object APEX_EXEC.OPEN_WEB_SOURCE_QUERY Execute POST, PUT, or DELETE requests APEX_EXEC.EXECUTE_WEB_SOURCE Use Web Source Modules as a Plug-In developer: "Region Source supports different Data Sources" Plugin Attribute Use APEX_EXEC PL/SQL package in Plug-In code
REST Service Consumption Use Cases Access data from other Oracle Databases using REST Similar use case to REST Enabled SQL, however REST Enabled SQL requires privileges to directly access tables on target database via SQL. Many databases do not allow this type of access but do provide standardized REST services. Access internal systems (non Oracle Databases) within an Oracle APEX application Writing extensions to third-party in-house systems that provide REST APIs. Access Oracle SaaS functionality from within Oracle APEX applications. Access external APIs (non Oracle Databases) or fetch external data feeds within Oracle APEX applications
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
New REST Workshop ORDS Repository Declarative REST service support for ORDS-enabled REST services. New REST workshop supports REST web services developed using the ORDS repository. Oracle APEX 18.1 requires ORDS 17.4.1 and above to provide full integration with the ORDS repository You can migrate any existing APEX-based REST services Prior to version 18.1, the definitions of RESTful services created within Application Express were stored within the metadata tables of the core Application Express schema. From 18.1 Oracle recommends the migration of all RESTful services to the Oracle REST Data Services (ORDS) repository. This makes it easier to manage RESTful services in a single place using a multitude of tools, including Application Express, SQL Developer, SQL Plus, SQLcl, and so on. Oracle Application Express 18.1 requires ORDS Version 17.4.1 and above to provide full integration with the ORDS Metadata repository. Functionality of the REST Services section of Application Express provides for the following scenarios. When running Oracle Application Express 18.1 with a version of ORDS prior to Version 17.4.1, Only the traditional Oracle Application Express based REST Services console is available. You can continue to create and maintain Oracle Application Express based RESTful services and they will be stored in the traditional Oracle Application Express metadata repository. When running Oracle Application Express 18.1 with a version of ORDS 17.4.1 and above and the workspace currently contains Oracle Application Express Based RESTful services. You will be given read-only access to the traditional Oracle Application Express based RESTful Service pages. The current services continue to work , however, you are not be able to create new or edit existing Application Express based RESTful services. Clicking Migrate to ORDS RESTful Services button migrates all existing Oracle Application Express based RESTful services within the workspace to the ORDS metadata repository. When running Application Express 18.1 with a version of ORDS 17.4.1 and above and the workspace currently does not contain any Oracle Application Express based RESTFUL services, you are navigated to the new ORDS based Restful Services pages and will not have access to the traditional Oracle Application Express based RESTful services screens.
New REST Workshop Using the ORDS Repository Create and manage REST Services in any schema assigned to a Workspace Generate Swagger documentation On the Module report page and in the Templates report on the Module Definition page you can see a visual indication of whether an all or part of a module, or an individual template is protected by an ORDS Privilege. This helps make sure services aren’t accidentally left open to the world.
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
Interactive Grid Enhancements Client-Side Behavior and Processing Copy-Down Support to copy data from one row to other rows Copy to Clipboard for row or cell range selections New Interactive Grid Dynamic Action events are added: Mode Change, Page Change, Report Change, View Change, and Save User settable report setting "Actions > Format > Stretch" Column Widths and column attribute "Stretch" provides declarative control over how the column width will stretch to fill available space or not.
Interactive Grid Enhancements Documentation Documentation of public JavaScript widget APIs Provides supported and documented JavaScript APIs for widgets like Interactive Grid, Tree, etc Automatically generates documentation from JavaScript doc comments
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
Page Designer Enhancements Property Editor Enhancements Updated UI to improve usability When an attribute has focus, the group becomes highlighted Improved "Go to group" functionality Alignment property (for example, column heading alignment in an interactive report) now use a pile button
Page Designer Enhancements Sticky Filters You can now pin keywords to have them persist as you click around Page Designer
Page Designer Enhancements Miscellaneous New indicator (red dot) if a page component has a condition Component name strikethrough if it has a 'Never' condition Page Designer Toolbar > Utilities includes option to enable and disable tooltips within the UI
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
Oracle JET & jQuery Upgrade New 3rd Party Libraries Upgraded jQuery & jQuery UI Libraries jQuery 3.1.1 and jQuery UI 1.12.0 Review jQuery Upgrade Guide New Oracle JET libraries JET 4.2.0 Impact on custom JavaScript
Oracle JET & jQuery Upgrade New Chart Types and Attributes New Gantt Charts Based on JET ojGantt component Responsive, theme-able, WAI-ARIA compliant New Chart Types – Pyramid, Box Plot New Chart-Level Attributes: Fill Gaps in Chart Data – Yes / No Sort Order New Series-Level Attributes: Display As Value Aggregation Enhanced Sample Charts application
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
Universal Theme Updates Improvements for Mobile UI JQuery Mobile Apps can now be transitioned to Universal Theme New Region Types for Mobile UI patterns: Reflow Report List view Column Toggle Report Support for touch gestures (Swipe, Tap, etc.) New Mobile Navigation template Performance Improvements In this release, the Universal Theme is optimized to work equally well in either a mobile or desktop environment. In previous releases, the Mobile user interface is based on jQuery Mobile. Although jQuery 3.2 is included with this release, Oracle recommends migrating existing mobile applications to the Universal Theme prior to upgrading to Oracle Application Express release 18.1. Reflow Report: Creates a responsive report designed for mobile applications and Smartphones. When there is not enough space available to display the report horizontally, the report works by collapsing the table columns into a stacked presentation that looks like blocks of label and data pairs for each row. List View: Features a responsive design to display data and provide easy navigation on Smartphones. Creates a page that contains the formatted result of a SQL query. You choose a table on which to build the List view and select a database column to be used for the List view entry. Column Toggle Report: Creates a responsive report designed for mobile applications and Smartphones. By default, column toggle reports are created with all columns set to the same priority. However, the developer can edit the report column attributes and rank columns by importance. Columns with a lesser priority (larger number) are hidden at narrower screen widths. The report includes a Columns button which enables end users to select which columns they want to view. Support touch for jQuery UI mouse interactions including draggable, droppable, and sortable. This can be seen in various places such as in Page Designer drag and drop and adjusting splitter positions.
Universal Theme Updates Floating Labels Optimized for Mobile UI Form Item Labels can now be placed to the side or top of the input fields. New Form Item Label template – "Floating" Positions the label inside of the input field. Label automatically shrinks upon entering a value in the input field
Universal Theme Updates Template Options and Font APEX 2 Updated Font APEX with new set of high-resolution icons. Additional new template options for many templates Breadcrumbs can now be rendered compact Region templates can now display icon in the region header Left-side navigation menu can now be collapsed by default
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
APEX Spotlight Search Developer Experience Provides quick navigation and unified search experience across APEX Activate by clicking search button from header, or using the keyboard shortcut Ctrl + ' You can navigate to most screens within APEX builder Quickly jump across apps and pages Also works in Page Designer – can focus on page components
New Create Application Wizard REST Enabled SQL Support REST Service Consumption New REST Workshop Interactive Grid Enhancements Page Designer Enhancements Oracle JET & jQuery Upgrade Universal Theme Updates APEX Spotlight Search Miscellaneous
Item Type Improvements New Item Type New "Text Field with Autocomplete" item type Based on Oracle JET Input Search component. Better Dynamic Action support, better Usability and Accessibility. Automatic migration for existing items during upgrade.
Authentication Scheme Enhancements New Authentication Scheme New authentication scheme – Social Sign-In Supports Oracle Identity Cloud Service, Google, Facebook, OpenID Connect, OAuth2 New authentication scheme attribute "Switch in Session" for schemes that can be set in the current session. Social Sign-In preconfigured authentication scheme supports authentication with Google, Facebook, and other social network that supports OpenID Connect or OAuth2 standards. Social Sign-In authentication is primarily useful for the following use cases: Your application is internet facing and you expect an unknown number of users from social networks to use your application. Your company has standardized on one of these providers, Oracle Identity Cloud Service, an internal OpenID Connect or OAuth2 system for authentication. User credential verification is performed by these systems. Be aware that anyone who is registered at this provider can use your application, unless you use authorization schemes for protection.
Advisor Improvements New Advisor Checks Accessibility checks to check your apps for common accessibility issues Performance check for inclusion of compatibility JavaScript
Developer Toolbar Improvements Developer Productivity Developer Toolbar shows a red indicator if there is any JavaScript error on the page
Developer Toolbar Improvements Developer Productivity Page Info > Show Page Timing displays the page performance timing