Working with roving data

This article describes a workflow and process for working with a dataset in multiple locations and the issues involved with backups, archiving and versioning in order to remove confusion as to the latest version of a product.

Given:

  • Multiple work locations, eg. "Work" and "Home"
  • A set of data, eg. A website, a paper, some source code that must be moved around and worked on in each location.
  • At each location, the data is in a directory such as "/MyWork/Data"
  • Your dataset is not huge (ie. it can be redundantly copied many times)

Important:

  • At each working site or location, data or products should be in a consistantly-named directory such as "/MyWork/ProductName1/" and "/MyWork/ProductName2/"
  • The most recent (current) work shall be in the directory called something like: "/MyWork/ProductName/Current/"
  • The "Current" directory must ONLY EVER exist on one machine in one location at a time. (Motivation: If it ever happens that more than one location has such a directory, which one is the most current one?)
  • Filesystem modification dates cannot be trusted.
  • When finishing up a work session at a particular location (and before you move it to another work location), first copy the "Current" directory to your transport medium, such as a Flash card or CDROM into a directory called "CDROM/InTransit/ProductName/Current/", then VERY IMPORTANTLY rename the original "Current" folder (on the machine you are leaving) to something like: "/MyWork/ProductName/Year_Month_Day_Number" eg: "/MyWork/ProductName/2007_02_22_A/". This will allow you to sort your backups nicely in a folder or explorer view. Achiving (zipping) the folder's contents might also be a good idea.
  • Tranport the copied "Current" dataset to the next work location, eg. "Home" and place it in the equivalent "Home/MyWork/ProductName/" directory. There should be no "Current" dataset in this location to replace, as any previously current work done here will have been renamed as above before leaving previously.
  • Work on the dataset at this new location in the newly copied "Current" directory. Once finished, as above, copy the "Current" work to the transport medium and rename the local dataset directory to a dated set as above.
  • Repeat this cycle at each work location. Eventually, this will ensure that at each site, you will have a work directory such as "/MyWork/ProductNameX/" filled with dated backups. You will always know which copy has the latest version of a work.

Example

  • You work in 2 locations, (1) at home, and (2) at work.
  • You work on your materials/products in both locations
  • Every day, in the morning, you leave home and go to work, taking your materials with you
  • Every day, you do work at work (hopefully)
  • Every day, in the evening, you leave work and go home, taking your improved materials home with you, to work on them there.
  • The next day, you repeat the cycle
  • You are working on 2 products, "A" and "B".
  • At work you shall eventually have a set of directories like this (presuming you are currently working at work):
  • /Work/A/Current/ <- this is where you are working now
  • /Work/A/2007_01_12_A/ <- backups
  • /Work/A/2007_01_12_B/
  • /Work/A/2007_01_13_A/
  • /Work/A/2007_01_14_A/
  • /Work/B/Current/ <- this is where you are working now
  • /Work/B/2007_01_12_A/ <- backups
  • /Work/B/2007_01_12_B/
  • /Work/B/2007_01_13_A/
  • /Work/B/2007_01_14_A/

At home, you shall eventually have a directory like this (presuming you are still at work):

  • /Home/A/2007_01_12_A/
  • /Home/A/2007_01_12_B/
  • /Home/A/2007_01_13_A/
  • /Home/A/2007_01_14_A/
  • /Home/B/2007_01_12_A/
  • /Home/B/2007_01_12_B/
  • /Home/B/2007_01_13_A/
  • /Home/B/2007_01_14_A/

Note that in this case, there is no "Current" directory - it will be placed here later when you get home from work.



Back to Top