As with each release, 23.1 has introduced the community to many new and exciting features, improving user experience and allowing us developers to find new ways to revolutionise our work with Oracle APEX. These include some marquee features such as template components, PWA push notifications and the integration of SQL developer, as well as some general builder improvements and enhancements. I will jump into some of these to demonstrate how helpful these new features can be and how you can incorporate them into your work.
Following the addition of progressive web app (PWA) features being implemented in recent releases, Oracle has continued to build on this with the introduction of 'PWA push Notifications'. This feature allows users to receive notifications on their desktop or mobile device. Even when they are not in an active session on the APEX app, they can receive a notification including a message title, body, icon, and link, which will instantly direct them back to the application with a single click. This is an incredible addition because it can be easily applied by developers and will appear slick and stylish for the end users. Due to privacy purposes, this feature needs to be enabled by the user, as they can choose whether they would like to opt-in to receive messages. To do so, select the 'Push Notifications' checkbox under the features heading upon creating a new application on your environment.
It can be added for existing apps by turning on 'Enable Push Notifications', navigating to 'Shared Components', and selecting 'Progressive Web App' under the 'User Interface' section.
You will need to generate credentials and create a settings page within this screen by pressing the buttons next to the select lists if neither are already set up.
For end users, they need to open the APEX application in their preferred browser and switch the feature on by selecting the settings item in the navigation bar and turning the switch on. For them to receive the notifications on their mobile, they will need to first install the application onto their device by pressing the icon next to their username in the top right corner.
The notifications can be sent via page processing using the 'Send Push Notification' type and can be done on a button press or page submit. This will require the developer to fill in the necessary fields (username, message title and the message body) and is ideal for sending notifications to a specific user, e.g. an admin receiving a message upon a report being downloaded or a form being submitted.
However, if developers want to send notifications to multiple users and apply additional parameters and customisation, this can be done via the apex_pwa API. This allows for looping around users and sending the notification instantly using push_queue. If you wanted to send out a notification to all opted-in users, you're able to take this approach and find out who has subscribed to the notifications setting by querying the apex_appl_push_subscriptions table. You can also check any pending notifications or errors within apex_push_notifications_queue as you would with emails using apex_mail_queue.
To learn more about progressive web apps and their role in the newest APEX releases, read our blog post: PWA: Progressive Web Applications.
One feature that really stood out from a UI/UX perspective is the addition of template components. This is a new plug-in type that allows for reusable UI components with the help of HTML templates. This enables those with limited front-end or plug-in experience to create a consistent look and feel that differs from normal APEX regions used by others. Without experience in CSS, it may be difficult to differentiate your work from other APEX developers, as some regions are commonly used. But with template conditions, you can customise menus, actions and reports. As it's a plug-in, it also allows developers to share their template components with others by exporting them. This can result in the APEX community being able to access creative and unique templates that other people have designed and incorporate them into their own work. It is a simple addition, but one that is massively helpful for those mastering their craft or seeking influence within their work. This also goes hand in hand with the addition of 6 new region types within the Universal theme, which adds even more variety.
For example, the use of partial components allows you to include avatars, media lists, badges and more within your reports. And they have also been introduced as their own region types if you would like to use them in that capacity.
They can be created via the 'Shared Components' tab by clicking 'plug-ins'. This is where you're able to import ones you've found or create your own from scratch.
Another UI addition is the modernisation of the object browser. A feature that largely goes underappreciated. The object browser allows developers to view, edit and manipulate tables, views, packages and more. The UI changes make this even easier, as the design is cleaned up, and you're now able to filter all database object types from a single tree. One thing that I often struggle with is when leaving the object browser I will need to find the table or package I was working on again. Now you're able to pick up where you left off as you can continue editing the object you were viewing last. This gives you the flexibility to move around APEX freely. These subtle changes make the user experience as a developer a lot better and may encourage some to make database changes within APEX instead of running SQL developer alongside their APEX session.
Whilst on the subject, another helpful feature is being able to open SQL Developer Web directly from the SQL workshop dropdown within APEX. Once the schema is registered with ORDS, you can access SQL Developer Web and manage REST APIs, create data models, execute SQL and use the scheduler, among other features. If you have more than one schema, you can toggle between them within the modal that displays upon clicking the SQL Developer Web dropdown item. Otherwise, if you have one rest-enabled schema, it will automatically open SQL developer web in another tab, allowing you to develop alongside.
As always, there are lots of additional updates which have been sprinkled in that will make life that much easier by removing steps in everyday tasks. Things like copying pages from 'Create page', being able to save and run from the code editor, and the introduction of friendly URLs are all examples of a fantastic tool becoming even more accessible. PWA features are, once again, a big part of this release as APEX is paving the way for enabling it in builder within future releases. With all these exciting additions, we look forward to using them and eagerly await 23.2.