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 2014 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 the SoC app

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 EMO.

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).

There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "helpwanted" that may give you ideas.

Eclipse Code Recommenders: Snippet Sharing Infrastructure

Eclipse Code Recommenders comes with a code-snippet search called Snipmatch (developed during previous Google Summer of Codes). Snipmatch allows users to search for and insert code snippets right in their Java editor; all it takes is Ctrl+Enter and a full-text search springs to life.

Under the hood, Snipmatch searches a single snippet repository which is currently backed by a Git repo, to which users can upload new snippets using EGit. Doing so is not supported by Snipmatch's UI yet. Moreover, only a single snippet repository is supported, which makes it impossible to use multiple sources for your snippets.

The goal of this project is to create the necessary infrastructure to manage multiple snippet repositories, possibly with different backing implementations (Git repo, filesystem, Eclipse's built-in templates). Moreover, this project should develop a uniform UI for sharing snippets with other developers.

Additional Resources: Bug 427905

Possible Mentors: Andreas Sewe, Marcel Bruch (contact us on the mailing list)

Interested Students: Olav Lenz

Eclipse Code Recommenders: Livedoc XXL

With version 2.0, Eclipse Code Recommenders made the jump from the Eclipse IDE into the Web: With Livedoc (developed during the Google Summer of Code 2013) it became possible to enrich your good ol' Javadoc with intelligent recommendations on how to use an API.

Livedoc, a stand-alone command-line application makes it very easy to generate enriched Javadoc for your JARs. At the moment, however, it works one JAR at a time.

The goal of this project thus is to create to enhance Livedoc such that it becomes possible to create a large, interconnected web of documentation for different APIs (and in different versions) that can be deployed to download.eclipse.org as a showcase for Eclipse Code Recommenders and Livedoc. Who knows, it may even become the default Javadoc for other Eclipse projects.

Additional Resources: Bug 428066

Possible Mentors: Andreas Sewe (contact me on the mailing list)

Interested Students: please add yourself

Eclipse Code Recommenders: Xtext-based Editor for the JFace Template Language

Snipmatch is an incubator project of Eclipse Code Recommenders that makes it easy to search for and insert code snippets into your Java code. It also makes it possible to create new snippets and share these with other developers.

These snippets are written in the JFace template language, a very powerful language which unfortunately not everyone is familiar with. Thus, first-class editor support is needed. This is where Xtext comes in.

The goal of this project is to create a full-fledged editor for the JFace template language usable by Snipmatch (and possibly other projects). It should offer syntax highlighting, code completion, and (last but certainly not least) user-friendly error reporting. One possible stretch goals is the ability to automatically create JFace templates from any piece of selected Java code.

Possible Mentors: Andreas Sewe, Johannes Dorn (contact me on the mailing list)

Interested Students: please add yourself (please note: knowledge of formal grammars and compiler front-ends is very beneficial)

GeoTrellis: Multi-band Raster support

GeoTrellis is a project recently submitted to become part of LocationTech. It is a framework for fast, parallel processing of raster data in the geospatial domain. GeoTrellis provides a number of operations to manipulate raster data, including cropping/warping, Map Algebra operations, and rendering operations, as well as vector to raster operations such as Kernel Density and vectorization of raster data.

Multi-band rasters are a group of rasters that have the same spatial extent and resolution. Examples might include rasters of different spectral bands or a time series of rasters. The ability to deal with a group of rasters like this is common in GIS software, for example GRASS GIS and R (RasterStack, RasterBrick) have this capability.

GeoTrellis currently lacks the infrastructure to handle such a collection of rasters as a single entity. The goal of this project is 4-fold:

  1. Investigate options for ARG multi-band files (may just be multiple ARG files)
  2. set up GeoTrellis to treat a group of rasters as a single entity
  3. provide a framework for developing operations on these raster groups
  4. implement some number of these operations.

One example of an operation is combining red, green, and blue spectral rasters to output a full-color PNG image. Another example is performing a calculation on a vector of values for each cell. If you imagine the rasters as 'stacked' on each other, the vector would be formed from the stack of values for each cell.

Possible Mentors: Rob Emanuele, Eric.J.Christeson (contact us on our mailing list)

Interested Students: please add yourself


Improve CSS support for Eclipse

The Eclipse CSS engine has certain issues and perks. In this project you will work on the CSS engine to fix bugs, improve the existing style sheets and evaluate how to work around limitation in the native widget styling.

Possible Mentors: Lars Vogel

Interested Students: please add yourself

Implement Generics support for the JFace viewers and migrate viewers from Eclipse UI

Last year a student migrated the JFace viewer framework partially to generics. In this task you will finish this work and also migrate interesting viewers from org.eclipse.ui to a new bundle to make them available for pure Eclipse 4 applications.

Possible Mentors: Lars Vogel Interested Students: Jeanderson Candido

Performance work in Eclipse

In this project you will trace the Eclipse platform, identify performance bottlenecks and fix them. You will also configure and setup the platform performance tests to ensure that the performance of Eclipse can be reliable measured.

Possible Mentors: Lars Vogel

Interested Students: Matthias Mailänder

Eclipse 4 support in PDE and Platform

In this project you will rework the PDE to support Eclipse 4 application. This involves providing templates for Eclipse 4 applications and helping to port e4 tools to PDE or the platform.

Possible Mentors: Lars Vogel

Interested Students: enter yourself here

Eclipse Platform SWT: Native Wayland support

Wayland is the next generation display server for Linuxes. The project will port SWT to be native Wayland client from its current X background. The work involved will be:

  • porting all direct X* function call to display server agnostic one available from GTK or to Wayland specific if such is not available
  • port all gdk_x11_* function call to display server agnostic one or to gdk_wayland_* one if such is not available
  • verify that SWT runs on top of Wayland without XWayland installed
  • testing and performance optimization to get Eclipse IDE working well.

Additional Resources: Gnome Wayland porting part 1, Gnome Wayland porting part 2

Possible Mentors: Alexander Kurtakov (contact us on the mailing list)

Interested Students: please add yourself

Add CSS support to Nebula NatTable

Nebula NatTable is a flexible framework to compose tables and grids with a lot of custom functionality. It already supports a very flexible styling approach, but currently you need to know about NatTable specific configurations for styling. In the current development state, there is theme styling added to NatTable, to make it easier to change the styling. Creating a plugin that adds CSS support for styling a NatTable would make it even easier to style a NatTable. It would also help on styling Eclipse 4 applications in one place instead of having several styling approaches.

As it would introduce dependencies to the Eclipse framework, the CSS styling engine should be implemented as new NatTable plugin.

Bugzilla Ticket Forum Discussion Extending CSS to handle new widgets

Possible Mentors: Dirk Fauth

Interested Students: please add yourself

Back to the top