As part of my presentation I gave at a couple of OUG events (see here for the blog post and video) one of things I discussed is how APEX has built in many things that can help when managing an application. I start talking about this at 37m19s in the video about how during releases the following built in things are useful for keeping users informed when supporting an APEX application, particularly during a release:
- Global notifications (to announce up-coming downtime for example)
- Application Availability Status
- Message for Unavailable Applications
- Restricted User Access
Although these functions within Application Properties are incredibly useful your ability to use them is only available if developer mode is enabled on the instance the applications are running on, the application isn’t set to ‘Run Only’ and also that the user who manages them has access to the developer dashboard. What can we do when any of these aren’t true?
Well, as you will see demonstrated in the video, I showed a front end application developed for managing some of these properties. I have had a number of enquires about how this application works, what it queries and what API’s are used to update the properties, and the purpose of this blog post is to explain the application a little further.
As seen in the video and below this is what the application looks like and it will show all the applications and what their properties currently are:
This is just a report using a query on the wwv_flows table (which was granted to my schema), it would also be possible to use the APEX_APPLICATIONS view for this information and this is the query:
The edit link on the report links to a form page which populates the items with the same information from the wwv_flows table for the application selected:
Once the user has completed any updates required then by using some API calls to apex_util we can update these properties of the application but from the front end instead:
You will probably want to add some exclusions to your report of applications which can be updated (The application support application itself should probably be excluded) and you will also want to set up a strictly controlled authentication scheme for the support application as what you are exposing is some pretty powerful functionality of APEX to a front end user!
Paul is a Development Consultant at Explorer. Paul has a BSc in Computing from the University of Leeds and is now building on considerable experience in development and support using Oracle PL/SQL and Oracle E-Business Suite (EBS). Paul is employing APEX to provide quality, bespoke software solutions both internally and to a range of organisations.