Skip to content

Google Summer of Code

Jos Poortvliet edited this page Mar 23, 2016 · 101 revisions

Check the offical GSoC page for general information such as schedule and requirement to participate in the program.

Tips

We will prefer students who have shown to have the skills needed to contribute to ownCloud. That means - if you've successfully managed to do a junior job, bugfix or other minor change to ownCloud and have gone through the process of integrating this at least once, we will know you've got a development setup and are capable of working with our process. We thus suggest to get started at https://owncloud.org/contribute/

Project Ideas

Here is a list of projects we suggest (GSoC projects are restricted to coding):

Ideas list for 2016 (or you can pick a project from the list of ideas from previous years)

However, students are encouraged to come up with their own project ideas and discuss them with potential mentors. Please join us on IRC or on our mailing list to discuss ideas.

ownCloud coordinators

2016 (current)

ownCloud has been accepted as project in GSOC 2016, some ideas which have mentors are:

Title Description Required knowledge Difficulty level Potential mentors
implement incremental file sync in the desktop client Client team
Rewrite the Gallery app's frontend in ES6 The application's Javascript could do with a rewrite using proper Object Oriented techniques and using ES6 and a transpiler is the best way to succeed. See gallery#173 for details OOP, Javascript, ES6 8️⃣ Olivier Paroz (@oparoz)
Create an ownCloud app which provides CRUD access to the meta data stored in images Images can contain extra information embedded in the header. The goal is to extract that information at upload time and to store it in the database so that it can be used later for sorting or to give users more information about their files. See gallery#550 for details. Stretch goal is to do the same for videos PHP, AppFramework*, SQL 🔟 Olivier Paroz (@oparoz)
Flexible slideshow engines in Gallery Make it possible to use different slideshow engines in Files and Gallery by making the launcher engine agnostic. Implement Photoswipe as an engine and make Bigshot compatible. This project includes a lot of investigative work and it could very well be that the solution is to stick to a single engine, in this case, Photoswipe. Issue gallery#600 is about the Photoswipe implementation Javascript, PHP, CSS 7️⃣ Olivier Paroz (@oparoz)
Create a picture editor which integrates with Gallery There are 2 ways to reach the goal, depending on the candidate's knowledge of PHP or his or her willingness to learn the language. Either create a separate ownCloud app which would then make the edit action available to both Files and Gallery or create an editor from within Gallery. See gallery#265 for details Javascript, (PHP), (AppFramework*) 5️⃣-🔟 Olivier Paroz (@oparoz)
Make it possible to embed ownCloud galleries in another website It should be possible to create a special link which just renders Gallery's photowall, including the controls, but without the header and footer. The best way to generate the content would be via the API. See gallery#235 for details HTTP, Javascript, PHP 7️⃣ Olivier Paroz (@oparoz)
Add grid view to files Every file manager has a grid view which shows files using thumbnails. It's great for folders containing multimedia files. The rest of the UI (detailed view, navigation) doesn't change. The same actions are available. See core#17357 for details Javascript, CSS, (PHP) 6️⃣ ???
Add support for HSTS and Public Key Pinning to Desktop client HSTS and Public Key Pinning harden the existing TLS layer. Our desktop client (and mobile clients) are however not supporting it. C++ @LukasReschke
ownCloud Demo upgrade to one instance per user dynamically spun up in containers The demo of ownCloud should be containerized in a way that each user gets their own installation to try out ownCloud. @LukasReschke
Update external storage apps to the new storage API oC 9 brought new capabilities with regard to integrating with underlying storage. Update the existing storage apps Dropbox and Google Drive to the new API. Perhaps as stretch goal, add new storage systems like iCloud or OneDrive. It helps if you have some experience with the API's of Dropbox, Google Drive etc but otherwise it is a matter of reading documentation. 7️⃣ @icewind1991
Improve Collabora Cloudsuite ownCloud app code cleanup, add unit tests and improve usability like allowing to edit right from files app, returning to previous view when closing app etc Most of the work is on the ownCloud side 5️⃣ @kendy and @timar
Calendar/Contact/Mail integration add invitations and contacts if received in mail; use mail to send out invitations & contacts; create appointments from mail with ppl in CC, autodetect subject and date/time etc 5️⃣ @TODO and @TODO
import in Contacts app supporting importing contacts in a variety of formats 246 5️⃣ @TODO
Integrate Tasks with Calendar and Activity integrate with Activity and Notifications 288 5️⃣ @TODO
Public Calendar Allow public calendar, with settings like show details or only busy 411 and 22735 5️⃣ @TODO
Improve Spreed integration Improve the integration like with the Collabora app 5️⃣ @Spreed-team
*Appframework is the tool on which ownCloud apps are built. It's not necessary to have used it before, but you will have to learn how it works, preferably by building a simple app before the GSoC starts.

The difficulty level rises as the project requires more technologies to master, because it makes it more complex, not necessarily because it's harder to write code.

GNOME & ownCloud

We talked to Lasse (@sils1297) from GNOME about cooperate and try to propose projects that integrate GNOME and ownCloud.

Current ideas for this integration (GNOME & ownCloud people):

  • integrate GNOME Documents with ownCloud Documents (live collaboration also from desktop!): GNOME: Carlos? & ownCloud: @VicDeo/ @PVince81?
  • integrate GNOME Web | Bookmarks and History with ownCloud GNOME ? & ownCloud: @blizzz
  • Mail (accounts via GOA): Debarshi? & @DeepDiver1975/@jancborchardt (See GOA instead)
  • Chat (accounts via GOA): Debarshi? & ? (See GOA instead)
  • Gnome Online Accounts Integration
    • ownCloud could use a GOA like solution which lets the user enter their account details once and then sets up ownCloud Mail, Contacts, Calendar and more.
    • Step 1: Create/use a GOA-like API for ownCloud
    • Step 2: make some prominent ownCloud apps use this API
    • Step 3: Sync account info between GNOME GOA and ownCloud Accounts
  • Notes: Pierre-Yves & @Raydiation/@Henni
    • Already there. Bugfixing and markdown support needed according to Pierre-Yves. Not sure if it makes a collaborative GSoC Project.
  • GNOME/ownCloud News: Vadim? & @Raydiation
  • GNOME/ownCloud Music (Ampache streaming): Vadim/Bastien & @MorrisJobke
    • Music plans to do GOA integration as per their wiki page. GOA integration to ownCloud could be a project. Contact to Vadim/Bastien needed.
  • GNOME/ownCloud Maps (favorites, routes, searches): Jonas & ?/@jancborchardt and @brandje
  • GNOME/ownCloud Tasks: Georges & @raimund-schluessler/@Henni
  • Use ownCloud key-value storage to store various settings from the GNOME desktop (GOA, desktop settings,...) @schiesbn

GNOME wiki ideas page

2014 (under openSUSE)

2013 (under openSUSE)

2012 (under KDE)

2011 (under KDE)