Monday, 24 June 2013

GSoC 2013: Coding Period Week 1

The Google Summer of Code 2013 coding period started on 17th June 2013. As already mentioned in a post before, I was assigned to develop the Evernote Plugin for Moodle Portfolio.

And I have already made a good progress in the project. As mentioned on the project wiki page, the initial task would be to develop the initial version of the plugin which would just create a note in the Evernote account for the text only posts and discussions.

The project required a thorough knowledge of the Evernote Markup Language (ENML) and the knowledge of OAuth authentication and the Evernote API. I did face some initial problems regarding the OAuth authentication and the SSL certifications. But, I overcame them in some sample test codes I had developed and started developing the Moodle Portfolio plugin for Evernote.

And that is where the real problems started. The plugin used to clash with the Moodle Evernote Repository I had installed on my Moodle account. I struggled to find the source of the problem for a good couple of days, before I finally got a hang of the problem. I had to disable the Evernote Repository in order to get the plugin working properly. Till now, I haven't found any solution to the problem except changing the Evernote Repository as well. In my opinion, changing the Evernote Repository is absolutely essential because the libraries of the Evernote Portfolio and Evernote Repository are clashing and hence causing problems. And I'm not in favor of making my Evernote Portfolio dependent on the Evernote Repository libraries as this will definitely cause problems if a user hasn't installed the Evernote Repository but is using the Evernote Portfolio Plugin. So, for now, I've kept my Evernote Repository disabled.

But, apart from that I've made a really good progress in making the notes in the Evernote account. The plugin now is able to convert the HTML format of the text only posts and discussions and is able to create a new note with a fixed title (this is currently defined in the code) in the default notebook. But, the text currently being exported is just plain text and all the formatting is removed for creating the new Note  in the default notebook.

The next steps for me would be to give the user the power to choose his own note title and the notebook for the new note to be created and also to ensure that the formatting of the text is not removed for the Note. Hopefully, I'll be able to that in the next week or so and hopefully I'll be able to achieve the Milestone 1.0.

I'll post more about the progress on the project next week! :)

Cheers!

Wednesday, 12 June 2013

GSoC 2013: Moodle Portfolio Plugin for Evernote

It was indeed a dream come true when my proposal was accepted for the Google's annual flagship program, the Google Summer of Code 2013. This is indeed a huge opportunity for me to work with some of the best software developers and also contribute to the dynamic world of open source software. Under this program, I'll be working with Moodle under the guidance of Frédéric Massart.

The project is to develop a Portfolio Plugin for Evernote in Moodle so that the users can upload and share the content in Moodle to their respective Evernote accounts. A large number of people use Evernote in their day-to-day activities, especially people in the education sector. Many teachers and students around the world use Evernote to share their notes. Currently, Moodle has a plugin (repository) from where the users can download their files from Evernote. The Moodle Portfolio plugin currently has plugins for popular services like Google Drive, Flickr, Dropbox, etc. to upload the content to the user's respective accounts on these services, but not for Evernote yet. My task would be to develop the Portfolio plugin for Evernote over a period of next 3 months.

And on top of it, these are exciting times for the Moodle community as well as Moodle 2.5 Stable version has just released. So, all in all, it's an exciting project to work on and I hope to have a great time working with Moodle. Exciting times ahead! :)