KCite – easy citations in WordPress

I’m excited about this one.

For a couple of months now, I’ve been working on a referencing plugin for Knowledgeblog. The idea is to make it easy for authors to add citations to their posts, and have a bibliography produced automatically. Key to this approach (as with everything we’re doing on Knowledgeblog) is enabling authors to use their pre-existing workflow. So, if they are used to writing documents/papers in Word, they should be able to continue using it for writing posts for Knowledgeblog. If, on the other hand, they prefer to write collaboratively using Google Docs, we shouldn’t put unnecessary obstacles in their path, and so on. So the tool that we have produced, called KCite, uses simple text-based tags to process citations. These tags can be added from any platform (they are extremely simple to just type in), and WordPress will interpret them when it renders the post.

There is no attempt to manage references, to create a database and allow selection from that database when adding new citations. This is quite deliberate, researchers already use these tools, they are external to WordPress and (as of yet), incompatible with it. By keeping the system as simple (I hope) as possible, citations should be perfectly manageable by copy&paste from a browser or reference manager of your choosing, into the tool of your choosing.

I will publish an example of the plugin in action as a separate post, but in short the idea is that you surround either a DOI or a PMID with a cite shortcode. The plugin queries the CrossRef API or PubMed (via NCBI eUtils) in order to retrieve metadata about each publication, and uses that data to build the bibliography, which is then appended to the foot of the post. As yet this is far from being completely generic, and there will be circumstances where the lookup fails, but I have attempted to handle these situations as gracefully as possible, so hopefully a usable bibliography will be produced in as many cases as possible.

This is a 0.1 release, intended almost as a preview. The plugin is currently nowhere near what we would consider to be feature complete. There are a number of things on my TODO list to address over the next few weeks, but I would welcome feature requests and bug reports. You can follow development, and contact us, through the Google Code page for Knowledgeblog.

A final reminder, you can download KCite from

The Taverna Knowledgeblog

Today I am sat in a room with a fairly large group of people, who all work on the Taverna project. They are writing a Knowledgeblog book about the workflow manager, and I am providing help and technical assistance as a part of my role on the Knowledgeblog project. As well as producing a hopefully useful product (a beginner’s guide to Taverna), we are testing some of the procedures and products that we have been working on over the last few months on the project.

Posts on a Knowledgeblog now have several features that were in our plan for the project. Specifically, post revisions are now publicly exposed, providing a public provenance trail, and preventing someone from ‘unsaying’ anything without the proper process. The editorial workflow is better defined than it was for Ontogenesis (the Knowledgeblog prototype), meaning requests for reviews and the provision of the reviews themselves should be more streamlined, and despite the approach to today, doesn’t require all of the collaborators on a publication to be sitting in the same room (for this we are using the excellent EditFlow plugin, which provides ‘editorial comments’ on posts, and can fire email events upon certain, pre-defined, operations).

Posts can have multiple authors, which, combined with the ability to author posts in genuinely collaborative tools such as Google Docs (as opposed to totally non-collaborative tools like Word documents shared by email, although you can write posts like that too if you like), allows jointly authored posts to be both simple to generate and properly attributed. Finally, easy to generate tables of contents, for both posts and whole sites, makes navigating the content simple.

There are still a number of pieces of the puzzle that need to be slotted into place for us to have a fully functional platform, but I can’t help but feel we’re getting there. As I mentioned, I was here for technical support, and I didn’t really have a massive amount to do today (I spent most of it tinkering with the chosen theme to get it to support CoAuthors Plus).

The next major step will be a plugin to assist with citing papers and generating bibliographies that I am currently in the process of writing, more on that in a future post. I agree with many of Martin Fenner’s points in his post of a few days ago, citations are not currently well supported by WordPress, or any plugins so far. I am working on the dynamic generation of citations and bibliographies from specific tags within posts. This should allow for simple management of referencing by authors, and provide a range of tools for readers of articles, such as BibTeX/RIS export and on-the-fly bibliography reformatting.