apex 18.1 new features - s3-us-west-2.amazonaws.com18.1+new+features.pdf · apex new features...
TRANSCRIPT
APEX New FeaturesOverview
2
3
Evolution of APEX Community• The Oracle APEX Community at-a-glance:
– 400,000+ APEX developers world-wide – 20+ APEX hosting companies – 100+ active blogs – 30+ commercial applications – 35+ APEX books – 15+ customer success stories – 35+ customer quotes
4
apex.world• http://apex.world • Site built and maintained by the APEX community
– Plug-Ins – Slack Channels – Twitter Feed – News – Jobs – Conferences – Meetups
5
Built with• http://builtwithapex.com
– Showcases several public-facing sites developed with Oracle APEX
– Over 100 sites; more being added
6
Links• Oracle Technology Network
– http://otn.oracle.com/apex
• APEX Community – http://apex.oracle.com/community
• Free Hosted Instance of APEX – http://apex.oracle.com
• APEX Cloud Service – http://cloud.oracle.com
7
Oracle APEX Highlights• No-cost fully supported feature of the Oracle Database
– Any number of developers, apps, & end-users – Fully supported by dedicated Oracle Support team – Database releases supported: 11gR1, 11gR2, 12c – Database editions supported: EE, SE, SE1, XE
• Easy to install – Included by default with all editions of Oracle Database – Download latest release from http://otn.oracle.com/apex
• Included with Oracle Cloud Services – Exadata Express & Schema services 5, 20, 50 GB – Dedicated DBaaS services – No cost evaluation http://apex.oracle.com
8
APEX 18.1
9
From 5.1 to 18.1• APEX is adopting the new versions scheme that the
Oracle Database team has set forth
10
18.1.0Ye
ar of
Releas
e
Releas
e Num
ber
Patch N
umber
APEX 18.1• Currently in Early Adopter phase
– Typically two revisions – Revision 2 started on March 12th, 2018 – Production best guess is sometime in April/May 2018
• Try it out yourself: – https://apexea.oracle.com – Requires an OTN account (free) – Anything you do there will die there
11
APEX 18.1• Create Application Wizard • OAuth2 Authentication • Interactive Grid • Page Designer • REST Enabled SQL • Web Sources • RESTful Services • Mobile Support
• Miscellaneous – Items – External Libraries – Packaged Applications – JavaScript API Docs – Tree Region – Universal Theme – Spotlight Search – Text Message Substitution – Developer Toolbar – Advisor
12
Create Application Wizard
13
Create Application Wizard• New “low code”
Create Application wizard – Replacement for current
create application wizard
• Provides quick creation of complex pages – Dashboards, Filter
Reports, Master-Detail, etc.
14
Create Application Wizard• Ability to add complete & complex features that
provide commonly requested/required functionality – Simply select each feature that is needed
15
Blueprints• Once an application is “configured” with the new wizard,
a blueprint of that application can be extracted in JSON format
• JSON document can then be edited to make changes and re-loaded to same or different workspace
16
Demo: Create Application Wizard
17
OAuth2 Authentication
18
OAuth2 Authentication• APEX now supports native OAuth2-based
Authentication – Can be used for APEX Workspaces or APEX Applications
• Four options out of the box: – OpenID Connect Provider – Generic OAuth2 Provider – Google – Facebook
19
Credentials• New shared component: Credentials
– This is where you store the Client ID & Client Secret
• Two Types: – OAuth2 Client Credentials Flow – Basic Authentication
• Used with OAuth2 Authentication Schemes – Determined by the provider (Google, Facebook, etc.)
20
Gatekeeper• When using a Social Sign-In Authentication Scheme,
any valid user will be able to login to your application – Thus, all of Facebook, Google, etc.
• Must also consider a “gatekeeper” authorization scheme applied to the application – Need to determine how to manage the list of authorized users – Account for users who will change their user name
21
Demo: OAuth2 Authentication
22
Interactive Grids
23
Interactive Grids• Interactive Reports will eventually be replaced by
Interactive Grids – No timeline; best guess is 2+ major releases – Will be migration path provided at that point – Goal in APEX 18.1 is to provide IGs with all current IR
functionality to bring them up to speed
24
Copy Down & Copy to Clipboard• Copy Down support and range selection
– Actions > Selection sub menu (Fill and Clear)
• Copy to Clipboard – For row or cell range selections
25
Stretch Column Widths• User configureable report setting
– Actions > Format > Stretch Column Widths
• Column attribute Stretch provides declarative control over how the column width will stretch to fill available space or not
26
Dynamic Actions• New Interactive Grid Dynamic Action events
– Mode Change – Page Change – Report Change – Save
27
Interactive Grids - New Features• Documented PL/SQL API “APEX_IG”
– Supported API to manage IG
• Public JavaScript widget APIs – Supported JavaScript APIs to interact with IG
28
Demo: Interactive Grids
29
Page Designer
30
Page Designer• Legacy Component View is gone in 18.1
– Individual edit pages removed – Reports will link to Page Designer – Create Region wizards invoked from Page Designer
• Embedded Component View will live – And go through a re-design
• Full Page Designer support for Shared Components – Post 18.1
31
UI Enhancements• Cleaner user interface
32
Page Designer• Sticky Filters
– Set a filter to persist or “stick” in the Property Editor – Won’t change as you select different components
• Anchor – Addition of ‘Anchor’ attribute for link property types
33
UI Enhancements• Better Zoom
– Increase/Decrease size of displayed data
• Remove various buttons – Show/Hide all – Expand/Collapse all – Goto Group
34
Demo: Page Designer
35
REST Enabled SQL
36
REST Enabled SQL• Execute SQL or PL/SQL on a remote database via
ORDS & REST • Requires:
– ORDS 17.3+ with “ad-hoc SQL Runner” – Connection pool configured for target database
• Similar to a database link, but with JSON • Goal is to extend this to reports, charts, forms,
calendars, etc.
37
REST Enabled SQL• How it works:
– Submit SQL to execute – ORDS 1 receives and dispatches to ORDS 2 – ORDS 2 uses ad-hoc SQL Runner to generate results – ORDS 2 then returns a self-describing result set to APEX – APEX then builds a SQL statement against the JSON data set – Report is rendered and user is none the wiser
38
39
REST Enabled SQL
Browser ORDS 1 APEX & DB
JDBC
JDBC
ORDS 2
ORDS 3
Web Sources
40
Web Sources• New declarative data source based on external
RESTful APIs & JSON data feeds – Stored as Shared Components
• Can be used as the source of: – Interactive Reports – Interactive Grids – Charts – Forms – Calendar
• Existing Web Service References will be migrated41
Web Sources• APEX can automatically discover and maintain the
Data Profile of a Web Source – Or you can do it manually for more complex web services – Can apply transformations to incoming data – Support for all popular methods (GET, POST, PUT, etc.)
42
Data Profile• The Data Profile maps Oracle datatypes to web
service data – Mappings can be managed and changed based on need – Possible to derive columns
• Example: convert epoch time (number) to Oracle date (date)
• Support for arrays – Set Contains Single Row to No and provide a Row Selector
43 44
Data Profile
Web Sources API• Web Sources can also be called via the APEX_EXEC
API via PL/SQL – No specifics on how right now
45
Demo: Web Sources
46
RESTful Services
47
RESTful Services• Consolidates APEX & ORDS based REST services into
a single location – Which is ORDS
• RESTful Services defined in APEX 18.1 will now show up in SQL Developer and vice versa – Ending a lot of confusion that developers had
48
RESTful Services• Depending on the version of ORDS, you will see/be
able to do different things • ORDS Pre-17.4.1
– See and create new APEX RESTful web services
• ORDS 17.4.1 w/APEX-based RESTful services – APEX-based RESTful web services are read only – Can be easily migrated to ORDS-based where they will be read/
write
• ORDS 17.4.1 w/no APEX-based RESTful services – Only be able to access the ORDS-based console
49 50
New ORDS-based console
New ORDS-based console• Module, Template & Handler pages all get a refresh
– Left-side tree used for navigation – No right-click context - yet
51
New Features• No longer are RESTful services tied to the first
schema associated with a workspace – Option to select schema is available
• Swagger Doc for Modules – ORDS functionality for this is available via APEX – Instance setting for a Swagger UI server
• Protected Services – Modules have an indicator as to whether or not they require
authentication – Report also available for all modules
52
Demo: RESTful Services
53
Mobile Support
54
Mobile Support• jQuery Mobile interface will be de-supported in
APEX 18.1 • Here’s why:
– Latest stable version of jQuery Mobile dates back to October 2014
– Oracle JET requires jQuery 3.2 – jQuery Mobile does not work with jQuery 3.2
• Thus, to continue to use Oracle JET, jQuery Mobile has to be removed
55
Mobile Support• APEX Applications that use jQuery Mobile will
need to be migrated to the Universal Theme • To compensate, changes are being made to the
Universal Theme to pick up the slack – This way, the APEX team will have 100% control over the UI of
all APEX applications - desktop & mobile – Example: List View Region is now available in the Desktop UI
• Expect to see more Oracle JET components to assist with mobile
56
Mobile Support - New Regions• Reflow Report
– Columns will re-organize from traditional style to a single column when displayed on a phone
• Column Toggle Report – End user can select which columns to display
57
Mobile Support & Universal Theme• Universal Theme also enhanced for better mobile
support – New navigation tabs – Ability to stick buttons on bottom of screen – Swipe support for carousel – Compact breadcrumbs – Declarative touch events with DAs
58
Demo: Mobile Support
59
Miscellaneous
60
Miscellaneous• Items • External Libraries • Packaged Applications • JavaScript API Docs • Tree Region • Universal Theme • Spotlight Search • Text Message Substitution • Developer Toolbar • Advisor
61
Items• New Auto-Complete item
– Based on Oracle JET Input Search component – Better DA support & usability
• Responsive Rich Text Editor
62
Oracle JET• Oracle JET version 4.1
– Enhanced chart types – New item types
• More details on JET: – http://www.oracle.com/webfolder/technetwork/jet/index.html
63
Oracle JET Visualizations• New chart/visualization types:
– Box Plot – Pyramid – Gantt
• Updated Sample Charts application – Found in packaged applications
64
Oracle JET Items• Text with Autocomplete
– Replaced older jQuery based one
65
jQuery & Others• jQuery 3.2 • jQuery UI 1.12.0 • Full Calendar 3.3.1 • Remove jsTree
– Replace with new APEX tree widget – jsTree-based Trees will be automatically converted
66
Packaged Applications• No new ones • Minor enhancements to existing ones to account for
APEX 18.1 new features
67
APEX JavaScript API Docs• Preview of long-awaited APEX JavaScript API
Documentation • Can currently be viewed only here:
– https://apex.oracle.com/pls/apex/apex_pm/r/520052/files/static/v108/jsdoc/index.html
• Subject to change as EAs are revised
68
Tree Region• New JavaScript Initialization Code • Added Default Icon attribute
– Allows Icon Type to be empty (without forcing a-Icon). • Improved Page Designer help text for all attributes • Support Dynamic Action Event
– Selection Change
• Advanced Config option (nodeSelector) to support checkbox selection
• Tree region now supports the apex.region API • Copy selection to clipboard
69
Universal Theme• Floating Labels for Items • Font APEX 2
– Automatic icon size based on template
• Several improvements for mobile + small screens • Refinements + polish across UT components
– Badge List can be square or circle
• "Automatically" hide pagination when not needed with Template Option
• Refreshed "Vita" theme style with dark gray left side nav menu • Number of accessibility fixes • Improved card styles (with new block style)
70
APEX Spotlight Search• Activate with CTRL + ‘ or clicking Search • Once activated, results will change based on what you
type – Jump to applications and pages – Jump to shared components or a type of shared component – Focus on a page component
71
Text Message Substitutions• Enhanced ability to get a message
– Use the following syntax: v('APP_TEXT$MY_MESSAGE')
– For translations:v('APP_TEXT$MY_MESSAGE$XX')
– Where “XX” is the 2-letter country code of the language
• Same syntax is also available via apex.util.applyTemplate Javascript API
72
Developer Toolbar• JavaScript Error indicator
– Red icon will display where there are errors in the JavaScript console
73
Developer Toolbar• Page Timing information
– Page Info > Show Page Timing
74
APEX Advisor• New checks in the APEX Advisor
– Performance • User Interface includes compatibility JavaScript
– Accessibility • Theme Style tested for accessibility
• Page has page title
• Region has Row Header
• Chart type supports accessibility
• Page item has label
• Page item does not cause an unexpected context change
• Display Image item has image ALT text defined
75
Deprecated/Desupported Features
76
Deprecated & Desupported Features• Deprecated
– “Deprecated features are features which Oracle plans to desupport or remove in a future release of Oracle Application Express”
• Desupported – “Desupported features are no longer available”
77
Deprecated Features
78
Deprecated Features• jQuery Flot and Flot Plug-ins Deprecated
– Packaged Applications have also been updated to remove Flot Line, Flot Bar, and Flot Pie chart plug-ins
– Update any usage of those charts to new JET-based charts
• APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES Function – Replace with apex_plugin_util.get_element_attributes
79
Deprecated Features• Deprecated / Desupported JavaScript Functions
– Any function in legacy.js should not be referenced – Option to include Legacy Javasript is available via Shared
Components > User Interfaces
• External Processing in Classic Report Deprecated • APEX_UTIL.STRING_TO_TABLE &
APEX_UTIL.TABLE_TO_STRING Functions Deprecated – Use APEX_STRING.STRING_TO_TABLE &
APEX_STRING.TABLE_TO_STRING instead
80
Desupported Features
81
Desupported Features• Removed Packaged Applications
– QuickSQL & REST Client Assistant
• Removal of Outdated Third Party Libraries Versions – jsTree 0.9.9
82
Desupported Features• Several Conditions - Server-Side, Read Only &
Server Cache & Link Conditions - will no longer be available – CGI_ENV – Client Browser – SQL Reports – Current Page =/!= Page Submitted (posted)
Text =/!= Value – Text is/is NOT contained in Value/Item – Always (server cache & link condition)
• See release notes for specifics and workarounds83
Desupported Features• Component View
– The Component View “tab” in page designer will still be supported
• APEX_UTIL.SET_CURRENT_THEME_STYLE – Replace with APEX_THEME.SET_CURRENT_STYLE
• Conditional File Loading for Microsoft Internet Explorer • Themes 1–26 and Theme 50 Deprecated
– Time to change to the Universal Theme
• apex.server Plugin and Process Function Async Option Desupported
84
Desupported Features• jQuery Autocomplete and jsTree Plugins are
Desupported – New APEX Tree is the replacement for the tree – New JET-based Autocomplete is the replacement for the
jQuery-based Autocomplete – Oracle strongly recommends that you update your applications
to work with jQuery 2.2.x without jQuery migrate 1.4.x
• Old jQuery Versions Desupported – jQuery versions 1.4.2, 1.6.2 and 1.7.1 are no longer used
85
Desupported Features• Legacy Chart Components Desupported
– Some legacy chart components are no longer supported (such as HTML Charts and SVG Charts) following the removal of Component View
– Because these legacy charts are not supported in Page Designer, app developers may be left with regions that they cannot edit. Customers with existing HTML and SVG charts are automatically upgraded to the latest version of JET charts, in the following ways: • When you upgrade to Oracle Application Express 18.1
• When you import an older app to Oracle Application Express 18.1
86
Desupported Features• Desupport of jQuery Mobile and Mobile User
Interface – All new application development targeted at mobile devices
should be done using the responsive Universal Theme. – Existing mobile applications should be migrated to the Universal
Theme prior to upgrading to Oracle Application Express release 18.1
• Desupport of APEXExportSplitter – Use the -split option in APEXExporter
87
Summary
88
Summary• APEX 18.1 delivers both minor changes and major new
features – Emphasis on web services integration is clear – Built-in OAuth authentication shows commitment to public-
facing applications – Minor updates to IG, Charts are also welcome
• Release date still TBD; likely April/May 2018 – In the meantime, take the EA for a drive
89 90