petervelosy / freeplane-zotero

A Freeplane addon which makes it possible to assign citations from Zotero to any node on a Freeplane mind map.
GNU General Public License v3.0
17 stars 0 forks source link

Question - Metadata #8

Open bepolymathe opened 1 year ago

bepolymathe commented 1 year ago

Hi @petervelosy

Me again (enthusiastic ๐Ÿ˜„ ). I would like to understand better why you chose to put the whole reference (ITEM CSL_CITATION) in a single attribute? I think it might be useful to separate the Zotero fields (author, date, etc) into as many attributes in Freeplane. This would make it possible to search in Freeplane.

But I may be missing an important constraint ๐Ÿค”

PS: I will relay the existence of your addon on the Freeplane discussion forums ;-)

bepolymathe commented 1 year ago

PS: I will relay the existence of your addon on the Freeplane discussion forums ;-)

Done --ยป https://github.com/freeplane/freeplane/discussions/933#discussioncomment-4785539

petervelosy commented 1 year ago

I decided to put the complete citation object of Zotero in a single attribute so that freeplane-zotero does not need to parse the whole object, only the parts of it that it requires, while making sure Zotero has full access to all attributes it has produced. Storing the whole object in separate fields would require freeplane-zotero to have a complete knowledge of all fields of this object, even those that it does not use, which would make it more error prone against API changes in Zotero.

It would nevertheless be possible to extract certain attributes of the citation into separate attributes for making them searchable in a more fine-grained way. (Of course, you can also use Freeplane filters now on the attribute zotero_citations, but it searches in the whole object, which might not be what you need). The trade-off I see, however, is how it would play together with the currently implemented ability to have multiple citations assigned to a single node. Introducing Freeplane attributes like "author", "date", etc. and filling them each with e.g. a comma-separated list in case multiple citations are assigned is somewhat non-semantic but it might indeed make filtering nodes more useful.

bepolymathe commented 1 year ago

Storing the whole object in separate fields would require freeplane-zotero to have a complete knowledge of all fields of this object, even those that it does not use, which would make it more error prone against API changes in Zotero.

It makes sense...

The trade-off I see, however, is how it would play together with the currently implemented ability to have multiple citations assigned to a single node. Introducing Freeplane attributes like "author", "date", etc. and filling them each with e.g. a comma-separated list in case multiple citations are assigned is somewhat non-semantic but it might indeed make filtering nodes more useful.

It's true that it may not be necessary to complicate the whole thing ๐Ÿค”