Ideas for Google Summer of Code 2019

This page lists a number of ideas for potential projects to be carried out by the students participating in Google Summer of Code 2019. 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 the interface and not the actual search algorithms.
  • 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: Tobias Diez, Linus Dietz

LaTeX Integration

  • Description: Currently, JabRef is focused on bibliographic management functionalities. However, a deeper integration with the (LaTeX) document text would be beneficial. For example, information about what references are used in which text document, how often and at which position can provide the authors with additional tools to improve theirs works.
  • Skills required: Java
  • Expected outcome: Ability to trace bibliographic entries in (LaTeX) text documents and auxiliary files. Information on the whereabouts, the quantity of usages, position in the text, and jump to file functionality.
  • Possible mentors: Tobias Diez, Linus Dietz

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.

  • Skills required: Java, .NET

  • Expected outcome: Basic integration of bibliographic functionalities such as inserting, editing, and synching bibliographic entries between Word and JabRef.
  • Possible mentors: Tobias Diez

ShareLaTeX Integration

  • Description: ShareLaTeX is an open source online LaTeX editor. It greatly supports researchers in collaboratively writing academic papers. ShareLaTeX, however, misses collaboratively working on bibliographic entries. This is where JabRef jumps in: Changes to the bibliographic data on ShareLaTeX should transparently be integrated in the current local JabRef database, and vice versa. This feature would complement JabRef’s support of collaboratively working using a PostgreSQL database.

  • Skills required: Java
  • Expected outcome: JabRef should be able to connect to a ShareLaTeX project and update bibliographic data there. Moreover, a local copy of the bibliography file has to kept updated.
  • Possible mentors: Oliver Kopp, Christoph