X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sat, 26 Mar 2016 16:11:50 +0100 (CET) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: [geda-user] [pcb-rnd] footprint lib database (sql, sqlite, etc.) becomes real? Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com 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