Project

General

Profile

User Story #1781

Versioning of configuration

Added by Sebastian Manger almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
06 Feb 2018
Due date:
% Done:

100%

Estimated time:
(Total: 111.00 h)
Spent time:
(Total: 111.00 h)
Resolution:

Description

Intro

The 'initial' version of all configurations is hard coded (JSON). This has historic reasons, the initial plan for QCAT was to have many small, modular questionnaires that can be linked. As a configuration now is a very large (> 20k lines) file, this should not be copied and only the changes ('diff') are stored for a new version.

Naming

  • Years are used to identify a version, e.g. technology 2018. If multiple versions are released per year, the month is appended (2018.6)

Technical details

  • Before estimate: proof of concept.
  • A configuration is a json object, which is loaded into the database.
  • A new version of the configuration contains only the 'difference' as code
  • Similar to a django migration.
  • Rationale: when storing code, help texts and such can easily be added. Also, the indicators for 'this question has changed' can be calculated.
  • To be defined: even if the new version is saved as 'diff', when applying it (probably as management command) - is it expanded to the full json in the database?

Subtasks

Task #1782: Proof of concept: new configuration as codeClosed06 Feb 2018

Actions
Task #1783: Configuration: database layout changesClosed06 Feb 2018

Actions
Task #1784: Caching: aware of versionClosed06 Feb 2018

Actions
#1

Updated by Sebastian Manger almost 7 years ago

  • Subject changed from New configuration: to New configuration: Add changes
#2

Updated by Lukas Vonlanthen almost 7 years ago

  • Subject changed from New configuration: Add changes to Versioning of configuration
#3

Updated by Kurt Gerber almost 7 years ago

  • Status changed from New to Accepted
#4

Updated by Kurt Gerber over 6 years ago

  • Status changed from Accepted to In Progress
#5

Updated by Lukas Vonlanthen over 6 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF