Automatic versionning suport should be implemented through out the platform. I'm putting this bug here, but surely this affects most packages in the project. I detail our existing workplan and some key behavioral aspects.
- Each object in the system (databases, toolchains, dataformats, algorithms, attached documentation strings, environments) should be version-able. Every time the user uploads or changes that object, the version number of that object is bumped.
- Each time a new version is entered, the user should be able to attach a version comment, which is independent from the object documentation itself.
- For the platform, the combination of the object name and the version determines the uniqueness of such object.
- The sharing, usage and tagging status of each unique object (name/version) should be tracked independently. This outdates the usage of "/private" paths which seems to be a bit confusing for some users.
- While visualizing the object, the user by defaults accesses the latest version to which it has access to. This should be made consistent through the platform.
- There is always an option to see/use an earlier version of an object, but that requires the user to specify it explicitly. For example, in the command-line utilities, a "--version=xxx" could be passed. On the web interface, the version of a certain object is chosen automatically as the latest, but a field allows the user to browse for an earlier version.