-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Google Summer of Code
Check the offical GSoC page for general information such as schedule and requirement to participate in the program.
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/
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.
- Jos Poortvliet (@jospoortvliet)
- Lukas Reschke (@LukasReschke)
- Thomas Müller (@DeepDiver1975)
- Raghu Nayyar (@raghunayyar)
- Jan-Christoph Borchardt (@jancborchardt)
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.
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
- See this, obviously never happened: https://wiki.gnome.org/Apps/Web/DataSync
-
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
- Project proposed on https://wiki.gnome.org/Outreach/SummerOfCode/2016/Ideas.
- GNOME/ownCloud Tasks: Georges & @raimund-schluessler/@Henni
- Use ownCloud key-value storage to store various settings from the GNOME desktop (GOA, desktop settings,...) @schiesbn
-
- Playlist Functionality for ownCloud Music App.
- Mentor: Morris Jobke
-
- ownCloud Calendar Application in angularJS.
- Mentor: Georg Ehrke
-
Alessandro Cosentino
- A feed aggregator for ownCloud.
- Mentors: Jakob Sack (ownCloud), Frank Osterfeld (KDE)
-
Michael Gapczynski
- ownCloud Sharing.
- Mentor: Robin Appelman