This summer, I was very fortunate to work on the Apache Airavata open source project as part of the Google Summer of Code. My mentor Suresh Marru and the whole team at Airavata were very helpful. I worked on a few features of Airavata which I will summarize in this post.


My Contributions:

During this period, I worked and solved many issues on JIRA which were later merged into the Airavata code on Github.

  1. Worked on improving the SciGaP's PGA Laravel Portal which is a PHP Gateway for Airavata.
    JIRA ticket - SciGaP portal's gateway request form needs to be modified
    Pull Request - PGA Enhancements and Bug FixesChecking for duplicate gateway request
  2. Started work on the Database Versioning to help the evolving Airavata Registry.
    Github Repository - Liquibase_Test
  3. Started work on the new Django Group Management portal for Airavata's Sharing Service.
    JIRA ticket - Web-based user interface for Group Management

As I was working from the Science Gateways Research Center at Indiana University Bloomington (IUB), I was in constant touch with the Airavata team and took part in meetings and code reviews throughout my summer. I also got the opportunity to attend the Practice and Experience in Advanced Research Computing conference held in New Orleans, LA from July 9-13 where I presented a poster on Database Versioning in Apache Airavata - PEARC17_Poster_DatabaseVersioning.pdf


Tools I Learnt:

  1. Laravel, a PHP Web Framework
  2. Django, a Python Web Framework


Future Work:

There is a lot of work to be done with respect to Airavata's Sharing Service and Registry Database Versioning.

  1. Airavata's Sharing Service - We now have a simple group management portal which achieves user group creating and management. We still need to integrate file uploading and project sharing features so that the users can also share their experiments and workflows with the group members.
  2. Registry Database Versioning - With the Registry changing every day and a lot of migration that needs to be done with respect to the legacy data, we need a method to version the database changes so that we can maintain the revisions and perform rollbacks efficiently. I have started work on this and will continue with this until May 2018 as an Independent Study under Marlon Pierce and Suresh Marru at IUB.


When I started with GSoC late April, I was not aware of the ways of open source development. The Science Gateway Architectures courses (taught by Marlon Pierce and Suresh Marru) I took in my first year at IUB introduced me to good practices in distributed systems and Apache Airavata. Writing to the Airavata dev mailing list has helped me in solving most of my problems. I wish to contribute more to Airavata in the coming days and work on the issues and take part int code reviews.