Description of the limitation and why it is relevant to address
As a VIKTOR developer, I want to export and import entity parameters as JSON files so that I can instantly reproduce user-reported bugs by loading their exact configuration into my local development environment, instead of manually recreating input data from Error Reports or asking users to describe each parameter value.
As a VIKTOR user, I want to export my entity configuration to a JSON file so that I can share it with colleagues, use it as a template for new projects, or create a backup of my work without duplicating the entire entity.
As a QA engineer, I want to import standardized parameter sets from JSON files so that I can create reproducible test fixtures and automate regression testing.
I think this is relevant for the VIKTOR platform because:
- It significantly reduces debugging time when users report issues
- It enables better collaboration between team members
- It allows users to create reusable project templates
- The underlying mechanisms already exist in VIKTOR (
SetParamsResult, JSON handling), making implementation feasible
Submitter proposed design
Two built-in action buttons (or a standard VIKTOR feature):
-
Export Parameters to JSON
- Serializes the complete
paramsobject to a downloadable.jsonfile - Preserves the hierarchical structure (e.g.,
step_1.geometrie.e,step_2.chQ.classe_tr) - Handles special types (OptionField selections, DynamicArray contents…)
- Serializes the complete
-
Import Parameters from JSON
- Uploads a
.jsonfile and populates the parametrization - Validates compatibility against the current parametrization schema
- Shows a preview/diff before applying changes
- Uses
SetParamsResultto update the entity - Option for partial import (only specific sections)
- Uploads a
Current workarounds
When users report errors, developers must manually recreate their input data from the information mentioned in the Error Report, retrieve it from the problematic project, or ask users to describe each parameter value and translate them into their local environment, which is time-consuming and error-prone.
For sharing configurations, users must either duplicate the entire entity or manually copy values one by one.