JabRef in Google Summer of Code 2021

This page lists a number of ideas for potential projects to be carried out by the students participating in Google Summer of Code 2021. This is by no means a closed list, so the students can feel free to propose alternative activities related to the project (the list of feature requests and the GitHub issue tracker might serve as an additional source of inspiration). Students are strongly encouraged to discuss their ideas with the developers and the community to improve their proposal until submission (e.g, using the Gitter Channel or the forum). It’s also a good idea to start working on one of the smaller issues to make yourself familiar with the contribution process.

PDF Integration

  • Description: JabRef excels at organizing and searching the metadata of bibliographic entries. Often the user is also in the possession of the full text (e.g, the article in an electronic form). Currently, these PDF documents can be linked to the corresponding bibliographic entry but are not further analyzed. It would be worthwhile to expand JabRef’s feature set in this regard, for example by adding full text search, automatic extraction of metadata from a PDF, extraction of cited bibliographic entries (and linking them to entries already in the user’s library) and much more. Note that the main focus in this topic is the programming of a user interface and not the actual search algorithms. Regarding the medata data: A scientific paper in a journal often contains some metadata, this maybe XMP metadata, embedded bibtex or some other metadata. JabRef is currently able to import and extract metadata from PDFs if it contains XMP data. If no XMP metadata is found, JabRef applies some hand coded heuristics to check for a DOI or other metadata to extract. This is only working reliable for IEEE and LNCS published PDFs, but not for other PDFs. The goal is to use the functionality of Grobid. In case multiple metadata are found, and they differ, the user should be shown a merge dialog. More information can be found in Issue #169
  • Skills required: Java, JavaFX (experience with Lucene and/or information retrieveal is a plus)
  • Expected outcome:
    • Integrated search interface which presents search results from attached PDF documents and/or
    • Extraction of additional metadata and a way to display them in the user interface.
  • Possible mentors: @koppor, @Siedlerchr, @tobiasdiez

Microsoft Word Integration

  • Description: Implement a direct bibliography integration with Microsoft Word. JabRef has a deep integration with BibTeX and biblatex, but can equally be valuable for authors that prefer writing in Microsoft Word. Currently, this integration is lacking and would be highly beneficial as an Open Source alternative to existing software such as Mendeley.
  • Old code (not working): https://github.com/JabRef/JabRef4Word
  • Skills required: Java, JavaScript
  • Expected outcome: Basic integration of bibliographic functionalities such as inserting, editing, and synching bibliographic entries between Word and JabRef.
  • Possible mentors:: @Siedlerchr, @tobiasdiez

3-way Merge

Description: JabRef is able to detect duplicate entries and to show a simple two-way merge dialog. Either changes from the left side or the right side can be used. There is no way to edit the merge result directly. A big improvement would be to have a 3-way merge dialog as many modern IDEs like Intellij offer. Inspiration for the design and functionality of such a 3-way-merge can be seen in Issue #6190 Skills required: Java, JavaFX Expected outcome: A functioning 3-way merge dialog or a prototype Possible mentors:: @Siedlerchr, @calixtus

Mindmaps for JabRef

  • Description: MindMaps are one leading possibility to organize thoughts. JabRef organizes library entries in list-way. How awesome would it be if library entries could be organized in a mind-map way? And if each item could be annoated with more mindmap nodes? This is the goal of this project
  • Skills required: Java, JavaScript/TypeScript/Web Frameworks
  • Expected outcome: Application for crafting mind maps. This application connects to JabRef to retrieve and store data.
  • Possible mentors:: @koppor, @calixtus, @DominikVoigt