2009-06-24

Feature of the week: "relevant for"

Usually we try to write a FOW every week but the last one is three weeks old. We are currently very busy since there are several things going on. Besides the ongoing work to improve BibSonomy (fixing bugs and implementing new features) we are also actively working on new research results. Further, the deadline for this year's ECML PKDD Discovery Challenge is approaching and we need to prepare some things for that. E.g., we were able to get very nice prices. The challenge is still runing... But this are only side remarks.

Back to this week's FOW: With the March 2009 release we introduced a new group feature called "relevant for", with which group members can particularly flag posts. Why do we need this new group feature? The implementation of our group system follows two main ideas. On the one hand, it is designed to provide access rights, which means that users can restrict the access of a post to the members of a certain group (only group members can then see this post). On the other hand, it is a system to collect posts of group members which allows for aggregation. Due to a lot of support requests we realized that this kind of combination is not very
intuitive. So we searched for a way to maintain both parts but separate them and make the whole system easier to use. The "relevant for" feature is our solution to overcome this problem. The corresponding page is intended to support groups -- especially research groups -- by collecting bookmarks and publication with a special topic. As it is possible to choose more than one group a post is relevant for, posts can be dedicated to more than one group.

Let me explain how it works. The way we implemented this feature is as a system tag. What does this mean? On the bottom right hand side of the posting dialog you find a form called "relevant for" which contains a list of all of your groups. You can choose one or more group you think the post is relevant for. If done so, the post is annotated with special tags "sys:relevantfor:groupname" for each group and these tags are stored as usual tags and can also be changed by the user. We are working on a mechanism to hide these system tags from the usual website and tag clouds but currently this feature is not yet finished. To make the system tag useful, we implemented a special page "/relevantfor/group/groupname" which shows a collection of all posts tagged with the corresponding system tag for this group. This feature is
independent from the access rights of groups. As long as the user has the rights to see the post he will see the post on the corresponding pages.

To summarize it: groups are no longer only for access rights but also topical groups and if someone is interested to open such a group, we suggest to just register an account, send us a an email, and we will turn the account into a group and you can work with it.

Labels: , ,

2009-05-29

New Features released: Similar users + Personalization

Today we've performed a release of BibSonomy, containing some new interesting features you might find helpful! The first one addresses the common problem of finding other BibSonomy users with similar interests as oneself; they might be a great source for interesting content like recent publications or up-to-date bookmarks. On your personal user page (i.e. in the "MyBibSonomy" area), you'll find in the sidebar a new list with "similar users":
We've computed these using several similarity measures - when you click on "more", you can check which one is best for you. When you click on one of the user names, you'll be directed to a personalized page which looks like this:
The main idea behind this personalization is to help you finding the interesting content of this user for you; we're comuting a personalized ranking which sorts this user's posts according to your interests. The tag cloud shows this user's tags, which are probably interesting for you.

This personalization feature is also available when you browse in the "usual way" on a user page - there we provide a "personalize"-Link at the top:
Besides that, this release contains a number of small fixes & improvements - if you happen to encounter any irregularity, we'd be happy to hear from you so that we can fix the problem. Besides that - feel invited to play around with our new features and get the most out of BibSonomy!

Best,
Dominik

Labels: , ,

2009-05-26

Typo3 Extension for BibSonomy available

Typo3 is a popular open-source content management system, used by a large number of private and corporate websites. It offfers among others a generic extension architecture, which enables developers to add custom functionality to Typo3-based websites.

For many websites in academic contexts (e.g. personal homepages of researchers, universities, research projects, ...), an important building block is an up-to-date publication list. Maintaining these lists manually is a tedious task; in order to ease this process, we have developed a versatile BibSonomy Typo3 Extension! The core concept is to keep all references cleanly stored inside BibSonomy (leveraging all useful BibSonomy features like import from different formats, scraping services, ...) and to generate automatically a publication list from this data. Have a look here what it can look like:
In order to set up such a nice publication list with the BibSonomy Typo3 plugin, you need to follow these simple steps:
  1. Store the relevant publications in BibSonomy
  2. Install the BibSonomy Typo3-Plugin in your Typo3 installation (Download it from here)
  3. Configure the plugin (e.g. select which entries to display, select the layout, ...)
  4. You're done! :)
For each of these steps we have written an extensive online documentation. Our plugin is already part of the official Typo3 installation of the University of Kassel! We offer a number of predefined standard layouts (Harvard, DIN1505...) for formatting the publication lists; in addition, it is possible to use customized layouts based on a JabRef Layout Filter.

Apart from publication lists, the plugin is also able to display tag clouds which can be embedded into websites to visualize e.g. research interests of a group or an individual. We hope that this plugin is another step towards making BibSonomy more useful for you in the process of managing bibliographic data in an integrated and unified way. The BibSonomy team is of course also open to comments and suggestions!

Best,
Dominik

Labels: , ,

2009-04-09

FOW: Publication details

Before leaving for a bycicle trip along the Weser river :-), I'd like to point your attention to a recent change in the presentation of a user's publication details.

Different features were included to make the metadata more representable. At the page's beginning, users can select different citation formats (e.g. Harvard, DIN1505) to represent the reference.



The next sections have only slightly changed. You can enter a link to the publication's provider, or upload a private copy of the document in question in the Resources section. The Abstract and Private Note section allow you to store informational and personal information. Finally, metadata can be changed or enhanced in the BibTex and Endnote record fields.

The sidebar gives the option to edit your tags. Additionally, tags that have been associated with this publication are shown. Those tags, that have been added by yourself, are underlined. To find out who else is interested in this publication, have a look at the related users.

If you wish to include a specific citation style, miss an important feature related to your publication metadata or have a brilliant idea how to further organise this page,
please contact us.

Happy easter!

Beate

Labels:

2009-04-01

Feature of the Week: New Color Scheme

As users keep complaining about BibSonomy's choice of color, we decided to switch to our new neutral color theme.

Using statistics, datamining techniques and linear optimization, we determined a set of colors which minimizes the number of mails concerning BibSonomy's design. The resulting color set is dominated by a pleasing grey, which should fit everybody's needs.


Due to acquired habits, we continue to call BibSonomy the 'blue social bookmark and publication sharing system'.

Folke

Labels: , ,

2009-03-27

FOW: You better save this as publication...

Since Andreas' blog post you already know BibSonomy's scraping service which enables BibSonomy to automatically extract publication meta data from some websites.

For some time past this service also checks whether a user posts a bookmark pointing to a scrapable site, in which case the user is given an according hint:
We now extended this feature such that text, selected by the user prior hitting the 'postBookmark' button, is also checked. Thus, if you select BibTeX and press "postBookmark" or a DOI it might happen, that you get a notice, that you better save this as publication and not as bookmark.

You might try it out yourself right now by selecting one of these text snippets and pressing "postBookmark":
  • 10.1007/978-3-540-73681-3_21
  • ISBN-13: 978-0201485417

Labels: , ,

2009-03-25

CiteSmart

Last year in November we were contacted by Mounir Errami, the project leader of MireSoft. He suggested a partnership with us. MireSoft has a product called CiteSmart, which is a citation software. It nicely integrates with Word and builds a bridge between web-based tools like BibSonomy or Connotea. It is easing the way to takeover the data from web application and it is able to produces references in various formats for articles written in Word. In this way, it allows to easily write scientific articles and supports the scientific work of researchers. Here is a screenshot:



We support this partnership as we think that BibSonomy needs to be connected with as many tools as possible. This broadens its community and makes BibSonomy more valuable for its users. To conclude: If you are using BibSonomy and you are searching for an easy way to work with Word, then we can definitely recommend CiteSmart.

Labels: , , ,

2009-03-20

New Release

We've just released a new version of BibSonomy which fixes several bugs and introduces new features.

A short overview on the fixed bugs:

  • The restriction to a certain user or certain years on author pages was broken, i.e., /publ/author/Jäschke/sys:year:2008+sys:user:jaeschke delivered no results. This works again, now.
    Please note that to get the page sorted by year you will need to add an additional parameter "sortPage=year" and if you want to have the latest articles on top additionally the parameter "sortPageOrder=desc". This is a new feature which allows to sort the posts on a page on (almost) any BibTeX fields. You can even combine fields using "|" as delimiter, such that posts having the same year are sorted by author name.

  • The BibTeX field "abstract" was exported as "bibtexAbstract" in some cases. This caused some tools which use this field to break. Now the abstract is again contained in the field "abstract". Note: in the API XML this field is still named "bibtexAbstract". We will see how we can fix this in the future (though it's not really a bug there).



New features include:
Some of the changes improve working with BibSonomy a lot and we will continue to transfer pages to the new backend. If you have found bugs or suggestions regarding the new pages, please let us know!
We will introduce the new features in more detail with the upcoming features of the week.

Labels:

2009-03-13

FOW: Fighting against the memory leak

Todays feature of the week is a bit more technical. As you might know BibSonomy is based on a MySQL/Tomcat architecture. Usually BibSonomy is running very stable but from time to time the Java virtual machine stops with an "java.lang.OutOfMemoryError: PermGen space" error. This mostly happens after a redeploy of the BibSonomy project on the Tomcat. Why does this happens? The simple answer is: Because the Java VM does not have enough memory for the so called permanent generation space. This space is used to hold the Java classes in main memory. A simple solution is to give the JVM more PermGen space. But this does not solve the underlying problem. Usually the JVM has enough PermGen space. The only result from giving more memory is: the error will happen a bit later and not directly after the redeploy.

So we decided to search for the cause of the memory leak. Soon we found out, that there were some classes from the web application which the classloader could not remove from the PermGen space because they were "linked" to classes which were loaded by the standard classloader. There could be several causes for that and using the right tools (jmap and jhat from the JDK) plus some small programm to find reference chains we found the culprits:

* MySQL Connector/J (see http://bugs.mysql.com/bug.php?id=36565)
* iBatis (see https://issues.apache.org/jira/browse/IBATIS-540)
* JabRef
* Tomcat (see https://issues.apache.org/bugzilla/show_bug.cgi?id=46221)
* and some we could fix by just moving some JARs to the right places (see also here and here).

Identifying the subjects was an iterative task - fixing one leak caused appearing the next one ... We did not know that there were so many candidates at the beginning. We could fix iBatis by switching to a newer version, MySQL, JabRef and Tomcat were a little harder to fix.
For JabRef we had to modify the source code such that it does not start AWT. Additionally, a Tomcat LifecycleListener kills the java.util.prefs.FileSystemPreferences after webapp shutdown using awful Java introspection hacks:

final Class clazz = CleanupListener.class.getClassLoader().loadClass("java.util.prefs.FileSystemPreferences");
final Field f = clazz.getDeclaredField("syncTimer");
f.setAccessible(true);
final Timer timer = (Timer) f.get(null);
timer.cancel();

To fix the MySQL bug, the listener ensures on the startup of the web application that the MySQL connection class is loaded before the web app and by the standard classloader, such that the cancellation timer threads (which is the cause of the leak) don't block unloading of the webapp. The loggers from the StandardContext in Tomcat (which are loaded via the webapps classloader - for whatever reason) are also killed by the listener.

After several weeks of work we have a leak free application. The bad thing is that every library we are using can bring back a leak and if we are not careful the leak will be back quicker as we like. Unfortunately we are not aware of a method which we could put into the Tomcat or into our application which just checks for memory leaks.

Hope you found this interesting and good luck with your own applications ...

Labels: , , ,

2009-02-24

New BibSonomy release online

In this blog, we usually announce new features of BibSonomy, as we're working steadily on improving our service. Some improvements are more visible, others not so much - e.g. when we optimize things in the code or server infrastructure. The latter is what we have been concerned with in the last weeks - we've continued to migrate old parts of the code into our new web application framework, fixed bugs, refactored some parts of the code, and so on.

Yesterday (Monday, 23rd of Feb 2009) we've released a major part of these "background improvements" - in the optimal case, you actually shouldn't notice a lot of it (except that our service has become faster and more reliable). But as we as developers usually become a bit "system-blind", we'd be grateful for any kind of feedback in case you encounter anomalies or irregularities during your daily work with bibsonomy.org.

More specifically, the following pages / functionalities were touched during the release:
In any case we hope to have made better the service for you - and thanks in advance for any kind of feedback! Best regards,
Dominik

Labels: , , ,