kicad-developers team mailing list archive
Mailing list archive
Re: Idea: Merging libraries along the search path
Rene Pöschl <poeschlr@xxxxxxxxx>, KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
Simon Richter <Simon.Richter@xxxxxxxxxx>
Wed, 13 Mar 2019 16:10:38 +0100
addr=Simon.Richter@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1
On 12.03.19 09:51, Rene Pöschl wrote:
> Hi again, I thought about it a bit more. I am less and less convinced
> this will make it easier for users to understand the library setup overall.
That's why I'm asking here. :)
> This also brings up the question how would you integrate merged parts
> into the treeview. I think this will be one of the hardest things to
> decide with your suggestion. (But maybe i am completely blind here.)
Probably just show items from project/user dirs in bold in the full view
so they stand out, and move everything below new top level items
(project only, project/user, project/user/organization, everything).
That introduces some repetition, but should be usable:
-+ used in this project
| + R_0402
| \ C_0402
+ your components
| + resistors
| | + *R_0402*
| + capacitors
| | + *C_0402*
| \ regulators
| + 7805
+ components used in your organization
+ all components
The decision whether to show library names in each category would
probably be based on number.
> Right now kicad kind of favors a centralized library setup (the global
> library) filled with generic footprints (and arguably generic symbols as
> well.) I might be biased but this is a good thing in my opinion. (and i
> would guess larger organizations would also like a tool that favors a
> centralized library setup. Small organizations that do not have the
> manpower to properly manage a centralized lib might in fact favor a
> project central setup "managed" by every engineer.)
Ideally, we'd support all of these workflows equally. The centralized
repository is there for those people who have it configured, while
people who prefer their own parts would just leave it out. Organizations
sharing between engineers would have a writable network share, and
everyone gets a default storage that will always be available.
Since we know what library a part came from, we could also easily add
"publish to organization" and "submit to KiCad library" buttons for
> I think your suggestion in general would move kicad more towards project
> specific libraries. (It will highly depend on the interface and the
> exact implementation details.)
Every project needs copies of all parts used anyway, that would just
become integrated into the library management code and made explicit,
rather than just copying components into the local files. As an added
bonus, it would make comparing parts in the project and in the library
> I would suggest that it is ensured that a centralized setup is as easy
> or maybe even easier to handle than a distributed project local one.
I'd expect part definitions to start out in local libraries until the
engineers are happy with them, and then we should make it easy to submit
> This means it should always be possible to update assets in the central
> lib and have these changes be pushed (with user interaction like it is
> now on the pcb side of things) into old projects. It also means that it
> should be easy to import assets into existing libs and it should also be
> easy to edit the central library. (Unless it is write protected.)
Write-protected is kind of the default, unless you do a per-user
installation on Windows and install KiCad entirely into your home directory.
Writing back the changes to the global library means breaking library
updates currently, which is why I'd like to treat system libraries as
readonly and explicitly track changes through an overlay.
> later one is kind of ensured if a single library asset is a single file.
> For this to be fulfilled there must be an easy way to open the central
> asset even if there is a conflict with a local one.
Yes, definitely (maybe if the local and central asset disagree, show a
special icon and offer a workflow to upgrade).
> The idea about copying the global assets into the project as a separate
> local library is another thing that sounds good on the surface but again
> comes with consequences. The problem with that is that you will most
> likely end up with users being confused as the same asset now exists in
> multiple libs. (The interface must be very well defined here. And very
> well documented.)
Yes, that's why I want to show users a merged view so it appears as if
we had a single library, with some components having special states
(local only, different from central library, submitted, ...).
Description: OpenPGP digital signature