Difference between revisions of "Google Summer of Code 2009 Ideas"
|Line 525:||Line 525:|
| Towards a Web-based IDE with RAP
| Towards a Web-based IDE with RAP
| RAP offers almost single-source support for building RCPs that can be
| RAP offers almost single-source support for building RCPs that can be as destkop web-based applications. However there are some areas that would need enhancement to be able create a fully-web based IDE type application. One area is the support for text editing and comparison (eclipse.text and eclipse.compare). Getting properly working read-only editors would be a great start, and is not trivial since those core bundles make heavy use of the GC. Another area is to support multi-users workspaces or something similar where many web based users access the tool, which would be needed too. Some work exists at Mozilla with bespin that could be either source of inspiration or integration too. Several project could be to help RAP support towards a fully web-based IDE .
| Philippe Ombredanne
| Philippe Ombredanne
| [http://wiki.eclipse.org/User:Pombredanne.nexb.com Philippe Ombredanne] We need some RAP committers to mentor, co-mentor.
| [http://wiki.eclipse.org/User:Pombredanne.nexb.com Philippe Ombredanne] We need some RAP committers to mentor, co-mentor.
| A Online Judge Plugin to ECF
| A Online Judge Plugin to ECF
Revision as of 15:24, 26 March 2009
- Be creative
- Be specific: what do you want to be implemented
- If you are willing to mentors those ideas, add your name and email to the idea.
- It is ok to have a project idea without parent project
- If you're an interested student, add your name and email next to the idea. It is ok to have several students interested by one idea.
|Title||Project||Abstract - links to details/bugs/etc||Reporter||Possible mentor(s)||Comments||Potential student(s)|
|Your project title here e.g. Cure world hunger||Your project link here e.g. SoC||Your project description here. Be as precise and specific as possible. Link to bugs...||Your name here||Your Prospective mentors here (If you're an eclipse committer + the reporter, you should leave your name here too!||Your additional comments|| |
|PDE Menage A Trois||PDE||The goal of this project is to update PDE to use EMF and Databinding under the covers. In PDE, we have a lot of models and editors backed by custom code that has shown its age and is difficult to maintain. This is an opportunity to modernize PDE and make it more extensible.||<interested student here>||Chris Aniszczyk, Benjamin Cabé||None|| |
|Write Eclipse plug-ins in PHP||e4/Languages||Leverage one of existing PHP/Java bridges for adding a PHP support into e4||Michael Spector||Michael Spector||None||William Candillon.Zach Habersang from Texas A&M Univ., USA|
|Write Eclipse plug-ins in Python or Jython||e4/Languages||Leverage one of existing Python/Java bridges or Jython (which now supports Python 2.5x) to add Python support into e4. Ideally this would include a guide to do it step by step in the current version of Eclipse, glue code and plugins to support Python bundles, a sample application and possibly some wizards and add-ons to PDE to make the experience smooth.||Philippe Ombredanne||Philippe Ombredanne||None|
|Rewrite PHP grammar in ANTLR||PDT|| Reasons:
||Michael Spector||Michael Spector||None||Zach Habersang from Texas A&M Univ., USA Renjie Xu from University of San Francisco., USA|
|Ant buildfile refactorings||Platform Ant||Ant buildfiles can become large and complex and would benefit from refactoring. Currently there is no support beyond renaming within a buildfile to allow the developer to efficiently refactor Ant buildfiles. The goals would be to implement an infrastructure to support refactorings in Ant buildfiles, participate in other components refactorings and provide a starter set of Ant buildfile refactorings. See bug 89938 for some initial buildfile refactoring ideas.||Darin Swanson||Darin Swanson||None|| Yin Qiu from Nanjing Univ., China |
St.Shadow from BSUIR., Belarus
|XSLT Refactorings||Webtools XSL Tools||XSL Tools provides editing and debugging support. Currently there is no refactoring support for XSLT 1.0 or XSLT 2.0 stylesheets. Refactorings could include Extract Template, Extract Call Template, etc. Refactorings should participate with the platform refactoring framework.||David Carver||David Carver||None|| |
|External XSLT Transformations||Webtools XSL Tools||Implement a configuration option and launching ability for non java XSLT processors. Particularly add support so that xsltproc could be used as a processor. bug 245743||David Carver||David Carver||None|| |
|XQuery/XPath Parser||Webtools XQuery||Currently the XQuery Development Tools is using an Antlr xpath parser from the XQPretty project. However this does not currently integrate well with the editor, and a javacc implementation that expands the current XML javacc parser would be ideal. This would leverage and hook into the existing parsing framework for the Structured Source Editor and provide identification of Regions and Partitions for the editor. A bonus would be to have validation of the XQuery syntax as well. See bug 226245 for more information in regards to the XPath 2.0 support.||David Carver||David Carver||None||Jin Mingjian, Chinese Academy of Sciences, China|
|VEX (Visual Editor for XML) Multipage Editor support||Webtools VEX||VEX supports the visual editing in a word processor like feel of a variety of XML formats. With the use of CSS stylesheets for the XML, it can render a WYSIWYG presentation. VEX currently does not have a working Multipage Editor..meaning that switching from the Design view to a source view, the XML is not shown in the source view and not synchronized. The model is EMF based, and the XML editor from WTP is DOM based, this project would leverage the EMF2SSEDOM framework for providing the synchronization between the two. The project is also open to other alternatives, and will allow the candidate wide latitude in experimentation of ways to implement the synchronization.||David Carver||David Carver||None||Chelsea Bingiel, University of Chicago|
|RelaxNG Validator||Webtools Incubator||RelaxNG is an alternative schema language to the more widely known XML Schemas and DTDs. This project would implement RelaxNG valadition using the WTP validation framework. This should allow for both the as you type validation, as well as batch validation.||David Carver||David Carver||None|| |
|RelaxNG Editor||Webtools Incubator||Implement a full featured editor for the RelaxNG compact syntax, with optional editing of the RelaxNG XML syntax as well. Should offer syntax highlighting, content assistance, validation against the relaxng specification, file wizards, preference pages, etc. Ideally built off and leverages the Structured Source Editor from WTP.||David Carver||David Carver||None|| |
|VEX - Docbook 5 support||Webtools VEX||Implement a set of CSS stylesheets and appropriate outline views and enhancements for DocBook 5 features. This may require enhancements to the VEX model to support XML Namespaces, and displaying of images. DocBook 4.5 and Simplified Docbook 1.0 are currently supported, and can be used as a basis to provide Docbook 5 support.||David Carver||David Carver||None||Chelsea Bingiel, University of Chicago|
|XSLT 2.0 content assistance||Webtools XSL Tools||XSL Tools provides good support for the XSLT 1.0 specification in the way of content assistance. It however does not provide support for some more advance features in XSLT 2.0 like custom functions, and content assistance for these features. Custom functions can be written in xslt 2.0, and then used within the stylesheet within XPath expressions. This allows for the generation of reuseable libraries like FXSL, to be created entirely in XSLT 2.0.||David Carver||David Carver||None||Wellington Bengtson, Institut National des Sciences Appliquées de Rouen|
|API Tooling for the Extension Registry||PDE||The goal of this project is to add support to API Tools to work with the extension registry. For example, there are things in extensions that can be considered API. For example, the id of a view can be referenced by anyone. This should be considered API and changing it has the potential of breaking downstream clients.||<interested student here>||Chris Aniszczyk, Darin Wright||None|| |
|ECF connections for JDBC and DTP||||We'd like to find a way to bridge the gap between DTP and ECF to find a way to use a shared connection framework in E4. The idea would be to have an ECF connection for JDBC (would require jdbc url, jar list, uid/pwd, and any other properties) that could then be used to get the raw JDBC connection to be used in DTP...||<interested student here>||Brian Fitzpatrick, Scott Lewis||Brian Fitzpatrick (email@example.com)|| |
|JWT View Editor||JWT||With JWT processes can be modeled in different views: a business view which is more abstract (e.g. in BPMN) or a technical view which includes much more execution details (e.g. using UML activity diagrams with extensions). In order to configure these views, we developed a view editor. But this view editor is currently only usable for the core metamodel. In the meanwhile we developed an aspect-oriented mechanism for vendors to extend the metamodel with their specific details. These aspects need to be considered in the views, but are currently neglected. This project shall extend the existing JWT view editor and adapt the views to the aspects.||Florian Lautenbacher||Florian Lautenbacher||-||Melanie Hesselbart, University of Augsburg, Germany|
|XPath 2.0 W3C Test Suite||XSL Tools||XSL Tools received a code contribution from the author of the PsychoPath XPath 2.0 java processor. This was developed before the finalized spec so is based on a draft version of the specification. The W3C has created a test suite that implementors of XPath 2.0 can use to verify their implementations. This project would help implement the test suite, identify, and provide patches for the XPath 2.0 processor so that it passes the tests. This is currently tracked in bug 262765.||David Carver||David Carver||-||Jin Mingjian, Chinese Academy of Sciences, China|
|Objective-C first class IDE||Extend CDT to provide a great IDE for Objectivce-C language, see blog entry and bug 68083||Mariot Chauvin||Alex Blewitt or Doug Schaefer||-||Ricardo Sisnett, Instituto Tecnológico de Monterrey, Mexico|| |
|3D visualization of model differences||EMF Compare|| Thanks to GEF3D and EMF Compare, it's now possible to display diagrams,
compare the semantic model, and show the differences through a 3D representation. This project is about integrating those tools and experimenting with such visualization (one can easily imagine a "Time Machine"-like view for his diagrams.
|Cédric Brun||Cédric Brun|| |
|Huge Model Comparison||EMF Compare|| EMF Compare uses an heuristic-based algorithm to compare two models, while
doing so its keeping processing data in memory (more important the models are, more memory is used). This project is about leveraging CDO and writing another implementation of match algorithm to be able to compare any size of model, even ones with millions of elements.
|Cédric Brun||Cédric Brun|| |
|Improve graphical comparison||EMF Compare|| A first implementation of graphical comparison has been done, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=241385.
Several enhancements could be made, such as supporting diagrams with images.
|Mariot Chauvin||Cédric Brun|| |
|ProtocolBuffer EMF Serialization||EMF|| ProtocolBuffer is binary serialization API which is smaller and faster than XML.
It would be interesting to be able to serialize EMF models with it.See http://code.google.com/intl/fr/apis/protocolbuffers/
|Mariot Chauvin||To be defined||Diego Alvarez Araujo Correia - From Instituto Tecnológico de Aeronáutica - ITA, Brazil.|
|Acceleo and ATL Combine||Acceleo||Study possibility to call model to model transformations from model to text transformations and inversely without high coupling between the two.||Mariot Chauvin||To be defined|| |
|Index search for Java EE metadata||WTP Java EE Tools|| Bugzilla: 233505
Working on huge projects is a common task for many Java EE developers. Sooner or later the developer would fall in a situation where he or she needs to find an exact Java EE artifact by just remembering a portion of the artifact's name or description, but not the its exact location. In such situation the developer should try different methods of searching, including file search, full-text search, etc. It would be much more convenient if the IDE provides a Java EE metadata search.
We are all familiar with the Open Type and Open Resource index searches in the workbench and how useful they are when we try to quickly locate our files and Java classes in the huge projects we are working with. The Java EE perspective should naturally evolve these features to Java EE metadata index search, where developers can search for certain metadata in their Java EE projects.
This new feature should introduce new dialog box that looks similar to the Open Type and Open Resource dialogs. There should be a hotkey combination available that enables users to quickly call the dialog. Typing a portion of the Java EE metadata name or description should filter the available Java EE artifacts and assist the user choice.
Examples for Java EE metadata are:
There is a new Eclipse project proposed - EMF Index - that could help with the realization of this idea.
|Kaloyan Raev||Kaloyan Raev||None||Georgi Dimitrov from the University of Sofia, Bulgaria|
|Embed OpenEJB in J2EE Preview server adapter||WTP Server Tools|| Currently the J2EE Preview adapter, that ships with WTP, utilizes the embedded Jetty server and makes possible for users to develop and run Web application without the need to install additional J2EE runtime and servers.
It would be useful if an EJB container is embedded in the J2EE Preview adapter, too. This will make possible EJB development "out of the box" the same way as web development.
In the end the J2EE Preview server adapter should be able to deploy and run WEB, EJB and EAR modules.
|Kaloyan Raev||Kaloyan Raev||None||Marcelo de Oliveira Dias from the University of Campinas – UNICAMP, Brazil|
|Improve support for PostgreSQL in DTP Enablement||Eclipse Datatools||
PostgreSQL support is minimal in DTP. Only connection profile is implemented, other needed functions are derived from Generic SQL support.
Stundents job would be to implement PostgreSQL specific loaders and models and based on that the student should start implementing DDL generator.
Brian Fitzpatrick has documented how to do some parts in his blog that can be used
|Ivar Meikas||Ivar Meikas||PostgreSQL is not the only database thats support could be improved, if the student knows some other database well and he wants to see in DTP he can implement that also.|| |
|DSL For Generating Zest Graphs||Zest||Zest currently provides an API for generating node-link diagrams (graphs), however, it doesn't contain any way for end users to construct their own views. Adding a DSL similar to GraphViz (DOT) would allow users to construct and render graphs on the fly. This could be accomplished by providing a language model in EMF or XText Grammar and through code generation (via JET or XPand, an equivalent Zest program could be generated).||Ian Bull||Ian Bull||None||Fabian Steeg, University of Cologne, Germany|
|Debugging aid for p2 installation issues||Enhancement Request||Debugging cases where features cannot be installed into Eclipse due to inability to reconcile requirements of existing features and the new features being installed is quite challenging. It would be useful to create a tool for capturing the details of the environment and what was being installed to aid in reporting problems. Once it is possible to generate these dumps, a graphical explorer tool that would allow the developers to trace the dependencies and see the problems would make it significantly easier to debug these problems.||Pascal Rapicault||Matthew Piggott, University of Ottawa, Canada|
|Power-user p2 views||Equinox p2 User Interface||The current Eclipse p2 Update UI is targeted to both Eclipse SDK users and end-users of Eclipse-based products. Since the UI must support users with less knowledge than the typical Eclipse SDK user, the end result is a wizard-style (modal), task-based approach. Many power users, in particular Linux users, prefer a modeless, "dashboard" style of interaction. The current p2 "Admin UI" is targeted toward p2 developers who need to see every detail of the underlying p2 model objects. There is a need for something in between these two extremes. Users have mentioned Linux package management front ends such as Synaptic Package Manager as appropriate UIs for this audience. If appropriate, this UI could replace the p2 admin UI, but it's not clear if that should be the goal.||Susan McCourt||Susan McCourt|
|CVS Search||Platform CVS||The aim of this project is to provide a facility that will allow for searching commit comments. The facility should be able to scan selected CVS project, find commits that match specific query and present them using the Compare Editor.||Christopher Daniel||Christopher Daniel, Tomasz Zarna||Additional Tab in the Search Dialog will be created. More details soon.|| Ali Ok, Istanbul Technical University, Turkey, |
Ricardo N. Miranda, University of Campinas – UNICAMP, Brazil
|Configurable "link with editor" using logical hierarchy model||WTP Java EE Tools|| Bugzilla: 137086
Initial bugzilla proposal. ---
Customer explained how it would be nice to have a "blue-arrows" Toggle button feature parallel to the current "Yellow-arrows" Toggle button feature.Just like "Yellow-Arrows" button has the tooltip -- "link open editors with Navigator contents" , the "blue-arrows" feature can have the tool-tip "Link open editors with current logical hierarchy view item"
That feature will provide the following functionality : If the user clicks on an open editor , the focus in the project explorer will go back to the logical item in the hierarchy view under the Deployment descriptor (in its Sub-tree) rather than going to the file on the file-system in the "ejbmodule" - subtree (for eg. clicking EmpLocalhome.java in editor view should go to the "EmpLocalHome" logical entity being shown in the Deployment descriptor sub-tree. The Current "yellow-arrows" feature rather makes the focus go into the "ejb module" folder and focuses on the EmpLocalHome.java file itself. )
If the above "blue-arrows" feature is made availalbe the developer never has to leave the Deployment descriptor subtree during the entire EJB project development work flow. Currently , the "yellow-arrows" feature makes the focus go back into the "ejbmodule" folder containing the corresponding .java . In situations where the EJB project might contain 100's of EJB's inside them, "ejbmodule" might contain 1000's of files including the Deploy Code etc. The user then needs to scroll all the way up to the Deployment Descriptor sub-tree to go double-click and open any other logical view item ,say another Entity bean component (eg. LocalHome or home interface etc.) The customer complained that he ends up clicking on the "collapse-all" feature in this case there by losing the whole work-flow and then has to go back to the logical hierarchy view under the Deployment descriptor sub-tree to find a particular ejb component for editing.
This proposal opens the question for an extensible link with editor feature. There might be more then one model (eg resource model, Java EE model, WS model, Persistence Model) and the same editor could be linked to all the models. A solution is to make the whole link with editor very extensible with different models contributing to this extension. The models will have a priority and a shortcut could be defined to link with the next (by prio) model.
Even thought the feature request is in Java EE tools the solution will probably involve an "extensible part" in the platform ui and an "extension part" in Java EE tools.
|Kiril Mitov||Kiril Mitov|| |
|Policy Derivation tool for STP Policy Editor + WS-Policy Awareness||Eclipse SOA Tools||The main aim of this project is to provide integration of a policy derivation tool for WTP Policy Editor.Policy derivation tool is a component which basically reads a WS Compliant XML type message(ie:-SOAP) and derives single/multiple policies corresponding to the msg(It will be usefull in web services scenarios such as for clients to build a compatible policy reading the soap messages coming from the Service side if the web service itself don't wish to publish it's policies.. ).With the Integration of such a tool we could feed the derived policy instances to the editor itself and users can therefore edit the derived policy/policies to their liking (ie:- add, edit delete policy assertions) as policy editor supports rich functionality for such work. Among other objectives of the project are providing out the capability for correctly displaying standardized WS specs such that policy editor will be aware of different specs such as WS-SEC,WS-RM,MTOM,Addreesing,etc on the policy instances ,users are working on/ hoping to work on ,AND making Policy Editor compatible for other WS policy constructs that are currently not supported..||Oisin Hurley||someone from STP||None||U.S.Wickramasinghe from The University of Moratuwa – Moratuwa, SriLanka|
|ECF and Yahoo||ECF||Implement a EPL'd version of the Yahoo messaging protocol and than code an ECF provider implementation for that. The baseline goal of this project is to just implement messanging for Yahoo... things like file transfer can come later or if there's time.||Chris Aniszczyk||Chris Aniszczyk||Rajeev Sampath from University of Moratuwa, Sri Lanka|
|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|| Ali Ok, Istanbul Technical University, Turkey
Liu Cong, Beijing University of Aeronautics & Astronautics, China
|QQ Provider||ECF||ECF allows messaging protocols to be plugged in as providers. QQ isn't currently supported. The student can choose to implement the QQ protocol themselves, or wrap an existing Java library.||Chris Aniszczyk, Remy Suen||Chris Aniszczyk, Remy Suen|
|VNC over ECF||ECF||Virtual Network Console is a popular screen sharing technology. It would be useful to have an implementation of VNC protocol for ECF. See mailing list entry by Marek Zawirski for a more detailed description of idea.||Scott Lewis||Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe|
|Google Calendar access using ECF||ECF||Google Calendar is a popular and open calendaring system. It would be useful to have an integrated ECF-based calendar for Eclipse. See mailing list entry by Marek Zawirski for a more detailed description of idea.||Scott Lewis||Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe, Mustafa K. Isik|| St.Shadow from BSUIR., Belarus |
Arun Reddy from BITS Pilani-Goa Campus, India
|SIP VoIP implementation for ECF||ECF||SIP is a popular signaling protocol, widely used for setting up VoIP calls with 2 or more participiants. This project aims to create working SIP/VoIP implementation, that will provide ECF Call API. Implementation should allow VoIP calls using SIP from Eclipse and will make Eclipse a more functional softphone with an another protocol supported (already working implementations are jingle and Skype).||Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe?|
|Further ECF and Mylyn integration||ECF||Improvement of distributed development process is common goal of Mylyn and ECF projects. There have been some efforts of integrating these projects. However, there are still some fields where integration could be further extended. This especially covers contacting easily with other developers when doing issue-oriented development with Mylyn. Goal of this project is to extend integration between Mylyn and ECF to allow easy task-oriented communication or task exchange.||Remy Suen, Scott Lewis, Chris Aniszczyk, Markus Kuppe?|
|REST abstraction for ECF||ECF|| Many service providers using a REST based API to offer developers access to their services, i.e. Twitter, Facebook and so on. The result of this is that some third parties provide Java based libraries which covers this API's. The ECF team played a little bit with the Twitter API and use therefore a library called Twitter4J. The disadvantage of this technique is a dependency to the third partie library. This means a ECF container based on such a library is dependend on the diversity of this.
To decouple these dependencies an own ECF based REST abstraction would be the best. Based on this many new ECF containers can be created easily without using any other libraries.
|Scott Lewis, Holger Staudacher||Scott Lewis||Holger Staudacher from the Hochschule Furtwangen University – Furtwangen, Germany ; Sreyansh Gandhi from Bannari Amman Institute, India|
|Sharing Snippets||ECF||A plugin using ECF to make snippet codes available on a snippet view/template view and in an organized way, snippets codes that comes from some "place"(CVS/SVN, Web Service, REST, HTTP, and others), and a way to share snippets from the eclipse editor, using ECF behind the scenes and maybe probably Equinox, OSGi Services.... For example, imagine that several snippets codes that there are on the SWT project available on a palette into the eclipse, or even several projects making important snippets code available into Eclipse, in ECF case for example code to create a container and etc. Maybe in this case the student can find some synergy with Eclipse Search feature with this "Sharing Snippets".||Marcelo Mayworm||Marcelo Mayworm, Scott Lewis?||Mario Ponciano a.k.a Razec - From Unianhanguera, Brazil.|
|Video Chat||ECF||The goal of this project is to provide a video chat over ECF, embedded on Eclipse in synergy with DocShare for real-time shared editing, using ECF provider mechanism to deliver screen capture video probably in SWF format (focus on the compact format and low bandwidth delivery) for a remote viewer.||Marcelo Mayworm||James Sugrue, Marcelo Mayworm, Scott Lewis?|
|Google Services||ECF||The goal of this project is create a specific Google provider. This can extend XMPP for chat, but should also provide functionality for the new Google Voice , including the transcription option.||James Sugrue||James Sugrue, Marcelo Mayworm, Scott Lewis?||N.J. Samarasekera from University of Moratuwa – Moratuwa, Sri Lanka|
|Integration of BPELUnit in Eclipse BPEL Designer||BPEL Designer|| BPEL is an emerging standard for Web service compositions. Although BPEL processes are typically modeled by using graphical tools, the language is so powerful that testing is as necessary as for traditional programming languages. Apache ODE  is an open source BPEL engine, Eclipse offers a graphical BPEL editor , and BPELUnit  is an open source testing framework, which provides means for mocking services and for calculating test coverage. However, they haven't been integrated yet.
The goal of this project is, in conjunction with Project Apache ODE Integration in BPELUnit , to provide a convenient, tightly integrated “unit testing environment” for BPEL processes in Eclipse / Apache ODE. For this particular piece, the UI portion of BPELUnit must be integrated into the Eclipse BPEL Designer to enable automatic unit testing directly from the modeling environment. To support the tester/developer better, a method for visualizing test coverage shall be developed and evaluated. For instance, it could be beneficial to mark executed activities in the graphical editor to display test coverage results. If the student is interested, it is possible to evaluate methods for automatic generation of Unit Test Data and to integrate them into BPELUnit.
|Simon Moser||Simon Moser, Daniel Luebke (BPELUnit), Tammo van Lessen (Apache ODE)||Chamith Buddhika from University of Moratuwa, Sri Lanka|
|Distributed testing FW based on RFC 119 OSGi||ECF||The recent addition of remoting and discovery capabilities to OSGI R4.2 (RFC 119) enables us to easily set up a distributed system. Combined with the well known JUnit, a testing framework for distributed application can be build on top. This test fw can then be consumed by ECF directly (eat your own dogfood) to prove its usefulness.||Markus Alexander Kuppe||Scott Lewis?, Jan S. Rellermeyer?||None||Markus Alexander Kuppe from University of Hamburg, Germany|
|DSL and Model-Driven Generator for EclipseLink||EclipseLink, Xtext, Xpand||The goal of this project is to define a (textual) DSL for EclipseLink and create an Xpand-based code generator that generates best-practice EclipseLink code. The project will be mentored by two mentors (from Xtext/Xpand and EclipseLink) to ensure best-practice use of the technologies.||Peter Friese||Peter Friese (Xtext, itemis), Douglas Clarke (EclipseLink, Oracle)||None||(Student name here)|
|Forms-based editors for Ecore models||EMF||Given any Ecore model, you can create a basic editor for this model. This editor, in conjunction with the properties panel, is quite functional, but not something you could integrate in your application without spending some time polishing it. would be great to have EMF generate a Forms-based Editor for a given Ecore model. See http://ekkes-corner.blogspot.com/2009/03/using-rcp-views-to-view-uml-diagrams.html for an example. Of course, it would even be cooler if we could dynamically build up UIs like that, but that's maybe a second step (or a second GSoC project).||Peter Friese||Marcelo Paternostro (EMF), Ed Merks (EMF)||None||(Student name here)|
|Semantic Highlighting Editor for PHP Developers||PDT|| Following the improvements done by the Web tools project (233505) on semantic highlighting, the PHP Source Editor can now set semantic rules for better coloring techniques that will improve its performance and functionality. For example, currently, all variables are highlighted in the same color. Although members / static / constants variables should be colored in separate colors just like the Java editor does.
Each semantic rule should have a preference page which describes its rule color and functionality.
|Roy Ganor||Roy Ganor||None||Zhongwei Zhao from the Heilongjiang University(china)|
|A thin-client, web-based visual editor for Ecore models||EMF|| The main idea is to expose a thin-client, web-based, visual editor for manipulating graph-like, Ecore-based models, as opposed to the SWT-based editor that lives inside of Eclipse. This is desirable, because a browser-based editor can go many places that Eclipse and SWT cannot go, like being embedded in a web page. There are many possible applications that could then be built using this technology, that would not otherwise be possible, for example a wiki for collaborating on models. I'd therefore like to propose a project that would be divided into two parts.
The first part would be infrastructure-related, and would entail the following tasks:
The second part of the project might be to ensure that some existing formalisms based on EMF work well in the new editor. UML Class Diagrams seem like a good first target, and I believe it should be possible to reuse the work from the UML2 project directly here. I would also like to see a Finite State Machine/Statechart editor running in the browser. For an idea of what this might look like, please see the (very rough) prototype here. (Firefox 3+ only, at the moment).
|Jacob Beard||Ed Merks (EMF)||None||Jacob Beard from the McGill University Modeling, Simulation, and Design Lab|
|Towards a Web-based IDE with RAP||RAP||RAP offers almost single-source support for building RCPs that can be deployed as destkop or web-based applications. However there are some areas that would need enhancement to be able create a fully-web based IDE type application. One area is the support for text editing and another is comparison (eclipse.text and eclipse.compare). Getting properly working read-only editors would be a great start, and is not trivial since those core bundles may make heavy use of the GC. The prize is full read-write and is not trivial. Another area is to support multi-users workspaces or something similar where many web based users access the tool, which would be needed too. Some work exists at Mozilla with bespin that could be either source of inspiration or integration too. Several students project could be proposed in each of those areas and beyond to help grow RAP support towards a fully web-based IDE capability.||Philippe Ombredanne||Philippe Ombredanne We need some RAP committers to mentor, co-mentor.||None|
|A Online Judge Plugin to ECF||ECF|| Online judges are getting a lot of acceptance and response worldwide these days. Primarily, An Online judge is something which'll accept a piece of code (sent Online), compile and execute it and run it against a set of test cases to verify the correctness of the program. Not only this, but an Online Judge also calculates other details such as Memory taken, Time of execution, Size of the Source code and so on. These judges are mostly used for conducting programming matches among a group of passionate people. But it can still be tweaked to do a lot of other stuffs. An online Judge can be used in a classrooms and make programming more exciting. It can be also use to teach basic programming concepts and carefully modified for it. In addition to this, the online judge is implmented in a group chat environment (On jabber servers). This would enhance the interaction and further increase the excitement.
This project will add an Online Judge feature. Any one in the world can host an online competition/ programming session/ share codes online etc.
|Souvik Roy from Sastra University, India||Souvik Roy from Sastra University, India|
|Tab Property view for VE||VE||VE is a WYSIWYG UI editor. It provides basic visual edition features. Some features need to be improved to be more user-friendly. The propose of this project is to change the default properties by using the Tab property to separate some most used properties in Tab property view by category.||Yves YANG||Yves YANG.||None|
|Integration of e4 XWT to VE||e4 XWT, VE|| VE is a WYSIWYG UI editor. It provides a visual edition of UI written in Java. The new UI programming paradigm in Declarative UI becomes more and more popular, particularly in Web development. e4 schedules to provide a declarative UI. XWT is a candidate of this solution, which is already accessible in e4 distribution.
The purpose of this project is to provide the visual edition of XWT on top of VE.
|Yves YANG||Yves YANG.||None|
|Yves YANG||Yves YANG.||None|
|Binary serialization of e4 XWT||e4 XWT|| XWT is a XML-based declarative UI designed for eclipse. It is a candidate of this solution in e4, which is already accessible in e4 distribution.
The purpose of this project is to provide a binary serialization mechanism to minimize the footprint and to increase the performance loading.
|Yves YANG||Yves YANG.||None|
|PMF interactive editor||PMF|| PMF is a Modeling solution for UI. It provides an infrastructure to drive the business model to transform or generate UI presentation on top of the specific UI framework such as e4 XWT.
The purpose of this project is to develop a tree-based advanced editor to simplify the UI modeling. It should be an extension EMF editor.
|Yves YANG||Yves YANG.||None|
|Graphical user interface and other refactoring features for Convert Constants to Enum refactoring plugin.||Convert Constants to Enum|| Java 1.5 introduces several new features that offer significant improvements over older Java technology, e.g., the new enum construct, which provides language support for enumerated types. Prior to Java 1.5, programmers needed to employ various patterns (e.g., static final int ...) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. The Convert Constants to Enum refactoring for Eclipse is a research prototype plugin that provides an automated approach for transforming legacy Java code to use the new enumeration construct. The semantics-preserving tool increases type safety, produces code that is easier to comprehend, removes unnecessary complexity, and eliminates brittleness problems due to separate compilation.
The current status of the plugin can be found at bug 200152. There are several facets currently lacking from the plugin which are obstacles to wide distribution, namely, a graphical user interface, test suite, conformance with other refactoring plugins in Eclipse, e.g., undo functionality, refactoring history, refactoring preview pane.
|Raffi Khatchadourian||Raffi Khatchadourian.||Bina Patel from Ohio State University|