WordPress for Reference Management

One of the more complicated aspects of scientific writing is reference management – an important limitation of online collaborative tools such as Google Docs. I have argued before that WordPress has the potential to become a great scientific writing tool. Wordpress can’t do reference management out of the box, and the available plugins are somewhat limited. But WordPress is a good platform to add reference management functions: it is not only extremely popular (meaning a lot of people have expertise and many tools are available), but also already knows a lot about links, and has a wonderful plugin architecture.

Reference database
The first question with reference management in WordPress is where to store the references. Should they not be stored at all and be directly imported from the source (journal website or bibliographic database such as PubMed)? This is what most of us are currently doing when writing blog posts, but this approach has obvious limitations on more ambitious writing projects. Or should references be inserted from an online reference manager such as CiteULike, Mendeley, Refworks or Endnote Web? This is how we use these reference managers with Microsoft Word and similar word processors.

Instead I prefer a third approach: store the references in the built-in Links Manager in WordPress. References are nothing more than specialized links after all. We loose functionality compared to reference manager databases, but we get some very interesting features for free, including automatic checking of broken links, automatic link synchronization with other WordPress installations, and all the other cool things for links that people have come up with. And this makes it much easier for authors to collaborate if they use different reference managers, as all required references are stored in a common database.

BibTeX Importer
There is currently no good solution to important references into the Links Manager, so I wrote a WordPress plugin to do just that. It took me two days, which says less about my skills, but more about the WordPress plugin architecture. Like all plugins hosted at WordPress.org, my BibTeX Importer plugin can be installed directly from within your WordPress installation in less than 5 minutes.

The plugin takes any BibTeX file (BibTeX is one of the more common file formats for references, all good reference managers can export into that format) and imports it into the WordPress Links Manager. The plugin can also import a BibTex file via URL (e.g. http://www.citeulike.org/bibtex/user/mfenner).

The plugin creates WordPress links where the link name is in the format first author – year – title. The original BibTeX entry is stored in the link notes. The plugin does some extra work, e.g. checks for duplicates before importing and picks the DOI if several URLs are available for the link. The plugin also checks the BibTex entry type (article, PhD thesis, book chapter, etc.) and automatically assigns a link category with that name. The next step would be a solution that automatically synchronizes your WordPress Links Manager with a reference manager.

Inserting references
Once the references are in the Links Manager, we can use them in the articles we write. Unfortunately WordPress doesn’t provide an easy way to do that. I personally like the WordPress TinyMCE editor, so I made some changes to the wonderful Link to Post plugin. The plugin provides a searchable interface to link to the posts, pages, categories and tags of your own WordPress blog. It took me half a day to add a link section, so now I can search for links and insert them into a post in a way not that different from how we use reference managers with Microsoft Word. The plugin also searches for co-authors, journal names and words in abstracts, as all this information is stored in the Link notes as BibTeX entry. I will make the updated Link to Post plugin available for download (I have contacted the plugin author), for the time being please contact me if you are interested.

Providing a bibliography
This is the last feature that I need for reference management with WordPress, and that should also be feasible to do. Ideally the bibliography should be created automatically from the links in the text, using the BibTeX info stored in the links database. In fact, this is something that a publisher could also do after manuscript submission, as the required information is all there. The bibliography should use the Citation Style Language, and COinS (a standard for publishing machine-readable reference information in HTML), and should check for duplicate references, broken links, etc.

Related Posts Plugin for WordPress, Blogger...
This entry was posted in Conferences, Interviews, Presentations, Recipes, ResearchBlogging, Reviews, Snippets, Thoughts and tagged , , , . Bookmark the permalink.

25 Responses to WordPress for Reference Management

  1. Coturnix says:

    Just thinking out loud….

    a) let’s say I write a blog post about a paper. Should I use this, or the code from ResearchBlogging.org, or both? What are the pros and cons of each approach?

    b)What types of science bloggers you think would most profit from using this plugin?

  2. Martin Fenner says:

    Bora, I think this could be a nice addition to what ResearchBlogging.org is doing. I could for example imagine that the WordPress bibliography plugin that I talk about at the end of my post creates code that is understood by ResearchBlogging.org.

    My primary intention is to make WordPress a paper platform for writing scientific papers. In addition, there might be a number of science bloggers who cite a lot of papers and prefer this integrated approach to a simple copy and paste.

  3. Pingback: Quick Links | A Blog Around The Clock

  4. Nice stuff. Another way to approach this would be to use Zemanta, which has a nice auto-suggest feature for links to related material (but is used mainly for other blogs) as well as automatically suggesting links to specific definitions and other content. I like the approach of Zemanta because it acts directly at the authoring stage providing single click insertion but it also aggregates the information to both build large data sets of tag-page correlations and to improve the suggestion algorithms.

    I think Zemanta has an API and it could be interesting to see whether it could be configured to auto-suggest based on either bibtex tags or partial citations, a little like what Euan Adie did for the robot he wrote for Wave. But in any case nice work.

  5. Alun says:

    That looks extremely useful. I wonder if Mendeley might be useful for keeping the references in sync. The citation generator page says it can create BibTeX, but I don’t know if that has to be manually exported from the desktop client. There is the API as another source of data, but I’m struggling with that.

    With custom taxonomies, I’m wondering if it even needs to be in the link manager? The Link to Post plug-in could be adapted to work with a custom reference taxonomy. The reason I’m thinking about this is that a lot of references in the Humanities won’t have useful links for a long while.

    It’s given me plenty to think about for the New Year.

  6. Martin Fenner says:

    Cameron, thanks for the Zemanta tip, I will look into that. The Mendeley Related Research plugin is already doing that (example here), but the results are displayed as a WordPress widget, and not as suggestions when you write a post.

    Alun, Mendeley, CiteULike, Endnote Web and Refworks are good candidates for automatic syncing of references to WordPress, I know that at least Mendeley and Endnote Web have an API. You can already sync your WordPress links to Delicious thanks to DeliciousLinkSync. And CiteULike syncs to Delicious. The problem I have with this setup is twofold: a) I end up with the link to CiteULike and not the DOI, and b) all tags are imported into the Links Manager.

    The limitation of the Links Manager is indeed that links are required and that might not be true for all references we use.

  7. Martin, the point about exactly where the link points to is a critical one, particularly as social commentary on research opens up on the web. We had an argument with the Friendfeed folks years ago when we were importing (I think) Tumblr feeds. The default behaviour was for Friendfeed to link through to the original item but what we (or some of us anyway) wanted as researchers was a link to the fragment quoted in the Tumblog.

    This goes again to the heart of the problem we’ve talked about many times which is what are you citing (and acknowledging) and why. I can imagine a world where it is socially important to acknowledge that you got a particular piece of information or reference from a person’s Citeulike/Mendeley/Diigo/Facebook/Twitter feed. Also if you want to cite a fragment in a larger work that doesn’t provide a mechanism for that. I think we may have to spend some time working through what we actually want citations to do…and how we want to be able to harvest the information they contain…

  8. Martin Fenner says:

    Cameron, I also think that it would be good to talk about what citations really mean, and what we want them to do. That’s why I proposed the session Having fun with citations that will take place January 15 at ScienceOnline2011 (together with Melody Dye and Jason Hoyt). This session is not about citation metrics.

    The rel attribute is an underused part of the href specification for web links. I don’t see why this attribute can’t be used to add meaning to citations – sort of a light version of the Citation Typing Ontology (CiTO).

    The HTML specification of course has the anchor tag to allow citing a specific part of a document. From a WordPress perspective this can most easily done by installing the WinerLinks plugin which automatically adds an anchor to every paragraph.

  9. Martin, great that you followed up on your last post on “Citations are links..” and you actually wrote the plugin to demonstrate the concept. Currently the citation generator from WizFolio will work in WordPress as I pointed out in my comments in your last post (http://goo.gl/yitGy). The installation of the WizCite bookmarklet is a simple drag and drop into the bookmark bar in the case of Firefox, Chrome and Safari. Just as you described, the citation inserted using WizCite are links and they point to specific items in the inserter’s account. Do you think that inserted citations should be place in a central repository and the citation links point to central repository? Interested in your thoughts on this.

  10. Martin Fenner says:

    Casey, thanks for your comments. I think that inserting citations directly from a reference manager is a good solution for the occasional user. But the link should point to the original source and not to the reference manager.

    I like the concept of storing the links in the WordPress Links Manager because it allows the co-authors of a paper to continue using their reference manager of choice.

  11. Pingback: Wordpress-Plugins zur Literaturverwaltung « Literaturverwaltung & Bibliotheken

  12. Miles Hember says:

    Just to add to the list of reference tools that could be useful to a comparison, Zotero is possibly important as an open source and public-spirited project, specifically designed to live in the browser and so possibly a good fit to this WordPress based concept.


  13. Martin Fenner says:

    Thanks Miles. I’m particularly excited about Zotero Everywhere.

  14. Frederic says:

    Hi Martin,
    Thank you for this. I like your approach because it allows one to put any reference in bibtext format (e.g. unpublished or commercial docs) and to use these as references too, which systems relying on papers databases do not allow. I would like to try and use your version of the ‘link to post’ plugin. Is it available for distribution?
    Thanks in advance

  15. Frederic says:

    Oops i obviously missed your argument. Of course, my entries have to link to something… i guess it’s not always the case with the kind of documents I have in mind. But I would like to try out your plugin all the same!
    Thanks in advance

  16. Pingback: Literaturverwaltung „beyond the PDF“ – Ein Forschungsfeld für Bibliotheken?! « Literaturverwaltung & Bibliotheken

  17. Phil Lord says:

    We are working on this as part of knowledgeblog.

    The kcite plugin allows you to drop DOIs into your post as short codes, and then generates a reference list for you. We are working on other forms of reference as well.


    At the moment, you have to do this manually, but we are hoping that we can get the various referencing tools out there to put the relevant short codes into publications. I think that the first tool chain available will be Emacs/bibtex and latex or asciidoc, but obviously we want to support more common options as well.

  18. Pingback: Beyond the PDF … is ePub | Gobbledygook

  19. Martin Fenner says:

    Phil, thanks for the comment and for mentioning kcite. Do you plan to write a plugin for one of the more popular reference management tools that will insert the shortcode into WordPress?

  20. Pablo Ambram says:

    A few things:

    1. Have you looked at NetBlog plugin? It takes a similar approach with a pretty advanced link manager. It also creates the bibliography automatically. The only drawback is that you have to create the citation manually, no automatic creation from links. Maybe someone with technical knowledge can help the author speed up this?

    2. Also, can you post a link to your modded Link To Post plugin?


  21. Martin Fenner says:

    Pablo, thanks for the link to the NetBlog plugin. I had looked at it in the past, but will have a closer look again.

    My modded Link to Post plugin – Link to Link – is here. WordPress 3.1 was released earlier this week and now also allows linking to posts and pages (but not links).

  22. Pingback: Literaturverwaltung neu gemacht – Eine kleine Zusammenstellung aktueller Softwareentwicklungen (Teil 3) « Literaturverwaltung & Bibliotheken

  23. Hi Martin,

    I’m quite pleased to find your posts, and related discussions — eg the google group, about using WordPress for scholarly publishing.

    A small group of us at the eHumanities group in Amsterdam, are working on an ‘Enhanced Publication’ project that deals with a number of the same issues noted in this blog post. For example, we developed two WordPress plugins for this project, one of which includes reference management with synchronization to Zotero. If you’re interested, we are preparing documentation for a limited beta release. For our part, it would be great to get feedback from others familiar with both the possibilities and limitations of WordPress for scholarly publishing.

    Following are a couple ‘Bibliplug’ features that seem relevant to this discussion:

    – The plugin connects to Zotero accounts, or collections within an account, using the Zotero API/public key. Also works with Zotero groups (eg for collaborative writing)

    – Synchronization is executed manually via WordPress admin page or can be set up as a chronjob for automatic sync.

    – Shortcode is used in a post or page to display a reference list. References are displayed in Chicago (author-date) format and the article title is linked to the source document.

    – The ‘what to link to’ issue has many possibilities. In practice, we link to the source document both to promote open access and as an effort to associate title with document (for example in search engine queries).

    – It did not occur to us to leverage WordPress link management (nice idea btw!). Instead, we developed new database tables store the references locally (in the WordPress database).

    For more information, check out the Bibliplug webpage.


  24. Martin Fenner says:

    Clifford, thank you for your comment. Bibliplug looks very interesting, I will definitely follow the project via the Bibliplug webpage.

    I think that we have a good number of tools that can help WordPress users with reference management. What is still missing, is a standardized approach. The currently available tools all do something slightly different and not necessarily work together, this can be very confusing for someone just starting out with WordPress for reference management.

  25. knowdoo says:

    Hi Martin,
    thanks for the great article. I recently adapted WordPress so I can use it as a knowledge management system for my PhD thesis and published my work at http://knowdoo.net
    I’m still looking for a nice way to integrate reference management and your article brought me a big step forward.
    Thanks for this, and if you’re interested to continue to work on wordpress to make it a better tool for scientific work feel free to contact me!
    Because I think what you said is true: WordPress could be of great use, we only need standardized and easy approach.