I have a growing electronic library on my computer. The file structure was cumbersome and becoming increasingly difficult to sort, sift, filter, and locate individual works. I sought for an open source software package, but not being able to find one suitable, began development of my own in a LAMP stack. This was time consuming, taking me away from my focus on science and engineering, so I put that project into stasis.

Over the past few months I wrote some posts mentioning that I have applications into a couple of outstanding program for a PhD in Geophysics. Confident that I would receive at least one acceptance, I decided I needed to create some order from chaos in regards to my electronic library. So whenever I could find a few minutes I did some searching on the internet to locate an open source library manager.

I finally stumbled onto JabRef. What intrigued me about JabRef is that not only could I add multiple file links to each entry, but the output can be setup for Bibtex or Biblatex. In addition to this, there are multiple ways to search, sort, filter the numerous entries I would create. This program seemed to be the solution I was seeking without the software development overhead.

However, I needed to use this program with the same library file system on both the Ubuntu 19.10 and Windows 10 boot. In my research I do not want restrictions on conducting library operations based on which operating system I am using. In other words, when I opened JabRef in Ubuntu 19.10, created an entry with a link to a file, I need that document link to also work when I opened JabRef in Windows 10 and viewed the same entry. The key issue here is that Linux uses a file path based on a single root, whereas Windows uses a file path based on multiple drive letters.

At first I was unable to make this scenario work. I installed JabRef v3.9 from the Ubuntu 19.10 package manager and JabRef v4.2 for Windows 10. After creating the file links on the Ubuntu side, I could not even get the links to work while remaining inside Ubuntu. I read several posts concerning this problem. The solution was to upgrade. So I downloaded v4.2 JAR file for installation in Ubuntu, but was unable to execute the program due to JAVA dependency issues. I laid the issue to rest and nearly gave up on JabRef. However, I decided to take one more shot at it, because the program did have quite a bit of promise. So today I did some more sifting and discovered that JabRef 5.0 overcame the JAVA dependency issues by packaging the required Java runtime environment within the code base. I was able to download and install v5.0 DEB file on Ubuntu 19.10 without any issues and likewise the MSI file for Windows 10.

I was able to create links fairly quickly that worked in both operating systems. The following is a set of instructions to show how.

First, I created a separate NTFS partition in Ubuntu using Gparted or like tool. Then I setup the partition for read/write access–these instructions were created for Windows 7; however, they are essentially the same in Windows 10. The user needs to determine the Linux mount point. This is my directory structure

# Ubuntu 19.10 file structure
# The NTFS partition is mounted to /mnt directory in Linux as read-write
# Inside the partition I added one level of hierarchy, /data
/mnt/data/01--LIBRARY/
/mnt/data/01--LIBRARY/00--BIBTEX/                # Store bibtext files here
/mnt/data/01--LIBRARY/01--BOOKS/                 # Store books here
/mnt/data/01--LIBRARY/02--ARTICLES/              # Store articles here
/mnt/data/01--LIBRARY/03--OTHER_MEDIA/           # Store ... here
# Windows 10 file structure
# The NTFS partition is mounted as the E: drive
data (E:)\01--LIBRARY\<subdirs>

In both operating systems the following steps must be taken after opening JabRef.

  • Under options menu item, open Preferences
  • Inside Preferences window, select File in left pane
  • Inside File windows find and set External file links (Windows 10 path shown here, use Browse button to locate proper directory). Once this path is specified in JabRef in both operating systems, then all file links to documents will open relative to this path.
  • When creating or editing entry, select General tab (at the top), in File box, select + (at the right) and browse to file

The most difficult part of this is creating the NTFS partition and setting up read/write access in Ubuntu; however, a quick internet search will turn up many online guides to help users do this.