Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Google Summer of Code 2016 Ideas

Revision as of 10:07, 22 January 2016 by Jens.reimann.ibh-systems.com (Talk | contribs) (Ideas)

Existing bugs marked "helpwanted" are a good source of project ideas.

Warning2.png
Feel free to contribute the discussion on an Eclipse bug. Keep the discussion on bugs technical. The bugs are not a good place to talk about Google Summer of Code participation. Use the soc-dev mailing list for that.


Rules

  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentor those ideas, add your name and email to the idea.
  • GSoC project ideas should align with an existing Eclipse project
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested in one idea.
  • Aspiring students and mentors need to register and submit their proposals on Google´s Melange

Mentors info

If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").

Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to Jelena.

Ideas submission

Idea proposal should contain the following information:

  • project title, like "WTP - Improve auto-complete in xml editor"
  • description with links to bug reports, project wiki pages, etc
  • Reporter: who submitted idea (optional e-mail)
  • Possible Mentors: who would like to mentor the students
  • More info: other links or e-mail
  • Eclipse Project: link to main eclipse project that improvement is targeting
  • Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.

Ideas

These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).

Package Drone: Implement new repository adapters

Package Drone is a Java/OSGi based software artifact repository with a focus on OSGi.

Although the focus of Package Drone is on Java and OSGi, there are a few repository adapters already which support other repository systems like RPM/YUM, DEB/APT or NPM.

There are lots of other repository systems out there like NuGet, Docker, Python … which could be added to Package Drone. For adding a repository system to Package Drone there is a remote interface required (like a servlet accepting new binaries), meta data extraction from the uploaded content and finally another remote interface for serving these artifacts.

This task would including selecting a repository system, identifying the different use cases and implementing the default use case of this repository system into Package Drone.

To get in touch with the project see the GitHub repository eclipse/packagedrone or contact Jens Reimann. Package Drone is an OSGi (Equinox) application written in Java 8. It uses Jetty, JSP and Bootstrap as Web UI.

Possible Mentors: Jens Reimann

Package Drone: Create a REST-based API

Package Drone is a Java/OSGi based software artifact repository with a focus on OSGi.

As of now Package Drone does not really provide an external API to the system. Of course a decent, state-of-the-art, fancy API definitely is a must-have.

This task would include selecting a REST framework which can be used within OSGi and possibly the OSGi HTTP Service. Defining and implementing a few basic APIs. Covering the aspect of authentication and authorization. Providing a few automated unit tests for the API. Optionally providing a client implementation either in Java or any other programming language (as a library and as a command line tool).

Existing Java REST frameworks should be considered for this task and evaluated for implementation. Also in regards to the Eclipse IP policy.

Also see:

To get in touch with the project see the GitHub repository eclipse/packagedrone or contact Jens Reimann. Package Drone is an OSGi (Equinox) application written in Java 8. It uses Jetty, JSP and Bootstrap as Web UI.

Possible Mentors: Jens Reimann

Package Drone: Mirror artifacts on cloud storage

Package Drone is a Java/OSGi based software artifact repository with a focus on OSGi.

Package Drone does store binary artifacts on the local file system. When artifacts are requested by HTTP requests, these are served from the local file system to the client.

The task would be to enhance Package Drone in a way that artifacts get uploaded to some cloud store like Google Cloud Storage or Amazon S3 in addition or as a replacement to the local file system. When artifacts have to be served to a client the server will send a HTTP redirect (if possible) instead of streaming the binary data.

Of course binary management on the cloud storage has to be managed by Package Drone in a way that transactional update still work, that consumers of the data which require a stream instead of a HTTP requests still work and that storage space gets cleaned up at some point.

To get in touch with the project see the GitHub repository eclipse/packagedrone or contact Jens Reimann. Package Drone is an OSGi (Equinox) application written in Java 8. It uses Jetty, JSP and Bootstrap as Web UI.

Possible Mentors: Jens Reimann

EASE: Add support to sign and verify scripts

EASE is the scripting project for eclipse. It allows to execute scripts from local and remote resources. To increase security (especially for remote scripts) we want to support script signing and verification.

Your task would be to

  • create a signing mechanism for scripts (arbitrary text files)
  • verify signed scripts upon execution
  • provide preferences to enable/disable execution of unsigned scripts
  • provide UI to warn users of unsigned scripts/invalid signatures

When you think of applying for this project, you should have experience on signature creation and verification. Further it would be beneficial to get accustomed to EASE.

To get in touch with us use our mailing list which you find on the project page.

Possible Mentors: Christian Pontesegger

Back to the top