[SOLVED] KiField problem updating fields, v7

I’m trying to use KiField on a v7 schematic, and encountered errors trying to update the fields ( reading works fine ). Over on the KiField GitHub repository another user has the same issue, and author @devbisme thinks something has changed yet again with the file format of v7 schematics.

I thought the schematic file format stayed the same between v6 and v7, and I’m hoping this glitch is just operator error and not something fundamentally broken.

Has anyone successfully updated (written) fields using KiField on v7 schematic files? If so, are there any clues you may have about the process?

-Chris

Reference: Issue report from GitHub:

Considering that the plugin was updated in 21, we can assume that its support has been discontinued and it makes sense to look for an alternative

I don’t think that’s the case. Last repo update was May 2022 and it seems like folks are still actively using as recent as this spring, based on searching here on the KiCad forums. Indeed, because I see that people are still using it is the reason why I asked the question here in this forum.

While the overall file format is similar from v6 to v7, the point of the major releases is to allow for the format to evolve and introduce new features. It is possible that some people successfully used it with v7 if the libraries in question do not use new features. That’s just conjecture, I don’t know any specifics about the file formats. Looks like I personally last used KiField with KiCad v6, based on my issue/feature request.

So if the developer does not have time to update it (and no one else is motivated/able to submit patches) you may just be out of luck…

2 Likes

I did some brief hunting and I couldn’t find where the file format differences were detailed from v6 to v7. Where would one find that?

We do not maintain a human-readable list of differences from version A to B. You can find a reference of the file formats here: S-Expression Format | Developer Documentation | KiCad

The file formats change every major version (maybe one day that won’t be true, but at the moment I think that will continue for a number of major versions)

As to whether or not these format changes affect external tools, it depends on what the tool is doing. Anyone who is developing tools that directly work with KiCad file formats should be aware of this though, and be prepared to either update their tools every major KiCad release, or advise their users that the tool is not supported in newer versions.

2 Likes

And also from the same Github page . . .

devbisme commented 2 weeks ago

I updated this program last year when KiCad 6 appeared with new file formats. Now they’ve updated file formats (or something) and broken things again. I guess it will remain broken until I run out of more interesting things to do.

2 Likes

Yes. I’m well aware of that, and that’s why I posted here. I’m trying to figure out if indeed something changed, or if I was making a mistake either installing or trying to run the plug-in.

1 Like

Is there at least a summary of the file format changes from 6 to 7 (wrt to the schematics / symbol library

all documentation is available it’s open source … unfortunately this is not the only plugin that doesn’t work and all questions should be sent to the plugin developer or written by yourself

I thought it was going to be a straightforward question, but I’m not communication clearly. I’m just trying to figure out if the format changed. If so, it might be the reason the plug-in “broke”. If that is the case, I get it, I’m outta luck, no worries.

I did ask the developer, and he isn’t clear either if something changed or not.

But I’m skeptical the plug-in is actually broken. I think there’s a high chance I’ve screwed up something on my end, and the plug-in works fine for most people. That’s why I posted here.

Anyway, I’m tossing in the towel on this one and giving up.

it’s pretty hard to mess up with checking a plugin whether it works or not… the code has changed this applies to all plugins it makes no sense to ask the developer just to look at the code

I took a more detailed look at your error report and i can say that, without a doubt, the problem is being caused by the lack of the id field within a schematic symbol definition. This is an undocumented change that happened between V6 and V7 (I guess). It has nothing to do with your run-time environment or any actions on your part.

I will try to get this fixed within the next several days.

5 Likes

The best reference for file version changes is this header file: eeschema/sch_file_versions.h · 7.0 · KiCad / KiCad Source Code / kicad · GitLab

1 Like

That seems like a very sensible decision, if I understand the description. ID being kind of like a hash that’s only important inside the program and unimportant to everyone else, and doesn’t need to be persistent.

If I take a step back, maybe I couldn’t see the forest for the trees. Maybe there’s a more native way to bulk upload field values into KiCad schematics and symbol libraries, and there isn’t a real need for plugins like KiField anymore?

OK. I’ll hold off on doing a fix until you figure that out.

1 Like

for schematics there was a bulk edit function added for v7 (probably the cause why not more people asked for a fix of KiField). you can find it under Tools --> Edit Symbol Fields and there is also a button in the top menu bar for it.

For libraries is no native way to update fields in a bulk as far as I know.

1 Like

Yeah that’s a nice feature, but looks like, besides not doing libraries, it doesn’t allow for bulk uploading of field values to a schematic. It only seems to support bulk exporting and of course manual editing of fields from within the schematic – that is a cool feature I didn’t know about.

So I’m going to need either a tool like KiField or just do it manually in a text editor.

-Chris

@devbisme Any chance you’ll have a chance to look at this in the next month or so?
-Chris