homotopy-io / homotopy-webclient

https://homotopy.io
26 stars 5 forks source link

Versioning system for project data #92

Open jamievicary opened 5 years ago

jamievicary commented 5 years ago

As we change aspects of the tool, we will sooner or later run into the problem of the data structure changing, and old exported projects not loading. This needs to be avoided.

I propose we have a versioning system, and we write routines to update data files at each level. For example, suppose we call the current data files version 0, and make two successive changes to the data structure, yielding further versions 1 and 2. Then we could write functions update0to1 and update1to2, through which we would pass the input data files which are not of the latest version. Then each time we change something, we just have to write one more function.