APEX-SERT: The SQL

Photo by Liam Tucker on Unsplash

APEX-SERT: The SQL

Coming Soon to a Database Near You

ยท

4 min read

The most recent release of APEX-SERT supports APEX 5.1 and dates back to 2018. That's old. Like pre-pandemic old. While you can certainly still download and maybe even install it, I don't recommend that you do that.

Lino Schildenfeld took a crack at bringing it up to date and added support for APEX 19.1 through 22.2 (and maybe beyond). While that undoubtedly made many APEX developers happy, there is still the issue of keeping it up to date with APEX's now twice-a-year release cycle.

Why is it difficult to keep up to date? Back when we designed APEX-SERT, we made a mistake that was not as obvious then as it is now. We decided that each version of APEX-SERT would get it's own schema - much like APEX does. When APEX was upgraded, we would provide an upgrade script for APEX-SERT on or around the same time, and users would be in sync within a couple of weeks.

In addition to mapping APEX-SERT to a schema, each attribute that we evaluated for had it's own page and corresponding view. Thus, as new components were added to APEX, we had to create new pages, views and integrate them into the core application. The level of effort to do this was both significant and cumbersome.

When we were selling APEX-SERT as a commercial product, it was easy to justify the time required to do this, as we had several active support contracts that obligated us to do it, or we would not get paid. However, as APEX-SERT transformed from commercial product to open source project, the updates just stopped happening. Throw in a couple of job changes for both Doug & I, a global pandemic where we were busy with, well, other things, and here we are.

Dynamic Changes

Built for Expansion

In order to not make the same mistake we did with the original version, we made a significant change to the way that APEX-SERT stores and executes rules.

Need for Speed

One of my favorite Cary Milsap quotes is "the fastest way to do something is not to do it". Since each APEX application will automatically store and update a "last updated" date, it dawned on us that if the current date & time is greater than the last updated date & time of the application, why re-run the evaluation? So we no longer do that, eliminating the unnecessary wait time of running an evaluation that will be identical to the current one.

We also added the ability to run any evaluation in the background, so you no longer need to sit and stare at the screen while it runs. This will also accommodate larger applications that may have taken a while to run and bumped up against a web server timeout limit.

Ready for Redwood

APEX-SERT also got a major face-lift using the Redwood Light theme. This variation of the Universal Theme is a bit of a one-off to Oracle's new Redwood Design System. Using this theme, as well as some of the newer Theme Components, APEX-SERT follows many of the Redwood design principles to make screens simpler, easier to digest and ultimately something users will love to use.

Here's a quick preview of some of the new screens:

First, this is the new home page. Keen readers will note that you can now run evaluations in the background, freeing you up to carry out other tasks while APEX-SERT is running.

The evaluation home page has also been greatly simplified, and makes use of the Smart Filter component to let users quickly inspect the attributes that failed. All attributes from all pages - including shared components - live on a single report now, eliminating the need to move from page to page.

Exceptions are still supported and thanks to JSON, are much more portable across environments. Integration with the Application Builder is also a keynote feature, allowing developers to find and fix issues with just a click or two.

Want. Where can I get it?

Now that APEX 24.1 is released, it won't be long now. What I can tell you is that Doug Gault and I will be demonstrating it at KScope '24 this year in Nashville. We're part of the APEX Boot Camp track, but anyone is welcome to come and see our session. We're currently scheduled for 2p on Wednesday; room TBA.

If you can't make that time and you're planning on attending KScope 24, feel free to find Doug or I and we can give you a quick demonstration.

What's Next?

APEX-SERT will continue to be released and maintained as an open-source project. And due to the re-designed engine, we should be able to keep it up to date on a regular cadence with minimal effort. It takes just seconds to copy rules from one release to another. We already have a suite of additional features planned for post-MVP, so we're by no means done when it does finally launch.

I'm personally excited to revitalize this project and look forward to people once again using it to keep their APEX applications as secure as they can be.

ย