Skip to content

Configuration reference

DXPR Builder stores its configuration in Drupal's configuration system. This page lists every key declared in config/schema/dxpr_builder.schema.yml with its type, allowed values and default. It also lists the status key of each configuration entity and the settings keys that code reads without a schema entry. Bold names are the form labels.

The module ships no config/install/dxpr_builder.settings.yml. Defaults are set by hook_install() and update hooks in dxpr_builder.install, or applied in code when a key is missing; the Default column states which.

General settings

Configuration object: dxpr_builder.settings

Admin path: /admin/dxpr_studio/dxpr_builder/settings (src/Form/DxprBuilderSettingsForm.php)

Key Type Allowed values Default Description
json_web_token string A DXPR product key (JWT) empty Product key, only when api_key_storage is config. Cleared when the key is stored in the Key module; update 9026 clears a value left behind there.
api_key_storage string config (Configuration storage), key (Key module) not set (treated as config); key after dxpr_builder_update_9020() moves an existing key Storage method for the product key.
key_provider string A Key entity id empty; update 9020 sets dxpr_builder_jwt when it moves an existing key Key entity holding the product key when api_key_storage is key.
bootstrap string 0, bs5 not set (no Bootstrap files loaded) Sideload Bootstrap files: 0 = None (theme provides Bootstrap), bs5 = Bootstrap 5. Update 8040 rewrites the removed 1 and bs4 values to bs5.
cke_stylesset string One [label]=[element].[class] entry per line empty (the editor then uses the styles shipped with DXPR Builder) Custom styles for the text editor, for example Sassy Title=h1.sassy-title.
editor_assets_source integer 0, 1, 2 not set (0) Asset source: 0 = Cloud, 1 = Local (minified), 2 = Local (unminified). The field only appears when a local build exists in the module's dxpr_builder/ folder. With 0 stored, such a build is still used, the unminified one first.
format_filters boolean true, false not set (off) Apply text format filters to frontend content.
media_browser string '' (Basic file upload), media_library (Media Library), media_library_acquia_dam (Media Library (Acquia DAM)), or an Entity Browser id media_library when the Media Library module is installed, else dxpr_builder_media_modal when dxpr_builder_media is installed, else '' (set by hook_install()) Browser type used by image fields.
offset_selector string A CSS selector .dxpr-theme-header--sticky, .dxpr-theme-header--fixed (applied when empty) Scroll offset selector for fixed headers.
controls_layout string element (On each element), breadcrumb (One row) element (applied when empty) Control bars in edit mode: a bar on each element, or one row above the element you point at. A profile and a user's own setting override it. The user's setting is not configuration: it is stored with the user account (user.data, module dxpr_builder, name controls_layout).

AI settings

Stored in the same dxpr_builder.settings object.

Admin path: /admin/dxpr_studio/dxpr_builder/ai_settings (src/Form/DxprBuilderAiSettingsForm.php)

Key Type Allowed values Default Description
ai_enabled boolean true, false true when missing; set by update 9008 Enable text editing assistant.
ai_page_enabled boolean true, false true when missing; set by update 9012 Enable page creation assistant.
ai_image_enabled boolean true, false true when missing; set by update 9015 Enable image generation.
ai_user_model_selection boolean true, false true when missing; set by update 9016 Allow users to choose model. Only shown when ai_provider_dxpr is not installed.
ai_model string dxai_kavya_m1, dxai_kavya_m1_eu, dxai_kavya_m1_fast dxai_kavya_m1 (AiModelConstants::getDefaultModel()) Default model. The API names are kavya-m1, kavya-m1-eu and kavya-m1-fast. Only shown and saved when ai_provider_dxpr is not installed.
ai_provider_selection_mode string automatic (Automatic), manual (Manual priority) automatic Service providers mode. manual uses the order in ai_providers. Only saved when ai_provider_dxpr is not installed.
ai_providers sequence of mappings keyed by provider id Keys: anthropic, gemini, mistral, openai, xai. Each has enabled (boolean), weight (integer) and region (enabled or disabled) empty (the form then lists all five as enabled) Provider priority table for the manual mode. region is the table section the row sits in, not a geographic region.
tone_of_voice_vocabulary string A taxonomy vocabulary id ai_tone_of_voice (vocabulary created by hook_install() when Taxonomy is enabled, and by update 9007) Tone of voice vocabulary. Update 9025 points the value back to ai_tone_of_voice when the stored vocabulary no longer exists.
enable_taxonomy_tones boolean true, false true once a tone vocabulary is set Set to true with the vocabulary, by hook_install(), the updates or the form. No form field, and no code reads it.
commands_vocabulary string A taxonomy vocabulary id ai_agent_commands (created by hook_install() when Taxonomy is enabled, and by update 9007, only when the key is empty) Commands vocabulary.
enable_taxonomy_commands boolean true, false true once a commands vocabulary is set Set to true with the vocabulary, by hook_install(), update 9007 or the form. No form field, and no code reads it.
ai_output_allowed_domains text Domains one per line (wildcards such as *.wikipedia.org allowed); * allows all; empty blocks all external URLs unsplash.com, images.unsplash.com, pexels.com, images.pexels.com, pixabay.com, promptahuman.com (set by hook_install() and update 9013) Allowed domains. Unchecking Filter AI output on the form stores *.
ai_output_allowed_tags text HTML tag names one per line A list of common text, list, table, inline, media and form tags (div to rp) applied in the form when the key is missing Allowed HTML tags; unlisted tags lose their markup but keep their text.
ai_output_stripped_tags text HTML tag names one per line script, style Blocked tags, removed with their contents. Unchecking Filter AI output stores the default script and style.

Keys read by code without a form field

These keys are not in the schema but the module reads them from dxpr_builder.settings. Set them with drush config:set or a configuration override in settings.php.

Key Type Default when missing Description
record_analytics boolean true Sends editor usage analytics to tuur.dxpr.com when true.
notifications boolean true Shows DXPR notifications in the editor when true.
cloud_url string https://cdn2.dxpr.com/VERSION/ CDN base URL for editor assets; VERSION is replaced with the module version.
license_endpoint string https://dxpr.com/api/central-user-storage/ Endpoint for licensed user synchronisation.

Page templates

Configuration objects: dxpr_builder.page_template.* (entity type dxpr_builder_page_template)

Admin path: /admin/dxpr_studio/dxpr_builder/page_template

Key Type Allowed values Default Description
id string Machine name required Identifier.
label label Any text required Label: name shown in the template chooser.
status boolean true, false true Enabled. The editor only offers and loads enabled templates.
category text Any text empty (the form requires it) Category the template is grouped under.
template string DXPR Builder HTML empty (the form requires it) Template markup.
weight integer Any integer empty (the editor reads it as 0) Weight: sort order.
date integer Unix timestamp set by the edit form on every save Last modified time.
image string Base64-encoded image contents empty Image: thumbnail.
uuid string UUID generated Universally unique id.

The module ships five page templates in config/install: about_me, about_us, homepage_basic, split_content_and_buttons and text_columns.

User profiles

Configuration objects: dxpr_builder.dxpr_builder_profile.* (entity type dxpr_builder_profile)

Admin path: /admin/dxpr_studio/dxpr_builder/profile

On a new profile the form ticks every element, block, view display, enabled page template, enabled global user template and icon set, plus a default set of text editor buttons. The defaults below are the entity's own values.

Key Type Allowed values Default Description
id string Machine name required Identifier.
label label Any text required Label: profile name.
uuid string UUID generated Universally unique id.
status boolean true, false true User profile enabled. Disabled profiles are skipped when a user's roles are matched.
sidebar boolean true, false not stored Legacy key: declared in the schema but not exported by the entity, so it is never saved.
dxpr_editor boolean true, false true; update 8008 set it on existing profiles Start editor when page loads. When false, the controls only appear after the user clicks the eye icon on the main container controls.
controls_layout string default (Same as the site), element (On each element), breadcrumb (One row) default Control bars in edit mode for this profile. A user's own setting overrides it.
weight integer -10 to 10 in the form 0 Weight: when a user's roles match several enabled profiles, the lowest weight wins.
roles sequence of strings Role machine names (the form leaves out anonymous and authenticated) empty Roles the profile applies to.
elements sequence of strings Element machine names (az_text, az_image, ...) empty Allowed Elements.
all_elements boolean true, false false Check/Uncheck all Elements. When true, every element is allowed and elements is ignored.
blocks sequence of strings az_block-<block plugin id> values empty Allowed Blocks.
all_blocks boolean true, false false Check/Uncheck all Blocks. When true, every block is allowed, including ones added later.
views sequence of strings az_view-<view id>-<display id> values empty Allowed Views displays.
all_views boolean true, false false Check/Uncheck all Views. When true, every views display is allowed, including ones added later.
page_templates sequence of strings Page template UUIDs empty Allowed Page templates.
all_page_templates boolean true, false false Check/Uncheck all Page templates. When true, every page template is allowed.
user_templates sequence of strings Global user template UUIDs empty Allowed Global user templates.
all_user_templates boolean true, false false Check/Uncheck all Global user templates. When true, every global user template is allowed.
icon_sets sequence of strings Icon set ids from *.dxpr_icon_sets.yml files empty Allowed Icon sets.
all_icon_sets boolean true, false not set (counts as true) Check/Uncheck all Icon sets. When true or missing, every icon set is allowed.
inline_buttons sequence of strings CKEditor 5 button names empty Text editor buttons (inline editing). Update 8036 migrated CKEditor 4 names in this list and in modal_buttons.
modal_buttons sequence of strings CKEditor 5 button names empty Text editor buttons (modal editing).

User templates

Configuration objects: dxpr_builder.user_template.* (entity type dxpr_builder_user_template)

Admin path: /admin/dxpr_studio/dxpr_builder/user_templates

Key Type Allowed values Default Description
id string Machine name required Identifier.
label label Any text required Label: template name.
status boolean true, false true No form field. Only enabled templates can be loaded in the editor or copied into a page template.
type string The data-azb element type the template was saved from, for example section, row, az_block, az_view, or custom custom Type. Update 9021 backfills it from the markup; az_block_* and az_view_* values collapse to az_block and az_view.
template string DXPR Builder HTML empty Template markup. Update 8013 moved user templates from a database table into configuration.
uid integer User id required in the form UID: the owner.
global boolean true, false true (the editor's save request sends its own value) Global: true makes the template available to all users (subject to profiles); false keeps it private to the owner.
image string Base64-encoded image contents empty Image: thumbnail.
uuid string UUID generated Universally unique id.

Exporting configuration

Export all DXPR Builder configuration:

drush config:export

This exports settings, profiles, page templates, and user templates as YAML files in the config sync directory. When api_key_storage is key, the product key is not part of dxpr_builder.settings. It lives in the selected Key entity and follows that key's own provider, such as configuration, a file or an environment variable.

What's next?

Something wrong or missing on this page? Report it or edit the page.