diff --git a/docs/_images/en-us/config_guide/change_request_types/01-cr-types-list.png b/docs/_images/en-us/config_guide/change_request_types/01-cr-types-list.png index b03f55dbd..611462b5e 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/01-cr-types-list.png and b/docs/_images/en-us/config_guide/change_request_types/01-cr-types-list.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png b/docs/_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png index aa340954a..d44a75403 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png and b/docs/_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/03-basic-info-filled.png b/docs/_images/en-us/config_guide/change_request_types/03-basic-info-filled.png index aa340954a..719ef393b 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/03-basic-info-filled.png and b/docs/_images/en-us/config_guide/change_request_types/03-basic-info-filled.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/04-detail-model-tab.png b/docs/_images/en-us/config_guide/change_request_types/04-detail-model-tab.png index aa340954a..2c171ead2 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/04-detail-model-tab.png and b/docs/_images/en-us/config_guide/change_request_types/04-detail-model-tab.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/05-apply-config-tab.png b/docs/_images/en-us/config_guide/change_request_types/05-apply-config-tab.png index aa340954a..ac8b84063 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/05-apply-config-tab.png and b/docs/_images/en-us/config_guide/change_request_types/05-apply-config-tab.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/06-field-mapping-added.png b/docs/_images/en-us/config_guide/change_request_types/06-field-mapping-added.png index aa340954a..0da0d0e7e 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/06-field-mapping-added.png and b/docs/_images/en-us/config_guide/change_request_types/06-field-mapping-added.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/07-approval-tab.png b/docs/_images/en-us/config_guide/change_request_types/07-approval-tab.png index cb1436a34..120ed336f 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/07-approval-tab.png and b/docs/_images/en-us/config_guide/change_request_types/07-approval-tab.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/08-documents-tab.png b/docs/_images/en-us/config_guide/change_request_types/08-documents-tab.png index 2481ebad3..e0ef6e8e7 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/08-documents-tab.png and b/docs/_images/en-us/config_guide/change_request_types/08-documents-tab.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/10-existing-cr-type-form.png b/docs/_images/en-us/config_guide/change_request_types/10-existing-cr-type-form.png index b78602a2b..4ce14006a 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/10-existing-cr-type-form.png and b/docs/_images/en-us/config_guide/change_request_types/10-existing-cr-type-form.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png b/docs/_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png index b55ec6eeb..971c022a5 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png and b/docs/_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png b/docs/_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png index d6b170d42..50f1050c4 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png and b/docs/_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png b/docs/_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png index 7e5337fbe..4eb960a31 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png and b/docs/_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png b/docs/_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png index faecf75cc..ebfc14858 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png and b/docs/_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png differ diff --git a/docs/_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png b/docs/_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png index 209dd86ec..314a6ec7c 100644 Binary files a/docs/_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png and b/docs/_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png differ diff --git a/docs/_images/en-us/config_guide/entitlement_formulas/03-entitlement-item-form.png b/docs/_images/en-us/config_guide/entitlement_formulas/03-entitlement-item-form.png index b4a3678d1..88c36ffe6 100644 Binary files a/docs/_images/en-us/config_guide/entitlement_formulas/03-entitlement-item-form.png and b/docs/_images/en-us/config_guide/entitlement_formulas/03-entitlement-item-form.png differ diff --git a/docs/_images/en-us/config_guide/entitlement_formulas/08-inkind-item-configuration.png b/docs/_images/en-us/config_guide/entitlement_formulas/08-inkind-item-configuration.png index 6aad9fe0f..697aa541f 100644 Binary files a/docs/_images/en-us/config_guide/entitlement_formulas/08-inkind-item-configuration.png and b/docs/_images/en-us/config_guide/entitlement_formulas/08-inkind-item-configuration.png differ diff --git a/docs/_images/en-us/config_guide/entitlement_formulas/10-multiplier-field-configuration.png b/docs/_images/en-us/config_guide/entitlement_formulas/10-multiplier-field-configuration.png index 1876a8a70..1f6e0551e 100644 Binary files a/docs/_images/en-us/config_guide/entitlement_formulas/10-multiplier-field-configuration.png and b/docs/_images/en-us/config_guide/entitlement_formulas/10-multiplier-field-configuration.png differ diff --git a/docs/_images/en-us/config_guide/entitlement_formulas/11-multiple-dynamic-items.png b/docs/_images/en-us/config_guide/entitlement_formulas/11-multiple-dynamic-items.png index 8bd50bad8..275046fa7 100644 Binary files a/docs/_images/en-us/config_guide/entitlement_formulas/11-multiple-dynamic-items.png and b/docs/_images/en-us/config_guide/entitlement_formulas/11-multiple-dynamic-items.png differ diff --git a/docs/_images/en-us/config_guide/entitlement_formulas/12-conditional-items-by-age.png b/docs/_images/en-us/config_guide/entitlement_formulas/12-conditional-items-by-age.png index b2e60a096..32cddfe7b 100644 Binary files a/docs/_images/en-us/config_guide/entitlement_formulas/12-conditional-items-by-age.png and b/docs/_images/en-us/config_guide/entitlement_formulas/12-conditional-items-by-age.png differ diff --git a/docs/_images/en-us/config_guide/variables/01-studio-variables-card.png b/docs/_images/en-us/config_guide/variables/01-studio-variables-card.png index dce288330..b474c9f1e 100644 Binary files a/docs/_images/en-us/config_guide/variables/01-studio-variables-card.png and b/docs/_images/en-us/config_guide/variables/01-studio-variables-card.png differ diff --git a/docs/_images/en-us/config_guide/variables/02-variables-list.png b/docs/_images/en-us/config_guide/variables/02-variables-list.png index b32cda980..72e492183 100644 Binary files a/docs/_images/en-us/config_guide/variables/02-variables-list.png and b/docs/_images/en-us/config_guide/variables/02-variables-list.png differ diff --git a/docs/_images/en-us/config_guide/variables/03-variable-form-empty.png b/docs/_images/en-us/config_guide/variables/03-variable-form-empty.png index d149ee200..377e46b5c 100644 Binary files a/docs/_images/en-us/config_guide/variables/03-variable-form-empty.png and b/docs/_images/en-us/config_guide/variables/03-variable-form-empty.png differ diff --git a/docs/_images/en-us/config_guide/variables/04-variable-basic-info.png b/docs/_images/en-us/config_guide/variables/04-variable-basic-info.png index d149ee200..6780f5709 100644 Binary files a/docs/_images/en-us/config_guide/variables/04-variable-basic-info.png and b/docs/_images/en-us/config_guide/variables/04-variable-basic-info.png differ diff --git a/docs/_images/en-us/config_guide/variables/05-source-type-field.png b/docs/_images/en-us/config_guide/variables/05-source-type-field.png index d149ee200..b647f9af4 100644 Binary files a/docs/_images/en-us/config_guide/variables/05-source-type-field.png and b/docs/_images/en-us/config_guide/variables/05-source-type-field.png differ diff --git a/docs/_images/en-us/config_guide/variables/06-source-type-aggregate.png b/docs/_images/en-us/config_guide/variables/06-source-type-aggregate.png index d149ee200..5e92120ee 100644 Binary files a/docs/_images/en-us/config_guide/variables/06-source-type-aggregate.png and b/docs/_images/en-us/config_guide/variables/06-source-type-aggregate.png differ diff --git a/docs/_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png b/docs/_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png index d149ee200..fb3872a40 100644 Binary files a/docs/_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png and b/docs/_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png differ diff --git a/docs/_images/en-us/config_guide/variables/08-source-type-computed.png b/docs/_images/en-us/config_guide/variables/08-source-type-computed.png index d149ee200..cd3717dbf 100644 Binary files a/docs/_images/en-us/config_guide/variables/08-source-type-computed.png and b/docs/_images/en-us/config_guide/variables/08-source-type-computed.png differ diff --git a/docs/_images/en-us/config_guide/variables/09-source-type-constant.png b/docs/_images/en-us/config_guide/variables/09-source-type-constant.png index d149ee200..9588d7e2e 100644 Binary files a/docs/_images/en-us/config_guide/variables/09-source-type-constant.png and b/docs/_images/en-us/config_guide/variables/09-source-type-constant.png differ diff --git a/docs/_images/en-us/config_guide/variables/10-caching-configuration.png b/docs/_images/en-us/config_guide/variables/10-caching-configuration.png index d149ee200..4acb8c99d 100644 Binary files a/docs/_images/en-us/config_guide/variables/10-caching-configuration.png and b/docs/_images/en-us/config_guide/variables/10-caching-configuration.png differ diff --git a/docs/_images/en-us/config_guide/variables/11-period-granularity.png b/docs/_images/en-us/config_guide/variables/11-period-granularity.png index d149ee200..f9df7c11f 100644 Binary files a/docs/_images/en-us/config_guide/variables/11-period-granularity.png and b/docs/_images/en-us/config_guide/variables/11-period-granularity.png differ diff --git a/docs/_images/en-us/config_guide/variables/12-categories-list.png b/docs/_images/en-us/config_guide/variables/12-categories-list.png index e7dc636ec..2a8467feb 100644 Binary files a/docs/_images/en-us/config_guide/variables/12-categories-list.png and b/docs/_images/en-us/config_guide/variables/12-categories-list.png differ diff --git a/docs/_images/en-us/config_guide/variables/13-category-form.png b/docs/_images/en-us/config_guide/variables/13-category-form.png index d149ee200..2ec6fa697 100644 Binary files a/docs/_images/en-us/config_guide/variables/13-category-form.png and b/docs/_images/en-us/config_guide/variables/13-category-form.png differ diff --git a/docs/_images/en-us/config_guide/variables/14-variable-draft-state.png b/docs/_images/en-us/config_guide/variables/14-variable-draft-state.png index d149ee200..8b8e6bc68 100644 Binary files a/docs/_images/en-us/config_guide/variables/14-variable-draft-state.png and b/docs/_images/en-us/config_guide/variables/14-variable-draft-state.png differ diff --git a/docs/config_guide/change_request_types/conflict_detection.md b/docs/config_guide/change_request_types/conflict_detection.md index 69eb4e4c3..3caa6626c 100644 --- a/docs/config_guide/change_request_types/conflict_detection.md +++ b/docs/config_guide/change_request_types/conflict_detection.md @@ -16,13 +16,21 @@ Conflict detection identifies when multiple change requests might affect the sam On the **Change Request Type** form, check **Enable Conflict Detection** to activate this feature. Then configure one or more conflict rules. -![Enable Conflict Detection checkbox](/_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png) +```{figure} /_images/en-us/config_guide/change_request_types/20-enable-conflict-detection.png +:alt: Conflict Detection tab with Enable Conflict Detection checkbox highlighted + +Check **Enable Conflict Detection** on the **Conflict Detection** tab to activate this feature. +``` ### Conflict rules Each rule defines what constitutes a conflict and how to handle it. -![Conflict Rules section](/_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png) +```{figure} /_images/en-us/config_guide/change_request_types/21-conflict-rules-section.png +:alt: Conflict Rules table showing configured rules with Name, Scope, Action, and Conflict States columns + +The **Conflict Rules** table with columns for **Name**, **Scope**, **Action**, and **Conflict States**. +``` | Field | Description | |-------|-------------| @@ -58,7 +66,11 @@ Each rule defines what constitutes a conflict and how to handle it. | Conflict Fields | Comma-separated list of fields to check (for field scope) | | Conflict Message | Custom message to display when conflict is detected | -![Conflict Rule form](/_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png) +```{figure} /_images/en-us/config_guide/change_request_types/22-conflict-rule-form.png +:alt: Conflict rule configured with scope, action, and conflict states + +A configured conflict rule showing **Scope**, **Action**, **Conflict States**, and **Time Window** settings. +``` ## Example: Prevent duplicate phone updates @@ -106,7 +118,11 @@ Duplicate detection identifies when a change request is essentially the same as Check **Enable Duplicate Detection** on the CR type form and configure the detection settings. -![Enable Duplicate Detection checkbox](/_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png) +```{figure} /_images/en-us/config_guide/change_request_types/23-enable-duplicate-detection.png +:alt: Duplicate Detection section with Enable Duplicate Detection checkbox highlighted + +Check **Enable Duplicate Detection** to identify and prevent duplicate change request submissions. +``` ### Configuration options diff --git a/docs/config_guide/change_request_types/creating_types.md b/docs/config_guide/change_request_types/creating_types.md index 5a5afa849..a7ec93e17 100644 --- a/docs/config_guide/change_request_types/creating_types.md +++ b/docs/config_guide/change_request_types/creating_types.md @@ -18,13 +18,21 @@ This guide walks through creating a new change request type using the OpenSPP co Navigate to **Change Requests → Configuration → Change Request Types** and click **New**. -![Change Request Types list](/_images/en-us/config_guide/change_request_types/01-cr-types-list.png) +```{figure} /_images/en-us/config_guide/change_request_types/01-cr-types-list.png +:alt: Change Request Types list showing all configured types + +The **Change Request Types** list — click **New** to create a type. +``` ### Header Enter the type name in the header field (placeholder shows "Type Name"). -![New Change Request Type form](/_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png) +```{figure} /_images/en-us/config_guide/change_request_types/02-cr-type-form-new.png +:alt: New Change Request Type form with Name field highlighted + +Enter the type name in the **Name** field at the top of the form. +``` ### Basic info section @@ -46,7 +54,11 @@ Enter the type name in the header field (placeholder shows "Type Name"). Enter a description at the bottom of the form to help users understand when to use this type. -![Basic Info section filled](/_images/en-us/config_guide/change_request_types/03-basic-info-filled.png) +```{figure} /_images/en-us/config_guide/change_request_types/03-basic-info-filled.png +:alt: Basic info section with Code, Sequence, Icon, and Target Type fields highlighted + +Configure the **Code**, **Sequence**, **Icon**, and **Target Type** fields. +``` ## Step 2: Link to detail model @@ -57,7 +69,11 @@ Navigate to the **Detail Model** tab. | Detail Model | `spp.cr.detail.edit_individual` | Technical model name (pre-created, required) | | Detail Form View | (leave blank) | Auto-selects default view | -![Detail Model tab](/_images/en-us/config_guide/change_request_types/04-detail-model-tab.png) +```{figure} /_images/en-us/config_guide/change_request_types/04-detail-model-tab.png +:alt: Detail Model tab with Detail Model and Detail Form View fields highlighted + +Set the **Detail Model** and optionally the **Detail Form View** on the **Detail Model** tab. +``` ```{note} For basic configurations, use existing detail models. See {doc}`overview` for the complete list of available models. @@ -72,7 +88,11 @@ Navigate to the **Approval** tab. | Approval Workflow | Select from dropdown | Choose existing approval definition | | Auto Approve From Event | No | If yes, requests from event data are auto-approved | -![Approval tab](/_images/en-us/config_guide/change_request_types/07-approval-tab.png) +```{figure} /_images/en-us/config_guide/change_request_types/07-approval-tab.png +:alt: Approval tab with Approval Workflow and Auto Approve From Event fields highlighted + +Select an **Approval Workflow** and configure **Auto Approve From Event** on the **Approval** tab. +``` ```{note} The **Auto Apply On Approve** field is located in the **Apply Configuration** tab (see Step 4). @@ -96,7 +116,11 @@ Example: Two-level approval for sensitive changes Navigate to the **Apply Configuration** tab. -![Apply Configuration tab](/_images/en-us/config_guide/change_request_types/05-apply-config-tab.png) +```{figure} /_images/en-us/config_guide/change_request_types/05-apply-config-tab.png +:alt: Apply Configuration tab with Apply Strategy and Auto Apply On Approve fields highlighted + +Choose the **Apply Strategy** and enable **Auto Apply On Approve** on the **Apply Configuration** tab. +``` ### For simple field mapping @@ -118,7 +142,11 @@ In the **Field Mappings** section below, add your mappings: | `birthdate` | `birthdate` | Direct Copy | | `gender_id` | `gender` | Direct Copy | -![Field mapping added](/_images/en-us/config_guide/change_request_types/06-field-mapping-added.png) +```{figure} /_images/en-us/config_guide/change_request_types/06-field-mapping-added.png +:alt: Field Mappings section with a phone field mapping added + +Add **Field Mappings** to define how change request fields map to registrant fields. +``` ### For custom logic @@ -140,7 +168,11 @@ Navigate to the **Documents** tab. | Available Documents | (select document types) | Document types that can be attached | | Required Documents | (select document types) | Use Ctrl/Cmd+Click for multiple | -![Documents tab](/_images/en-us/config_guide/change_request_types/08-documents-tab.png) +```{figure} /_images/en-us/config_guide/change_request_types/08-documents-tab.png +:alt: Documents tab with Document Validation Mode field highlighted + +Set the **Document Validation Mode** and select **Available Documents** and **Required Documents**. +``` ### Document validation modes diff --git a/docs/config_guide/change_request_types/field_mappings.md b/docs/config_guide/change_request_types/field_mappings.md index 8a354290f..00844d031 100644 --- a/docs/config_guide/change_request_types/field_mappings.md +++ b/docs/config_guide/change_request_types/field_mappings.md @@ -29,7 +29,11 @@ When source and target field names match exactly, use Direct Copy: | `given_name` | `given_name` | Direct Copy | | `family_name` | `family_name` | Direct Copy | -![Configured field mappings](/_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png) +```{figure} /_images/en-us/config_guide/change_request_types/11-configured-field-mappings.png +:alt: Field Mappings table showing Direct Copy mappings for the Edit Individual Information type + +The **Field Mappings** table with **Source Field**, **Target Field**, and **Transform** columns configured for direct field copying. +``` ## Relational field mapping diff --git a/docs/config_guide/entitlement_formulas/conditional_logic.md b/docs/config_guide/entitlement_formulas/conditional_logic.md index 267d23f93..6eb10f246 100644 --- a/docs/config_guide/entitlement_formulas/conditional_logic.md +++ b/docs/config_guide/entitlement_formulas/conditional_logic.md @@ -76,9 +76,9 @@ Add conditions to entitlement items to control who receives each component. | Condition | `age_years(r.birthdate) >= 60` | ```{figure} /_images/en-us/config_guide/entitlement_formulas/12-conditional-items-by-age.png -:alt: Entitlement items with age-based conditions +:alt: Entitlement item form with Condition Mode toggle and Domain filter highlighted -Entitlement items with age-based **Condition** expressions for different benefit amounts. +Set the **Condition Mode** to Domain or CEL Expression, then define rules to filter beneficiaries. ``` ### Example: Supplement for special groups diff --git a/docs/config_guide/entitlement_formulas/dynamic_entitlements.md b/docs/config_guide/entitlement_formulas/dynamic_entitlements.md index 6778e3486..c7d16eff6 100644 --- a/docs/config_guide/entitlement_formulas/dynamic_entitlements.md +++ b/docs/config_guide/entitlement_formulas/dynamic_entitlements.md @@ -38,9 +38,9 @@ The simplest approach uses a multiplier field: | Multiplier Field | `z_ind_grp_num_individuals` | ```{figure} /_images/en-us/config_guide/entitlement_formulas/10-multiplier-field-configuration.png -:alt: Multiplier field configuration in entitlement item +:alt: Entitlement items list with Multiplier and Maximum columns highlighted -Set the **Multiplier Field** to scale the amount by a beneficiary attribute. +The **Multiplier** and **Maximum** columns scale the item amount by a beneficiary attribute. ``` ### Common multiplier fields @@ -112,9 +112,9 @@ Combine multiple entitlement items for complex calculations: - Condition: `me.is_female_headed` ```{figure} /_images/en-us/config_guide/entitlement_formulas/11-multiple-dynamic-items.png -:alt: Multiple entitlement items for dynamic calculation +:alt: Three entitlement items with different amounts and multipliers -Multiple entitlement items with different amounts, multipliers, and conditions. +Three entitlement items — a base amount, a per-child supplement with multiplier, and a conditional add-on. ``` ## Formula-based dynamic calculations diff --git a/docs/config_guide/variables/creating_variables.md b/docs/config_guide/variables/creating_variables.md index a67ed517f..efc82234f 100644 --- a/docs/config_guide/variables/creating_variables.md +++ b/docs/config_guide/variables/creating_variables.md @@ -12,11 +12,19 @@ This guide is for **implementers** creating and configuring variables in OpenSPP Go to **Studio → Variables → All Variables**. -![Variables list view](/_images/en-us/config_guide/variables/02-variables-list.png) +```{figure} /_images/en-us/config_guide/variables/02-variables-list.png +:alt: Variables list view grouped by category + +The **Variables** list displays all defined variables grouped by category. +``` Click **New** to create a variable. -![New variable form empty](/_images/en-us/config_guide/variables/03-variable-form-empty.png) +```{figure} /_images/en-us/config_guide/variables/03-variable-form-empty.png +:alt: New variable form with Variable Name field highlighted + +The new variable form with the **Variable Name** field ready for input. +``` ## Basic Configuration @@ -122,7 +130,11 @@ Categories help organize variables in the picker. Click **Save**. The variable is created in Draft state. -![Variable form with basic info](/_images/en-us/config_guide/variables/04-variable-basic-info.png) +```{figure} /_images/en-us/config_guide/variables/04-variable-basic-info.png +:alt: Variable form with basic info fields highlighted + +Fill in the **Variable Name**, **Label**, **CEL Accessor**, **Applies To**, and **Value Type** fields. +``` ## Advanced Configuration @@ -191,7 +203,11 @@ Ensure all required fields are set correctly. Click the **Activate** button or change **Status** to "Active". -![Variable in draft state with Activate button](/_images/en-us/config_guide/variables/14-variable-draft-state.png) +```{figure} /_images/en-us/config_guide/variables/14-variable-draft-state.png +:alt: Variable form in Draft state with Activate button highlighted + +Click **Activate** to make the variable available in CEL expressions. +``` ### Step 3: Test in CEL Builder @@ -214,7 +230,11 @@ Aggregates compute values over household members, enrollments, or events. | Value Type | Number | | Applies To | Group/Household | -![Aggregate variable configuration](/_images/en-us/config_guide/variables/06-source-type-aggregate.png) +```{figure} /_images/en-us/config_guide/variables/06-source-type-aggregate.png +:alt: Variable form configured as Member Aggregate with source fields highlighted + +Set **Source Type** to Member Aggregate, then configure the **Aggregate Type**, **Target**, and **Filter**. +``` ### Example: Sum of Member Incomes @@ -305,7 +325,11 @@ When **Program Configurable** is enabled, each program can set its own value for Go to **Studio → Variables → Categories** and click **New**. -![Variable categories list](/_images/en-us/config_guide/variables/12-categories-list.png) +```{figure} /_images/en-us/config_guide/variables/12-categories-list.png +:alt: Variables list grouped by category showing category names and counts + +The **Variables** list grouped by category shows how variables are organized. +``` | Field | Value | |-------|-------| @@ -315,7 +339,11 @@ Go to **Studio → Variables → Categories** and click **New**. | Color | #3498db | | Sequence | 10 | -![New category form](/_images/en-us/config_guide/variables/13-category-form.png) +```{figure} /_images/en-us/config_guide/variables/13-category-form.png +:alt: New category form with Name field + +Enter the category **Name** and optional settings to organize your variables. +``` ### Assigning Variables to Categories diff --git a/docs/config_guide/variables/overview.md b/docs/config_guide/variables/overview.md index ba716e3fa..55890104d 100644 --- a/docs/config_guide/variables/overview.md +++ b/docs/config_guide/variables/overview.md @@ -113,7 +113,11 @@ Cache TTL: 3600 seconds (1 hour) The variable value is computed once and reused for 1 hour before refreshing. -![Caching configuration with TTL settings](/_images/en-us/config_guide/variables/10-caching-configuration.png) +```{figure} /_images/en-us/config_guide/variables/10-caching-configuration.png +:alt: Variable form with Cache Strategy and TTL fields highlighted + +Set the **Cache Strategy** and **Cache TTL** to control how long computed values are reused. +``` ## Period Granularity @@ -128,7 +132,11 @@ Variables can track values over time: | **Yearly** | Value per year | Annual income | | **Snapshot** | Point-in-time freeze | Income at enrollment | -![Period granularity configuration](/_images/en-us/config_guide/variables/11-period-granularity.png) +```{figure} /_images/en-us/config_guide/variables/11-period-granularity.png +:alt: Variable form with Period Granularity field highlighted + +Choose the **Period Granularity** to track variable values over time. +``` **Snapshot Example:** Capture household income at the moment of program enrollment, even if it changes later. @@ -222,14 +230,22 @@ Define a threshold that programs can override. Variables are configured in **Studio → Variables**. -![Studio dashboard with Variables card highlighted](/_images/en-us/config_guide/variables/01-studio-variables-card.png) +```{figure} /_images/en-us/config_guide/variables/01-studio-variables-card.png +:alt: Studio Dashboard with the Variables card highlighted + +Click **Open Variables** on the Studio Dashboard to manage variable definitions. +``` | Menu | Purpose | |------|---------| | **All Variables** | View, create, and manage variables | | **Categories** | Create and organize variable categories | -![Variables list view](/_images/en-us/config_guide/variables/02-variables-list.png) +```{figure} /_images/en-us/config_guide/variables/02-variables-list.png +:alt: Variables list view showing configured variables + +The **Variables** list displays all defined variables with their status and source type. +``` ## Are You Stuck? diff --git a/docs/config_guide/variables/variable_types.md b/docs/config_guide/variables/variable_types.md index af1ccca25..2ddc366cd 100644 --- a/docs/config_guide/variables/variable_types.md +++ b/docs/config_guide/variables/variable_types.md @@ -48,7 +48,11 @@ Reference an existing field on an Odoo model. | Source Field | `x_studio_monthly_income` | | Value Type | Money | -![Model Field source type configuration](/_images/en-us/config_guide/variables/05-source-type-field.png) +```{figure} /_images/en-us/config_guide/variables/05-source-type-field.png +:alt: Variable form with Source Type set to Model Field and source configuration highlighted + +Set **Source Type** to Model Field, then specify the **Source Model** and **Source Field**. +``` **CEL Usage:** `income > 5000` @@ -90,7 +94,11 @@ Calculate values using CEL expressions. | Value Type | Number | | Unit | years | -![Computed CEL source type configuration](/_images/en-us/config_guide/variables/08-source-type-computed.png) +```{figure} /_images/en-us/config_guide/variables/08-source-type-computed.png +:alt: Variable form with Source Type set to Computed CEL and expression field highlighted + +Set **Source Type** to Computed (CEL), then enter the **CEL Expression** to calculate. +``` **CEL Usage:** `age >= 18 && age <= 65` @@ -140,7 +148,11 @@ Compute values over household members, enrollments, entitlements, or events. | **Maximum** | Number | Largest value | | **Exists** | Yes/No | True if any member matches | -![Aggregate types dropdown](/_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png) +```{figure} /_images/en-us/config_guide/variables/07-aggregate-types-dropdown.png +:alt: Aggregate Type dropdown showing Count, Sum, Average, Minimum, Maximum, and Exists options + +Select an **Aggregate Type** to define how member values are combined. +``` ### Aggregate Targets @@ -275,7 +287,11 @@ Fixed values that can optionally be overridden per program. | Value Type | Money | | Unit | USD | -![Constant source type configuration](/_images/en-us/config_guide/variables/09-source-type-constant.png) +```{figure} /_images/en-us/config_guide/variables/09-source-type-constant.png +:alt: Variable form with Source Type set to Constant and default value configuration highlighted + +Set **Source Type** to Constant/Parameter, then enter the **Default Value** and enable **Program Configurable** if needed. +``` **CEL Usage:** `income < poverty_line`