Thursday, June 18, 2015

Feature of the Week: New REST Client for PHP

We spent some time developing a new full-featured REST Client in PHP in order to make it much easier for you to develop new Apps for the BibSonomy universe.

The new REST client library comes with a lot of new features:

  • It's full-featured that means the client supports the whole functionality of the API.
  • It contains a model such that it is convenient for you to work with the data.
  • It supports Basic Auth as well as OAuth authentication methods.
  • It's easy to integrate in your PHP App, since we have used composer, a powerful tool in order to integrate and autoload requirements of 3rd party software.
  • You can output a fetched set of publications as a CSL-rendered publication list in your favorite citation style.

In order to use the restclient-php library you need to do three steps:

  1. Install the library via composer and include the autoloader file.

    Installing Composer locally is a matter of just running the installer in your project directory:

    curl -sS | php

    Then, add the restclient to the requirements of your project. Run the following command on a terminal within your project folder:

    php composer.phar require academicpuma/restclient-php:1.0.0-alpha
  2. Create an Accessor. This object is required to authenticate your App on the REST API of BibSonomy. You can choose between two authentication methods, Basic Auth or OAuth. For Basic Auth this would be:


    require 'path/to/vendor/autoload.php';
    use AcademicPuma\RestClient\Accessor\BasicAuthAccessor;

    $accessor = new BasicAuthAccessor('', [your-username], '[your-apikey]');
  3. Create a RESTClient object and perform a request. This object is your interface to BibSonomy. This class provides all supported functions to get, create, update, and delete posts, tags, documents, user and groups. For example:


    use AcademicPuma\RestClient\RESTClient;
    use AcademicPuma\RestClient\Config;

    $restClient = new RESTClient($accessor);
    //choose Resource type and tags
    $restClient->getPosts(Config\Resourcetype::BIBTEX, Config\Grouping::USER, [username], ['tag1', 'tag2']);

    Now, you can choose the format. There are four options: XML, CSL (JSON), Model (PHP Objects), Bibliography (CSL-rendered publication list):

    //output xml
    echo $restClient->xml();
    //output CSL
    echo json_encode($restClient->csl());
    //use the model
    $posts = $restClient->model();
    foreach($posts as $post) {
        echo $post->getResource()->getTitle()."<br />\n";
    //print a bibliography in your preferred style and language
    echo $restClient->bibliography('apa', 'en-US');
Currently restclient-php is considered as unstable alpha version. If you encounter  any errors or problems, feel free to report an issue on our code repository.

Happy tagging,

Wednesday, June 10, 2015

Feature of the Week: Safari Extension

We already released a Chrome extension and a Firefox plugin to replace our old Javascript based bookmarklets. Today we are pleased to announce the launch of our new Safari extension. The extension adds three new buttons to your browser:

The first button opens your personal BibSonomy home page. With the other two buttons you can post new bookmarks or new publications to BibSonomy. 

You can download the plugin from the Browser Add-ons & Bookmarklets page.

happy tagging

Wednesday, June 3, 2015

Feature of the Week: Fast tag editing

A very comfortable feature of BibSonomy is available again in Version 3, an easy way to edit tags without having to edit the whole entry. Whenever looking at your own entries in some way you can use the "edit tags button" shown in the picture below to change the tags of this entry. 

The following window will appear. New tags can be added by typing the tag followed by a space bar. Just don't forget to hit the save button! 

You can also edit tags of multiple entries which is desribed in another FotW

Happy tagging!

Wednesday, May 27, 2015

New BibSonomy JabRef Plugin Released

We recently updated the BibSonomy plugin for JabRef. JabRef is a Java based open source bibliography reference manager which runs on your local desktop. With the BibSonomy plugin, you can import and export your BibTex entries and attached documents from BibSonomy to JabRef and vice versa.

The new version of the plugin has been adapted to support current JabRef versions such as 2.10.
You find the latest release, documentation, and source code of the BibSonomy JabRef plugin on

Happy Tagging!

Monday, May 11, 2015

Post History

Since Version 3.1.0, BibSonomy has a new feature that helps you to keeps track of the history of your posts.

Assume you have a BibTex post such as the following which you have edited a few times.

By clicking on the "view history of this post" link in the dropdown menu, you see the changes you have made on this post.

By default, particular textual differences are shown between each pair of two consecutive versions.
You may also choose to display the difference between the current version and a specific older version in the history. You can do this by selecting "current version" in the dropdown field of the older version.

If you have chosen to compare a version with the current version, you also have the opportunity to restore particular fields. If you like to do so, first press the restore button which lies beneath the pop-up window. Then, you select the fields you would like to restore, and finally confirm the restore.

By the way: The history of your posts is only visible to you and not to other users, so nobody can see any of your secret mistakes you might have made earlier.

Enjoy the history feature and
Happy Tagging!

Popular Posts