I have updated Zotero to Zotero 8 the previous weekend, and I have just realized that items (Journal Articles) for which I had saved PMID, PMCID and/or Publisher in the Extra field were not updated, so the Extra field contains yet that information, while the fields PMID, PMCID and Publisher are empty.
May do I something to update this automatically (and not by hand for each item)?
@iagogv That should have been automatic and happened for all my entries. Were the fields properly defined in Extra? Like this: PMID: 123456 PMCID: PMC123456
I defined this code for updating at least the those fields and running in the Javascript console (just for the selected items). If anyone who knows more Javascript or from the Zotero team can help to improve the code, I would be very grateful
@iagogv: No, don't do that. There's built-in code for this, which will be run periodically whenever the schema is updated. It should've run for you automatically, but some plugin could have interfered, or something could have added those after the migration (which happened starting in a recent Z7 update, not Z8).
I would recommend just waiting for the next update, but if you really want to force the migration now, you can run this:
await Zotero.DB.queryAsync("REPLACE INTO settings VALUES ('globalSchema', 'migrateExtra', 1)"); await Zotero.Schema.migrateExtraFields();
Actually I did a Zotero 8 installation from zero, I mean, without plugins, it was not an update. Anyway, I did for some selected items (I had "improved" the code imposing that all items were journal articles), but I'll wait in general for another schema update.
@iagogv: A new Zotero 8 installation where you synced down data wouldn't upgrade existing fields. So that would just mean you hadn't yet upgraded to 7.0.31 or later on another synced computer.
@frigidilius Probably not the recommended way to do it, but I don't know how to modify the suffix to 'remove' a period (full-stop as we call it in the UK/Ireland).
To globally remove the period, either go to Edit > Settings > Cite, and select the most recent SBL 2 Notes file (which for me is dated Feb 7, 2026). Under Tools, click on Style Editor, scroll to line 1188 and replace suffix="." with suffix="" Save as a new modified style.
Or, close Zotero, edit the csl file directly, save the file and start Zotero again.
SBL2 will then not have a period at the end of any citations. I have no problem adding it manually, when needed. But it gives me the flexibility to add a comma where needed instead.
May do I something to update this automatically (and not by hand for each item)?
Were the fields properly defined in Extra? Like this:
PMID: 123456
PMCID: PMC123456
Publisher: Multidisciplinary Digital Publishing Institute
PMID: 34281004
PMCID: PMC8297096
In JSON format,
"extra":"Publisher: Multidisciplinary Digital Publishing Institute\nPMID: 34281004\nPMCID: PMC8297096"
If anyone who knows more Javascript or from the Zotero team can help to improve the code, I would be very grateful
[removed — D.S]
I would recommend just waiting for the next update, but if you really want to force the migration now, you can run this:
await Zotero.DB.queryAsync("REPLACE INTO settings VALUES ('globalSchema', 'migrateExtra', 1)");
await Zotero.Schema.migrateExtraFields();
Thanks!
Thanks!
To globally remove the period, either go to Edit > Settings > Cite, and select the most recent SBL 2 Notes file (which for me is dated Feb 7, 2026). Under Tools, click on Style Editor, scroll to line 1188 and replace
suffix="."
with
suffix=""
Save as a new modified style.
Or, close Zotero, edit the csl file directly, save the file and start Zotero again.
SBL2 will then not have a period at the end of any citations. I have no problem adding it manually, when needed. But it gives me the flexibility to add a comma where needed instead.