Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

GSoC 2016

Olivier Paroz edited this page Mar 10, 2016 · 25 revisions

Gallery has a number of projects up on the "ideas list" for this year's GSoC, but any feature request already mentioned on Github can be used as a base for a project and candidates are welcome to add their own so that they can be discussed among community members to see if it would fit with Gallery's goals.

Some tips for students

  • Read the GSoC manual for students. That way, everybody will be on the same page in terms of expectations
  • Use the issue defined for each project to ask your questions. That makes it easier to share answers and changes with everybody
  • Bear in mind that not all projects are well defined. Some are rough ideas and a good opportunity for you to put on your strategic cap
  • Try to fix issues labelled "Junior job" on your own. Read comments in the code, learn about the structure, etc.
  • Don't hesitate to ask questions if you're stuck, even if it's while fixing a "Junior job"
  • The maintainer prefers long term solutions over quick hacks, because it makes it easier to maintain the project. Take the time to learn the app's architecture and don't hesitate to suggest improvements
  • Review PRs and issues labelled "To review" or "QA - Testing" even without having been mentioned. It's a good way to try and understand how more complex pieces of work are put together and it also speeds up the release process. Be thorough though. It's important to test as many use cases as possible in order to avoid letting users down. Writing a test plan helps.

Some Appframework app ideas

If you intend on building an ownCloud app this Summer, it will be very useful to have built one before. Take a simple idea and turn it into an app. There is no need to add more than the basics, but everything should be unit tests

Here are some basic examples :

  • Generate a thumbnail when a new image is uploaded
  • Store an image's original size in the DB
  • Store whether an uploaded video can be played with an HTML5 video player

Even though these apps might not be very useful on their own. The work you do can be ported to the Gallery project later and help introduce new features.

Some requirements

  • Set up a development environment with core and Gallery. You have to be able to load the app to be able to debug it
  • Be familiar with an IDE letting you work with both PHP and Javascript files. We recommend PHPStorm which is free for students
  • Be familiar with git. Pulling, rebasing, squashing, etc.
  • Set up configuration files both in the top album as well as in sub-albums in order to be able to test the configuration features
  • You will be expected to write and run tests both in PHP and Javascript

Technologies

  • PHP Composer
  • ownCloud AppFramework
  • Codeception and/or PHPUnit
  • Bower
  • jQuery
  • Backbone
  • Handlebars