It’s Canadian Thanksgiving weekend.
The year is 2020, which means a lot of us are scraping the bottom of the barrel to come up with things to be thankful for. It’s been that sort of year. But lo and behold, the Oracle APEX team decided we needed a bit of cheering up, and has given us something to be truly thankful for! A brand spanking shiny new release. Way better than turkey any day! So let’s run through some of the Oracle APEX 20.2 new features.
At the time of publication, official 20.2 documentation is not yet out. However the Oracle APEX team has published a great document highlighting the main elements of this release. You can find it here.
Many thanks to Patrick Wolf, who spent the day of the release live tweeting and highlighting the new features. This post is an attempt at capturing them all for those that may have missed them!
New Card Region
From the release notes: The new Cards Region is a lightweight report region, declaratively supporting customizations of layout, appearance, icon, badge, media and actions. Use cards to embed and share media sourced from BLOB column, URL or video in iFrame.
As Cards usually provide entry to more detailed information, you can include a number of actions as button or links declaratively.
Check out the samples in the UT Sample App, and Chatianya’s great post here.
Read on to see what the community had to say!
APEX 20.2: Cards – New fully declarative, but still flexible region type. Checkout UT sample app for nice examples https://t.co/wrV4ZhUt0j Credit goes to @ChristinaCho22 #orclapex pic.twitter.com/jV0FSdC54x
— Patrick Wolf (@patrickwolf) October 10, 2020
@ChristinaCho22 I love the new Card Region!!! So many declarative options, still discovering them all ♥️
Media support, action buttons and more. Love, love, love!
Also, friends, you’re welcome for the cute puppies.#orclapex APEX 20.2 pic.twitter.com/9jMyEqNSSV
— Michelle Skamene (@mskamene) October 10, 2020
My custom made advanced card based visualization now works without any issue with new “Card” region & redwood theme using #OrclAPEX 20.2. This new region type has lots of options to explore. End users gonna love it. #Oracle #INOAUG #OracleJET #MOCA #LowCode pic.twitter.com/jO50QrDzjE
— Mehul Pandya (@mjpandya82) October 11, 2020
Faceted Search Enhancements
From the Oracle APEX 20.2 New Features notes:
- Bar or pie charts of facet value counts. Quickly display a chart of facet value counts in a dialog or ‘dashboard’ area.
- Groups of checkbox facets for Boolean columns. Checking the facet will find records that match the ‘yes’ or ‘true’ value of the column.
- Input Field facet type supports comparing a user-entered value with the facet column. This enables faceted searches such as finding stores within a user entered number of miles or records where a column contains the user entered text.
- Performance optimization for distinct value facets
See a thorough blog post from Monica Godoy about the new enhancements here
APEX 20.2: Faceted Search adds new Facet type called ‘Input Field’. Developers can specify a predefined comparison operator like Greater Than, … which is used to filter the user entered value. Great for use cases like customer# lookup, companies within x miles, … #orclapex pic.twitter.com/dYLeIbbwFD
— Patrick Wolf (@patrickwolf) October 10, 2020
Finally the result. Faceted Search with a Facet Group showing all the individual database columns as one Facet. Much cleaner than before where each column would have been one facet. #orclapex 2/2 pic.twitter.com/rGk75LYNEH
— Patrick Wolf (@patrickwolf) October 10, 2020
Variation 2: Faceted Search Result displayed in a Dashboard. 2/2 pic.twitter.com/yKdlh7hVxU
— Patrick Wolf (@patrickwolf) October 10, 2020
Automations
From the Oracle APEX 20.2 New Features notes:
Automations are a sequential set of PL/SQL actions, triggered by query results. They are used to monitor data and then perform the appropriate action (examples are auto-approving specific requests and sending email alerts). An automation can be triggered on Schedule or on Demand, by invoking the APEX_AUTOMATION package. Query results can be derived from:
- Table or View, SQL Query or a PL/SQL function returning a SQL Query.
- Local Database or REST Enabled SQL
- REST Data Source (aka Web Source Modules)
APEX 20.2: Need to periodically run something? Have a look at our new Automations feature! It’s great to monitor your data and then perform actions like sending e-mails, auto-approve requests, … In my example, I do want to send a reminder email to managers, 1/3 #orclapex pic.twitter.com/xHMr8Ot7S4
— Patrick Wolf (@patrickwolf) October 21, 2020
Report Printing
Native Excel download for IR, IG
New APEX_REGION.EXPORT_DATA and APEX_DATA_EXPORT APIs to programmatically generate PDF, CSV, Excel, HTML, JSON and XML files.
Finally here in 20.2! Native Excel download for IR, IG and via new APEX_DATA_EXPORT api. No messing around with CSV delimiter or data types anymore! Excel export is using native Excel data types, includes Control Breaks, Highlighting, … Big shout out to @mennooo #orclapex pic.twitter.com/REg1Ke2wSU
— Patrick Wolf (@patrickwolf) October 10, 2020
Built-in PDF now supports Chinese, Japanese and Korean languages.
APEX 20.2: Chinese, Japanese and Korean character support has been added to built-in PDF generation. Arabic planned for future release. App level attributes ‘Report Printing’ specifies if built-in PDF or external print server should be used. @mennooo is now our PDF exp #orclapex pic.twitter.com/h5O3jC7weZ
— Patrick Wolf (@patrickwolf) October 10, 2020
REST Data Source Synchronization
From the Oracle APEX 20.2 New Features notes: APEX supports data synchronization from a REST Data Source (formerly known as Web Source Modules) to a local table. Synchronization can run either on Schedule or on Demand, by calling the APEX_REST_SOURCE_SYNC package. Developers don’t need to build custom PL/SQL code in order to copy data from REST services to local tables; APEX provides this as a declarative option.
- APEX can generate the local target table automatically, based on the attributes of the REST Data Source.
- REST Source Data can be appended or merged to the local table. Replacing all local data is also supported.
- APEX components using the REST Data Source can be configured to use the local table instead.
- Technical details like HTTP request limits, commit intervals or delete methods for the Replace mode are configurable.
APEX 20.2: Does your app consume REST Data Sources, but they are slow? Have a look at our new ‘Synchronization’ feature which populates a local table periodically. This allows to use all the magic of the database like indexes, Oracle Text, … you are used to. #orclapex pic.twitter.com/lfWEWNhKKR
— Patrick Wolf (@patrickwolf) October 10, 2020
Stew seems to think it’s a good idea!
REST Data Source Connector Plug-Ins
From the Oracle APEX 20.2 New Features notes: The APEX Plug-In infrastructure has been extended to support Connector Plug-Ins for external REST APIs. This enables APEX to fully leverage REST API features like result pagination or server-side filtering, also for 3rd Party REST Services which are not ORDS or Oracle Fusion SaaS Services.
- The Developer creates a Plug-In of the REST Data Source type.
- The Plug-In code handles REST service-specific implementation details like the pagination style or how filters are passed to the REST API.
- When APEX invokes a REST Data Source (e.g. to render a report), the engine will invoke the Plug-In code and pass all relevant context information.
- The Plug-In code executes one or multiple HTTP requests and passes results back to the APEX engine.
- APEX processes the REST response received from the Plug-In.
Unfortunately REST is a vague ‘standard’. Plug-in developers, APEX 20.2 has a new opportunity for you! Implement adapters for REST endpoints to optimise access. Pagination, remote filtering, … All at your fingertips to speedup REST access. Credit goes to @cczarski #orclapex pic.twitter.com/ykA76gyRMC
— Patrick Wolf (@patrickwolf) October 10, 2020
Questions & Comments
Juergen asked about ODATA support:
Developer Experience
Region attributes
Page Designer has been enhanced to support multiple tabs in the Property Editor pane, making it more efficient to access the attributes of a region.
New code editor
A new code editor has been implemented throughout the development environment, resulting in a greatly improved code editing experience. The improved editor includes enhanced code completion, syntax highlighting and vastly improved accessibility.
How do I edit region attributes in APEX 20.2?
(for those wondering where this went)https://t.co/6JtKfvx0EP#orclapex #LowCode #MOCA pic.twitter.com/BfA02aMhY8
— Joel R. Kallman (@joelkallman) October 10, 2020
APEX 20.2: We have made a change to how you edit a region’s ‘Attributes’ and ‘Printing’ properties, in Page Designer. To simplify editing experience and optimise space in the tree, they do now show up as tabs in Property Editor #orclapex pic.twitter.com/XOWmoaGkbr
— Patrick Wolf (@patrickwolf) October 10, 2020
The code editor in #orclAPEX just got a lot better. Check out the *context-aware* Javascript autocompletion & inline documentation (via CTRL+Space) 🚀
Also do your eyes a favor and set it to dark mode 🌗 pic.twitter.com/A1G2cKCEFS— Stefan Dobre (@stefan__dobre) October 10, 2020
APEX 20.2: New coding experience powered by Monaco editor (also used by VS Code). Checkout Command Palette (context menu or F1). https://t.co/WVhJQzYjfH has a good compilation of keyboard shortcuts.
Credits go to @stefan__dobre! This is just the beginning, more to come. #orclapex pic.twitter.com/GSyT1V5ux0— Patrick Wolf (@patrickwolf) October 10, 2020
Daniel seems to approve!
I ❤️ the new code editor in #orclapex 20.2. You even have autocomplete in Quick SQL! 👍 pic.twitter.com/nTGmQhFifl
— Daniel Hochleitner (@Dani3lSun) October 10, 2020
New and Improved Items
Text Item improvements
APEX 20.2: Simple but sometimes useful, ‘Text Field’ item type can now make sure that the entered value is always stored and displayed in upper or lowercase. No unnecessary PL/SQL code anymore to convert the entered value yourself. Credit goes to @askMaxSolutions
#orclapex pic.twitter.com/bv2bpnqzmP— Patrick Wolf (@patrickwolf) October 10, 2020
File Browse item type
It’s also possible to add a upload animation to the file dropzone when the page gets submitted by providing ‘data-show-progress=”true”‘ to items custom attributes pic.twitter.com/71WVAH9hLB
— Daniel Hochleitner (@Dani3lSun) October 10, 2020
Got a thumbs up from Denes!
New Checkbox item type
APEX 20.2: New single checkbox item type for Page Items and IGs. It has two values, checked and unchecked. For IG you don’t have to be in edit mode to change the checkbox. The new item type is called Checkbox, the existing one has been renamed to Checkbox Group. #orclapex pic.twitter.com/Fz1APxfZax
— Patrick Wolf (@patrickwolf) October 10, 2020
Lots of excited comments about this one!
Miscellaneous
Web Source Modules are now “REST Data Sources”
Web Source Modules are now “REST Data Sources”.
But there is more. For instance,
want to sync a local table to a REST API …?
Use the new Synchronization feature, and have APEX 20.2 doing all the work for you.https://t.co/TChh5I2OtB#orclapex pic.twitter.com/dhrLjWWZkh— Carsten Czarski 😐 (@cczarski) October 10, 2020
Tree Region lazy loading
APEX 20.2: Tree region also got some long overdue 💕. It now supports Lazy Loading and it can be refreshed using the ‘Refresh’ dynamic action. No need for a full page refresh anymore. Again, credit goes to @Dani3lSun #orclapex pic.twitter.com/IUOBRCI9Wa
— Patrick Wolf (@patrickwolf) October 10, 2020
Send the payload of a REST request in multipart/form-data format
APEX 20.2: Need to send the payload of a REST request in multipart/form-data format? APEX_WEB_SERVICE api has been enhanced to support that. @JasonAStraub thanks for adding this last minute customer request. @PeterRaganitsch time to try it out! #orclapex pic.twitter.com/aCapsg0Uio
— Patrick Wolf (@patrickwolf) October 10, 2020
Saved Report Static ID Support
Setting Interactive Grid Filters in a link is already available in APEX 20.1 (https://t.co/0ZcyMqILpW), but changing the report alias in Page Designer didn’t make it anymore. APEX 20.2 has you covered! @Hils, time to get a twitter account 😉 #orclapex pic.twitter.com/dMJfXkCJCT
— Patrick Wolf (@patrickwolf) October 10, 2020
Client side symbol substitution supports if and case conditions and simple loops
A hidden gem in #orclapex 20.2. You’ll see this in the help for some HTML Expression attributes of Cards and IG. What could it mean? Client side symbol substitution supports if and case conditions and simple loops. 1/4 pic.twitter.com/QbbrsRlT3A
— John Snyders (@J_Snyders) October 12, 2020
Review embedded code!
APEX 20.2: Want to know, review, and perform a security assessment of all the handcrafted code in our application? We have you covered! Go to Application -> Utilities -> Embedded Code. Review it online or get a download for external 3rd party tools. #orclapex pic.twitter.com/1BS74JACXp
— Patrick Wolf (@patrickwolf) October 19, 2020
Since I have a Thanksgiving meal to prepare, I’ll have to stop playing with all the new Oracle APEX 20.2 new features for now.
I am very much looking forward to learning more about Automations. Which of the new Oracle APEX 20.2 features are you most excited about? I hope you’ll share in the comments.
Happy Thanksgiving to those that are celebrating!