JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.59k stars 2.54k forks source link

Two-way Compatibility with BibDesk #11233

Open foice opened 5 months ago

foice commented 5 months ago

In the most recent version (5.13) it has been added import support for groups when reading a .bib file from BibDesk. That is great. Now that the two programs both can handle groups it would be awesome to be able to go back and forth from BibDesk to Jabref.

To this end I see two issues need to be fixed still

  1. JabRef does not create a field "date-modified" nor a filed "date-added", that is standard for Bibdesk. This is a very minor thing, but breaks (very commonly used) visualizazion by date in BibDesk. I suggest to start adding such fields in JabRef too.
  2. Items added to Groups imported from BbDesk in Jabref are not saved in the equivalent BibDesk string of the .bib. Therefore if one opens the file again in BibDesk the new members of the group are missing. This seems a quite simple addition to how Jabref handles the groups which I would like to suggest so to make JabRef two-way compatible with BibDesk.
Siedlerchr commented 5 months ago

Thanks for the feedback! 1) JabRef has two fields for this as well: grafik This looks then like this

@Article{,
  author           = {test},
  creationdate     = {2024-04-21T18:25:51},
  modificationdate = {2024-04-21T18:25:52},
}

2) I would suggest first creating an export "Bib desk bib format" for this as the step to verify and test the group creation If this works as expected, one can integrate this with an additional save option here "Save groups as bib desk groups"

grafik
koppor commented 5 months ago

We had the discussion at https://github.com/koppor/jabref/issues/130. I voted for dated-added at https://github.com/koppor/jabref/issues/130#issuecomment-753661110. At the code at https://github.com/JabRef/jabref/blob/2b5fddd23206d25f6413707416f7b59188303496/src/main/java/org/jabref/logic/cleanup/TimeStampToCreationDate.java#L22-L23, "date-modified" is still mentioned.

I think, we opted for creationdate and modificationdate, because

Note that dates in biblatex always ends on date, like eventdate, urldate or origdate. The reason for this convention is that biblatex automatically parses these dates and provides virtual fields containing the information like eventmonth or eventyear. See \DeclareLabeldate command.

Source: https://github.com/koppor/jabref/issues/130#issuecomment-234946584

We did not create any ADR for our decision. We should do it. :)

What is more important? BibDesk compatibility or biblatex compatibility? Currently, I think, more BibDesk compatibility, because the date field handling for creation and modification is less often used.

This issue also refs https://github.com/JabRef/jabref/issues/10370, but we cannot do much currently.

koppor commented 5 months ago

Flagged "DevCall" to refine the issue.

foice commented 5 months ago

Thanks for chiming in. Yes, an export format can be a good way to test it. In the long run one wants to have that field to be created automatically so that BibDesk timestamps format is automatically satisfied.

koppor commented 4 months ago

Some (somewhat internal) notes of us: https://pad.riseup.net/p/JX_CKKb99QmxeNBxpHob

koppor commented 4 months ago

We added follow-up issues for groups: