Back to Integration overview page.
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.
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. BibSonomy: 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">${project.name} Tags</div>
<ul id="tagbox" class="tagcloud"></ul>
</div>
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.
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.
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'
src='<URL>'
height='400'
width='100%'
style='border: none;'>
<p>
Unfortunately, your browser is not capable of showing embedded frames (iframes).
</p>
</iframe>
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, http://www.bibsonomy.org/user/jaeschke/myown?items=1000&resourcetype=publication&sortPage=year&sortPageOrder=desc&format=embed displays all (up to 1000) publication posts of the user jaeschke that are tagged with "myown", sorted by year descending.
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://puma.uni-kassel.de/tag/json?callback=cb" 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:
items
and not tags
.label
and not name
.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:
xwiki.cfg
file (it is installed by default).rss:feed=/publrssN/user/username?items=1000
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("http://www.bibsonomy.org/publrssN/user/username?items=1000")}}
{{for (entry in feed.entries) {}} \\ {{desc = entry.getDescription().value}}
{{println("{pre}")}}
{{println(desc)}}
{{println("{/pre}")}}
{{ }
Example: Nepomuk publications
You can integrate PUMA content into the content management system of Zope.
Posts
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.