# Import from Bookends or Endnote

**URL:** <https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048>\
**Category:** Help\
**Created:** [February 8, 2018, 10:30pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048 "2018-02-08T22:30:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 8, 2018, 10:30pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/1 "2018-02-08T22:30:46Z")

</div>

I just installed JabRef on Ubuntu, because I need a reference manager which is OS-independent. Yet, I have a library with attached pdf-files in Bookends and Endnote and have to migrate them to JabRef.  
The import from Bookends doesn`t work at all.  
The import from Endnote partially works, however the paths to the pdfs are gone and some fields don’t show up in JabRef. It seems only a small number of fields can be imported using the Bibtex-style-file.

Endnote and Bookends and JabRef are up to date.

JabRef seems to be an interesting project, but without any documentation how somebody can migrate an existing library (+pdfs) to JabRef… I cannot use it 😉

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 8, 2018, 10:50pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/2 "2018-02-08T22:50:22Z")

</div>

Maybe I should add that I have around 3000 references in Bookends/Endnote connected to about 2500 pdf-files. So I cannot do it manually.

---

<div class="post-metadata">

**Author:** ![tobiasdiez](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/tobiasdiez/32/340_2.png) [@tobiasdiez](https://discourse.jabref.org/u/tobiasdiez)\
**Post date:** [February 9, 2018, 9:42am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/3 "2018-02-09T09:42:50Z")

</div>

Nice to hear that you are giving JabRef a shot!

How do you do the migration, i.e., which formats do you use for export in Bookends/Endnote? I think both programs can export to RIS, which JabRef can import. So this would be my natural first choice. You say that some fields and the paths get lost in the process. Can you please have a look at the file exported by endnote and check if the information is present there. If endnote does not export some fields, then there is nothing we can do on JabRef’s side. On the other hand, if the data is in the file and JabRef fails to import it, then we can of course fix this. (The problem is that there is no agreed-upon standard for RIS and everybody is inventing their own fields…)

Moreover, even if the import of the paths to the attached pdf’s does not work, not all hope is lost. JabRef has a few features that allow you to automatically attach files to a given entry. This works pretty nicely if the file names follow a certain pattern. But first we should focus on the correct import…

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 10:08am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/4 "2018-02-09T10:08:37Z")

</div>

Thanks! You are right, most export-filters don’t work. In Bookends there is one export option, which offers an Endnote-xml-style. It contains all the info, but of course JabRef does not know how to handle it. (example is attached)[Library1.bdb.xml](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/9b45600848eb70785679e2545f752a09ac3f066c.xml) (5.3 KB)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 10:12am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/5 "2018-02-09T10:12:01Z")

</div>

When I export from Bookends using RIS. Most of the field-infos are gone. [Bibliography.bib](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/3305a45d3e780a4555749bbbe2696c4a446cd408.bib) (2.3 KB)

---

<div class="post-metadata">

**Author:** ![tobiasdiez](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/tobiasdiez/32/340_2.png) [@tobiasdiez](https://discourse.jabref.org/u/tobiasdiez)\
**Post date:** [February 9, 2018, 10:20am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/6 "2018-02-09T10:20:35Z")

</div>

Can you also please attach the exported RIS file. Thanks.

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 10:22am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/7 "2018-02-09T10:22:59Z")

</div>

I just realized that it only offers a RIS-format in a bib-file. ![50](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/6844a42e6f917ccfdbaf7fc4eb3f0fd13fb1c9c0.png)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 10:25am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/8 "2018-02-09T10:25:24Z")

</div>

or some other file-formats, but all contain only a fraction of the field infos.

![24](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/2af259a7c7ac1d8a5f61e8bae25f802a8fffcb96.png)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 10:26am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/9 "2018-02-09T10:26:43Z")

</div>

the Endnote-xml-export (Bookends) is the only one, which contains all fields. Here is another reference.  
[Library2.bdb.xml](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/eff5de4f0d86fe1f423ecaf916ff4b13cbe41ca2.xml) (4.5 KB)

---

<div class="post-metadata">

**Author:** ![tobiasdiez](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/tobiasdiez/32/340_2.png) [@tobiasdiez](https://discourse.jabref.org/u/tobiasdiez)\
**Post date:** [February 9, 2018, 2:54pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/10 "2018-02-09T14:54:42Z")

</div>

ok, since the endnote xml is also used by other reference managers and there is actually something like a standard, I’ll have a look the next days and write an importer for it. But it may take some time.

Pointers for me:

- [dtd schema](http://kbportal.thomson.com/display/2/index.aspx?tab=browse&c=&cpc=&cid=&cat=&catURL=&r=0.9591944)
- [xjc documentation](https://javaee.github.io/jaxb-v2/doc/user-guide/ch04.html#section-356252324237826)
- [xjc with dtd](https://www.javaworld.com/article/2074057/core-java/jaxb-xjc-java-generation-with-dtd.html)
- [our xjc config](https://github.com/JabRef/jabref/blob/15787da3c0ee7956a5f67482a7d8755725bc76c9/xjc.gradle)
- [example xml file](https://gist.github.com/low-decarie/3831049)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 9, 2018, 3:39pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/11 "2018-02-09T15:39:55Z")

</div>

Thanks a lot. No problem, if it takes some time. If you want me to test your xml-import-files (alpha, beta) just let me know. 🙂

---

<div class="post-metadata">

**Author:** ![tobiasdiez](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/tobiasdiez/32/340_2.png) [@tobiasdiez](https://discourse.jabref.org/u/tobiasdiez)\
**Post date:** [February 11, 2018, 4:30pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/12 "2018-02-11T16:30:09Z")

</div>

@reinhard I now finished a first version of the importer. You can find the build at [https://builds.jabref.org/importBookends/](https://builds.jabref.org/importBookends/). It would be nice if you could try out if it works for you. If there are any problems (not imported fields, error messages or logs in the help \> error console), please let me know and I’ll improve the importer. Since I couldn’t find a proper documentation of the format, it was a bit of a guessing game - so maybe some data is missing or in the wrong place.

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 11, 2018, 7:22pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/13 "2018-02-11T19:22:48Z")

</div>

Thanks a lot! I tried it on a Mac. JabRef freezes when I try to import the endnote-xml-file. The Mac error report is attached. [errorreport.txt](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/1X/4b97c0bdddcb765e2526f6145ef38e30de1aad90.txt) (1.0 MB)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 11, 2018, 10:45pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/14 "2018-02-11T22:45:23Z")

</div>

Tried it on Ubuntu 17.10. Same thing…  
Don’t know if the log is related to the problem

```
Connection timed out.
    java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.net.SocketInputStream.read(SocketInputStream.java:224)
at org.jabref.logic.remote.shared.Protocol.receiveMessage(Protocol.java:42)
at org.jabref.logic.remote.client.RemoteListenerClient.sendToActiveJabRefInstance(RemoteListenerClient.java:34)
at org.jabref.JabRefMain.start(JabRefMain.java:163)
at org.jabref.JabRefMain.lambda$start$0(JabRefMain.java:53)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
   Cannot use port 6050 for remote operation; another application may be using it. Try specifying another port.
```

---

<div class="post-metadata">

**Author:** ![tobiasdiez](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/tobiasdiez/32/340_2.png) [@tobiasdiez](https://discourse.jabref.org/u/tobiasdiez)\
**Post date:** [February 12, 2018, 9:03am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/15 "2018-02-12T09:03:34Z")

</div>

This is really strange. I asked the other developers who use Linux or MacOS if they can reproduce the problem. I’ll keep you updated as soon as we have found a fix. Just to make sure that we are not looking at the wrong place: JabRef freezes after you clicked on File \> Import into new library, selected the xml file and the `EndNote XML` file type, and confirmed the dialog with ok, right?

Can you please try to run the following command from the terminal:

```auto
java -jar JabRef--importBookends--latest.jar -i Library.xml,endnote -o Library.bib

```

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 12, 2018, 9:18am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/16 "2018-02-12T09:18:18Z")

</div>

Yes, that’s correct.  
I will run the command in the evening. Thanks

---

<div class="post-metadata">

**Author:** ![Siedlerchr](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/siedlerchr/32/216_2.png) [@Siedlerchr](https://discourse.jabref.org/u/Siedlerchr)\
**Post date:** [February 12, 2018, 9:42am UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/17 "2018-02-12T09:42:39Z")

</div>

Hi,

the exception looks like you already have an instance of JabRef open which could interfer with this.  
I tested this under Xubuntu 16.04 and it works fine. No issues.

Regarding the problems with freeze. Could you please check if your java version is up to date? Latest version of Java 8. (no java 9).

Regards

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 12, 2018, 2:17pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/18 "2018-02-12T14:17:32Z")

</div>

Ubuntu 17.10, Java 8  
Maybe it is related to the fact that the export file (Bookends) is named library1.bdb.xml? I renamed it to library.xml and it seems to work now. I have to check again.  
When I use the terminal it still shows some errors:

user@user-Swift-SF315-41:~/Downloads$ java -jar JabRef–importBookends–latest.jar -i Library.xml,endnote -o Library.bib  
AI: INFO 12-02-2018 15:13, 21: Configuration file has been successfully found as resource  
Importing: Library.xml  
Saving: Library.bib  
File: grouptree.fxml not found, attempting with camel case  
File: grouptree.css not found, attempting with camel case

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 12, 2018, 2:32pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/19 "2018-02-12T14:32:15Z")

</div>

When I try to import using the program (not the terminal) I get this

org-jabref-jabrefmain antwortet nicht (tranlsation: does not respond)

---

<div class="post-metadata">

**Author:** ![reinhard](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@reinhard](https://discourse.jabref.org/u/reinhard)\
**Post date:** [February 12, 2018, 2:35pm UTC](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048/20 "2018-02-12T14:35:51Z")

</div>

When I use the terminal  
java -jar JabRef–importBookends–latest.jar -i Library2.xml,endnote -o Library.bib  
with a library.xml file containing just 1 reference it works, but I get the grouptree-errors, mentioned above.

Imported reference looks VERY GOOD! 😉

[Next page](https://discourse.jabref.org/t/import-from-bookends-or-endnote/1048.md?page=2)
