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?




From there, you configure which attributes should be compared for consistency:



This ensures that all of my CREATE buttons follow my standards.   If I don’t want to enforce a certain button position, I would leave the ‘AND pb.display_position = ‘REGION_TEMPLATE_NEXT’ out of my select statement.


Conclusion

I often change my decisions on how to style certain components weeks after starting development. And there is nothing wrong with that, as I might have learned new information and better understood how the application should look and feel as a whole at a later stage of the project. I just have to make sure that I update all the existing components to match my new design choices and APE helps me to do that in a fast and convenient way.

Picture of Aleš Kravos

Aleš Kravos

COO @ The Right Thing Solutions

APEX Project Eye Lead Developer

Comments

No comments yet, be the first one to let us know what you think of this article!