MediaGoblin: our summer of awesome

Friday, April 11, 2014

Our final in a series of wrap-up posts from Google Summer of Code 2013 comes from Christopher Webber at MediaGoblin, a free software media publishing platform. MediaGoblin also took part in the Outreach Program for Women, a program inspired by GSoC to help get more women involved in free and open source software. Students from both programs are highlighted below.
MediaGoblin had a really great summer. We were lucky to participate in both Google Summer of Code (GSoC) and the Outreach Program for Women. Read more about the great work accomplished last summer below:

Google Summer of Code Students:
  • Aditi Mittal’s blogging media type works, and we are polishing it up before we get it merged into master. Several exciting things came out of her work, including efforts to generalize media types as plugins (which they now are!). We use this new plugin infrastructure with the blogging media type, which now has its own panel and view.
  • Praveen Kumar got his search plugin up and running using Whoosh; efforts are now being made to merge and polish up with the present codebase.
  • Rodney Ewing went above and beyond all expectations for the summer. Not only did he finish “pluginifying” authentication (adding multiple plugins including LDAP, OpenID and Persona), he helped immensely with code review and many other projects, including most of the work on the “pluginification” of media types.
Outreach Program for Women projects:
  • Emily O’Leary worked on various testing tasks: improving the speed of unit tests (merged), working on a Jenkins testing setup set up for MediaGoblin, and getting a functional testing setup with Selenium. In the process, we also discovered some issues about how hard it is to get functional testing working nicely with MediaGoblin; many lessons learned), as well as the bonus task of ticket triage!
  • Jessica Tallon worked on federation support in MediaGoblin via the Pump API. Jessica wrote a wrapup post which can give you some sense of things, but things have continued even after that blogpost was originally written. PyPump has been rewritten and works really well, can do all sorts of new things. Updating MediaGoblin to include the appropriate endpoints for the Pump API is currently in progress; there is much work still to be done, but an image has been successfully submitted to MediaGoblin via PyPump.
  • Natalie Foust-Pilcher’s administrative interface work is now in place and pending review. The new admin interface includes new features such as the ability to set the terms of service / code of conduct for a site, the ability to submit reports on problematic users, and the ability to review and take actions on said reports. Additionally, some work has been done under the hood, including a nice new, "foundations," framework for adding default values into the database, and a new permissions/privileges system. All this thanks to Natalie’s work.
Overall it was a great summer. Thanks to the hard work of all our students we are much, much closer to MediaGoblin 1.0 than I would have dreamed. The only "downside" is that I now have a large pile of code to review and get cleanly merged with mainline MediaGoblin. Talk about problems you can’t complain about.

Thanks to all our students mentioned above… you all rock! And thanks also to our mentors: Sebastian Spaeth, Joar Wandborg, Aeva Palecek, and Aaron Williamson (well, and myself). Without you all this summer would not have been possible. And now, onward to use all this summer of awesomeness to make MediaGoblin the best media publishing software ever.

By Christopher Allan Webber, MediaGoblin Lead Developer