Friday, October 19, 2007

Feature of the Week: New URL schemes

We have implemented some new URL schemes to make your life easier:

Reference by BibTeX key. If you are looking for a particular entry for which you know already who has stored it (eg, yourself) and for which you know the BibTeX key, you can directly refer to it with the following scheme: http://www.bibsonomy.org/bibtexkey/KEY/USERNAME . For instance, check out http://www.bibsonomy.org/bibtexkey/Wille82/stumme. If the user has more than one entry with the same BibTeX key, then a list of all hits will be given. You can use this feature also for referring to entries that we mirror from DBLP, once you know how DBLP generates its BibTeX keys, eg, http://www.bibsonomy.org/bibtexkey/journals/jacm/HopcroftU69/dblp.

Short-Cuts.
The following links are available only when you are logged in. They do not provide new functionality, but are convenient short-cuts.

Friday, October 12, 2007

Feature of the Week: Content negotiation

Content negotiation helps to represent a resource at the same URL in different ways considering the capabilities of the requesting user agent. It allows user agents to choose between several representations of a resource by giving an appropriate MIME type in the HTTP-Accept-header.

Browsers typically accept MIME types of text/html to get some human readable representation. A semantic web application, though, might prefer to get a representation of the resource in RDF and thus accepts only application/rdf+xml. In BibSonomy we have added this behaviour to URLs representing particular resources - i.e., a single bookmark or publication reference (which may be represented by several posts). You can access this feature by prepending the /url/ and /bibtex/ URLs with the prefix "/uri/", e.g.,

http://www.bibsonomy.org/uri/url/d1bb7b3f6cafafa7b418f9f356ff2e83

or

http://www.bibsonomy.org/uri/bibtex/2b8b87c78e9e27a44aacde0402c642bff

Depending on the Accept-header of your user agent you get a redirect to the appropriate representation of those resources. You can read some more information on this in the BibSonomy help system.

Friday, October 5, 2007

Feature of the Week: Fulltext Search within Tags:



Our fulltext search contains an addition helpful feature to support the user to navigate through the content of BibSonomy. The tradition fulltext search finds words contained in URLs, titles, descriptions and especially all BibTeX fields like author, editor or bibtexkey. Now, we improve the fulltext search functionality to find also words, which match with tags (see figure at top). Use it and find more bookmarks and publications in which you are interested. Miranda

Feature of the Week: API and JabRef Connectivity

People have been asking us about this for a while, and now we are happy to announce it: BibSonomy now has an application programming interface (API) which allows you to code external applications that interact with BibSonomy.

So for example, assume you have a standalone tool for managing BibTeX entries which you use on a daily basis. Now you want your tool to be able to interact with BibSonomy, so that you can publish references from your desktop to BibSonomy at the push of a button.

JabRef: Standalone BibTeX Manager now Interacts with BibSonomy



Actually, this is what we have implemented as a first application ;-) Have a look at the API download page. There you will find a customized version of the great JabRef reference manager which has been extended to interface with the BibSonomy API. This version is able to publish your entries to BibSonomy, retrieve references with a specific tag, or modify references in a fully-fledged desktop application rather than using a web interface.

This also means that you can use your references on your laptop, say, when you do not have network connectivity, and synchronize them with BibSonomy when you reconnect.

REST API for Programmers



For the more technically minded: the API offers a REST-type interface to BibSonomy resources. So for example, to get all users, you'd say "GET /users" over HTTP. To modify a particular user, you'd say "PUT /users/<username>" with an appropriately formatted XML document with the user data. The API documentation documents the possible operations and their current status — not all of them are finished yet.

So this allows you to code an application against BibSonomy in about any programming language, although you'd have to write all the HTTP and XML wrangling yourself (at the moment). For the Java language, we are also offering a client library which lets you write applications against BibSonomy that handle elements of BibSonomy, such as posts etc., as proper Java objects and hides all the gory details.

Getting an API Key



Of course, all this only works within the bounds of proper authorization. To be able to use the API, you have to obtain an API key: just check the second settings pages.