History

From ProcessDB
Jump to navigation Jump to search

ProcessDB keeps a history of user data. The purpose of this history is to preserve user data such that valuable work is never lost. For example, if you work hard on creating a model of a particular biological system, get the model working well, and save that model then that model will be forever in the history as you saw it the moment you saved it. This is called a "version" of the model, because later you may change the model and save it again - creating another version. To be very clear, say you save the model on May 22nd, 2019, then modify it on Jun 7th, 2020, you could then go view the model as it was on May 22nd, 2019! There will be a version of the model as it was on May 22nd, 2019, and another version of the model for June 7th, 2020. ProcessDB, by default, only displays the most recent version of each model. To access older versions click the "History" button in the toolbar of an open model. A list of versions will then appear on the right.

2023-05-24 - model history.png

At the moment models have complete history and ability to view versions. ProcessDB also stores the history for MOE equations and a few other things, but does not yet have the ability to view versions for those. The history feature is a work in progress.

The intent is that the user will never have to worry about losing data and can work uninhibited and without anxiety of losing valuable work. Even so, some diligence on the user's part will aid in the ability to _find_ meaningful versions in the history. The most important action a user can take is to save (commit to database) when they have something working. Every time the user saves, ProcessDB creates a version.

In the future, ProcessDB will have the ability to tag or name versions with a user provided label/string. Tagging will also be a useful action a user may take to ensure the ability to easily recall a version with meaningful work. Some example tags that may be useful could be "as presented to my colleague John Doe on Sept 30th, 2022", "as presented to funder Jane Doe on March 5th, 2021", "as published in Cell on June 20th, 2020", "successfully simulated and fit data for experiment MPF in Cytoplasm checkpoint E3521 dataset 3", etc..

It's also reasonable to duplicate a model if you wish to have easier access to the particular version that was a meaningful milestone. ProcessDB will eventually track the relationship between duplicated models so that you'll be able to see and retrieve the history across duplication. Duplicating with new process ids will prevent changes to the duplicate from modifying the duplicated model.

Another feature planned for ProcessDB is the ability to make an older version the current version. In some cases a milestone is reached and things work well, work continues on the model and things degrade, the user then wishes to revert to the previous milestone version and continue working from there. This is not currently possible in ProcessDB, but it is planned for a future release.