Increase widget_field.value_str length for modern widget configurations

XMLWordPrintable

      With the upcoming Zabbix Marketplace for modules and widgets, the current database

      limitation of widget_field.value_str (VARCHAR(2048)) has become a blocking issue.

       

      The widget_field.value_str column is used to store widget configuration data.

      In modern widgets, this data is often structured and JSON-like (column definitions,

      visualization options, mappings, filters, advanced settings, etc.).

       

      As widget complexity grows — especially for third-party and marketplace-distributed

      widgets — the 2048-character limit is already insufficient and prevents valid widget

      configurations from being saved.

       

      Given the planned marketplace ecosystem, this limitation will significantly restrict

      widget authors and lead to fragile workarounds (splitting configuration across multiple

      rows or fields).

      Current behavior

      • widget_field.value_str is limited to 2048 characters
      • Saving complex widget configurations fails with a DB constraint error
      • Widget authors must artificially limit features or split configuration data

      Expected behavior

      • Widget configuration storage should support significantly larger payloads
      • The limit should be high enough to avoid repeated future schema changes
      • Widget authors should be able to store full widget configuration in a single field

      Proposed change

      Increase the size of widget_field.value_str to a future-proof limit, for example:

      • TEXT (preferred), or
      • VARCHAR(65535)

       

      Rationale

      • widget_field stores configuration data only (no time-series data)
      • Write frequency is very low (dashboard/widget edits only)
      • value_str is not indexed and not used in hot paths
      • Storage method is already EXTENDED
      • Performance impact is negligible
      • Repeated small increases (2k → 8k → 16k) would cause unnecessary schema churn

      With the upcoming Zabbix Marketplace release, this change is a must-have feature{}

      to enable rich, modern widgets and a healthy third-party ecosystem.

      Impact

      • No breaking changes for existing installations
      • Backward compatible database upgrade
      • Enables advanced native and third-party widgets
      • Improves developer experience for widget authors

            Assignee:
            Alexander Vladishev
            Reporter:
            Tomáš Heřmánek
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: