This is relatively easy to do from SVG perspective. The hard part is creating a widget for such a symbol library. The widget must show a scrollable resizeable table with previews (generated on-the-fly, with settable sizes) and names, and should support folders and drag-n-drop. When we have such a widget we will use it for markers, patterns, gradients, masks, and symbols. In each case the widget will show both those items defined in the current document and the items from a library that comes with Inkscape, and you will be able to move document items to the library or delete library items.
This sounds doable (I didn't -really- want to work on my thesis this week) but I'm not entirely clear how the libraries would work, I guess. Would they be a valid SVG document where each top-level group represented an item ? I'm not sure which of the two options would work better (or even if they're both possible -- again, SVG newbie here):
1. Keep a copy of each library object used by a document in each document itself. Thus, the document will be editable, but you could (say) open a library and "update" the linked objects. Some of the EE CAD programs I've worked with (Like protel) behave this way. The nice thing is that you don't have to find / access the library to edit the lib object -- it essentially keeps a local copy. The downside is the explicit update step.
2. Keep the library files separate. This means that to view/edit a document, you'd need to be able to access the libray, and the document would have to know how to find the library.
My bias (does it show :) ?) towards option 1 arises from the way I generally keep everything in version control, with separate directories for libraries and subprojects -- it's nice to not require the developer to check out the entire project tree or force them to use a certain directory hierarchy. user
Then again, this could totally be my vision being clouded by the tools I've used previously, and I'm sure there are lots of other ways to do this. What do people think?
Again, inkscape is so spectacular, I never dreamed such a tool would exist as Free Software. Can I buy the developers a beer?
...Eric
Oh, and should we move this to the dev list instead?