Wednesday, 11 August 2010
Pencils down
Manoj Inukolunu has implemented a citation manager widget, helped by some joint mentoring from Cambridge, writes:
I have created a citation manager widget for sakai3 with the following features: Add citations, Export in RIS format, Import in RIS format from other reference managers, Comment on Citations, Fetch citations from other sakai3 users, Share the citations, Search for citations (bugs remaining), Delete a specific citation. There are 2 features that needs to be implemented 1) Embed the widget into a course site 2) Add delicious support to Sakai3 (Sakai3 needs to support Oauth for this so waiting) A detailed specification and implementation details can be found at [1].
It has been a wonderful experience to work the Sakai Foundation. The developers have done a great job with the back-end and front-end. The best part was the modularity and the design. My project in the beginning was to use external citation-managers and design a citation-manager for Sakai3.The project changed a lot since the beginning [1]. I found my project intimidating in the beginning because I didnt know what to do.I did a lot of research and came up with the design spec [1] with the help of my mentor (Amyas Phillips who has been a great mentor). GSoC has been the single greatest experience in my life so far and the most productive summer so far, the interaction with the community(thanks very much for all the guys who helped me ) was the best part.I learned many things. The real world experience I gained was very valuable. I feel sad that the program is coming to an end. I am planning to continue with my project after GSoC I am also planning to join the sakai community.
My specification and implementation details are at [1] Code is at [2] and[3]
[1] http://confluence.sakaiproject.org/display/3AK/Citation+Manager+widget+specification+proposal
[2] http://github.com/zerocool1989/citation-manager-widget
[3] http://github.com/zerocool1989/exportRIS
Maria Teresa Gimenez Fayos has developed an Android app for interacting with Sakai 2.x instances, working with mentor David Roldan Martinez at the Polytechnic University of Valencia, summarises her GSoC experience thus:
I have archived the main framework of the application, I am still working in a lot of things, I hope some things would be working at the end of this week. There is a lot of work that should be done, because I really thought that the project would be easier, and it is not.
Of course I am planning to continue working on it! In fact this is going to be my final career project. I am going to use all what I learned about android and sakai in this project. So even I could not finish all what I was planning I am not worry because I am going to finish everything, I spend a lot of time of my gsoc learning about the technology and I am going to take advantage of all this knwoledge to put it in the project. At this point I would like to thank David, for all his patience.
I am related with the open source since my second year at the university when I joined to an open source association called Aditel, and there is where I know GSOC when some fellow participated and they were so happy with the experience that I want to try it too. I knew about Sakai when I began my business practices with Samoo two years ago. Then I have being doing practices in my university (Valencia Polytechnic University) with David Roldán who is being my mentor this last year. I proposed my project, an Android Application, and it came to me from my needs as student.
The community could find all the code is here: http://bitbucket.org/mrs.hopper/nellodee
And I write a blog (in spanish sorry) about sakai, android, technology and so on in http://www.colorines.org/
Ashish Mittal has been developing an 'event explorer tool' for helpdesk users with mentor Ian Boston at Cambridge. Ashish writes:
It has been a great experience to work under Sakai for GSOC 2010. It is mainly because of the opportunity of working with great experienced people, having a great mentor, working with the most cutting edge technologies for the project and developing a great and successful project at the end. I am very happy I got selected under Sakai Foundation for GSOC and will cherish this period of my introduction to Sakai Community, People at Sakai are great and very helpful and been available through IRC or mailing list whenever any help was needed. This has been the greatest event for me till now and I thank Sakai community for this.
A large part of the project has been accomplished and all the main and essential modules were completed well in time. There might be scope for more work to be done and I think it would be beneficial to the project to add some more features (ex. analysis) as decided earlier to give it an elegant touch.
I do plan to keep adding some features as and when it is possible. I will be consulting my mentor and will ask his opinion what can be worked out.
All the code I have developed is present under my github repo at [1]. The Sakai version of the code has already been included by my mentor in the sandbox area under the name eventexplorer.
[1] http://github.com/ashishmittal/eventexplorer
Monday, 2 August 2010
Tenth week of Event Explorer (Ashish)
This week I will continue with this and discuss with my mentor about what is to be done now.
Thursday, 29 July 2010
After Midterm Evaluations
http://github.com/zerocool1989/citation-manager-widget
The past few weeks I have implemented features like delete citations ,add comments,fetch from some other user etc ., I have also designed the UI for Export and Import .
This week I will finish the Export and Import part and also the search part .
Tuesday, 27 July 2010
Ninth week of Event Explorer (Ashish)
This week i will be continuing with filtering.
Monday, 19 July 2010
Eight week of Event Explorer (Ashish)
This week I will be continuing with analysis.
Monday, 12 July 2010
Seventh week of Event Explorer (Ashish)
The following week I will be working on midterm evaluations and will discuss with Mr. Ian regarding work on MapReduce and will hopefully start implementing that.
Wednesday, 7 July 2010
Oauth fail
So, this is the point. As I said before I was worried about security, how to handle users login and password is a very important issue since we have access to private data. Last week I was researching about how other platforms do this. And I found a really interesting protocol called Oauth.
OAuth provides a method for clients to access server resources on behalf of a resource owner (such as a different client or an end user). It also provides a process for end-users to authorise third party access to their server resources without sharing their credentials (typically, a username and password pair), using user agent redirections.
This is great for Sakai. There are a lot of android developers who could write his own applications using the powerful framework which Sakai is. So I’ve been working in integrate Oauth in Sakai. But after talking with my mentor, David, we agree that this is far complicated that what I was planing so I decided to access using servlets, is not the best way but it’s functional. So I get the user connected with Sakai (yuhu!), and I’m going to write to sakai-dev waiting for some good soul from pda project could help with the integration.
Annonuncement is the first tool trying to sync, and that’s exactly in what I working right know. But since every tool is different is being a tough process, anyway nothing I can’t beat. (hopefully)
I saw that my gsoc parners are using github. I’m more fan of mercurial subversion service. There is any problem if I use bitbucket or maybe I could use svn in msub/upv.es? But If the community prefers using github please let me know and I will upload the code.
Finally a personal thought, I’m really learning a lot from Sakai, and having a great time working in this application and I really hope this would be useful for the community.
Monday, 5 July 2010
Sixth week of Event Explorer (Ashish)
This week I plan to prepare the code for midterm evaluations and create any other documentation if needed.
[0] - http://github.com/ashishmittal/eventexplorer
[1] - http://github.com/ieb/open-experiments/tree/master/sandbox/eventexplorer
Sixth Week Of Citation Manager Widget
Also the Spec is updated at
http://confluence.sakaiproject.org/display/3AK/Citation+Manager+widget+specification+proposal
I made a widget development guide with all the troubles i faced while developing the code at
http://confluence.sakaiproject.org/display/3AK/Widget+development+for+a+beginner which is still a very basic draft.
The coming week will be dedicated to developing the widget where the user's can add comments and tags to the citations.
Monday, 28 June 2010
Fifth week of Citation manager widget
I created a public repository at http://github.com/zerocool1989/citation-manager-widget
The updated specification proposal athttp://confluence.sakaiproject.org/display/3AK/Citation+Manager+widget+specification+proposal
Fifth week of Event Explorer
This week I will be further trying to complete the UI and will post its code on github, and then will start with data analysis.
Sunday, 27 June 2010
Android IU ready
I'm a bit stuck about how to keep users alive and connect properly the android with Sakai. This is going to be my next concern, even if this is delaying the next step, It’s important than the application doesn’t eat all the battery sending forms constantly and use properly the lifecycle of the android applications.
Monday, 21 June 2010
Fourth week of Event Explorer (Ashish)
This week I will distribute data on multiple Cassandra nodes and will continue with the analysis of data using Hadoop and PIG Latin.
[0] - http://confluence.sakaiproject.org/display/KERNDOC/Setting+up+Apache+Cassandra%2C+ActiveMQ+and+using+Thrift
fourth week of citation manager widget
Thursday, 17 June 2010
Reference Manager Overview
Interestingly, Martin's most recent update was to remove Connotea from the comparison. I had thought Connotea was a prime OSS candidate for integration, but the fact is it doesn't actually make it very easy to use your references once you've collected them. Zotero increasingly seems like a much better (and more popular) integration target - the only question (in my mind, as a non-user, so far) is how much it offers in terms of sharing and web presence. Mendeley (which I do use) is fantastic at ingesting documents and sharing them online, and they have kindly given Manoj access to their API beta programme.
Wednesday, 16 June 2010
Second week on Android & Sakai
As sakai3 is using the same tools than sakai2x, we are working to develop a tool for sakai 2.7.0 to get the events than we want to synchronize.
Talking with my mentor David, we have decided to begin with announcements, and we have all the functionality working and then extend the functionality to another tools.
Also I've been translating some sakai tutorials to spanish. There is a lot of documentation but all is in english, so I think that this tutorials could be useful for the spanish community. The tutorials are:
How to install sakai-trunk
How to install several sakai sources (installing sakai 2.7.0)
Getting Eclipse ready
I hope really soon I could show you see some screenshots and code on my android device.
Monday, 14 June 2010
Second and Third week's of Citation Manager Widget
I was able to fetch and post data to the connotea database form within sakai using curl after some effort.I created a few mockup web pages for a basic prototype to get some feedback on the features required.
The next week will be devoted to completing the prototype with all essential features.
Third week of Event Explorer (Ashish)
For the coming week, I will be looking further on testing part and will be working on UI.
Monday, 7 June 2010
Second week of Event Explorer (Ashish)
I have contacted Verity (CARET helpdesk) and have asked for her suggestions on how would they like the interface to be.
I also filed jiras related to my work, one for lack of userid in the messages and one for the modification to the current embedded broker configuration.
I have created a repository at github [1] containing the work I have done till now.
For this week, I plan to work further on the view section and interact with Verity to get a clear idea of their needs as a project user.
[1] - http://github.com/ashishmittal/eventexplorer
Monday, 31 May 2010
First week of Event Explorer (Ashish)
This is my first weekly post on what has been done up to date. Till now I have been working on laying the core framework of the project (and have achieved that just today). I have created a rudimentary model of database and view and need to customize it further in consultation with my mentor and some help-desk users. Further, I will be working on making it more flexible and adding extra features.
Here's what I have implemented till now:
- Have set up a network of ActiveMQ brokers and have made changes in Sakai embedded broker configuration to introduce it in the network.
- Have set up Consumers (MessageListeners) on remote broker which listen and retrieve the event messages emitted by Sakai broker over the network.
-These Consumers process the message and store the message in the Cassandra database (using thrift) to which they are locally attached (as of yet).The mockup of the database design is shown below:
(Click on the picture to view it larger)
- In the GUI section, I have created classes which retrieve the data (messages) from cassandra again using thrift.
-These classes create JSON feeds of the messages and inputs it to the JSP containing the Simile tool.
-As a result, I am currently able to view some Nakamura Event and OSGI messages which I retrieved using the classes, in the browser using the Simile tool.
For this week I plan to contact help-desk users of Cambridge University and consult them and present them some mockups. Based on the finalization of view, I will be working more on the GUI display, filtering of messages and on storage structure.
Week 1 update (Manoj)
Saturday, 22 May 2010
Sakai & Android
Anyway, let's focus on the fun things. I'm so excited about this project and very glad that Sakai have accepted my proposal.
Mobility is a major issue nowadays, and android is a great platform to bring sakai 3 to mobile. Android is an open source operating system for mobile device which has the support of Google, and every day the is more mobile phones and more students using it.
Gartner's latest statistics show big gains for Android's quarterly sales worldwide, jumping from 1.6 percent in the first quarter of 2009 to 9.6 percent during the same period this year. That puts the OS ahead of Microsoft's Windows Mobile.
Here you can see a chart with word wide web traffic, and android is growing fast. My gsoc, is not about to migrate the entire platform for android. There is a great team doing sakai mobile. This idea was born from my students needs, as a user of sakai. I needed to be aware of my pending tasks, be aware of my exams and any changes on my classes, and I need this in my mobile, I don't want to load the whole sakai application, and that's the reason I suggested this idea and this challenge for me.
The app main screen would have icons of each tool that can be synchronized, and a small alert if there is unread items. When we click on the icon we can see a list of subjects and the list pending assignments, for example. Also, would be nice to have a time management technique include, I am using the pomodoro technique right now and It is really useful for me, that allow us (the students) to get our goals.
Here I included some images of a mock up for the application.
And of course, standards are vital. We are a very large community and we need standards to grow up. Our students came from a lot of places with different needs, so accessibility is a must for our final goal which is education.
I would update this really soon. Thanks for your patience, see you soon on our androids.
Thursday, 20 May 2010
Citation Manager Widget
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):
- Connotea API 0.1 Connotea has a particular advantage in that it is open source(code available at http://sourceforge.net/projects/connotea/)so institutions can run their own instance.Data is retrieved in XML format which can be parsed easily and libraries in java ,perl,python and ruby are available for free on the web(http://www.connotea.org/wiki/WebAPILibraries)
- 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.
Thursday, 13 May 2010
INTRODUCTION TO EVENT-EXPLORER
The three essential stages of the project are:
This involves the recieving of JMS messages created and emitted by OsgiJmsBridge by an AMQ consumer and processing the message to store the vital information in the database (Cassandra). This will require configuring the AMQ brokers and setting up of consumers clients of brokers present in the network. It will also be including some Camel queries to route the messages over the network of brokers to the appropriate consumer. Once the consumer recieves the message, it will process the message and will include the code for transferring the processed data to Cassandra using Thrift potocol.
Storage and Analysis:
I will be using Cassandra for data storage and Apache Hadoop for data analysis. Cassandra is a column database with NoSQL implementation. Usage of Cassandra will be very beneficial in terms of future scalability. Apart from this, the main feature of Cassandra is its efficiency and reliability. It has much less read and write time than relational databases.
Analysis:
UI:
Tuesday, 27 April 2010
Welcome to the Sakai GSoC 2010 blog
Ashish Mittal, 2nd year engineering student at Sardar Patel Institute Of Technology, India, is going to be working with mentor Ian Boston on an 'event explorer' tool in 3akai for helpdesk staff.
Manoj Inukolunu, 3rd year CS at BITS-Pilani (Goa) who is going to work on a citation manager widget for Sakai 3.
Maria Teresa Gimenez Fayos, final year CS student at the Polytechnic University of Valencia, proposed a project to develop a Sakai Android application, mentored by David Roldan Martinez.
You can check out the original ideas page to find out a bit more about Cyrille and Ashish's projects, Maria proposed her own so I hope she won't mind if I point you to her application page instead. If you want to keep up with what we're doing, we'll be discussing things in #sakai, in our Google Group, and this year in this blog too!
Thanks to all our applicants, many of whom put in a lot of thought and effort to their applications - we were sorry to have to turn you away, so do come back next year. Special mention to Himanshu Bansal, 2nd year CS also at BITS-Pilani (Goa) who only just missed out on a slot to work on the Citation Manager widget. He's keen to contribute anyway, so look out for him on the lists.