Integration with other Websites and Services#

PUMA integrates well with other websites, content management systems, and reference managers. Furthermore, you can connect PUMA to your own software using one of our API (application programming interface) clients. The following list describes ways to integrate PUMA with various systems and technologies - ranging from code snippets to complete and powerful, easy-to-install plugins or API clients.


Bookmarking web pages and publications is very easy with our PUMA browser plugins, adding three useful buttons to your browser's navigation bar. At the moment there are plugins available for Chrome/Chromium, for Firefox and for Safari. If you do not wish to install a plugin or if you use another browser, you might like the JavaScript Bookmarklets with similar functionality.

Chrome / Chromium#

Add three useful PUMA control buttons to your Chrome/Chromium browser by installing this add-on. One will be a quick link to your myPUMA page. The other two buttons enable you to store bookmarks and publications in PUMA by only clicking a button or by using keyboard shortcuts. You can find the description and the download on the Browser Add-ons & Bookmarklets page.


Add on
Add three useful PUMA control buttons to your Firefox browser by installing this add-on. One will be a quick link to your myPUMA page. The other two enable you to store bookmarks and publications in PUMA by only clicking a button or by using keyboard shortcuts. Please find description and download on the Browser Add-ons & Bookmarklets page.

You can search for content from PUMA directly in the Firefox address bar.

  • First, you have to create a new bookmark. To do so, click on "Show your bookmarks" (on the right next to the bookmark star symbol) and then on "Show All Bookmarks". On the left, click on "Bookmarks Toolbar" (or on any of the other options), then, above, click on "Organize" und finally on "New Bookmark...".
  • Search in your PUMA account
    When you want to search in your own PUMA account, enter the following into the input fields:
    Name: Search My PUMA
    Keyword: bs
    Now you can enter the following search request in the Firefox address bar:
    bs myown 2015, to find all entries of yours with the tags myown and 2015.
  • Global Search in PUMA
    When you want to search for entries in the entire PUMA system, enter the following into the input fields:
    Name: Global Search PUMA
    Keyword: as
    Now you can enter the following search request in the Firefox address bar:
    as java, to find all entries in PUMA that are tagged with java.

Zotero is an extension for Firefox and helps you to collect, manage and cite publications. We support exporting citation information from PUMA to Zotero as well as importing entries from the Zotero library to PUMA. Click here to find out how to do so.


Add three useful PUMA control buttons to your Safari browser by installing this add-on. One will be a quick link to your myPUMA page. The other two buttons enable you to store bookmarks and publications in PUMA by only clicking a button or by using keyboard shortcuts. You can find the description and the download on the Browser Add-ons & Bookmarklets page.



You can exchange articles between the reference manager software Citavi and PUMA. Instructions for that are given in this tutorial.


Emacs is a powerful, customizable text editor. The package AUCTeX turns Emacs into a comfortable LaTeX environment. In our blog post we describe how to setup Emacs to automatically make use of BibTeX references stored in PUMA.

JabRef #

JabRef is open source literature management software and uses the BibTeX format as the standard format.

PUMA plugin
Caution: Since JabRef version 2.12, plugins are no longer supported in JabRef!
To exchange literature data between PUMA and JabRef easier and faster, you can use the PUMA plugin for JabRef. Read more information on installation and usage.

Extract Jabref-layouts from Jar-files
In JabRef, you can export your literature data in user-defined formats. These formats are called layouts und are defined in layout files. On our developer page, you can download the currently available layouts as a JAR file. You can open this file using an unzip tool like WinZip. You will find the layouts under the path '\org\bibsonomy\layout\jabref'.

To use a layout, you have to extract its '.begin' and '.end' files in combination with the respective layout-file. For example, if you want to use the Harvard HTML JabRef layout, you have to extract the files 'harvard.layout', 'harvard.begin.layout' and 'harvard.end.layout'.


KBibTeX is a KDE application to manage your publications offline similar to JabRef. It integrates several online services and allows to store the found data. It also supports searching in PUMA.

Sublime Text#

The text editor Sublime Text has a LaTeX type setting plugin called Latexing. The plugin offers integration with PUMA and is explained in a tutorial.


TeXlipse is the LaTeX development plugin for Eclipse. The TeXlipse PUMA extension adds PUMA support to that plugin to manage your references. Installation and usage are documented in this tutorial.



An interesting tool from Christian Schenk is the Confluence plugin. The plugin allows you to show a tag list/cloud and the most recent BibTeX posts on any page in Confluence.


This PUMA addon for Google Docs allows you to cite directly from PUMA in Google Docs. Follow these instructions to learn how to do so.


With the PUMA Scholar Plugin for Chrome, you can connect PUMA and GoogleScholar. It is then possible to manage publications directly in the GoogleScholar web interface. The extension can be added at the Chrome Web Store. More information on the GoogleScholar extension can be found in the PUMA blog.


Moodle is a popular platform for E-Learning. PUMA can enhance course descriptions and E-Learning projects by offering literature, e.g. in form of RSS feeds. A module description as well as instructions for course administrators and users can be found on the Moodle help page and here.

Your own website#

There are several ways to incorporate PUMA content or links to PUMA into your own website. Many websites provide links or buttons on their web pages to allow visitors to share it easily in social networks or bookmarking services. You can add such a link for PUMA on your own website or blog using a short JavaScript snippet that can be found on the Browser Add-ons & Bookmarklets page and on the JavaScript codesnippet page.

Tag Clouds#

PUMA offers the possibility to integrate its tag clouds, for example for your publications, into your private website. For this purpose PUMA provides a JSON feed for tags which is processed by JavaScript snippets. At the moment this feature is only available for the BibTeX page, but will be extended to all pages offering tag clouds in the near future.
Have a look at the example and test the different arguments in the form. The tag cloud belongs to the following publication:

Andreas Hotho and Robert Jäschke and Christoph Schmitz and Gerd Stumme. PUMA: A Social Bookmark and Publication Sharing System. Proceedings of the Conceptual Structures Tool Interoperability Workshop, 2006.

Proceed as follows to integrate a tag cloud into your page:
  • Insert these lines into your HTML code where the tag cloud shall be shown:
<div id="tags">
  <div class="title">[{$jspwiki.projname}] Tags</div>
  <ul id="tagbox" class="tagcloud"></ul>
  • Include a reference to the processing JavaScript file (The JavaScript file can be found here):
<script type="text/javascript" src="tagCloud.js"></script>
  • If you want to format your tag cloud like in the example above, use this CSS file and include it as follows. If you do not like this particular style or it just does not fit to your existing website style, you can of course use your own stylesheets.
 <link rel="stylesheet" type="text/css" href="tagCloud.css" /> 
  • Finally, you need to activate the JavaScript function getTags(). You have to enter three arguments.
    • First, the URL providing the JSON feed. For example /json/tags/bibtex/1d28c9f535d0f24eadb9d342168836199 for all tags related to that publication.
    • The second argument is the limit of tags to retrieve.
    • Finally, the order of the tags. You can choose between an alphabetic order using the keyword alpha or a tagcount order using the keyword frequency.

      The following example retrieves 25 tags related to that publication in alphabetic order. The tag cloud will be filled in dynamically with the retrieved tags.
      getTags(/json/tags/bibtex/1d28c9f535d0f24eadb9d342168836199, 25, "alpha")

You can find another tutorial on how to integrate tag clouds into your website on this page.

Post Lists#

Embed a list of posts (e.g. your own publications) on your own website in the same way they look in PUMA. Just include an iframe in your HTML code that looks like this:
<iframe name='my publications' 
        style='border: none;'>
      Unfortunately, your browser is not capable of showing embedded frames (iframes).
The URL can be any PUMA page, e.g. your user page or the page of your group. It is important to add the URL parameter format=embed. For example, displays all (up to 1000) publication posts of the user jaeschke that are tagged with "myown", sorted by year descending.

JSON feed#

For every PUMA page you can get a JSON feed of it by prepending json/ to the path part of the URL, e.g., to get the JSON feed for /tag/json, use the page /json/tag/json

This gives you an Exhibit compatible JSON feed including all bookmark and publication posts of the respective page. To include the JSON feed into your Exhibit, add a link to it into the header of your Exhibit HTML code.

<link href="http:///" type="application/jsonp" rel="exhibit/data" ex:jsonp-callback="cb" />

Have a look at this list of publications to see what is possible using JSON and Exhibit with only some lines of HTML.

Users of our existing JSON feed should note that the format was slightly changed:

  • The tags are now contained in the list with the key items and not tags.
  • The name of the tag is expressed using the key label and not name.
  • There are two more lists (types and properties) to allow easier Exhibit integration.


Our TYPO3 extension BibSonomy CSL allows you to create publication lists containing bibliographic references stored at PUMA or tag clouds from your PUMA tags. The extension helps researchers to easily organize publication lists in TYPO3, both for personal home pages or to list publications of a research group or project. With BibSonomy CSL you can display publication lists/tag clouds choosing one of many available bibliographic styles from the Citation Style Language (CSL). Individual styles can easily be added. Furthermore, you may choose to make documents (attached to the PUMA posts) available for download, to provide preview images and to reference BibTeX or Endnote. To install the extension please visit the official BibSonomy CSL page in the TYPO3 extension repository. The TYPO3 extension is an open source project.
For more information, read the tutorial about TYPO3 integration.


The open source project VuFind provides cataloguing, search, and repositorial facilities to libraries. PUMA can be added to a running VuFind replacing its favorites list, thus adding such benefits as tagging and filtering the favorite resources and offering various export formats. To install PUMA at your own institution or to connect it to your VuFind installation please contact the PUMA team.


For Wordpress there is a plugin to create publication lists from posts stored in PUMA. To render the list, you can choose one of many available bibliographic styles from the Citation Style Language (CSL). Individual styles can easily be added. The plugin allows the direct integration with PUMA: You can integrate publication lists into your blog posts or pages. It allows you to offer your documents (attached to your posts) for download and to render preview images.
For further information and download, read our Wordpress tutorial.


To integrate PUMA into a XWiki page, proceed as follows:
  1. Make sure the XWiki RSS Feed Plugin is installed in your XWiki instance by editing your xwiki.cfg file (it is installed by default).
  2. Edit the wiki page where you want to display PUMA data.
  3. Enter the following code activating the XWiki RSS macro
    where the feed parameter is linked to the RSS data you want to get displayed on that page.
  4. Save the page.
The PUMA data should then be displayed on your page.

If you want to customize the way each feed item gets displayed, you can use XWiki Velocity or Groovy Scripting features as shown in this Groovy example:

feed = xwiki.feed.getFeeds("")
for (entry in feed.entries) {
  desc = entry.getDescription().value

Example: Nepomuk publications


You can integrate PUMA content into the content management system of Zope.

Lists of posts can be displayed using the PUMA RSS feed on your Zope page. Have a look at the detailed description of the RDF Summary product of Zope.

Tag clouds
In Zope, tag clouds can be created following our tutorial.


Digital Libraries#

With PUMA, you are able to extract and store information from digital, public online libraries (OPAC) easily and fast. Click here to find out which libraries are linked to PUMA.

Discovery Service#

Many libraries in Germany use Resource Discovery Services (RDS) for inventory management. PUMA provides a direct RDS interface. You can learn how to use this interface here.

OpenURL resolver#

You can you connect your PUMA user profile with your library's URL resolver. This way all URLs, also in publications, can be resolved via your library. You can find instructions for this here.


Bookmark Exporter#

Thanks to Christian Schenk's BibSonomy exporter, you can export your PUMA bookmarks to other social bookmarking sites. Prerequisite is that the systems accept the Netscape Bookmark file format. The tool can be downloaded here.

Link checker#

This link status checker checks whether your PUMA bookmarks are still downloadable.


RSS is a family of formats to create feeds of frequently updated information. Follow our tutorial to learn how to subscribe to a particular RSS feed from PUMA. You can stay informed about recent post of particular tags, users, or groups.


PUMA provides a webservice using Representational State Transfer (REST), a software architectural style for distributed hypermedia systems. The REST API is intended for developers who want to develop applications which interact with PUMA.
You can use the provided client library, written in Java to access the API or you can directly interact with the webservice if you would like to write a client in a language other than Java.

To get access to the API, you will need your API key. You can find it on the settings page in the tab "settings".


You can access the REST API by the programming language Java.


Restclient PHP is a package of PHP scripts containing a RESTClient and some utilities that are useful for the development of PHP applications that shall interact with the PUMA REST API. The RESTClient maps functions provided by the PUMA REST API.


There is an API client to retrieve posts using the programming language Python.



Gunnar Aastrand Grimnes created the Android application Bibsonomy Poster that allows posting with a single click from an Android device. The code repository can be found here.


OAuth is an established protocol for secure API authorization which allows users to grant third party applications access to their data without being obliged to enter credentials outside of PUMA. Learn here how to establish a connection between your application and PUMA via OAuth.

Search Engine#