Skip to main content

cloud.config_values_group

Schema: cloud
Table: cloud.config_values_group
Description: Configuration overrides applied to HR groups. A group is identified by a type (e.g. mansione, sede_op) and a code within that type (e.g. DEV, MI). Applied after tenant overrides, before user overrides.

Overview

  • Column prefix: cdv_
  • Primary key: cdv_value_id
  • Unique constraint: one row per (cdv_key_id, cdv_tenant_id, cdv_group_type, cdv_group_code)

Columns

ColumnTypeNullDefaultDescription
cdv_value_idintegerNOauto-incrementSurrogate primary key.
cdv_key_idintegerNOFK → cloud.config_catalog.cck_key_id.
cdv_tenant_idintegerNOFK → cloud.tenants.ten_internal_id. Tenant scope.
cdv_group_typevarchar(50)NOThe HR grouping dimension. See supported values below.
cdv_group_codevarchar(100)NOA single code within the grouping dimension (e.g. DEV, MI, PT).
cdv_valuetextNO''Override value.
cdv_updated_byuuidYESNULLFK → cloud.users.usr_user_id.
cdv_updated_attimestamptzNONOW()Last modification timestamp.

Constraints

  • Primary key: pk_config_values_groupcdv_value_id
  • Unique: c_uk_cdv_key_group(cdv_key_id, cdv_tenant_id, cdv_group_type, cdv_group_code)
  • FK: fk_cdv_keycloud.config_catalog(cck_key_id) ON DELETE CASCADE
  • FK: fk_cdv_tenantcloud.tenants(ten_internal_id) ON DELETE CASCADE
  • FK: fk_cdv_updated_bycloud.users(usr_user_id) ON DELETE SET NULL (audit only — override value is preserved when the user is deleted)

Supported group types (cdv_group_type)

ValueHR entityDescription
mansioneJob functionEmployee's role or job function (e.g. DEV, MGR)
qualificaQualificationEmployee's grade or qualification level (e.g. JR, SR, LEAD)
sede_opOperational siteLocation where the employee works (e.g. MI, RM, REMOTE)
tipo_tempoTime typeContract working time type (e.g. FT, PT_50, PT_80)
gruppo_tipoCustom group typeTenant-defined grouping from hr.element_group_types
static_listStatic listNamed list of manually assigned employees (hr.static_lists)
dynamic_listDynamic listFilter-based computed list (hr.dynamic_lists)

Behavior

  • To apply an override to multiple codes of the same type for the same key, insert one row per code.
  • Group membership is determined at login time by IUserGroupMembershipProvider — not stored on the user record.
  • A key is eligible for a group override only if cck_allowed_levels & 4 != 0.
  • Conflict resolution: when a user belongs to multiple groups that disagree on the same key, the system applies the system.group_conflict_strategy catalog setting:
    • restrictive (default): most restrictive value wins (AND for bool, min for int)
    • permissive: most permissive value wins (OR for bool, max for int)