Oracle APEX – The Standard Component Attributes Anatomy Series: Configuration a.k.a. Build Option
Experienced Business Analyst with a demonstrated history of working in the airlines/aviation industry. Strong research professional with a engineer focused and a strong technical background. Skilled in SQL/PLSQL, Linux System Administration. A proud Oracle APEX Consultant.
In this fifth post of The Standard Component Attributes Anatomy series, I’m focusing on the Configuration attribute—better known as Build Options. Since Build Options are managed in Shared Components, we’ll take a quick look at that area as well.
Configuration
In the configuration section, you can set the Build Option attribute—an often overlooked but powerful feature in APEX. It lets you enable or disable components or groups of components dynamically.
Some practical use cases from the official help include:
Multi-installation apps: Develop one app and use Build Options to tailor functionality per installation, allowing privileged users to toggle features on or off.
Incomplete features: Hide unfinished functionality in test or production environments without removing the code, enabling safe deployment.
Safe removal: Temporarily disable features you’re unsure about (“comment them out”) and easily restore them if needed before permanent removal.
Some of these cases are built into APEX by design. For example, the “Commented Out” build option is an excluded option that lets you temporarily disable a component—useful during debugging or before deprecation. To apply a build option, simply select the desired option for the component. By default, APEX presents both the option and its negation for easy toggling.

A shortcut for this specific case is available in the context menu of any component in Page Designer — just right-click the component in the rendering tree to quickly set its build option.

For this case, behind the scenes, APEX automatically creates the build option for you when creating an application through the wizard. If your application is from an older export, you can manually create the build option with the same name under Shared Components to gain access to that shortcut in recent versions of APEX.
Another example of implementing a build option is with feature pages. You might recall the built-in features that come with APEX:

Most features include a build option designed to support the first use case—tailoring functionality for each installation. You can test this by enabling a specific feature and checking the results in the Build Options section of Shared Components.

Just like with authorization schemes, before assigning a build option to a component, you first need to create and configure that build option under Build Options in the Application Logic section of Shared Components.
Remember, you can quickly access the Create Build Option wizard directly from Page Designer, under the Shared Components list, as shown below:

When creating it, you set its status, which controls whether the related component or process will be:
Include: Rendered or executed
Exclude: Skipped and not rendered or executed
You can also set two additional attributes that simplify your deployment process, especially when working with packaged applications:
Default on Export: Sets the build option’s status when the application is exported.
On Upgrade Keep Status: Determines whether the build option status in the deployed application should be preserved or overwritten during an upgrade. Selecting On to keep the deployed status is useful if your application uses the
APEX_UTIL.SET_BUILD_OPTION_STATUSAPI to dynamically manage build options and you want those settings to remain intact after upgrading.
A particularly handy feature in APEX is the Utilization Reports, available on most Shared Components pages. In this case, you can use them to see which components are affected by a specific build option configuration.

And once again, there are APEX Data Dictionary views that can help if you want to access this information programmatically. Here’s an example showing how to list all existing build options, which you can filter by application or workspace:
select *
from apex_application_build_options
Or use this example to identify all the views where build options are available:
select * from apex_dictionary
where column_name like '%BUILD%'
Enjoy life!