Jump to: navigation, search

Google Summer of Code 2008 Ideas

Revision as of 11:11, 25 March 2008 by Zx.us.ibm.com (Talk | contribs)

Rules

  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentors those ideas, add you name and email to the idea.

Ideas

Title Project Abstract - links to details/bugs/etc Reporter Possible mentor(s) Comments
Support for user-defined refactorings in JDT JDT The idea is to produce a pattern language, rules engine, and user interface to allow the Java developer to perform queries n and make safe modifications of their code code. It's a superset of the current refactoring because ideally current refactorings could be expressed this new system, forming a nice set of initial examples. he users could then adapt those rules to their own purposes or come up with completely new ones. See bug 144642 for more informations. Ed Burnette Martin Aeschlimann(?) <Insert comments here>
Implement a search mechanism for BPMN diagrams BPMN Research indexing of domain specific models persisted in an XML format. Apply this research to indexing and searching BPMN diagrams. Antoine Toulme Antoine Toulme, Hugues Malphettes
Improve the usability of the BPMN editor BPMN Gather feedback from users of the modeler. Select enhancements to support and develop them. Antoine Toulme Antoine Toulme, Hugues Malphettes
Support for StyledText RAP One of the most asked features of RAP is the StyledText widget. Not only to show funny colored texts in your application but it's one of the most complex widgets to implement. But having at least some basic API working enabled RAP to port other parts of RCP to the web based on the new StyledText widget. More information about StyledText can be found here. Benjamin Muskalla Frank Appel, Rüdiger Herrmann
Theme Editor RAP Theming allows RAP application developers to give their applications a custom style. Currently, a theme must be defined as a .properties file. As the theming capabilities improve, these files are getting more and more complex. A theme editor should provide an easy-to-use user interface for defining themes. It could be shipped as part of the RAP tooling. For more information on the RAP theming, see the online help. Ralf Sternberg Ralf Sternberg <Insert comments here>
AIM Provider ECF ECF allows messaging protocols to be plugged in as providers. AIM isn't currently supported. The student can choose to implement the AIM (OSCAR) protocol themselves, or wrap an existing Java library like JOscar. Chris Aniszczyk, Remy Suen Chris Aniszczyk, Remy Suen <Insert comments here>
DITA or DocBook Help Content Producer User Assistance Eclipse User Assistance allows for help content to be dynamically produced. Traditionally, all Eclipse content came in the form of hand-written HTML files. This is so 90's, we should have help content producers to produce help content from DITA or DocBook files. Chris Aniszczyk, Chris Goldthorpe(?) Chris Aniszczyk, Chris Goldthorpe, David Carver <Insert comments here>
GraphicsZilla Phoenix Eclipse uses Bugzilla in many interesting ways. It uses it in the normal fashion for bug tracking. It also uses a modified version for IP tracking (IPZilla). This proposal is to create a GraphicsZilla to help streamline icon and graphics creation in Eclipse. This would allow not only programmers to contribute their talents to Eclipse. This would also make the process of where icons come from more transparent. See this blog post and bug for more info. Note, this would also provide a viewable repository of all the graphics used in Eclipse... which is currently lacking now. Chris Aniszczyk Chris Aniszczyk <Insert comments here>
Bundles in a Browser Equinox Eclipse runs pretty much everywhere these days... in cell phones... devices... desktops... servers... how about a web browser? This proposal is being left open-ended for a purpose. I'd like to see a student figure out how to get Eclipse plug-ins (bundles) installed into a browser like Firefox and then somehow expose working with them via some API... maybe XPCOM or Javascript. That's all ;p Chris Aniszczyk Chris Aniszczyk <Insert comments here>
PDE Ménage à trois: Scala and Java PDE There are some crazy people out there developing Eclipse plug-ins using languages other than Java (how dare they ;p!). Scala is one of these popular languages and there already has been some Eclipse integration to make this happen. However, PDE suffers from limitations that strictly binds itself to Java... the goal of this project would be to analyze these PDE limitations... and come up with patches or prototyped code to let PDE play better with Scala and other languages. Chris Aniszczyk, Neil Bartlett (?) Chris Aniszczyk <Insert comments here>
Declarative Services (DS) Tooling PDE Equinox finally has a stable implementation of the Declarative Services specification from OSGi. It's time to tool this beast. Any takers? Chris Aniszczyk Chris Aniszczyk <Insert comments here>
IM for Eclipse ECF Developers work in project teams, and team members need to communicate. An IM program integrated into Eclipse itself will be useful for this, that's optimized to transfer large amounts of code which usual IM programmes limit and also allows developers to be grouped accordingly. Tharindu Mathew I think it's worth to take a look at the ECF project. Most of the features are already available there.
XpandDoc documentation generator M2T/Xpand Xpand is a template language which allows users to comment their templates with a JavaDoc-like syntax. So far, there is no tooling that can use this documentation. The goals of the project are to (1) create an engine that can parse Xpand template comments, (2) create a commandline tool that can generate a JavaDoc-like HTML output for all template comments in a project, and (3) enhance the Xpand text editor to show template comments in a tooltip when hovering over the respective template invocation. Peter Friese Peter Friese <Insert comments here>
Refactorings for Xpand / Xtend / Check M2T/Xpand Xpand, Xtend and Check are languages for writing code generators. As your code generator grows, you'll feel the desire to restructure your code generator templates. Currently, no refactoring support is available for Xpand / Xtend / Check. We're looking for a brave student willing to fill this void. Peter Friese Peter Friese <Insert comments here>
Improving the TCP/IP Monitor Plugin WTP_Server_Tools The TCP/IP Monitor plugin available with the Eclipse WTP could use some improvement in several areas. A few suggestions are XML prettyfying, switchable layouts, persistable message logs, tabs for concurrent listeners, proxy mode, HTTP proxy support, simulation of slow connections, documentation and overall UI and usability improvement. IMHO, such additions, alongwith other requirements expressed by developers for this plugin, would make it more popular among the Eclipse Web developer community. Suran Jayathilaka <Insert prospective mentor names here> <Insert comments here>
Generic unit testing support DLTK? JUnit is well integrated at the moment used to test java code. As there are many other projects which need to implement other testing tools, we should be a generalized form of the Junit framework as provide some extension points to build the implementations of other XUnit frameworks on top of it. See bug 180884 for more informations. Benjamin Muskalla
Continuous JUnit integration JDT Running a specific set of JUnit sets in the background while editing Java source code would help to detect defects early. The concept is to provide unobstrusive early detection and reporting of

changes to source code that negatively affect its agreed upon functionality. Detecting failing tests would mark the changed source code with annotations to see which changes affected the green bar. There are already some (forgotten) bugs: bug comment 12167 and bug 51292.

Benjamin Muskalla Markus Kuppe PAG
toString generation JDT Like the setter/getter, equals and hashcode generator, it would be nice to have a little helper to generate toString methods. See bug bug 26070 and take a look at this plugin for some ideas. Benjamin Muskalla Markus Kuppe JUtils
Web-CAT Eclipse plugin Web-CAT Web-CAT is a plug-in-based web application that supports electronic submission and automated grading of programming assignments that is presently used by over 30 universities and colleges in the United States and elsewhere. The Web-CAT Grader supports traditional models of automated program grading, and also supports grading of assignments where students do their own testing. Web-CAT is already supported by an Eclipse plugin that allows students to view graders' comments on their assignments directly within the IDE. The aim of this project is to provide support for the graders as well, i.e., to allow professors, teaching assistants, and students to mark up code with comments, assign grades (both freeform and from rubrics), and so on. This will not only make grading easier, but will also help turn Eclipse into a student-friendly code review tool, which we hope will encourage wider use of code reviews in teaching. Jason Montojo Jason Montojo <Insert comments here>
XQuery Syntax Editor XSL Tooling / Web Tools Incubator Provide basic support for XQuery syntax editing. Including coloring, validation, content assistance, possibly provide extensions for allowing the selection of which xquery editors can be used for validation. Preference pages

for controling XQuery specificat options for generating output. Possible future ability to include debugging support.

David Carver David Carver <Insert comments here>
Eclipse single instance platform More and more applications are eclipse RCP based applications. This is great but each application launch a JVM and load in memory quite often the same plug-ins. Like xul runner for mozilla, it would be interesting to have an "Eclipse runner". Issues to work on are how to manage several platforms (3.1, 3.2, 3.3, etc..) and share plug-ins (in memory).
 update : the problem seems to be adressed with p2 provided in eclipse 3.4 M6
Mariot Chauvin Someone from platform project <Insert comments here>
BIRT JPA or JDO Connector birt A data connector for BIRT Reports that allows BIRT to easily access data via JPA or JDO. Markus Kuppe The BIRT Project Team In GSoC '07 the BIRT team was willing to mentor
BIRT Reports and Connectors for Ad Revenue birt This one is very business focused -- provide connectors and reports that allow Google customers and users to build their own reports on their Google Ad Revenue etc. Kevin Peters The BIRT Project Team In GSoC '07 the BIRT team was willing to mentor
Barcode Support birt See https://bugs.eclipse.org/bugs/show_bug.cgi?id=149928 for additional details. Kevin Peters The BIRT Project Team
PDE fetch script factory for SVN pde So far Eclipse only support CVS in a map file build. Though there exists an SVN impl, it's not EPL Markus Kuppe If nobody from PDE: Markus Kuppe SVN impl
JET Transforms/Wizards for creating project meta Modeling Releng? Nexus? Starting a new project requires a lot of duplicative code & metadata: .doc plugins/features, .examples plugins/features, .test examples/features, .sdk feature, .releng project. Being able to generate this from JET templates via a wizard would make it much easier to get a project up and running -- and then get a PDE build that much easier, too. Nick Boldt Nick Boldt <Insert comments here>
Rich text editing and wiki integration Mylyn Provide wiki integration. This involves providing mechanisms for rich editing and viewing of task repository comments in wiki format, potentially adding wiki editing.

More ideas for Mylyn projects

Steffen Pingel Steffen Pingel There are at least two projects already providing wiki editing in Eclipse, albeit without Mylyn integration: Wikipedia Editor, Wiki Editor. </User:nickb>
Java based Abstract Syntax Tree (AST) generator for Ada Programs Hibachi An Abstract Syntax Tree is the base framework for many powerful tools of a language IDE. For Hibachi, the Ada Development Toolkit project (like JDT or CDT), the presence of an AST would allow many more powerful IDE features, and improve those already in place (like refactoring, code folding, reformating). Tom Grosman Tom Grosman

Adam Haselhuhn

For a good idea about ASTs in Eclipse, see JDT AST
Feature implementation for Ada Development Toolkit Hibachi Implementation of new or extension of existing Hibachi funtionality. Depending on student interest and background, features may include but are not limited to code folding, Ada body generation, object tooltips display, dependency graphs and trees, code fixing, etc. Tom Grosman Tom Grosman

Adam Haselhuhn

JDT and Google Code Search service JDT JDT and Google Code Search service integration: a)During debug under JDT source code are often unavailable. Google Code Search Source Provider should provide source code for corresponding class. b)Integrate common JDT search possibilities (for example "Search\References") with Google Code Search Service (Search not under local projects but in Web too). Andrey Vakunov <Insert prospective mentor names here> <Insert comments here>
XML+CSS = IFigure GEF/Draw2d Adding possibility to generate draw2d figures from XML and CSS descriptors (for example HTML subset and CSS). Andrey Vakunov Anthony Hunter
Equinox Console and script language integration Equinox Integrate any script language (Groovy or JRuby or Bash :-) ) in OSGi console. Add possibilities to write in OSGi console "s grep <my-service-name>" Andrey Vakunov <Insert prospective mentor names here> <Insert comments here>
Buddy list for task assignments and CCs Mylyn Enhance Mylyn's Rich Client Bugzilla to have an address book for CC's Jingwen 'Owen' Ou <Insert prospective mentor names here> Normally people work on projects with similar teammates and it would be nice to use previous queries to propose CCs. Details in bug 152415
Remote Service Deployment Tool ECF Take the R-OSGi Deployment Tool idea (paper) and the prototype and port it to a new platform (PDE projects, ECF remote services, p2 for deployment) so that it can be easily used within Eclipse to deploy a distributed OSGi application. Jan S. Rellermeyer Jan S. Rellermeyer <Insert comments here>
Enhanced Eclipse search platform Eclipse search plugin: provide an enhanced Eclipse search: better, faster, more relevant. Think Lucene or opengrok inside Eclipse. Philippe Ombredanne Philippe Ombredanne <Insert comments here>
Eclipse-Moodle integration <Insert parent umbrella project here> The idea of this project is to provide an Eclipse plugin for the Moodle CMS e-learning system. This tool will enable students participating in online courses to import and export resources (projects or other materials) directly from an Eclipse workspace. Integration with Mylyn (for managing tasks assigned in such courses) could be an additional feature. Aleksandra Woźniak <Insert prospective mentor names here> <Insert comments here>
Use case editor ORMF? Use case editor: for writing use cases in a textual form, managing sets of use cases and (maybe) generating UML diagrams as well as html and pdf files from them. Aleksandra Woźniak <Insert prospective mentor names here> <Insert comments here>
Augment p2 dependencies p2 In its first release, p2 limited its expression of dependencies to something equivalent to what most other package management system proposed (A package can say that it requires or conflicts with others). However several provisioning scenarios could benefit from more powerful inter-package dependencies (e.g, when mylyn and SVN are installed, install the connector).

The goal of this project is to advance p2 by providing more powerful inter-package dependencies (and their mapping to the PB solver). Directions are:

  • more complex implications
  • mapping filters into the solver
  • expressing generic capabilities / dependencies (e.g. putting requirements on memory size, hard drive size, etc)
  • representing affinities between packages (see the OSGi notion of uses clauses)
  • finding a way to automatically pick the most applicable line-up / recommendations
Pascal Rapicault, Daniel Le Berre <Insert comments here>
Transformation from CIM to PIM <Insert parent umbrella project here> This project aims to create a module for additional Omondo, allowing transformations from computation independent model (CIM) represented by activity diagram,to a platform independent model (PIM) represented by class diagram and use cases, based in model driven architecture (MDA) and UML. The project (paper) was submitted to eclipsecon 2008. Ernesto Suarez Lopez <Insert prospective mentor names here> <Insert comments here>
Custom menu positioning for Eclipse Monkey scripts Dash Eclipse Monkey scripts must currently reside under the Scripts menu, which doesn't integrate them well with existing functionality. When customizing a perspective, make it possible to add Monkey scripts to any menu (on the menu bar) that the user decides, both using specifiers in the script and through the UI. Nitin Dahyabhai <Insert prospective mentor names here> <Insert comments here>
CDT Windows Debugger CDT The CDT provides a front end to many debuggers in order to unify the debug UI around the Debug Platform augmented by a number of C/C++ specific debug views. We currently support the GNU debugger on Windows in parallel with build support for the GCC tool chain. We'd also like to support integration with the Windows SDK. We have Visual C++ build support. This project would be to add in Windows Debugger support. Doug Schaefer Doug Schaefer <Insert comments here>
JDT Debugger Extensibility JDT Debug The JDT debugger provides debugging services and works with any JDPA-compliant JVM. The debugger has greatly matured over the years. Debugging facilities in general have not advanced much, however. Many in the research community would like to extend the capabilities of the JDT debugger without losing (or re-writing) existing functionality. Doing so often requires customizing how the JDT debugger makes use of the Java Debug Interface (JDI). This project would open up the JDI portion of the debugger in such a way that extensibility can be accomplished in a safe manner. Jeffrey Czyz <Insert prospective mentor names here> <Insert comments here>
PDE and JavaScript PDE PDE allows you to create plug-ins using Java these days. This request is simply for a student to explore the realm of creating plug-ins using JavaScript or other languages. To start simple, I'd start with adding a new schema attribute of type "javascript" to allow plug-in authors to at least plug different languages in. From there, we can explore ideas on "how would you define a view" in such a way that you could take javascript or java code? Chris Aniszczyk Chris Aniszczyk <Insert comments here>
<Insert project title here> <Insert parent umbrella project here> <Insert description here> <Insert your name here> <Insert prospective mentor names here> <Insert comments here>


More ideas can be found at Eclipse-Wiki, Mylyn Contribution Ideas page, and Google Summer of Code 2007 ideas.

Interested Students

Yifei Ma, Virginia Tech, Equinox

Tharindu Mathew, University of Moratuwa Sri Lanka, AIM Provider

Benjamin Muskalla, University of Cooperative Education Karlsruhe, project info comming soon

Suran Jayathilaka, University Of Colombo School Of Computing - Sri lanka, TCP/IP Monitor Enhancement or Enhanced eclipse search

Michael Diamond, Dartmouth College, IM for Eclipse and/or toString generation

Sam Ryan, Victoria University Wellington New Zealand, Continuous JUnit Testing or IM For Eclipse or toString generation

Jingwen 'Owen' Ou, The University of British Columbia, Mylyn: wiki integration, dynamic traces and buddy list

Michael Robb, Mount Royal College, JET Transforms/Wizards for creating project meta data

Andrey Vakunov, Grodno State University, Bundles in a Browser, JDT and Google Code Search service, XML+CSS = IFigure, Equinox Console and script language integration

Andrew Murray, Queen's University. Continuous JUnit integration, toString generation.

Zhiyang Jiang,Chinese Academy of Sciences,DITA or DocBook Help Content Producer

Buddhika Laknath, University of Moratuwa - Sri Lanka, XQuery Syntax Editor

Aleksandra Woźniak, Poznan University of Technology & Adam Mickiewicz University - Poznan, Poland: Moodle-Eclipse integration, Use case editor

Ernesto Suarez Lopez, San Agustin University - Arequipa,Perú, module for eclipseuml: Use Case diagram and Class diagram from a activity diagram UML

Qi Yang, University of Toronto - Canada, Web-CAT Eclipse plugin

Michelangelo De Simone, University of Salerno - Italy, IM for Eclipse, toString generation, JDT and Google Code Search service

Çağatay Çallı, Middle East Technical University - Turkey, Enhanced Eclipse Search

Jeffrey Czyz, University at Buffalo - JDT Debugger Extensibility, Enhanced Eclipse search

Kevin Peters, University of Kansas, BIRT Reports and Connectors for Ad Revenue and Barcode Support for BIRT

Bartosz Michalik, Poznan University of Technology - Poland, Declarative Services (DS) Tooling