This page is about the 2009 edition of GSoC - see http://community.apache.org/gsoc.html for the 2010 edition.
Google is sponsoring the 2009 Summer of Code, the The Apache Software Foundation (ASF) is officially participating this year again as one of the participating mentor organizations. This page lists all the subjects currently proposed by the Apache Software Foundation.
More topics are being added all the time, come back regularly if you don't see something you fancy. Some ASF projects are also willing to accept students own ideas, feel free to suggest things on project development lists.
*** STUDENT APPLICATIONS ARE CLOSED ***
See the GSoC 2009 timeline for more info.
Students: read this
First, review the GSoC wiki page on Advice for Students to make sure you really want to apply to GSoC.
If you (as a student) find an idea you like, we ask that you create a list of deliverables, quantifiable results for the Apache community, a detailed description / design document, an approach, an approximate schedule and something of a background text. In other words - sell yourselves, as if this was an actual job. Feel free to add a link to your proposal on this page, in the "status" field of the corresponding project description. Take a look at last year's submissions at SummerOfCode2008 to get an idea of what worked and didn't.
Philip Johnson's GSoC video presentation contains very valuable advice for students, don't miss it!
Contacting the ASF
The ASF is not just one project, it is a federation of projects, see the lists at http://apache.org/ and http://incubator.apache.org/. Each of our projects has its own community of users, contributors and committers, and GSoC students will usually be interacting with just one of these communities.
Each of the proposed subjects below is tied to a single ASF project, see the ASF Project field in the subjects descriptions below.
To ask questions about one of the subjects listed below, look at that field and go to that project's website to find the mailing list addresses to use to contact the project's community.
Prospective ASF mentors: read this
Mentors must register with the GSoC webapp, and request to become a mentor for the ASF organization. Make sure that the email address you use for that (it's often your @gmail.com address by default) is registered in committers/MailAlias.txt so that we can match it to your ASF account. You should also register your GSoC Link Id to committers/GSoCLinkId.txt.
All ASF projects are invited to submit their ideas to this page. Any Apache member and experienced committers can submit ideas using the template below. We are looking for as many interesting projects as we can come up with. For more info about mentoring, please read our SummerOfCodeMentor page.
Useful Links
ASF SummerOfCodeMentor page
http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_
- #gsoc on Freenode
ASF Subjects for Summer of Code
[Please add in project name order]
Template
Subject ID |
project-id |
Title |
a short desciptive title of the subject |
ASF Project |
the ASF project(s) tied to this subject |
Keywords |
keywords on this subject, like language, technology or concept used |
Description |
a paragraph describing what this subject is all about |
Possible Mentors |
volunteer mentors for this subject |
Status |
indicate whether this subject has already been assigned to a participating student |
Apache Camel
Subject ID |
camel-dynamic-routes |
Title |
Camel Dynamic Routes |
ASF Project |
Apache Camel - http://camel.apache.org/ |
Keywords |
Camel, REST, AST, Ruby, Groovy, Python, Scala, Java 5 |
Description |
Apache Camel features a web console that allows one to visualize and modify routes using XML. Add support for modifying the routes at runtime using other languages like Ruby, Groovy, Python, Scala. For details see http://cwiki.apache.org/confluence/display/CAMEL/Google+SummerOfCode |
Possible Mentors |
Jonathan Anstey <janstey AT apache DOT org> |
Status |
http://socghop.appspot.com/student_proposal/show/google/gsoc2009/alloyer/t123873174058 |
Subject ID |
camel-dsl |
Title |
Camel DSL in Ruby and Python |
ASF Project |
Apache Camel - http://camel.apache.org/ |
Keywords |
Camel, DSL, Ruby, Python, Java 5 |
Description |
Extend Camel DSL already available for Java, XML, Groovy, Scala to other dynamic languages like Ruby and Python. For details see http://cwiki.apache.org/confluence/display/CAMEL/Google+SummerOfCode |
Possible Mentors |
Hadrian Zbarcea <hadrian AT apache DOT org> |
Status |
http://socghop.appspot.com/student_proposal/show/google/gsoc2009/alloyer/t123872396878 |
Apache Cocoon
Subject ID |
cocoon-3-monitoring |
Title |
Cocoon 3 Monitoring |
ASF Project |
Apache Cocoon - http://cocoon.apache.org/3.0/ |
Keywords |
Cocoon 3, Cocoon Spring-Configurator, JMX, Spring 2.5, Log4j, Java 5 |
Description |
Enable JMX monitoring for Cocoon 3 web applications. For details see http://cocoon.apache.org/3.0/student-project-ideas/cocoon3-monitoring.html |
Possible Mentors |
Reinhard Pötz <reinhard AT apache DOT org> |
Status |
Apache Commons Net
Subject ID |
commons-net-ssh-and-scp |
Title |
Add SSH/SCP Support to Commons-Net |
ASF Project |
Commons Net - http://commons.apache.org/net |
Keywords |
SCP, SSH, Java 5, Network Protocols, Sockets |
Description |
Commons-Net is a popular framework that supports a variety of low-level network protocols, including FTP, FTPS, Telnet, and NTP. It would be a fantastic addition to the project to add basic SSH/SCP support. The work would entail reading the existing RFCs, studying existing protocol implementations, and designing and developing an SSH/SCP client for addition into the library. Ideally requires a student with an interest in network protocol design, low-level socket I/O, and cryptographic techniques. |
Possible Mentors |
Rory Winston <rwinston at apache dot org> (http://www.theresearchkitchen.com/blog) |
Status |
Six interested students |
CouchDB
Subject ID |
couchdb-windows |
Title |
Full fledged Windows support |
ASF Project |
|
Keywords |
couchdb, windows, build, distribution, autotools |
Description |
Full fledged Windows support including a script that turns trunk and releases into a binary distribution. Work here would include familiarizing with the current autotools-based build system, determining the best build environment on Windows and suggesting modifications to CouchDB's build system and code to build, install, package and run CouchDB on Windows. |
Possible Mentors |
Jan Lehnardt, Noah Slater |
Status |
no students yet |
Subject ID |
couchdb-erlang-unit-tests |
Title |
Comprehensive Erlang-based unit-, and behaviour-test suite |
ASF Project |
|
Keywords |
couchdb, erlang, test suite, unit tests, behaviour tests |
Description |
CouchDB currently lacks a comprehensive erlang-based test suite & tests. It should be determined which exisitng test suite is suitable for our purposes (if at all). A test suite framework would allow CouchDB developers to easily add test functions that cover new and existing code. Code coverage analysis or quickcheck integration are nice to have features. |
Possible Mentors |
Jan Lehnardt |
Status |
no students yet |
Subject ID |
couchdb-bencharks |
Title |
Comprehensive standardized benchmark suite (so we can compare CouchDB across hardware) |
ASF Project |
|
Keywords |
couchdb, erlang, benchmark suite, benchmarks |
Description |
CouchDB currently lacks a comprehensive Erlang-based benchmark suite. CouchDB users have a hard time finding out what performance to expect from CouchDB. An Erlang-based benchmark suite will include a set of common scenarios like mass data import, view generation on various levels, load-simulation for "typical" workloads, impact of replication and so on. The idea is that a user can run one or more of these benchmarks to determine whether CouchDB's performance is in line with their needs. The benchmark suite will also hel the CouhcDB development team to measure performance changes in new code and monitor improvements or degradation over time. |
Possible Mentors |
Paul Davis, Chris Anderson |
Status |
no students yet |
Subject ID |
couchdb-cluster |
Title |
Easy CouchDB cluster management solution. |
ASF Project |
|
Keywords |
couchdb, erlang, cluster, management, high availability, scaling, infrastructure |
Description |
Enhance CouchDB with the necessary modules and infrastructure to easily create and maintain distributed clusters of CouchDB nodes for flexible scaling application backends. |
Possible Mentors |
Damien Katz, Chris Anderson |
Status |
Subject ID |
couchdb-fulltext |
Title |
Add a fulltext solution that comes with CouchDB |
ASF Project |
|
Keywords |
couchdb, fulltext, search, possibly lucene |
Description |
Make CouchDB out-of-the box Fulltext enabled. |
Possible Mentors |
Paul Davis |
Status |
no students yet |
Subject ID |
couchdb-erlang-interface |
Title |
Erlang interface to CouchDB to bypass HTTP/JSON layer |
ASF Project |
|
Keywords |
couchdb, erlang, interface |
Description |
This work would provide a direct interface to CouchDB. It could be used by, e.g., wpart_* interfaces from Erlang-Web, or by appmods in YAWS. It would interface directly to the CouchDB Erlang layer using Erlang term(), not JSON conversions. There would be no HTTP involved, only direct Erlang message passing or fun calls to/from CouchDB. If a message passing design is used, distributed access to one or more CouchDB nodes may be simplified (e.g. a cluster of web servers accessing one or more CouchDB nodes). Interface should minimally provide same functionality as that available to view servers or via HTTP interface and allow for maintenance to keep parity when new functionality is added. Since modifications/additions of CouchDB source is involved, additional value could be added by providing another interface to couch_query_servers which can pass lists of documents rather than a single document (to view servers and via the Erlang interface). This would allow parallel map functions to run on subsets of the list provided by couch_query_servers. couch_query_server could dynamically check memory and adjust the number of documents sent. |
Possible Mentors |
Chris Anderson, Jan Lehnardt, Paul Davis, Damien Katz |
Status |
no students yet |
Apache CXF
Subject ID |
cxf-soapjms |
Title |
Implement the SOAP/JMS specification for CXF |
ASF Project |
Apache CXF - http://cxf.apache.org/ |
Keywords |
CXF, SOAP, JMS, webservices |
Description |
CXF does support SOAP over JMS, but it does not meet the current draft spec defined at http://www.w3.org/TR/soapjms/ and instead uses some proprietary formats, headers, url formats, etc.... The purpose of this project would be to update the SOAP/JMS support in CXF to be completely spec compliant. |
Possible Mentors |
Daniel Kulp <dkulp AT apache DOT org>, Willem Jiang, but post to dev AT cxf DOT apache DOT org |
Status |
http://socghop.appspot.com/student_proposal/review/google/gsoc2009/liucong/t123847391676 |
Subject ID |
cxf-stonehenge |
Title |
Implement the Stonehenge application with CXF |
ASF Project |
Apache CXF and Apache Stonehenge (incubator) |
Keywords |
CXF, Stonehenge, SOAP, WCF, Interop |
Description |
The Stonehenge project (in the incubator) is a complete application designed to test and demonstrate interopability between different soap stacks and application platforms. This project would work closely with both the CXF community and the Stonehenge community to port the application to CXF and make sure CXF is completely interopable with the other stacks already provided by Stonehenge. |
Possible Mentors |
TBD |
Status |
no students yet |
Subject ID |
cxf-soaptcp |
Title |
Implement the SOAP over TCP standard supported by Metro and WCF(via plugin) |
ASF Project |
Apache CXF - http://cxf.apache.org |
Keywords |
CXF, SOAP, webservices, TCP |
Description |
Implement the SOAP optimized TCP transport developed by Sun and supported by Metro and WCF (via an external plugin). The spec is available at: http://java.sun.com/webservices/reference/apis-docs/soap-tcp-v1.0.pdf The optimized transport would support using a stateful fastinfoset grammar to optimize the transmissions increasing performance. |
Possible Mentors |
Daniel Kulp - <dkulp AT apache DOT org>, Willem Jiang, but post to dev AT cxf DOT apache DOT org |
Status |
no students yet |
Subject ID |
cxf-eventpub |
Title |
Event publication bus extension, with Atom publisher being a concrete implementation |
ASF Project |
Apache CXF - http://cxf.apache.org |
Keywords |
CXF, Atom, webservices |
Description |
Event publication bus extension, with Atom publisher being a concrete implementation. Specifically, this publisher should be capable of posting events as Atom entries to external Atom consumers or provide them as an Atom Feed for consumers to poll. Event publisher interface should not be tied to Atom and should be easy to use. Provide Atom-aware Logger implementation given that logging statements can be viewed as events to react upon. |
Possible Mentors |
Sergey Beryozkin" <sberyozk AT progress DOT com> but post to dev AT cxf DOT apache DOT org |
Status |
no students yet |
Subject ID |
cxf-jibx |
Title |
Implement JiBX databinding for CXF |
ASF Project |
Apache CXF - http://cxf.apache.org |
Keywords |
CXF, jibx, webservices |
Description |
CXF has a plugable Databinding framework that currently supports JAXB and XMLBeans. There have been user requests to support JiBX as well. This project would involve updating the runtime to support JiBX as well as the tooling and samples. |
Possible Mentors |
Daniel Kulp <dkulp AT apache DOT org> but post to dev AT cxf DOT apache DOT org |
Status |
http://socghop.appspot.com/student_proposal/review/google/gsoc2009/liucong/t123852690134 |
Subject ID |
cxf-castor |
Title |
Implement castor databinding for CXF |
ASF Project |
Apache CXF - http://cxf.apache.org |
Keywords |
CXF, castor, webservices |
Description |
CXF has a plugable Databinding framework that currently supports JAXB and XMLBeans. There have been user requests to support castor as well. This project would involve updating the runtime to support castor as well as the tooling and samples. |
Possible Mentors |
Daniel Kulp <dkulp AT apache DOT org> but post to dev AT cxf DOT apache DOT org |
Status |
no students yet |
Subject ID |
cxf-sdo |
Title |
Implement SDO databinding for CXF |
ASF Project |
Apache CXF - http://cxf.apache.org |
Keywords |
CXF, sdo, webservices |
Description |
CXF has a plugable Databinding framework that currently supports JAXB and XMLBeans. There have been user requests to support SDO as well. This project would involve updating the runtime to support SDO as well as the tooling and samples. |
Possible Mentors |
Daniel Kulp <dkulp AT apache DOT org> but post to dev AT cxf DOT apache DOT org |
Status |
http://socghop.appspot.com/student_proposal/review/google/gsoc2009/addsdoforcxf/t123857416449 |
Apache Derby
Subject ID |
derby-testandfix |
Title |
Convert Derby tests to JUnit and fix Derby bugs |
ASF Project |
Derby - http://db.apache.org/derby/ |
Keywords |
java,bugs,test,database |
Description |
Convert Derby tests to JUnit and fix bugs in Derby. Small projects and incremental check-ins mean your code can make an impact right away and you have a wide choice of code areas to focus on. See DerbyTesting for information on Derby testing and Derby Open Code Bugs for a list of bugs to choose from. |
Possible Mentors |
Kathey Marsden |
Status |
no students yet |
Subject ID |
derby-optimizerFixes |
Title |
Servicability improvements to the Derby Query Optimizer |
ASF Project |
Derby - http://db.apache.org/derby/ |
Keywords |
java,bugs,test,database |
Description |
Join the Derby community and contribute to the ongoing development of Derby's powerful and sophisticated query optimizer. Work is needed in the area of fixing optimizer bugs such as DERBY-4007, DERBY-3753, DERBY-3892 or DERBY-2752; other work may involve improvements in servicability by enhancing tracing (DERBY-837) or building tools for capturing and analyzing query plans (DERBY-2487); if time permits, we could look to add new features such as common sub-expression elimination (DERBY-890) or improved sub-query processing (DERBY-2231). Work is also needed on optimizer performance (DERBY-1905, DERBY-1906, DERBY-1907, DERBY-1908, DERBY-2130) , optimizer regression testing, and optimizer documentation. The Derby Query Optimizer is a complex and sophisticated piece of software. The successful applicant for this project should have already demonstrated familiary with the Derby development process (for example, by contributing fixes to existing Derby issues), and should present a proposal which substantiates the applicants willingness and ability to work on an intricate piece of software. |
Possible Mentors |
Bryan Pendleton |
Status |
no students yet |
Subject ID |
derby-sequence-generators |
Title |
Implement ANSI/ISO Sequence Generators |
ASF Project |
Derby - http://db.apache.org/derby/ |
Keywords |
java,feature,sequence,generator,database |
Description |
Make substantial progress toward implementing sequence generators as described in the 2008 ANSI/ISO standard and in the functional specification attached to DERBY-712. The successful applicant for this project should have already demonstrated familiarity with the Derby development process (for example, by contributing fixes to existing Derby issues), and should present a proposal which substantiates the applicant's willingness and ability to work on an intricate piece of software. |
Possible Mentors |
Rick Hillegas |
Status |
no students yet |
Subject ID |
derby-dblook-authorization |
Title |
Make dblook work with SQLAuthorization |
ASF Project |
Derby - http://db.apache.org/derby/ |
Keywords |
java,feature,dblook,sql,authorization |
Description |
When SQL authorization (GRANT/REVOKE) was added to Derby, dblook was left behind (DERBY-3954, DERBY-3884). Tackling this will yield insight into Derby's authorization aspects and system tables, while still allowing coding to happen in a smaller codebase (dblook). See also http://issues.apache.org/jira/browse/DERBY-3884, http://issues.apache.org/jira/browse/DERBY-3954 |
Possible Mentors |
Dag Wanvik |
Status |
no students yet |
Apache Directory
Subject ID |
directory-proxy |
Title |
Develop a LDAP proxy GUI |
ASF Project |
Directory - http://directory.apache.org |
Keywords |
Java, Ldap, MINA, Eclipse |
Description |
Create an Eclipse plugin to expose the LDAP requests being exchanged between a client and an LDAP server, store them and replay them. This tool will be used to analyse the exchanged requests and responses, and to generate tests based on those recorded requests/responses. It should be defined as a RCP application or an Eclipse plugin, encapsulated into Apache Directory Studio. |
Possible Mentors |
Emmanuel Lécharny, Pierre-Arnadu Marcelot |
Status |
No student yet |
Apache Geronimo
Subject ID |
geronimo-applications-migration |
Title |
Migrate popular applications to Geronimo |
ASF Project |
Apache Geronimo - http://geronimo.apache.org |
Keywords |
Java, Geronimo, migration |
Description |
To test a bunch of most popular JEE apps like nexus, sugarCRM... on Geronimo. (a), If there are incompatibility problem in these Apps. Report or contribute the fix back to the App project. (b), If being able to install a App with some deployment tuning. To make a deployment guide about how to deploy this App to geronimo. |
Possible Mentors |
Haihong Xu(Ivan), LinQuan Jiang(Shawn), Ming Xia(Forrest) |
Status |
No student yet |
Subject ID |
geronimo-quartz-plugin |
Title |
Develop a Geronimo Quartz Plugin |
ASF Project |
Apache Geronimo - http://geronimo.apache.org |
Keywords |
Java, Geronimo, Quartz, Plugin |
Description |
Create a Quartz plugin for Geronimo, so that we could take advantage of its powerful scheduling features. Please refer to https://issues.apache.org/jira/browse/GERONIMO-4140 |
Possible Mentors |
Haihong Xu(Ivan), LinQuan Jiang(Shawn), Gang Yin(Jeff) |
Status |
No student yet |
Subject ID |
geronimo-ws-security |
Title |
WS-Security support for JAX-WS Web Services |
ASF Project |
Apache Geronimo - http://geronimo.apache.org |
Keywords |
Java, Geronimo, JAX-WS, Web Services, WS-Security |
Description |
Apache Geronimo supports two JAX-WS providers: Axis2 and CXF. Both of these providers have support for WS-Security. However, the WS-Security features of Axis2 or CXF are not currently enabled in Geronimo. The goal of this project is to integrate and enable these WS-Security features in Geronimo. |
Possible Mentors |
Jarek Gawor |
Status |
No student yet |
Apache Harmony
Subject ID |
harmony-tools-1 |
Title |
Implement a Java developer's command line tool |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Java, tools |
Description |
Harmony is missing several of the tools that ship with the JDK, including jar, jconsole and javaws. For this task you would implement one of these tools in Java. |
Possible Mentors |
Oliver Deakin (committer), Mark Hindess (committer) |
Status |
Yanxin Xue <yanxinxue AT gmail DOT com> (proposal: http://socghop.appspot.com/student_proposal/show/google/gsoc2009/yanxin/t123874499622) |
Subject ID |
harmony-tools-2 |
Title |
Implement the jdb command line debugger tool |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Java, tools, jdb |
Description |
jdb is the command line debugger tool provided as part of the basic JDK tools (http://java.sun.com/javase/6/docs/technotes/tools/index.html). For this task you would implement the jdb debugger in Java. |
Possible Mentors |
Oliver Deakin (committer), Mark Hindess (committer) |
Status |
No student yet |
Subject ID |
harmony-i18n-tool |
Title |
Automatic localization tool for open source project |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
open source project, localization, automatic translation |
Description |
The Harmony Project has no localized data for worldwide customers. This project plans to create an automatic tool that helps projects to translate the necessary messages. The tool will automatically extract the messages, conduct analysis if necessary to translate, translate and adjust, and at last inject into the source code with ResourceBundle or property loading mechanism and apply the localization. There are many open source projects in existence, most of which do not have localized messages for customer convenience, including the Harmony project, so the tool may also be helpful on a wider scale. (http://wiki.apache.org/harmony/Harmony_i18n_tool) |
Possible Mentors |
Jing Lv (Jimmy) (committer) |
Status |
No student yet |
Subject ID |
harmony-daemon |
Title |
Running multi-programs on one Harmony VM |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
multi-programs on single VM |
Description |
In Java, we usually run one program on one VM. However there are many advantages to executing multiple programs on one jvm, e.g. memory usage, startup time, etc. However there are many potential conflicts that could be caused e.g. the vm will meet an exit() or fatal error in one program, which causes the other programs to fail together. This project is concerned with finding a clever solution for running multiple Java programs on a single VM. |
Possible Mentors |
Xu ruizhi(Regis) (committer), Jing Lv (Jimmy) (committer) |
Status |
No student yet |
Subject ID |
harmony-classes-selector |
Title |
Smallest classes set for customer application |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
smallest class set for application |
Description |
Many Java desktop applications offer a JRE in the installation package, which may be big. Customising the JRE to be the smallest size to run an application takes a lot of effort. We are looking for an automatic tool to find out all classes used by an application and build up a smallest JRE for the customer. (http://wiki.apache.org/harmony/Harmony_classes_selector) |
Possible Mentors |
Xu ruizhi(Regis) (committer), Jing Lv (Jimmy) (committer), Li JinQing(Charles) |
Status |
No student yet |
Subject ID |
harmony-osgi |
Title |
Enable OSGi features for Harmony JDK |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
OSGi, JDK |
Description |
OSGi is hot and Apache Harmony has already make it's modules into OSGi bundles. If the Harmony runtime itself can include an OSGi framework, it will help other projects executing on a Harmony JRE to be OSGi without implementing an OSGi framework themselves. If we can go a little further, it may make the Harmony Project the first OSGi-ed JDK on the world and could enable an update mechanism for Harmony easily. (http://wiki.apache.org/harmony/OSGi_Harmony) |
Possible Mentors |
Zhou Kai(Kevin), Jing Lv (Jimmy) (committer) |
Status |
No student yet |
Subject ID |
harmony-portlib |
Title |
Portability in Apache Harmony: portlib, the Apache Portable Runtime or a new alternative |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Harmony, APR |
Description |
To enable the Harmony class library to be easily ported to new platforms a portability library exists. By replacing components in the portability library a VM may integrate with the Harmony libraries. Alternatively a VM may use and build on the portability library with Harmony. No current VM builds on top of just the portability library. The IBM VMs use bespoke OS integration, DRLVM uses this and the Apache Portable Runtime (APR), Jikes RVM uses the Harmony portability library and limited bespoke OS integration. The Apache Portable Runtime differs from the Harmony portability library in that virtual memory functions are exposed via mmap/munmap/mprotect rather than reserve/free/commit/decommit. The Harmony portability library used to but no longer provides a portable signal handling mechanism. This project will create a portability strategy for VMs using the Harmony class library either by using the Harmony portability library, the Apache Portable Runtime or potentially with no wrapper layer. One option is to recode the Harmony portability library entirely using the APR, adding support for signal handling whilst also adding support to APR for a different means of managing virtual memory. Another option is to put the portability library functionality into APR. Alternatively no wrappers and adopting UNIX conventions may best suppport portability. Ideally multiple open source Harmony VMs can be tested with this portability layer such as DRLVM and Jikes RVM. This project will require consultation with Harmony developers to form agreement and consensus on a portability strategy. Documenting this strategy will also form part of the project. |
Possible Mentors |
Ian Rogers, Alexei Fedotov (committer) |
Status |
No student yet |
Subject ID |
harmony-zlib |
Title |
Improve Apache Harmony zlib/zip performance |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Java, zlib, Zip |
Description |
There are a number of changes that should improve zlib performance for Harmony such as using the inflateBack api (compare gzip/gun in the zlib distribution), exploiting parallelism (compare gzip/pigz) and/or using mmap rather than file operations. The project would be to implement these techniques to see what works in practice. |
Possible Mentors |
Mark Hindess (committer) |
Status |
No student yet |
Subject ID |
harmony-JIT-1 |
Title |
Modularize Harmony JIT by separating JET as a standalone JIT compiler |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Harmony, JVM, JIT, modularity |
Description |
So far the JIT component (called Jitrino) of Harmony has virtually two JIT implementations: JET and OPT. Jitrino.JET is a fast but non-optimizing JIT, and Jitrino.OPT is an optimizing JIT. The code base of JET and OPT shares lots of code hence they are mixed in one module. This is undesirable for situations where people need only JET, for fast compilation, for small footprint. This project proposes to create a standalone JET-based JIT module for Harmony. It does not require to remove JET from Jitrino, but to create a new JIT module with JET. This project is also a very good exercise to examine the JIT modularity design, the interface between JIT and other components, the interaction between multiple co-existing JIT modules. |
Possible Mentors |
Xiao-Feng Li (committer) |
Status |
No student yet |
Subject ID |
harmony-GC-1 |
Title |
Implement WeakReference support in Harmony concurrent GC |
ASF Project |
Apache Harmony http://harmony.apache.org |
Keywords |
Harmony, concurrent GC, weak reference |
Description |
Harmony already has a concurrent GC (called Tick, with three concurrent GC algorithms). It runs well with standard benchmarks. The only remaining unfinished feature is WeakReference support . Weakly referenced object (i.e., referent) is accessed through get() interface. That means, get() operation can make a weakly reachable referent strongly reachable. During concurrent collection, the system must monitor the get() operation to catch this change of reachability, otherwise the referent could be reclaimed. This project also includes to integrate the WeakReference processing with Finalization process. Other optimizations in Tick are also desirable, such as to reduce the amount of floating garbage. |
Possible Mentors |
Xiao-Feng Li (committer) |
Status |
No student yet |
Apache Kato
Subject ID |
kato-tools |
Title |
Develop improved analysis tools |
ASF Project |
|
Keywords |
Java, Diagnostics, Eclipse, Netbeans, Data scaling |
Description |
Apache Kato has opportunities to create new and improved example tools that can provide real value to users in solving problems. The size and complexity of diagnostic data coming from applications makes representing and analysing this information a substantial challenge. |
Possible Mentors |
Steve Poole, Ant Elder |
Status |
No student yet |
Apache Lenya
Subject ID |
lenya-xml-diff |
Title |
XML Diff for Lenya |
ASF Project |
Lenya - http://lenya.apache.org |
Keywords |
Java, Cocoon, XML, XSLT |
Description |
Use the revision history inside of Lenya to create a module to display XML diffs. These diffs should be based on the XML DOM structure rather than just the XML text. The module could also generate diffs based on rendered text. The ability to email these changes out would be a great addition. |
Possible Mentors |
Richard Frovarp: dev AT lenya DOT apache DOT org |
Status |
3 interested students |
Apache Lucene
Subject ID |
mahout-machine-learning |
Title |
Implement a Map/Reduce enabled Machine Learning Algorithm |
ASF Project |
Mahout - http://lucene.apache.org/mahout |
Keywords |
java,machine learning, mahout, map reduce, hadoop |
Description |
Implement one machine learning algorithms (including demo and docs) using Hadoop for the Mahout machine learning project. See http://www.cs.stanford.edu/people/ang/papers/nips06-mapreducemulticore.pdf for background information and ideas. Also see the Mahout http://cwiki.apache.org/MAHOUT wiki for more ideas and background. Implementation should be well documented and well tested. Students are also encouraged to work on projects related to their own machine learning research. |
Possible Mentors |
Grant Ingersoll, Ted Dunning |
Status |
interested students, see below |
Tijs Zwinkels <apache-SoC AT tumblecow DOT net> (proposal: http://wiki.apache.org/general/SoC2009/TijsZwinkels-Mahout-AlgorithmsProposal)
Philip Ramsey <goal.oriented.design AT gmail DOT com> (proposal: http://wiki.apache.org/general/SoC2009/PhilipRamsey-Mahout-AlgorithmsProposal)
David Hall <dlwh -at- ude DOT drofnats DOT sc > (proposal: http://socghop.appspot.com/student_proposal/show/google/gsoc2009/dlwh/t123853918452 )
AbdelHakim Deneche <adeneche AT gmail DOT com > (proposal DenecheLuceneMahoutGsocProposal)
Yifan Wang <heavenstar AT gmail DOT com> (proposal: http://wiki.apache.org/general/SoC2009/Yifan-Wang-Mahout-Proposal)
Mohamed A. SEHILI <amine.sehili AT gmail DOT com> (proposal: http://wiki.apache.org/general/gSoC2009-A.SEHILI-MahoutProjectProposal)
Joe Prasanna Kumar <joekumar at gmail dot com> (proposal for SVM on Mahout)
Prospective Mahout Students, please read: http://www.lucidimagination.com/search/document/b0c5843cabef059d/gsoc_time_nearing and http://www.lucidimagination.com/search/document/9b4e2ebc5859462b/gsoc_timeline_and_misc_advice_to_help_you_have_a_winning_proposal to help guide you in your proposal writing.
Apache ODE
Subject ID |
ode-web-debugger |
Title |
Web-based BPEL debugger for Apache ODE |
ASF Project |
|
Keywords |
Java, BPEL, Web Services, AJAX, Oryx |
Description |
BPEL is the de-facto standard for modelling executable Web service orchestrations. Although BPEL processes are usually graphically modelled they still have the complexity of real-world programs. Although ODE already implements some debugging facilities like setting breakpoints and step-through, it still lacks an intuitive tool that supports the modeller with testing and debugging process models. The aim of this GSOC project is to create a web-based BPEL debugger that is capable of showing a graphical representation of a process model and allows for adding breakpoints to activities and/or variable modifications. In addition it sports a variable browser than can display current variable values. To visualize the process models, a slim, MIT-licensed version of Oryx, a web-based BPMN editor, should be used. Via its mashup API it can be easily integrated into web applications and thus into ODE's web console. There will be (hopefully) a similar project under the Eclipse umbrella featuring the same functionality within Eclipse BPEL (together with Apache ODE). |
Possible Mentors |
Tammo van Lessen <vanto AT apache DOT org> (for Apache ODE), Gero Decker <gero.decker (at) signavio.com> (for Oryx) |
Status |
unassigned |
Subject ID |
ode-testing |
Title |
Apache ODE Integration in BPELUnit |
ASF Project |
|
Keywords |
Java, BPEL, XML, BPELUnit |
Description |
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. |
Possible Mentors |
Daniel Lübke <bpelunit (at) daniel-luebke.de> for (BPELUnit), Tammo van Lessen <vanto AT apache DOT org> (for Apache ODE), Simon Moser (for Eclipse BPEL) |
Status |
unassigned |
Subject ID |
ode-migration |
Title |
Development of an XML-based migration format for process instances |
ASF Project |
|
Keywords |
Java, BPEL, XML, Jacob |
Description |
Apache ODE in an emerging open source BPEL engine. For the execution of BPEL processes it employs a virtual machine for process definitions (JACOB) that takes care of concurrency, reliability, phoenix behavior etc. It currently persists the state of (potentially long-running) process instances in terms of binary streams in an attached database. In real-world scenarios it becomes necessary to move running process instances from one ODE installation to another (e.g. for maintenance reasons). It should also be possible to move process models and their running instances to newer versions of ODE. The aim of this GSOC project is to develop a version independent XML format that contains both, the process model (as deployed to the engine) and the state of all running instances. For this format an importer and exporter should be developed that allows exporting all process models+instances from one node and importing it again to another node. The migration between different versions of ODE or to slightly modified process models is not in the scope of this project, however the design of the intermediate format should in principle allow such tasks. |
Possible Mentors |
Tammo van Lessen <vanto AT apache DOT org> (for Apache ODE) |
Status |
unassigned |
Apache OpenJPA
Subject ID |
openjpa-slice-across |
Title |
Cross-partition Query in a Distributed Database Environment |
ASF Project |
|
Keywords |
JPA, OpenJPA, Slice, Database Partition |
Description |
Slice is the distributed persistence module for OpenJPA to enable any JPA application to work seamlessly across horizontally partitioned databases or slices. Slice queries across each partition in parallel and merges the results from individual slices in memory. Currently, the query does not support relations that span across different database partitions. In this project, we will explore the possibility of devising a strategy to execute queries where relationships join across different databases. |
Possible Mentors |
Pinaki Poddar <ppoddar AT apache DOT org> |
Status |
unassigned |
Subject ID |
openjpa-jpa2.0-samples |
Title |
OpenJPA 2.0 Sample Suite |
ASF Project |
|
Keywords |
JPA, OpenJPA, 2.0, Samples, Persistence |
Description |
OpenJPA is in the process of developing a JPA 2.0 implementation based on JSR 317. The current OpenJPA community is quite active with the development, test, and documentation efforts. This SoC project would provide additional user-oriented samples and examples to demonstrate basic JPA 2.0 features as well as exploit the extensions provided by OpenJPA. |
Possible Mentors |
Kevin Sutter <kwsutter AT apache DOT org> |
Status |
unassigned |
Subject ID |
openjpa-slice-robust |
Title |
Availability in Distributed Database Environment |
ASF Project |
|
Keywords |
JPA, OpenJPA, Slice, Database Partition, Robustness |
Description |
Slice is the distributed persistence module for OpenJPA to enable any JPA application to work seamlessly across horizontally partitioned databases or slices. Slice is configured with mutiple database partitions during bootstrap. If one or more databases are not available during initial setup, then Slice can be configured to either continue functioning with available partitions or fail. In this project, we will strengthen robustness support for managment of partitions to add new partitions, ignore failed partitions or reestablish connection to a previously unavailable partition dynamically during runtime operations. |
Possible Mentors |
Pinaki Poddar <ppoddar AT apache DOT org> |
Status |
unassigned |
Subject ID |
openjpa-slice-xa |
Title |
Transaction Policy in Distributed Database Environment |
ASF Project |
|
Keywords |
JPA, OpenJPA, Slice, Database Partition, Two-phase Commit |
Description |
Slice is the distributed persistence module for OpenJPA to enable any JPA application to work seamlessly across horizontally partitioned databases or slices. Slice employs a single phase commit protocol across mutiple database partitions. In this project, we will implement a two-phase commit protocol across the available slices provided each slice uses a XA-compliant JDBC driver. |
Possible Mentors |
Pinaki Poddar <ppoddar AT apache DOT org> |
Status |
unassigned |
Subject ID |
openjpa-slice-query-policy |
Title |
Adaptive Query Targeting in Distributed Database Environment |
ASF Project |
|
Keywords |
JPA, OpenJPA, Slice, Database Partition, Adaptive Learning |
Description |
Slice is the distributed persistence module for OpenJPA to enable any JPA application to work seamlessly across horizontally partitioned databases or slices. Slice queries across each partition in parallel and merges the results from individual slices in memory. While it is possible curently to target queries only to a subset of slices, the mechanism is supported through query hints. This mechanics requires modification to user application code. In this project, we will employ a policy design pattern that will allow user application to target queries as a plug-in without modifying the existing application. We will also investigate to adapatively learn the candidate slice for a particular record based on past successful searches to improve performance for finder queries |
Possible Mentors |
Pinaki Poddar <ppoddar AT apache DOT org> |
Status |
unassigned |
Apache PhotArk
Subject ID |
photark-admin-ui |
Title |
Provide a Admin UI to allow users to create, populate and administrate PhotArk photo gallery/albums |
ASF Project |
|
Keywords |
java, sca, photo |
Description |
Apache PhotArk will be a complete open source photo gallery application including a content repository for the images, a display piece, an access control layer, and upload capabilities. The idea here is to provide a Admin ui for the PhotArk photo gallery software to allow users to create, populate and administer their galleries and albums. |
Possible Mentors |
Luciano Resende (lresende) |
Status |
Allan Avendaño <aavendan AT gmail DOT com> (proposal: AdminUI) |
Apache Pivot
Subject ID |
pivot-collections |
Title |
Implement model classes to back Pivot components |
ASF Project |
Apache Pivot - http://incubator.apache.org/pivot/ |
Keywords |
ria, java, ui, gui, rich client, windowing toolkit, collections, data model |
Description |
Apache Pivot is looking for a motivated student to implement the collection classes that act as the model for the windowing toolkit. The classes currently wrap the standard Java collections and would need to be written from scratch. Primary measurements of success are performance, scalability, and memory-efficiency. |
Possible Mentors |
Todd Volkert (tvolkert AT apache DOT org), Greg Brown (gbrown AT apache DOT org) |
Status |
1 interested student |
Apache Tomcat
Subject ID |
tomcat-1-valves2filters |
Title |
Convert current Tomcat valves to Servlet Filters |
ASF Project |
Apache Tomcat - http://tomcat.apache.org |
Keywords |
Tomcat, Valves, Filters, Java, Servlet, J2EE |
Description |
Tomcat has a number of Tomcat specific components, called valves, that are used to insert steps into the request/response processing chain. Valves are used to provide functionality such as authentication, access logging, limiting access based on client IP address, working around broken clients, etc. These valves can be applied per engine (an engine is a collection of virtual hosts), per virtual host or per context (a context is a web application). The Servlet specification has a similar concept called filters although the Servlet specification only permits filters to be specified per web application. The Tomcat project would like to replace the use of valves with filters. To provide similar functionality to valves, filters would be permitted to be configured at engine and host level, as well as context. The work would entail: re-writing all existing valves as filters, changing the internal Tomcat code that uses valves to use filters, updating the documentation to reflect these changes. |
Possible Mentors |
Mark Thomas |
Status |
no students yet |
Subject ID |
tomcat-2-jmx-improvements |
Title |
Improve the JMX support within Apache Tomcat |
ASF Project |
Apache Tomcat - http://tomcat.apache.org |
Keywords |
Tomcat, Java, Servlet, J2EE, JMX, Management |
Description |
Apache Tomcat uses JMX to provide management functionality. The current implementation is good but there is room for improvement. Specifically, not all attributes and operations are exposed and some attributes are exposed as read/write that should be read only. Additionally, some operations exposed via JMX can not be used as they require complex objects to be passed as parameters. The work would entail: documenting all the attributes for each component, ensuring that all the attributes are exposed via JMX, reviewing each attribute and configuring it for read only or read/write as appropriate, reviewing operations and, where necessary, providing implementations of the operations that can be used via JMX. The ultimate aim is to be able to take a Tomcat instance with the bare minimum configuration and to be able configure it, via JMX, as a fully functional Tomcat server. |
Possible Mentors |
Mark Thomas , Peter Rossbach |
Status |
no students yet |
Subject ID |
tomcat-proxy |
Title |
Write a proxy using Apache Tomcat |
ASF Project |
Apache Tomcat - http://tomcat.apache.org |
Keywords |
Tomcat, Java, Servlet, proxy |
Description |
The work would entail: prototyping a proxy servlet using the Servlet 3.0 specs and Tomcat 7, writing corresponding documentation and test cases. |
Possible Mentors |
Jean-Frederic Clere |
Status |
no students yet |
Apache Tuscany
Subject ID |
tuscany-binding.ws.jaxws |
Title |
A binding.ws implementation based on JAX-WS Dispatch and Provider APIs |
ASF Project |
Apache Tuscany - http://tuscany.apache.org |
Keywords |
SCA, JAX-WS, Web Services |
Description |
The current binding.ws in Tuscany is implemented based on Axis2. Now JAX-WS is shipped with JDK 1.6. It would be nice to support the web services with the JDK based on the standard JAX-WS APIs/SPIs. With this feature, it would be very simple to add integration to JAX-WS stacks such as CXF or Metro. The work will involve three features: Use JAX-WS Dispatch API to make outbound WS invocation on behalf of SCA reference, Use JAX-WS Provider API to expose SCA services as JAX-WS endpoints, Allow other databindings to be transformed into JAXB friendly representations so that JAX-WS can support them |
Possible Mentors |
Raymond Feng (rfeng AT apache DOT org) |
Status |
Not assigned yet |
Subject ID |
tuscany-wsdl2java |
Title |
A WSDL2Java tool for SCA that supports JAX-WS mapping from WSDL portType to Java interface with pluggable XSD2Java for various databindings such as JAXB, SDO, DOM and AXIOM. |
ASF Project |
Apache Tuscany - http://tuscany.apache.org |
Keywords |
SCA, JAX-WS, WSDL2Java, Web Services, JAXB, SDO |
Description |
1) Generate a java interface for each WSDL portType based on the JAX-WS mapping rules (the result should be pretty much like the wsimport). 2) Allows the plug-in of databinding specific XSD2Java generators (such as JAXB xjc or SDO XSD2Java) to generate the Java interfaces/classes from the XSD types representing the parts for WSDL messages. The XSD2Java can generate strongly-typed java types or weakly-typed java types (such as DOM Node, SDO DataObject, or AXIOM OMNode).There are existing tools from JAX-WS and Axis2 with some deficiencies: * JAX-WS wsimport requires the WSDL has service/port. In SCA, we only require the portType. JAX-WS wsimport only supports JAXB and there is no way to replace it with other databindings such as SDO or AXIOM.* Axis2 WSDL2Java is not fully JAX-WS compliant. *The CXF wsdl2java tool DOES support "portType" only wsdls and also has pluggable databindings (no SDO yet). |
Possible Mentors |
Raymond Feng (rfeng AT apache DOT org) |
Status |
Not assigned yet |
Subject ID |
tuscany-scadomain-search |
Title |
Add search capability to index/search artifacts in the SCA domain, including the contributions, WSDL/XSDs, java files, composite files. |
ASF Project |
Apache Tuscany - http://tuscany.apache.org |
Keywords |
SCA, Doamin, Search, Contribution, WSDL, XSD, Composite |
Description |
An SCA domain can have many contributions installed. An SCA contribution is a collection of artifacts such as java classes, composite files, WSDLs, XSDs, BPEL scripts. It would be great for SCA domain adminstrator or users can search the SCA domain to find artifacts based on keywords or artifact names. The implementation can be based Apache Lucene. It will integrate with the SCA domain manager web application to provide the search functionality. |
Possible Mentors |
Raymond Feng (rfeng AT apache DOT org) / Adriano Crestani |
Status |
Not assigned yet |
Subject ID |
tuscany-jpa-extension |
Title |
Add a Tuscany extension a short desciptive title of the subject |
ASF Project |
Apache Tuscany - http://tuscany.apache.org |
Keywords |
tuscany, sca, jpa, persistence |
Description |
This project would extend the SCA programming model to expose services that interact with a persistent layer in a declarative fashion hiding the implementation details from the service developer.It's all about simplicity, allowing a service to be defined without explicitly coding the persistence layer. This would be a new Tuscany Component Type named Implementaiton.JPA. A developer would provide the business objects that would by JPA to do the OR mapping, and a business interface that would be introspect by Tuscany to properly make the JPA calls to the persistence layer to retrieve the information. Information on how to connect to the data source would be done in the composite, and we could provide some annotations to read. More info available at http://cwiki.apache.org/confluence/display/TUSCANY/SCA+Java+implementation.jpa |
Possible Mentors |
Luciano Resende (lresende) |
Status |
No assigned yet |
Subject ID |
tuscany-host-android |
Title |
Empower Google Android applications to easily consume business services |
ASF Project |
Apache Tuscany - http://tuscany.apache.org |
Keywords |
Java, SCA, Mobile, Google Android |
Description |
This project would continue efforts made during GSoC'08 to mold a lightweight SCA core/runtime that will allow Google Android mobile applications to easily consume business services. This would require a follow-up on recent efforts to complete the bootstrapping of Tuscany extensions in a customized Android module. Then, once it's running, it would be about demonstrating the capabilities with the android calculator application, and to finish – extending the existing store android sample application. |
Possible Mentors |
Oscar Castañeda (ocastaneda AT apache DOT org) Adriano Crestani (adrianocrestani AT apache DOT org) |
Status |
Interested students: Lookman SANNI (lookouster AT gmail DOT com), Sudheendra Bhat (sbhat2 AT gmu DOT edu) |
Apache RAT
Subject ID |
rat-1-cutnpaste |
Title |
RAT 1 Cut&Paste Detector |
ASF Project |
Apache RAT - http://incubator.apache.org/rat/ |
Keywords |
RAT, cut&paste, source plagiarism, detector |
Description |
Create a tool for detecting code fragments cut&pasted from different sources. Scanning new project code with the tool helps achieving the following: if you borrow the code from Apache, you are safe and legal. In other words, the tool guards the whole Apache source base against GPL/MPL/educational/non-profit licensed code. Also, scanning improves code reuse: one may decide to switch to re-using released library instead of code chunks. Technically, the tool uses Google [code] search, Krugle, Koders and other search engines to identify copied fragments. It scans the source file, and its algorithm may be thought as a sliding window. The window is enlarged to the right until the containing text cannot be matched via the code search engine. If the biggest match is considered to be suspicious according to heuristics (e.g. the match is big or contain misspelled words), it is added to the ranked list of suspicious matches, and the sliding window resets to the last word. If the match is not suspicious, only the leftmost token from sliding window is removed. Then the process continues until the whole file is parsed. Since Google code search understands regular expressions, it is possible to make the scanner invariant against variable renames. For real code bases the thorough sliding window algorithm may abuse search engine resources, so the first objective of the task is to define a scalable heuristic solution. The one way to go is to think of a person who manually scans the files: he scans suspicious entries, misspelled words, and uncommon constructs (including string and array constants) first. Another way to go is in-depth understanding of how search engines work. For example, several requests to the code search engine may be combined into one regular expression. To be eligible for this project, students will have to provide a tool prototype in a form of a patch to the existing RAT code base. Good luck. |
Possible Mentors |
Alexei Fedotov <rat-dev AT incubator.apache.org> |
Status |
Marija Sljivovic, proposal |
Apache Sling
Subject ID |
sling-wikipedia |
Title |
Wikipedia - powered by Apache Sling! |
ASF Project |
Apache Sling - http://incubator.apache.org/sling |
Keywords |
JCR, Java, Javascript, HTML, CSS |
Description |
Reimplement (a subset of) Wikipedia on Apache Sling, as a demo and showcase application, based on publically available Wikipedia data. Requires good knowledge of web technologies, server-side javascript, some Java, some OSGi and willingness to learn and apply JCR concepts. |
Notes |
To be eligible for this project, students will have to provide a useful patch for one of the existing Sling example applications, for example the espblog sample found at http://svn.apache.org/repos/asf/incubator/sling/trunk/samples/espblog/ |
Possible Mentors |
Bertrand Delacretaz |
Status |
Not assigned yet |
Hadoop HBase
Subject ID |
hbase-snapshot |
Title |
Snapshot an HBase Table |
ASF Project |
Apache Hadoop HBase - http://hbase.org |
Keywords |
Hadoop, Bigtable, Java, Database, Backup |
Description |
Users want to be able to snapshot hbase tables with minimal downtime. See HBASE-50 for discussion and for description of two possible implementations. |
Possible Mentors |
Stack <stack AT apache DOT org> |
Status |
Guilherme Germoglio -- germoglio -- is a candidate |
Subject ID |
hbase-hbfsck |
Title |
Integrity check and repair tool |
ASF Project |
Apache Hadoop HBase - http://hbase.org |
Keywords |
Hadoop, Bigtable, Java, Database, Integrity |
Description |
Need a tool to read the content of the Distributed File System and catalog tables in hbase and flag integrity issues or mismatches. Tool would also effect certain types of repair at admins orchestration. See HBASE-7 for discussion. |
Possible Mentors |
Stack <stack AT apache DOT org> |
Status |
no students yet |
Subject ID |
hbase-optimize |
Title |
Optimize flush, split and compactions |
ASF Project |
Apache Hadoop HBase - http://hbase.org |
Keywords |
Hadoop, Bigtable, Java, Database, Optimization |
Description |
Any optimizations that can be found in hbase memory flushing, file compactions or improvements in split speeds will make the whole hbase system more efficient. See HBASE-1261 for discussion. |
Possible Mentors |
Stack <stack AT apache DOT org> |
Status |
no students yet |
Subject ID |
hbase-locality |
Title |
Exploit locality when assigning regions |
ASF Project |
Apache Hadoop HBase - http://hbase.org |
Keywords |
Hadoop, Bigtable, Java, Database, HDFS, Data Locality |
Description |
Study how blocks are allocated in a cluster under a running regionserver. Modify the region assignment function to maximize locality assigning regions ensuring regions are assigned to regionservers running on same node as hosting datanode. See HBASE-57 for discussion. |
Possible Mentors |
Stack <stack AT apache DOT org> |
Status |
Samuel Guo -- guosijie -- is a candidate |
Apache Roller
Subject ID |
roller-themesave |
Title |
Support for saving and loading Roller themes |
ASF Project |
Apache Roller - http://roller.apache.org |
Keywords |
web, blogging, java, rest, web services, roller |
Description |
Currently the only way to create a new Roller theme is to work outside of Roller, editing text files, creating a theme.xml file and then placing resources into Roller's themes directory. This is very inconvenient and error-prone. To fix this develop the ability to save a blog's current theme as a Theme Archive File (TAF). A TAF should contain all theme tempaltes, resources and the theme.xml file. Also provide the ability for Roller to load whatever TAFs that it finds in the themes diretcory. |
Possible Mentors |
Dave Johnson |
Status |
interested students: Tatyana Tokareva <tokareva AT cs DOT vsu DOT ru> (proposal: [WWW] http://wiki.apache.org/general/SoC2009/TatyanaTokareva-Roller-ThemeSaveProposal) |
Subject ID |
roller-export |
Title |
Support data import/export for Roller blogs |
ASF Project |
Apache Roller - http://roller.apache.org |
Keywords |
web, blogging, java, rest, web services, roller |
Description |
Support Roller via the Google Blog Converters effort http://code.google.com/p/google-blog-converters-appengine, Blog Markup language or using AtomPub to import/export data for a Roller blog. |
Possible Mentors |
Dave Johnson |
Status |
No students yet |
Subject ID |
roller-mobile |
Title |
iPhone-style Mobile interface for Roller blog server |
ASF Project |
Apache Roller - http://roller.apache.org |
Keywords |
mobile java html css javascript struts blogging web |
Description |
Develop an alternative user-interface for Roller, one that will work well on a small device with good HTML/Javascript support and provides an iPhone-like interface. Your interface should support blog browsing, posting and editing, commenting and photo uploading. This work should be done with the iPhone friendly iUI library (http://code.google.com/p/iui/). On the server-side you must implement via Roller's Struts 2 action infrastructure. Here are some example mobile blog client UIs: http://mashable.com/2008/03/10/blogging-phone-tools |
Possible Mentors |
Dave Johnson |
Status |
No students yet |
Subject ID |
roller-social |
Title |
Simple Social Networking for Roller blog server |
ASF Project |
Apache Roller - http://roller.apache.org |
Keywords |
web, social networking, blogging, java, roller, openjpa, struts |
Description |
Enable Twitter-like Activities (aka status messages) with following, followers, optional 140-character text limit and other Twitter features as time allows. This could be done via new table Followers, which allows users to follow each other, a new Manager for querying this table, and which stores Activity as blog entries but using a different category scheme so that they can be omitted from standard blog feeds. Provide a theme and blog template macros for updating status and for displaying your Activities, Friends Activities, All Activities and combinations of those. Support OpenSocial API by integrating Shindig. |
Possible Mentors |
Dave Johnson |
Status |
interested students: Floris Erich <florisjuh AT gmail DOT com> (proposal: http://wiki.apache.org/general/SoC2009/FlorisErich-Roller-SocialProposal) |
Subject ID |
roller-abdera |
Title |
Abdera AtomPub for Roller blog server |
ASF Project |
Apache Roller - http://roller.apache.org |
Keywords |
web, blogging, java, rest, web services, atompub, atom, roller, abdera, rome |
Description |
Roller currently uses ROME Propono for it's AtomPub implementation, but Apache Abdera provides a much stronger foundation for building the AtomPub services that Roller needs. This project is to develop a new Abdera-based AtomPub implementation for Roller. At a minimum, this implementation provide the same collections as the existing Propono implementation: blog entries and file-uploads. You should test it with Tim Bray's Atom Protocol Exerciser (APE) and all AtomPub-supporting blog clients you can find. |
Possible Mentors |
Dave Johnson |
Status |
No students yet |
Apache ServiceMix
Subject ID |
servicemix-web-mgmt |
Title |
Web-based management console for ServiceMix |
ASF Project |
Apache ServiceMix - http://servicemix.apache.org/ |
Keywords |
OSGi, JBI, Web (AJAX, REST) |
Description |
Currently, administration of the ServiceMix Kernel OSGi container can be done through an text-based console. While this is a very powerful tool, we would also like to build a web-based management console to administer the platform. One key requirement for this console is that it allows for easy extension by features being installed on top of Kernel, e.g. ServiceMix 4 installs an NMR and JBI layer on top of Kernel, both of which should be administrable seamlessly through the web UI |
Possible Mentors |
Guillaume Nodet <gnodet AT apache DOT org>, Gert Vanthienen <gertv AT apache DOT org> |
Status |
no students yet |
Subject ID |
servicemix-audit |
Title |
User-friendly tool to audit exchanges in the ESB |
ASF Project |
Apache ServiceMix - http://servicemix.apache.org/ |
Keywords |
OSGI, JBI, Web (AJAX, REST) |
Description |
When an ESB is being deployed in a production environment, it will process a lot of messages per day. ServiceMix NMR has a few implementations for auditing (as file or serialized in a db) and indexing (using Lucene) exchanges, but it would be nice to create new auditing tool that makes it easier for an end-user or system administator to find out what happened with any given exchange and even visualize the entire flow that exchange participated in. |
Possible Mentors |
Guillaume Nodet <gnodet AT apache DOT org>, Gert Vanthienen <gertv AT apache DOT org> |
Status |
no students yet |
Apache Xerces
Subject ID |
xerces-schema-component-designators |
Title |
Implement a parser and evaluator for Schema Component Designators (SCD) |
ASF Project |
|
Keywords |
Java, XML, XML Schema, Component Designators, Xerces |
Description |
Design and implement a parser and evaluator for Schema Component Designators. A Schema component designator identifies XML Schema Component(s) defined in the W3C XML Schema Definition language using a path expression (similar to an XPath expression). This project invovles writing a parser to parse the SCD expression (automatic code generation tools like JavaCC can be used to generate the parser), and an evaluator to evaluate the expression (return the selected components from an XSModel). |
Possible Mentors |
Khaled Noaman (knoaman at apache dot org), Sandy Gao (sandygao at ca dot ibm dot com), Michael Glavassevich (mrglavas at apache dot org) |
Status |
No students yet |
Subject ID |
xerces-schema11-particle-restriction |
Title |
Check subsumption relationship of complex type particles |
ASF Project |
|
Keywords |
Java, XML, Schema, Restriction, Particle, Xerces |
Description |
In XML Schema 1.1, the sequences of sub-elements allowed by a complex type is determined by its content model, a particle. When one complex type restricts a base type, its particle is required to accept less than that of the base type. When <all> model groups are used in the restriction type (while the base type may also have an <all> group or have a combination of <sequence>s and <choice>s), the "accept less" requirement becomes an interesting task. The student is expected to study this problem, research existing solutions to similar issues (e.g. those listed here), and propose and implement a solution. This work also helps to address the Priority Feedback in the specification regarding the usefulness and implementation difficulty of this feature. |
Possible Mentors |
Sandy Gao (sandygao at ca dot ibm dot com) |
Status |
No students yet |
Subject ID |
xerces-xinclude-xpointer-enhancements |
Title |
Implement a streamable subset of the XPointer xpointer() scheme for XInclude |
ASF Project |
|
Keywords |
Java, XML, XInclude, XPointer, XPath, Xerces |
Description |
Xerces currently supports the XPointer Framework and the XPointer element() scheme. Though this meets the minimum requirements for XInclude it's quite limited in capability compared to the more powerful XPointer xpointer() scheme which allows one to select document fragments using XPath. Xerces' streaming XInclude processor would be greatly improved if it provided support for a streamable subset of this scheme. |
Possible Mentors |
Michael Glavassevich (mrglavas at apache dot org) |
Status |
No students yet |
Subject ID |
xerces-dom-level-3-load-and-save |
Title |
Asynchronous LSParser and parseWithContext |
ASF Project |
|
Keywords |
Java, JAXP, DOM, XML, Xerces |
Description |
The goal of this project is to complete the implementation of the DOM Level 3 LSParser. Though Xerces has a functional LSParser, there are a couple parts of the spec which still need to be implemented. This includes an asynchronous version which returns from the parse method immediately and builds the DOM tree on another thread as well as parseWithContext which allows a document fragment to be parsed and attached to an existing DOM. |
Possible Mentors |
Michael Glavassevich (mrglavas at apache dot org) |
Status |
No students yet |
Subject ID |
xerces-unicode-normalization |
Title |
Add support for Unicode character normalization and normalization checking |
ASF Project |
|
Keywords |
DOM, Java, Unicode, XML, Xerces |
Description |
Design and implement support for Unicode character normalization and normalization checking to allow applications to produce fully normalized documents and verify that the documents they process are fully normalized. With an XML document which has been verified to be fully normalized an application can perform string comparisons without having to deal with the many possible forms (with the same meaning) allowed by Unicode. These features have been on the TODO list for several releases, but keep being deferred because none of the current Xerces committers are familiar with Unicode normalization forms, so it would be great to get someone with that knowledge (or interested in acquiring it) involved in the project. |
Possible Mentors |
Michael Glavassevich (mrglavas at apache dot org) |
Status |
1 interested student: Richard Kelly <rakkie AT gmail DOT com> (proposal: http://wiki.apache.org/general/SoC2009/RichardKelly-Xerces-NormalizationProposal) |