In this blog, James Sanna advises how you can utilise APEX Advisor to its fullest potential. To find out more information, take a look at our APEX services.
Oracle APEX Advisor is a built-in analysis tool that performs a series of sanity checks on your application to evaluate your developments’ overall integrity and quality. APEX Advisor works just like a typical lint tool (a program that analyses code for issues and bad practices) and will run pre-written automated tests to check for:
APEX Advisor is simple to access and run and requires no pre-requisite setup. It can be found within the Utilities menu inside the application you wish to run it on.
Figure 1 - Where to find APEX Advisor
When you click 'Advisor', a popup window will appear with the following optional sections:
Figure 2 - Checks to perform
Once you have made your selections, click ‘Perform Check’, and the Advisor will get to work.
The results may take a small amount of time to generate; this will depend on the size of your application and the number of selected checks to perform. Once completed, the results of any check flagged as an issue will be displayed. Each result contains detailed information about the check, including:
1. Split your analysis up
If you have not used APEX Advisor before, your initial approach might be to just run all the checks on everything. At least, mine was! The output returned many results that would have been easier to work through in smaller chunks. This is why APEX provides the options to define which pages to check and limit the types of checks to perform. Splitting things up makes the results more manageable, and there are a few different methods that can be taken:
2. Improve Usability
Advisor can be used to capture elements of your application that may degrade the overall user experience. One useful check is identifying where a mismatch of authorisation occurs between components and target pages. If a user does not have the correct level of authorisation to access a page, the associated navigation components to that page should also be conditional based on the same level of authorisation. A simple example of this would be if a user is not an administrator, they should not be seeing an administration component in the navigation menu.
Figure 5 - Authorization mismatch between component and target
Another valuable usability analysis to run from Advisor is to check for inconsistent references between dynamic actions and buttons. This will flag any scenario where either:3. Secure your application
Many important security factors may get overlooked during development, and Advisor can check for potential vulnerabilities. This may be where there are authorisation schemes that are inconsistent or missing entirely. Another important check that Advisor offers is where inappropriate use of the variable substitution syntax has occurred (e.g., using &P1_ID.) in PL/SQL code, creating potential exposure to SQL injection.
Figure 6 - Inappropriate use of substitution syntax
4. Accessibility
Testing for accessibility can sometimes get forgotten, as poor accessibility does not always have an immediate, noticeable effect. Advisor has a suite of checks that can highlight and improve the overall levels of accessibility. These will evaluate theme styles, missing alt text on images, legacy charts with limited accessibility, and much more.
APEX developments are typically well built for accessibility out of the box, but it becomes essential to assess levels of accessibility when we start introducing our own customisations to the look and feel of an application.
APEX Advisor is an imperative tool that offers a suite of integrity testing, giving you results that will improve the quality of your developments. By using Advisor to mitigate issues and potential problems, you can save time spent manually testing, checking, peer-reviewing, and debugging and have a better assurance of the integrity of your applications.
It is certainly recommended to run Advisor frequently during all stages of development. This could be regularly - whether daily, weekly, or dependant on how many changes are being made. Picking up issues early on can help a developer learn and prevent repeating the same mistakes throughout an application.
If you would like to speak to one of our Oracle APEX experts, get in touch through enquiries@dsp.co.uk or book a meeting...