Thursday, 20 May 2010

Citation Manager Widget

Hi all

I am Manoj a 3rd year CS student at BITS-Pilani(GOA) in India.

Sakai is a collaboration tool for research academics, as well as an environment for collaborative and online learning. A key tool of academic researchers is the citation database, which is used to log, organise, annotate, share and cite interesting publications. Publications themselves might be books, websites, conference proceedings or journal papers. This project would require some initial exploration, with the help of my mentor, of use cases and requirements in order to develop a specification for how these tools can be usefully brought in to Sakai3, giving particular attention to its academic networking features, and subsequent development of a Sakai3 widget (somehat like an iGoogle widget) using javascript, HTML, CSS and the target APIs.

The project has been divided into 2 phases.
1.Research phase
2.Development Phase.

The following progress has been made(after discussion with my mentor):
  • Mendeley The API hasn't been released yet though active research is going on and the results will be known by 21st may.
  • Delicious Has a much larger user base and development resource.The only problems with it in the context of citation management are a) that it doesn't do citations, its really only bookmarks, and b) that it isn't very sophisticated in terms of shared bookmark lists such as a research group might want to use. What it does do well is tagging and mass editing.

  • Creating ideas: The following are some ideas that will make this widget out-of-the-box:
  • My Citations
  • Function: Scan Article for citations(This will be done by the API), "Import", "Send through mail", "To PDF" and "Add to Favorites".
  • Description
  • Send Mail: Front end service through MailMan.
  • ToPDF: Export entity to PDF format.
  • Import: Import citation data via Connotea, Mendeley web APIs in XML/JSON format.
  • Scan Article: Retrieves citations from publications and displays on a list dynamically.
  • Required: JavaScript + JQuery + AJAX
  • A Drag and drop feature will speed up these operations.
  • New browse feature
  • Function: Set style elements to already saved citations and notifies which user in a Sakai group has saved this citation in their favorites list.
  • Description
  • Example - If a user loads a new publication, then the saved citations will be red in color (or bold, any style specification) and the citation saved by a member in the group yellow in color along with name of that user. This will help users’ select new citations quickly, thus faster selection.
  • Technical Details: Simple CSS and some back end coding will give this unique feature to Sakai 3.
  • Citation suggest
  • Function: Suggest a list of Sakai users which also have same citations in their favorite window. Users can find appropriate groups dynamically.
  • Group Update
  • Function: Notifies a user about a newly added citation by a user in the group in an Update section.
  • Group Tagging
  • Function: Notifies which citations have been tagged by multiple users in a group, and how many tags have been received by each citation. In this way users can view mostly used citations.

How will integration with Sakai 3 take place?
Sakai’s event handling capabilities can be employed to manage various entities in all these modules. Events can be published using Java Message Service (JMS) that will act on contents (Contents are citations). An efficient data model will be set up that will control data flow during runtime. The model will be made on Sakai Nakamura, leveraging its flexibility. In this way, integration with Sakai will be achieved.

2. Development phase

Core development plans will be formulated when the specifications will be decided; and the following generic approach will be employed:
  • UI Development: First, a user interface will be made for the widget using CSS that will match Sakai’s standards.
  • Hierarchical structure: Citations, relevant tags and other information will be stored in a hierarchical form in the citation database. (or any other content repository) Thus, data can be summoned using proper URI.
  • Group-oriented features: Main concern will be on increasing user activity on a Sakai network (or group). Citation management will be the easiest task a user can do on Sakai 3.
  • Materialize ideas: Using Sakai Nakamura as a framework, develop JQuery code + Back end and Front end services to implement the selected ideas.
  • Testing and Feedback: JUnit to be used for testing the code. The beta version will be put on a Sling server for feedbacks.

No comments:

Post a Comment