Skip to main content

APEX 5.0 Impressions

I had the opportunity to sit through two APEX 5.0 presentations yesterday at APEXposed in Montreal - one by Joel Kallman, and the other by David Peake.

By far, the most anticipated feature is the new page layout UI.  This interface is designed to do two things: make arranging regions and items easier, and allowing for batch updating of common item attributes.  While the demonstrations were a bit rough and the UI is clearly not finished, this direction represents a lot of promise for APEX developers, as it is the one area that APEX has been lacking since day one.

Speaking of interfaces, there will be a new User Interface - Tablet - added to all applications.  This will help bridge the gap between Desktop and Phone-based browsers, should a developer feel the need to do so.

One of the smaller yet more impressive features was the ability to add CSS/JS files as a ZIP files.  The APEX listener will automatically unzip those files and even cooler - preserve the paths.  This way, you can easily upload a set of related JS files and ensure that they will still function as intended.  It also has a cool way of versioning these files.  The URL that is uses for them will have a path like this: /v212/  As these files are modified and/or re-uploaded, the version will change, ensuring that the files do not become cached on user's devices.

While we didn't see it, the new tabular forms replacement - called Multi-Row Edit Region - seems promising.  Also, the ability to add multiple IRs to a single page will also become reality. IRs are getting a little bit of a makeover, with modal dialogs replacing the traditional menu and the ability to freeze columns are added.

Another feature that has been long anticipated will be the ability to authenticate to the Application Builder et. all with a custom authentication scheme.  This feature probably has more political impact than technical, since it allows APEX developers to be a part of an organization's identity management infrastructure.  It will also make it a heck of a lot easier to remember your credentials for any workspace, since they can all be the same.

Speaking of security, it looks like there is some planned integration with Oracle Real Application Security, or RAS.  RAS is a no-cost feature of the enterprise edition of the database, and is very similar to VPD.  With it, you can define roles, users and privileges that can be used with any technology.  Not too many more details were available about this, but it also seems promising.

Autocomplete in PL/SQL regions (or at least Application Processes! :) ) is also a part of APEX 5.  When typing in code, you can hit control+space and autocomplete things like item names, APEX APIs, and database objects.  To compliment this, a new code editor - very similar to that included with ApexLib - is baked into APEX 5.

Overall, it looks like there's a lot of interesting features to come in APEX 5.  While there's definitely a lot of work to be done, each time I see it, more and more of the features are working better and better.  It will be interesting to see how much progress can be made between now and OpenWorld.

Comments

Patrick Wolf said…
Hi Scott,

UNZIP support is not limited to APEX listener, it works with mod_plsql and EPG as well. Actually it's a database package which is doing all the work. APEX_ZIP will be exposed as public package.

Regards
Patrick
Scott said…
Thanks for pointing that out, Patrick!

- Scott -
Pat Miller said…
I am glad to see your note about ability to use a custom authentication for developers. I had not seen this before as a feature of 5.0. This will make our Identity Mgt. folks much happier. Universities are standardizing on CAS and Shibboleth as preferred authentication for all users.

Pat M.

Popular posts from this blog

Thanks, ODC (Oracle Developer Community)!

I owe a lot of thanks to the ODC - which stands for Oracle Developer Community.  What is ODC?  You may remember it as OTN, or the Oracle Technology Network.  Same people, different name.  Why they changed it I can't say.  People just liked it better that way... (love that song)

In any case, what am I thankful for?  A lot.  To start, the tools that I use day in and day out: SQL Developer, ORDS, Oracle Data Modeler, SQLcl and - of course - APEX.  Without these tools, I'm likely on a completely different career path, perhaps even one that aligns more closely with my degree in television management.

While the tools are great, it's really the people that make up the community that make ODC stand out. From the folks who run ODC and the Oracle ACE program to the developers and product managers who are behind the awesome tools, the ODC community is one of, if not the greatest asset of being involved with Oracle's products.

If you have yet to get more involved with this communi…

Spaced Out

A while back, I wrote about how to give the Universal Theme a face lift.  If you follow the steps in that post, the base font for an APEX application with the Universal Theme can easily be changed.

While that's all well and good, sometimes you only want to change the font for a report, not the entire page.  One of the applications that I'm building contains a number of IRs based mostly on log data.  Thus, having that data in a monospaced font would make it a whole lot easier to read.

You can search Google Fonts for monospaced fonts by selecting only that option on the right-side menubar.  You can also opt for the standard yet kinda boring Courier and achieve the same thing.

To implement this in your application, follow the steps in my other post, but stop shy of the final step.  Instead of pasting in the text that I specify, paste in the following to the Custom CSS field in Theme Roller, using the name of the font you selected for the font-family:

.a-IRR-table tr td { font-fam…

Logging APEX Report Downloads

A customer recently asked how APEX could track who clicked “download” from an Interactive Grid.  After some quick searching of the logs, I realized that APEX simply does not record this type of activity, aside from a simple page view type of “AJAX” entry.  This was not specific enough, and of course, led to the next question - can we prevent users from downloading data from a grid entirely?

I knew that any Javascript-based solution would fall short of their security requirements, since it is trivial to reconstruct the URL pattern required to initiate a download, even if the Javascript had removed the option from the menu.  Thus, I had to consider a PL/SQL-based approach - one that could not be bypassed by a malicious end user.

To solve this problem, I turned to APEX’s Initialization PL/SQL Code parameter.  Any PL/SQL code entered in this region will be executed before any other APEX-related process.  Thus, it is literally the first place that a developer can interact with an APEX page…