> The following was supposedly scribed by > Lee Fickenscher > on Wednesday 14 May 2003 09:59 am: >On Wed, May 14, 2003 at 09:39:04AM -0500, Eric Wilhelm wrote: >> I think a full CVS (or something similar) would be the way to handle it. >> You need to have locking and permissions in a multi-user design >> environment, especially when you have multiple offices involved, or you >> will be making phone calls trying to figure out who changed what. > >You don't think that the database locking would be able to handle this >efficiently? Or are you talking about versioning? In which case wouldn't >it work to just have different object versions in the database? i.e. - >this drawing is using door-0.1? I'm not sure of the features available in existing databases, but the engineering process would benefit from a "change history". The ability to track who changed what and when and to roll-back selective portions of the model would help in evaluating design options. If you had to specify which version of "door" is being used everywhere that it appears, how would you get the new version of "door" to get used automatically? I think the part should have the same name and the new version should automatically be used, but if you find that a previous version of "door" is closer to what is required in a particular location, you could use that version as a starting point for a branch (i.e. "door_alt" or whatever) and simply set the location to use the alternate part, updating to the latest version as the design progressed. It is possible that this sort of thing could be handled by existing database models, but I think the project would best be served by use of a customized implementation (I know avoiding a fork in the code of an existing project is important, so maybe it could be done by using an existing sql-ish database server's libraries and just wrapping the db functions with some functions customized to this application.) --Eric