kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #39181
Re: Why we chose to put libraries in directories?
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Simon Richter <Simon.Richter@xxxxxxxxxx>
-
Date:
Mon, 28 Jan 2019 18:56:07 +0100
-
Autocrypt:
addr=Simon.Richter@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
-
In-reply-to:
<80543fd8-1a27-e45f-a4f2-f1d471cbd6ee@cern.ch>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
Hi,
On 28.01.19 18:22, Tomasz Wlostowski wrote:
> I'm asking because despite our efforts to improve Kicad's UX, the
> library configuration is still quite difficult, even for experienced PCB
> designers who are switching to KiCad from proprietary tools (see recent
> posts on the Kicad Forum). I'd like to improve this during the V6
> development cycle.
Radical proposal:
- symbols and footprints are stored in content-addressable repositories
similar to git's objects directory
- schematics and boards reference library items by their checksum
- any part that is used is copied to the project
- modifying a part creates a new object that contains a note that it
supersedes the old one
- parts are saved into the user home directory or (if configured) an
organization wide shared folder
- the entire library path is scanned for parts, and the results merged
to a common view
This would solve a number of problems:
- projects always have copies of the parts that were used, without
needing to copy them into the design files
- we can detect when projects use parts that have been modified since,
and allow the user to upgrade if they like (but they can defer
indefinitely without risk)
- path configuration is reduced to "where the system library is"
(handled by distro) and "where the company library is" (optional)
- libraries can always be written to
The actual directory layout of the library directories does not really
matter, so we could also allow zip files, add directory indexes or do
some neat stuff with indexed extended file attributes (which ext4, NTFS
and HFS all offer) through plugins without the main program having to
care about that.
The "supersedes" mechanism will need some more thought, as we probably
don't want to keep all intermediate versions, but we need to know their
checksums in case we encounter them -- maybe a file that lists
relationships between parts that have been removed could be sufficient.
Simon
Attachment:
signature.asc
Description: OpenPGP digital signature
References