MSBib Import Not Working

I just installed JabRef on my Windows 10 (64bit) machine. I have Word 2016 installed. I have an extensive Word bibliography for a book and I wanted to export it to JabRef. I select Import to New Database, select the sources.xml file, select MSBib as the import type.

The Status line at the bottom says “Importing in MSBib format”. But it’s been sitting there for an hour doing nothing.

Have I missed something? Is there anything else I need to do before running the import?

Paul

Hi,

unfortunately I can not reproduce it here, it works fine for me in 3.8.2. But I could only check with a small file from Word 2013.
Did you check if there are errors in the Error console?

If there are no errors and it still does not work, it would be helpful if you could provide us the xml file then, so we can try to reproduce this.
If you don’t want to make it public, you can send a mail to developers@jabref.org

Best Regards
Christoph

Christoph,
Thank you for the reply. I am very new to JabRef (just today), so just getting my bearings.

Here is the dump from the error console:

09:05:48.628 [AWT-EventQueue-0] INFO net.sf.jabref.logic.importer.OpenDatabase - Opening: C:\Users\JohnPaul\SkyDrive\Writing\Bibliography\WritingBibliography.bib
09:07:43.848 [AWT-EventQueue-0] WARN net.sf.jabref.gui.importer.ImportFormats - Cannot import file
java.lang.NullPointerException: field value must not be null
at java.util.Objects.requireNonNull(Unknown Source) ~[?:1.8.0_121]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:447) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:488) ~[JabRef-3.8.2.jar:?]
at java.util.HashMap.forEach(Unknown Source) ~[?:1.8.0_121]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:435) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.msbib.BibTeXConverter.convert(BibTeXConverter.java:94) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.msbib.MSBibDatabase.importEntriesFromXml(MSBibDatabase.java:93) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.MsBibImporter.importDatabase(MsBibImporter.java:50) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.Importer.importDatabase(Importer.java:65) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.gui.importer.ImportMenuItem$MyWorker.run(ImportMenuItem.java:119) ~[JabRef-3.8.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at spin.Invocation.evaluate(Invocation.java:175) ~[JabRef-3.8.2.jar:?]
at spin.off.SpinOffEvaluator$1.run(SpinOffEvaluator.java:108) ~[JabRef-3.8.2.jar:?]
at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_121]
11:04:30.142 [AWT-EventQueue-0] WARN net.sf.jabref.gui.importer.ImportFormats - Cannot import file
java.lang.NullPointerException: field value must not be null
at java.util.Objects.requireNonNull(Unknown Source) ~[?:1.8.0_121]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:447) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:488) ~[JabRef-3.8.2.jar:?]
at java.util.HashMap.forEach(Unknown Source) ~[?:1.8.0_121]
at net.sf.jabref.model.entry.BibEntry.setField(BibEntry.java:435) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.msbib.BibTeXConverter.convert(BibTeXConverter.java:94) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.msbib.MSBibDatabase.importEntriesFromXml(MSBibDatabase.java:93) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.MsBibImporter.importDatabase(MsBibImporter.java:50) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.Importer.importDatabase(Importer.java:65) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.gui.importer.ImportMenuItem$MyWorker.run(ImportMenuItem.java:119) ~[JabRef-3.8.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at spin.Invocation.evaluate(Invocation.java:175) ~[JabRef-3.8.2.jar:?]
at spin.off.SpinOffEvaluator$1.run(SpinOffEvaluator.java:108) ~[JabRef-3.8.2.jar:?]
at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_121]

New users cannot upload files. So I will email the MSBibl xml file to the email you sent.

Thank you.

Regards,

Paul Pennington

Hi Paul,

thank you very much for the error log.
That actually helps a lot!

I will try to investigate that with the help of your file.

Best Regards
Christoph

Thank you. I appreciate the help. I hear that Word does some strange things with its Bibliography xml.

Paul

Hi,

the error log helped me to locate the problem ( a field is causing the problem) a bit more, but to solve it, I will need your xml file to see which value at that position is causing the problems.

Please send it to:
developers@jabref.org

Regards
Christoph

Christoph,
I sent the file yesterday to that email. If it did not cone, I will send when I get home.

Thank you.

Paul

Hello Paul,

unfortunately I have not yet received a mail from you. It may be a problem with the mailing list.
You can send the file directly to my email address cschwentker@gmail.com

Regards
Christoph

Christoph,
I just returned home. Here is the xml file in a zip file. Could not send it
directly.

Paul Pennington
Journey Services
513-477-3241

Hi,

I found the problem, it was actually a month field having an invalid value (I think it was “Fall”) which could not be parsed by JabRef. If now an invalid month is encountered, it will be set as empty field.
After the fix the import ran through without further problems.

You can find the fixed dev version here.
http://builds.jabref.org/msxmlimport/

Best Regards
Christoph

Christoph,
Thank you so much. That is good to know.

That raises a concern, however. If I have a journal that does not do
months, but Fall or Spring and the year, how is that entered in JabRef or
Word so that it would work?

Sorry for the trouble for such a small thing.

I really appreciate your help with this.

Paul Pennington

Hi Paul,

according to the biblatex manual (that is an extension of the underlying bibtex format which JabRef uses), it states:
in Section 2.3.9

Quarterly journals are typically identified by a designation such as ‘Spring’
or ‘Summer’ which should be given in the issue field. The placement of the issue
field in @article entries is similar to and overrides the month field

The year value can then be simply put into the year or date field.

In general the manual is a very good source with many examples on how to use which field and when. Especially chapter two provides brief information about the entry types and the corresponding fields.

Best Regards
Christoph

Christoph,
Thank you. That is it.
Paul