Mail Archives: geda-user/2016/03/26/11:08:07
Hi all,
as part of the [mods] patches, I am moving a lot of core code to plugins.
I'm currently finishing moving the footprint list/search/load code.
This makes it feasible to write footprint plugins that don't take
footprints from the file system, but from sql, or other databases, or the
web, or wherever.
Plugins can be substituted, different implementations don't interfere at
all, so there's no "either filesystem or sql" decision forced onto the
user. As a core plugin, it doesn't bit-rot either.
This feature had been discussed many times in great lengths on the list.
Now we have the chance to make it real, to convert endless/fruiteless
discussion into actual code.
Does anyone feel like developing a database (e.g. sql, sqlite,
bdb) footprint lib plugin?
To estimate complexity:
- the file system (ex-newlib) backend, including pcb-rnd extras
(parametric footprints) is about 500 lines of code; I expect it to stay
under 800 lines. I expect a simple db backend to be about the same in
length.
- the API currently has 3 entry points; it will grow slightly, but I
expect there would be no more than 5..8 calls to be implemented.
- the API is very young and no much code depends on it, I am willing to
make reasonable changes to it to suit a new plugin.
I'd say the setup cost, API/glue part shouldn't be more than two hours;
depending how complicated the database part is chosen to be, the whole
thing should take something between 1..3 days.
Regards,
Igor2
- Raw text -