[cad-linux] Re: database access methods

> The following was supposedly scribed by
> Jim Parker
> on Friday 16 May 2003 10:58 am:

> Well the theory is that
>the Naval Architecture plug-in would handle the special tables needed
>by naval architecture module plug-ins.  So in effect GtkCAD extends the
>generic model by the use of design modes.

What I have in mind is a slight extension on this to allow multiple programs 
to share the same data.  The trick is allowing them all to speak the same 
language about the data being shared.

From what I understand, your system has "common" data which is accessible 
under all modes, and other data specific to each mode.

What I would like to find is a way to allow complex data to be accessible from 
multiple programs.  This would be akin to a third-party writing another naval 
architecture plug-in to work with GtkCAD.  What process would such a 
developer use?  Would a library from GtkCAD be available to facilitate this 
plug-in?

Extending this idea further:  say you were going to create a stand-alone 
program to access the GtkCAD database via a database manager which allows 
concurrent connections from multiple programs.  For example: a cost 
estimation program which needs certain data used by your naval-architecture 
modules.  How could this program easily locate the correct data in the tables 
which are specific to naval-architecture?

It seems to me that if each of your naval-architecture plug-ins share a 
library of functions which allows them to consistently read and write the 
table in a standardized way, that this same library could be used by other 
programs to utilize and change the naval-architecture data without getting 
confused by or confusing the original modules.  Also, if you changed the way 
the data was stored in the table (say you decided to re-organize it to 
facilitate a new plug-in), wouldn't the functions in this library be the only 
thing to change, leaving your other plug-ins and the third-party program code 
unchanged?

--Eric

Other related posts: