On Thu 19-Aug-2004 at 15:08 -0500, Eric Wilhelm wrote: > > Version: global property > > I don't think it's practical to design code around versions > changing across entities within a single database. I could see a > base class and a toplevel layer which checks the version and > calls to the appropriate subclass. So, the version would likely > be in the "drawing.yml" file with things like "units". Ok, I understand where you are coming from - Though perhaps this could be an inheritable/optional attribute along with units, colour, layer etc.. This is my reasoning for thinking like this: This stuff needs to be usable for real work and data from the earliest opportunity - Without early adopters worrying about bitrot and formats changing in incompatible ways. When (eventually) I get around to updating Draft to read/write this format, I intend to do it by subclassing the file handling so it can handle both the new and my old drawings simultaneously. When the spec inevitably changes, it would be nice to just add a file or two to the code and keep backwards compatibility (read/write existing data in the old spec, but write new elements to the new spec). -- Bruno