Hiển thị các bài đăng có nhãn BibSonomy. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn BibSonomy. Hiển thị tất cả bài đăng

Thứ Sáu, 25 tháng 10, 2013

Feature of the Week: OAuth for the API

BibSonomy's API allows you to access all of your posts programmatically. The API's help page describes how you can authorize your requests using your API key and secret. If you want to access BibSonomy within your application in behalf of a user, this approach is not feasible, as users had to store their API key and secret within your application.

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 BibSonomy.

How to access BibSonomy from you application using OAuth


1) Request an OAuth Consumer Key and Consumer Secret

Before your application can access BibSonomy's API, both applications must establish a secured communication channel. This is done by initially exchanging credentials, a so called consumer key which identifies your application and a corresponding consumer secret which is used for signing and verifying your requests. Both symmetric (HMAC) and public key (RSA) encryption is supported.
If you want to obtain a consumer key and consumer secret for your application, please write an email to api-support@bibsonomy.org


2) Implement OAuth's authorization dance

If a user grants your application access to his data in BibSonomy, the user is redirected back and forth between your application and BibSonomy for eventually passing a so called access token to your application which can than be used to authorize your requests to the API. This process is explained in detail in the OAuth user guide.

Esentially your application needs to redirect the user to BibSonomy's OAuth authorization page with a previously obtained temporarily credentials given as request parameters (e.g. http://www.bibsonomy.org/oauth/authorize?oauth_token=xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx):If the user authorizes your temporary credentials, you he will be either be redirected to your side (if you provided a call back url) or the user as to manually switch to your application. This authorized credential can then be used to obtain the access token which authorizes requests.

BibSonomy's OAuth Rest-API client for Java facilitates this process. If you use maven, just add the following to your pom.xml:

<project>
<repositories>
<repository>
<id>bibsonomy-repo</id>
<name>Releases von BibSonomy-Modulen</name>
<url>http://dev.bibsonomy.org/maven2/</url>
</repository>

[...]
<dependencies>
<dependency>
<groupId>org.bibsonomy</groupId>
<artifactId>bibsonomy-rest-client-oauth</artifactId>

<version>2.0.22-SNAPSHOT</version>
</dependency>
</dependencies>
[...]

Alternatively you can download the jar files directly. Obtaining a temporarily credential is as easy as:
BibSonomyOAuthAccesssor accessor = new BibSonomyOAuthAccesssor(
"YOUR CONSUMER KEY",
"YOUR CONSUMER SECRET",
"YOUR CALLBACK URL"
);
String redirectURL = accessor.getAuthorizationUrl();

You now have to redirect the user to redirectURL. Afterwards, the previously obtained temporarily credential is transformed to an access token:
accessor.obtainAccessToken();


3) Make requests to BibSonomy's API

You can now use BibSonomy's rest logic interface to perform API operations.

RestLogicFactory rlf = new RestLogicFactory(
"http://www.bibsonomy.org/api",
RenderingFormat.XML
);
LogicInterface rl = rlf.getLogicAccess(accessor);
[...]
rl.createPosts(uploadPosts);
[...]


A running example can be found on the corresponding help page in BibSonomy.

If you have further questions, please feel free to write a mail to api-support@bibsonomy.org.

Thứ Tư, 16 tháng 10, 2013

Feature of the week: Add CSL styled publication lists to your TYPO3 webpages

TYPO3 is, along with Drupal, Joomla and Wordpress, among the most popular content management systems worldwide, (although it is most widespread in Europe). Due to its features, scalability and maturity, TYPO3 is used by to build and manage websites of different types and size ranges, from small sites for individuals or nonprofit organizations to multilingual enterprise solutions for large corporations or universities (read more @Wikipedia).

In past we had built an very rudimentary BibSonomy extension for TYPO3, which is not longer supported by TYPO3 v6 and is not further developed by us. But we are proud to present to you the new BibSonomy CSL (ext_bibsonomy_csl) extension, based on TYPO3 Flow.

With our new Extension BibSonomy CSL you can add a list of publications from BibSonomy to your pages. You can style your bibliography with CSL Stylesheets (Citation Style Language). For this you can choose from a set of pre-installed styles, or you can choose a custom style from the web. Additional you have the option to add your BibSonomy tag cloud to your website.

Installation

To install BibSonomy CSL, log into your TYPO3 installation as an administrator and search in the Extension Manager => Import Extensions for ext_bibsonomy_csl and import them.



After import is finished the extension will be shown in the section "Available Extensions". Press the + symbol for installation.



Add publication lists with Frontend Plugin

Now you can create a new page in the usual way. If you create a new content record you find in plugins section two new entries: Bibsonomy Publication List and Bibsonomy Tag Cloud.

Choose Bibsonomy Publications List to add a list of publications. In "General" tab insert a headline for your list.

In tab Plugin you can setup your publication list. You can choose between user, group or viewable to select the content from BibSonomy. Detailed information about the scheme you can find at http://www.bibsonomy.org/help_en/URL%20Scheme%20Semantics.

Ok, let's go through an example: Assume, you wanna publish your own publications in a blog post (and in BibSonomy all own publications are tagged with myown). Choose user as content source type and enter your BibSonomy user name as content type value (in this example we've choosed the user dbenz). Now you have to filter your selection by using the tag myown. For this, enter myown in the input field for tags. If you want to select more than one tag you have to separate them by a space character. Optionally, you can limit the number of publications.

There is also the possibility to filter the content by using freetext search field.  

Warning: Be aware, that you are using your own account to retrieve the posts from BibSonomy. That means, that all posts, that are visible to you in BibSonomy (your private ones too), will be made visible on your oage, if they fit the description in the plugin record. (In our example: all posts you have tagged with myown.)

In the subtab Layout you can choose one of the (pre-)installed citation styles to layout your publication list. If your desired CSL style isn't contained in the default selection, then you can insert a custom style, by entering the XML code of the stylesheet. The Citation Style Language (CSL) is an open XML-based language to describe the formatting of citations and bibliographies. A large list of freely available styles can be found on http://www.zotero.org/styles/.


In the third subtab 'Login' you have to enter your BibSonomy API credentials. For this you need your username and your API key.

Add your BibSonomy Tag Cloud with Frontend Plugin

Choose Bibsonomy Tag Cloud as plugin while creating new record. Typically, a tag cloud will be placed in the sidebar. So you can choose the right or left content area for inserting.
For tag cloud content you can also choose between user, group or viewable to select the content from BibSonomy. Assume you want to add your personal BibSonomy tag cloud choose user as content type and insert your username for content type value. In subtab Login you have to enter again your API credentials.


Manage your CSL styles with the Backend Plugin

Typo3 extensions are divided into Frontend Plugins and Backend Modules. The both frontend plugins Bibsonomy Publication List and Bibsonomy Tag Cloud, I've already presented. To manage your Citation Stylesheets you can use the Backend Module CSL Styles.

By default there are a lot of styles pre-installed. To add your own custom styles, create a new folder 'CSL Styles' in the page tree. Choose CSL Styles in menu sidebar and select the Folder CSL Styles in page tree. An empty page with two buttons will be shown. Click on Create New Style to add a custom style.

There are three ways to add a new Citation Style
  1. Direct input: Enter the XML source of your style in the text area and press Save to add the style
  2. Import from URL: Enter the URL of an Citation Style file and press Import 
  3. Upload CSL file: Select a CSL XML file from your filesystem and press Upload

Now you can take a preview of your new style: Click on Show Styles.

To delete styles click on the paper trash icon, left of the style.
I hope this introduction was helpful. 

Happy tagging,
Sebastian!