Keep your APEX Apps Consistent with Quality Assurance in APEX Project Eye (APE)

Tuesday, February 7, 2023

What is quality?

I think the following definition best describes quality: “Quality is simply conformance to requirements.” This means quality depends on what is important to you or your client. Do the applications need to be secure, easy to maintain, or follow the latest UI/UX web application guidelines? It all depends on your needs and expectations. 

And often, we want to have a high level of consistency in our user interfaces. This makes our applications more intuitive for the end users and simplifies design decisions for new content.

The APEX metadata repository makes it easy to compare similar components like buttons, input fields, and regions to have the same look and behavior throughout all our solutions.

How can APE help?

APEX Project Eye, APE, includes the Rule builder to assist when building quality assurance rules. There are two flows inside the builder: 

  1. The first flow offers an enhanced browsing experience through the vast APEX Dictionary and has declarative support for writing the rule logic. 
  2. The second flow helps you write rules to assess the consistency of your components by helping you build rules based on your existing APEX components.

After selecting an existing APEX component, APE prepares a query that will list all APEX components that share the same identifier as the selected component but do not have the same properties.

Let’s take a simple example, like a page button used to create a new record.   We want to make sure that all the CREATE buttons throughout our application are consistent and have the same properties.  

We can find the buttons in our Workspace by searching on the button name or label:

Select the button that you want to model your standards after, the button you want all CREATE buttons to mimic.  After selecting a component, the Rule Builder suggests the following select statement for our rule logic:

When we include a rule like this in our Quality Standards, the Assessments will list all buttons which are named “CREATE” but don’t match the button we’ve selected as our standard.  The returned buttons don’t have the default template options, aren’t labeled “Create”, aren’t right aligned, aren’t marked as hot, don’t have an icon, or are not in the “Next” region button display position.  The report will show you which attributes need to be fixed:

The role model page

We create a “Role model” page for our development with all the components we want to keep consistent. This page is aligned with our client's expectations and is used as a style guide for the entire application lifecycle.

When creating rules, we choose the components on the role model page as our base.  We also schedule Quality Assessments to run regularly, so we make sure that we consistently use those components.

Configuring attribute profiles

APE allows you to configure which properties are included in the generated SQL statements to tailor to your needs and consistency requirements. You can define which attributes should be used as identifiers. For our example above, we just used the button name, but it could also make sense to include the template.  Do you want to compare all the buttons with the name CREATE or all of the buttons with the name CREATE and a specific template?