Infrastructure at your Service

Alain Lacour

APEX Connect 2016 – Day 3 – APEX

No keynote for the last day, so I decided to attend presentations on following topics:
– APEX fine art printing
– APEX repository
– Images in APEX
– Interactive Grid in APEX 5.1
– Enhance quality through CI
– Universal Theme 5.1

APEX fine art printing:
Markdown is simplified markup language where tags are kept as simple as possible in order to keep the impact on the size minimal.
As opposed to HTML which is a publication format, markdown is a writing format.
You can find a lot of details about markdown which was created by John Gruber in Wikipedia (https://en.wikipedia.org/wiki/Markdown).
You can find different editors who support markdown, like Atom (https://atom.io/).
Markdown formatted text can easily be converted into other formats like PDF, Word, PowerPoint, HTML with tools like Pandoc.
There is an APEX plug-in which is based on following tools:
– Pandoc for conversion
– Node.js for the web rendering
The power of a tool like Pandoc, is that PDF rendering is based on LaTEX which provides very precise documents with pdf charts.
Drawback is that it’s slow to generate the high quality pdf file. It allows to generate the graphs directly from queries.
The plug-in can be downloaded from GitHub:
https://github.com/ogobrecht/markdown-apex-plugin

APEX repository:
As you may know, APEX is metadata driven. Everything is stored into tables of the Oracle database: the dictionary
This allows following kind of operations and more:
– Access application information
– Quality Checks and Audit
– Components creation without the UI
– Auto-generate components of the application on the fly (only for experts)
The kind of information you might be interested in are the ones helping you to monitor like response time, which can be found in
APEX_WORKSPACE_ACTIVITY_LOG, which can then be mapped to v$sql. That way you can create your own dashboard.
For Quality checks, the very first tool is the APEX advisor which uses the repository information.
To go even further with quality checks you can use the plug-in available on Git-Hub:
https://github.com/MTAGRatingen/Quality-Assurance-Apex-Plug-In
You may also want to check for example the type of authentication used in the application hosted in your workspace, or what plug-ins are used within those application, aso…
The dictionary can also be used to retrieve information about reports and generate dynamic display of columns from selection for example. It’s up to you to be creative with all information available.
The burning question for the “hackers”: Can one write data in the dictionary?
The answer is: Yes, but you shouldn’t, or only with great care.
This is going beyond the border as you will touch undocumented APIs which can break everything.

Images in APEX:
Images can be stored in different locations when it comes to APEX applications.
– Shared Components
– Tables
– Web Server
Prior to APEX 5 all shared components files (CSS, Images, Static files) were separated by type, could only be loaded one at a time and were not exported with the application.
Since APEX 5 there is only a separation between Workspace files and Application files, can be loaded within zip files (keeping the directory structure defined within the zip) and are part of the export. They can also be downloaded at once in a zip file.
Management if static files was improved with APEX 5.
It’s advised to use following substitution strings when you access the image files: #APP_IMAGES# and #WORKSPACE_IMAGES#
It is also better to use #IMAGE_PREFIX# rather than the virtual /i/ directory reference.
When it comes to store images in database tables they go into BLOBs.
Please visit following blog to learn more on images management within the database BLOBs:
http://joelkallman.blogspot.ch/2014/03/yet-another-post-how-to-link-to.html

Interactive Grid in APEX 5.1:
What is an Interactive Grid?
It’s an editable interactive report with much more in it.
That new feature will be available with the next APEX 5.1 version.
In the future it will completely replace the interactive reports.
It will contain following nice features:
– Sort from the column header
– Sort over multiple columns
– Change column order with Drag & Drop
– Column freezing (like in Excel)
– Column Grouping
– Move of column groups
– Revisited Action menu
– Duplicate Row
– Delete Row
– Refresh Row data
– Revert row changes
There will be no limit in the number of grids in the same page.
It will also support master details with several levels.

Enhance quality through CI:
Continuous integration allows you to automate the deployment flow of any application, so this can also implemented with APEX.
you can implement following tools for example:
– Jenkins as a CI server
– Maven for the build
– RSpec for testing
– Selenium for Web integration
And last but not least, you must use some VCS (Version Control System).
With an automated deployment which will have also automated testing you will improve the quality as you will take cumbersome and repetitive tasks from your development team and have instantaneous status of your application.

Universal Theme 5.1:
The Universal theme was a big change in APEX 5.0.
There will be some more nice improvements in APEX 5.1.
A short list of the main ones follows:
– Right to left support (reverse your screen in one click)
– Live template options
– Font APEX Icon Library
– Universal Theme Application updated
– 100+ improvements (Inline item help, Dialog auto sizing, User preference for theme style, Auto sized cards…)

All of the above new features make us even more impatient to put our hands on APEX 5.1.
I would like to thank the DOAG for organizing that APEX Connect event and hope to be there in Munich next year.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Alain Lacour
Alain Lacour

Delivery Manager and Consultant