Welcome & FAQ reincarnate

It should be quite easy to write an importer to import CSL-JSON, or perhaps a tool that uses pyzotero to access data using the Zotero API. I suggest storing CSL variables as Gramps source attributes. A citation formatter addon could display these in the desired format. Please open a separate topic if you are interested in taking this further.

1 Like

Yes, I know you are positive to these changes, and I know multiple developers are too – that’s why I still use Gramps as an archiving and registration tool.
When the right time comes, changes will happen.
But I also know that there need to be some “under the hood” changes to get this working, and at the moment, the change from blobs to JSON was way more important.
I’ve more than once spoken about the benefit of the MongoDB add-on, and how easy it was to query the data there.

That said, even though it might sound like an “easy” change – since Gramps already has hierarchical structure in the location/place function – I know it will take serious changes and time to implement it properly.
No worries – I might not be a developer, but I understand the logic, and I know things take time.

For now, it’s not that difficult to use Obsidian and Foam for VSC to research these types of extended structures. I’m building my “markdown vault” in a way that makes it as easy as possible to import into Gramps in the future. As of now, I just add a link to the “main” markdown research note (the physical file) for any object where I find it necessary to do so.

Even though I personally use Zotero, I think it would make sense to rely on something with broader compatibility – something like citeproc-py, perhaps.
It supports CSL-JSON and can work with file-based workflows, which opens the door for integration with tools like JabRef, Citavi, and others that are popular in academic and Linux-based environments.
I also think it’s worth considering compatibility with BibTeX and BibLaTeX, since these formats are widely used in LaTeX-based workflows. And yes, I think storing the CSL variables as source and maybe citation attributes if needed (meta-details) is a good way to do it…
E.g. Citeproc do support all of these formats as I understand…

As a Zotero user, I can still get a reliable sync via export and file-based workflows – for example, using Better BibTeX or other export/sync add-ons. By defining the location of a CSL or BibTeX file, it’s possible to use the same citation data across multiple programs, regardless of which bibliographic tool one prefers. And by using CSL, someone could/might actually create a set of “Gramps Genealogy” templates for CSL and send it in to the CSL group as a template, with a language file.

There has been a lot of long discussions about sources and citations and sync/support for interchangeability/interoperability in this forum. I think it would be a good time to look at both that and the FamilySearch collaboration/integration, because both need to support some form of more extended sources and citations, I think… others may have different views.

While Zotero is growing and has an active community, there are still valid reasons why some users choose other tools. Wouldn’t it make sense to aim for a solution with the broadest possible compatibility?


And – as a devil’s advocate and a proper joykiller – I feel compelled to throw in one more concept here: “Dublin Core.”
Not directly about citation formatting like CSL, but definitely relevant when we talk about metadata structures, export compatibility, and describing sources and documents in a standardized way.
And if there will be more discussions about integrations like FamilySearch, or broader metadata interoperability, maybe it’s worth considering how something like Dublin Core could help structure and share genealogical metadata more effectively?


But – I am about to hijack this thread, so when you find it to be a good time, maybe make a new post about the CSL thing and the FamilySearch thing… And maybe also a more serious post about both “Main-/Sub-Events” and “Event on Places” – those topics fall naturally into the discussion about more extended relations/links between objects, whether they’re multi-directional or not, relations between places and other objects, or the “Research Project” function that was mentioned some while ago?**

And just a quick note at the end:** I don’t think everything needs to be exported to GEDCOM, as long as it can be exported to other open data formats.
The GEDCOM format should be held exclusively for genealogy data and the metadata that follows it – it does not need all the research and extra objects people like me want to add to Gramps.
A history of 2000 Norwegian ships and the sailors on them does not need to be exported to GEDCOM – CSV, JSON, or XML is enough, and if one of those formats happens to be an open source, open data graph format, it would be relatively easy to create or find an external parser outside of Gramps to handle it.

I know all this should be in a separate post, but it’s just my answer to you, so please do with it what you like…

1 Like