On 2017-10-22 15:26, Patrick Vrijlandt wrote: > The version control I was referring to, is indeed users' data. I > plan to use Mercurial for the source code. The questionnaires being > developed will go through many revisions. The questionnaires being > filled in, are enough work to have a provision for mistakes. The > idea is much like the "revert" option that MoinMoin and other wikis > provide.
Depends on how much version-control'y'ness you want. Having a "current version with previous version" and if "resurrect version $CURRENT-$N as the most recent version" is sufficient, then it's pretty straight-forward. If you also want to implement diffing, merging diffs between various versions, diffing more than a single text-field blob (a model spread across multiple normalized tables, versioning changes there), etc, you're looking at a whole different game. Additionally, one needs to consider how responses get tied to a questionnaire. If I make a questionnaire that reads "Do you like ice cream?" [ ] Yes [ ] No and you answer "Yes", but then I edit that question so that it reads "Do you like to kick puppies?" you have a problem if it keeps your "Yes" answer and thinks it's linked to the "same" question. All that to say that version-control is often domain-specific and non-trivial. -tkc -- https://mail.python.org/mailman/listinfo/python-list