Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-13417

HCM feature .meta:add-new-system-values doesn't retain existing values without an existing baseline configuration

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 14.0.0
    • 14.2.2, 14.3.0
    • hcm, repository
    • None
    • Pulsar
    • Pulsar 235 - Eng OKRs

    Description

      HCM-283 introduced the feature .meta:add-new-system-values to be able to provide add extra initial values to system category (multi-value) properties.

      But the current implementation incorrectly assumes that these  properties will always (have been) bootstrapped through HCM initially: either that these properties don't exist yet or that they have already been bootstrapped (via HCM yaml configuration) before.

      This therefore doesn't work properly for existing properties which were added only at runtime, e.g. they do exist but don't have a baseline configuration, yet.
      In that case, the currently implementation is destructive because it will delete and replace the existing property values with the now 'initial' values (which could be empty).

      This turns out to be easily fixable, but until this fix is available, the existing implementation can not be used yet as intended for the following scenario:

      1. having a specific multi-valued property, added only at runtime
        for example: a custom group added through the CMS setup UI, with specific members (hipposys:members property)
      2. the intend to manage the multi-valued property and/or the holder node(s) thereof through bootstrap configuration, while retaining the already existing (system) values
        for example: manage the definition and initial configuration of the custom group and (system category) hipposys:members property via bootstrap yaml

      As a workaround for this scenario to work with the current 14.2.1 release, either:

      • Temporarily include the existing system values (e.g. hipposys:members) also as the initial values for bootstrap
        This only is needed once, to get the property definition itself become part of the baseline configuration. After this, the bootstraped values can be 'reset' or trimmed again.
      • Or: safeguard the existing values before deploying the new bootstrap configuration and afterwards restore them
        This means making a copy or export (through console or otherwise) and import/restore them afterwards (through the console or otherwise)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              adouma Ate Douma (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: