-
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 2018 (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.
- Thomas Müller (@DeepDiver1975)
- Jonathan Kawohl (@Kawohl)
Title | Description | Required knowledge | Difficulty level | Potential mentors |
---|---|---|---|---|
Automating ownCloud's Screenshots with Puppeteer | Project draft | Docker, nodeJS, Scripting | 7️⃣ | Samuel Alfageme |
S3 integration as secondary storage | Project draft | PHP, ObjectStorage, FS | Thomas Müller | |
Linux desktop integrations | Project draft | C++ | 6️⃣ | |
Advanced setup checks / hardening | Project draft | PHP, Scripting, Security | ||
Screenshot sharing tool | Project draft | C++ | 7️⃣ | |
Wordpress-ownCloud implementation | Project draft | PHP, JS | Florian Lenz | |
Integrate document scanner in Android app | Project draft | Java, Android | David González |
ownCloud was accepted as project in GSOC 2017, some ideas which have mentors are:
Title | Description | Required knowledge | Difficulty level | Potential mentors |
---|---|---|---|---|
Gallery view in files app | Kill gallery app and provide view extensions to the files app | JS | 8️⃣ | Vincent, Felix |
DropBox v2 integration | We are currently using v1 DropBox API with will be EOL in June 2017 | PHP | 8️⃣ | |
Fast LAN file sync | Take advantage of sync clients being in the same local network, allowing faster sync times and reducing the server workload. | C++, Computer Networks | 8️⃣ | |
Screenshot sharing service | Some community contributors have developed already plugins for the ownCloud client to allow fast screenshot sharing. An integration on the client itself would ease the process forgetting about plugins. | C++ | 5️⃣ | |
Desktop sync client integrations with OSS APIs | Modern OSS offer APIs to integrate cloud services with their file explorers, enabling a much nicer user experience of use and feedback. | C++ | 7️⃣ | |
Security App | Addressing BruteForceAttacs, FileChanges on Core, 404 Detection, TOTP-MFA, Strong PW enforcement | PHP | 8️⃣ | Peter |
iOS App improvements | integrate 3rd Party Password Managers | C++ | 5️⃣ |
- #oCCon17 Semih & Noveen: Two ownCloud Google Summer of Code projects
- #oCCon17 Hemant Mann: Dropbox APIv2
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️⃣ | @georgehrke | |
import in Contacts app | supporting importing contacts in a variety of formats 246 | 6️⃣ | @DeepDiver1975 | |
Integrate Tasks with Notifications and Activity | integrate with Activity and Notifications 288 | 5️⃣ | @raimund-schluessler | |
Create a public calendar | Allow public calendar, with settings like show details or only busy 411 and 22735 | 7️⃣ | @georgehrke | |
Improve Spreed integration | Improve the integration with notifications and Activity and more | 8️⃣ | @longsleep | |
Add mail account management & alias support & signature management to the ownCloud Mail app. | Right now mail accounts can only be added or removed. It should be possible to edit mail accounts, maintain aliases and manage signatures. 625 122 654 | PHP, AppFramework*, JS (Marionette) | 6️⃣ | [@ChristophWurst] (https://github.com/ChristophWurst) & [@Gomez] (https://github.com/Gomez) |
Grouping of message threads (threading/conversations) in ownCloud Mail. | Messages in the same thread are grouped and displayed as such. This feature needs deep understanding of Backbone/MarionetteJS as some refacoring is needed to get started. 1314 21 89 | PHP, AppFramework*, JS (Marionette) | 8️⃣ | [@ChristophWurst] (https://github.com/ChristophWurst) & [@Gomez] (https://github.com/Gomez) |
Support for HTML messages in the Mail app | Make it possible to compose, draft, forward and answer HTML messages. For that feature, a rich editor has to be integrated into the existing client. 605 782 | PHP, AppFramework*, JavaScript | 6️⃣ | [@ChristophWurst] (https://github.com/ChristophWurst) & [@Gomez] (https://github.com/Gomez) |
*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