http://apache.org/images/asf_logo_wide.gif

The Google Summer of Code 2008 is now over, see the SoC2008FinalReport. We're looking forward to 2009 (assuming Google are kind enough to sponsor it again).

THIS IS THE 2008 ARCHIVE PAGE, DO NOT ADD PROJECTS HERE!!! SEE SummerOfCode2009 INSTEAD!!!

Google is sponsoring the Summer of Code, the The Apache Software Foundation (ASF) is 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 start on Monday, March 24th. See the GSoC 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 SummerOfCode2007 to get an idea of what worked and didn't.

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, indicating that they want to mentor ASF projects via the appropriate checkbox in that webapp. 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.

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.

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


Axis

Subject ID

expat-axis2c-integration

Title

Integrate expat parser into Axis2/C soap engine

ASF Project

Apache Axis2/C

Keywords

Apache Axis2/C, expat, xml, soap

Description

Apache Axis2/C is a soap processing engine written in C. Any xml parser could be pluggable to Axis2/C engine through a parser abstraction layer, already we have integrated two xml parsers to Axis2/C engine namly libxml2 and Guththila xml parser. This is an idea to integrate expat parser to Apache Axis2/C through parser abstraction layer. If you need more information please come and ask on axis-c-dev@ws.apache.org

Possible Mentors

Dinesh Premalal <dinesh AT apache DOT org>

Status

Lasith Eranda , Yatin Deshpande

Subject ID

improving-axis2c-neethi

Title

Improvements to Axis2/C Neethi

ASF Project

Apache Axis2/C

Keywords

Apache Axis2/C, neethi, ws-policy, intersection

Description

Apache Axis2/C is a soap processing engine written in C. Neethi is its ws-Policy supporting module. Current implementation does not have support to policy intersection. And it does not support operation and message level policy support at client side. And domain specific policy processing are not distributed to those domains (eg : security). This project includes adding those improvements to Neethi/C.

Possible Mentors

Manjula Peiris <manjula AT wso2 DOT com>

Status

One interested student-Manoj Pushpakumara <it_pushpakumara AT yahoo DOT com>(proposal:http://wiki.apache.org/general/ManojPushpakumara/GSoC/proposal#)

Subject ID

axis2c-axiom-xpath

Title

XPath Language for Axiom/C.

ASF Project

Apache Axis2/C - http://ws.apache.org/axis2/c

Keywords

XPath, Axiom/C, Axis2/C

Description

Axiom/C currently doesn't support XPath language. It would be an advantage to have an XPath implementation, when WS-Trust and other WS-Security related specifications are concerned (Which are being implemented in Rampart/C, a sister project of Axis2/C). This project is to implement XPath Language 1.0 or 2.0 or both specifications on Axiom/C. If you are interested, axis-c-dev@ws.apache.org would be a good place to direct all your questions.

Possible Mentors

Dumindu Pallewela <dumindu AT apache DOT org>, Nandika Jayawardena <nandika AT apache DOT org>

Status

Three interested students - Varuna Parinda Jayasiri <vpjayasiri AT gmail DOT com> (proposal: http://wiki.apache.org/ws/VarunaJayasiri-GSoC2008-axiom-xpath), Divye Kapoor <divyekapoor AT gmail DOT com>, Charith Paranaliyanage <paranaliyanage AT gmail DOT com>

Subject ID

axis2c-mex

Title

WS-MetadataExchange for Axis2/C

ASF Project

Apache Axis2/C - http://ws.apache.org/axis2/c

Keywords

Axis2/C, WS-MetadataExchange, Metadata, WSDL, Policy

Description

Meta data describes a web service in various ways. Typical meta data for a service include WSDL and policy (both these are XML files). WS-MetadataExchange defines a protocol for retrieving these data. Intension of this project is to implement this protocol for Axis2/C. At the moment Axis2/C doesn't has a mechanism for defining meta data for a service. This project includes design and implementation of mechanism for defining meta data for a service as well.

Possible Mentors

Supun Kamburugamuwa <supun AT apache DOT org>

Status

no student yet

Subject ID

Axis2/C CGI

Title

CGI Support for Axis2/C

ASF Project

Apache Axis2/C - http://ws.apache.org/axis2/c

Keywords

Axis2/C, CGI, Apache http Server

Description

CGI stands for the Common Gateway Interface. It defines a standard format for communication between a web server and a extension. Axis2/C (Server side) can be considered as a application (extension) which can generate out put to a given http request. This project involves creating a CGI program which gets input from a web server as a CGI input, run the Axis2/C and generate an output according to the CGI specification.

Possible Mentors

'

Status

no student yet


Cayenne

Subject ID

cayenne-modeler-improvements

Title

CayenneModeler Usability Improvements

ASF Project

Apache Cayenne - http://cayenne.apache.org

Keywords

java,swing,usbility

Description

Improve usability of Cayenne main modeling GUI tool, CayenneModeler. CayenneModeler is a cross-platform Swing application. Suggested list of improvements can be found here: http://cwiki.apache.org/CAY/summer-of-code-2008.html

Possible Mentors

Andrus Adamchik <aadamchik AT apache DOT org>

Status

Thanuka Piaysena <thanuka.sp AT gmail DOT com> is interested, (Proposal : http://wiki.apache.org/general/ThanukaPiyasena/2008GSoCProposal/CayenneModelerUsabilityImprovements). Tharindu Jayasuriya <djtharindu AT gmail DOT com> is interested, (Proposal: http://wiki.apache.org/general/tharinduj/GSoC2008Proposal). So is Ke Qiang Zhao<zhaokeqiang AT gmail DOT com>, (Proposal: http://wiki.apache.org/general/KeQiangZhao/GSoC2008Proposal). Michael Schaefer <hacktron AT googlemail DOT com> is interested


Cocoon

Subject ID

cocoon-forms-dojo

Title

Cocoon Forms: Upgrade Dojo from 0.4.x to 1.1

ASF Project

Apache Cocoon - http://cocoon.apache.org

Keywords

cocoon-forms,javascript,dojo,css,xslt

Description

Cocoon Forms currently uses Dojo 0.4.x for its Ajax mode and for advanced user controlls. The Dojo framework has changed a lot from 0.4 to 0.9 which means that there is more to do than simply replacing libraries. The main work will consist of upgrading all the XSLT files that produce the HTML/CSS/Javascript content.

Possible Mentors

Reinhard Poetz <reinhard AT apache DOT org>

Status

1 interested student

Subject ID

cocoon-continuations

Title

Fix continuations in Rhino 1.6

ASF Project

Apache Cocoon - http://cocoon.apache.org

Keywords

cocoon-continuations,javascript,java

Description

https://issues.apache.org/jira/browse/COCOON-1579

Possible Mentors

Antonio Gallardo <antonio AT apache DOT org>

Status

no students yet


Commons

Subject ID

commons-configuration-newformats

Title

New file formats for Commons Configuration

ASF Project

Commons Configuration - http://commons.apache.org/configuration

Keywords

Java, Configuration, YAML, JSON, OGDL, parser

Description

Commons Configuration aims at supporting a wide range of configuration formats. The API already supports PList, Properties, INI and XML files. The purpose of this project is to implement new formats to support YAML, OGDL and JSON files.

Possible Mentors

Emmanuel Bourg <ebourg AT apache DOT org>

Status

6 interested students, one application from Dzmitry Churbanau <nett.by AT gmail DOT com>

Subject ID

commons-jci-newcompiler

Title

New compiler implementations for e.g. Ruby and Python

ASF Project

Commons JCI - http://commons.apache.org/jci

Keywords

Java, Ruby, Python

Description

JCI is a java compiler interface. It can be used to either compile java (or any other language that can be compiled to java classes like e.g. groovy or javascript) to java. JRuby and Jython are possible candidates to be integrated with.

Possible Mentors

Torsten Curdt <tcurdt AT apache DOT org>

Status

no students yet


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, Myrna van Lunteren, Bryan Pendleton, Øystein Grøvlen, Kristian Waagan

Status

no students yet


Directory

Subject ID

directory-olm-persistence

Title

Implement LDAP OLM/persistence tool

ASF Project

Directory - http://directory.apache.org/

Keywords

java,ldap,ORM,persistence,mapping

Description

In the relational database world, tools such as Hibernate offer an object-relational mapping for Java objects and classes. We would like to explore the possibilities of a new kind of object-relational mapping tool tailored towards the LDAP access model. It would provide mapping functionality between POJOs/POJIs/POJCs and LDAP schema and entries. The behavior of the tool will be easy to control through the use of Java annotations. See http://cwiki.apache.org/confluence/display/DIRxPMGT/Google+Summer+of+Code for information on this project

Possible Mentors

Alex Karasulu, Emmanuel Lecharny

Status

David Montag <davmo024 at student.liu.se>

Subject ID

directory-slp-da

Title

Implement Directory Agent (DA) in SLP

ASF Project

Directory - http://directory.apache.org/

Keywords

java,ldap,slp

Description

A DA stores service informations and exchanges those service informations with other DAs located on the same or different subnet. Service Agents (SA) and User Agents (UA) either register or obtain services at a DA. The Apache SLP implementation misses Directory Agent (DA) functionality. See [WWW] http://en.wikipedia.org/wiki/Service_Location_Protocol

Possible Mentors

Jan Rellermeyer, Markus Kuppe

Status

No Student Yet

Subject ID

directory-slp-ipv6

Title

Implement the IPv6 support in the Apache DS SLP provider

ASF Project

Directory - http://directory.apache.org/

Keywords

java,ldap,slp,ipv6

Description

SLP allows service discovery in network both with a central directory agent (DA) and in multicast mode. There is an RFC 3111 to support IPv6 with SLP. The idea of this project is to implement this IPv6 support and the changes described in the RFC to map the SLP scopes to different multicast addresses. See [WWW] ftp://ftp.rfc-editor.org/in-notes/rfc3111.txt

Possible Mentors

Jan Rellermeyer

Status

No Student Yet


Hadoop

Subject ID

hadoop-talend-integration

Title

integrate hadoop and talend

ASF Project

hadoop

Keywords

hadoop, talend, etl

Description

Talend is a open source data integration tool used for manipulating files and converting them into other formats (or importing them into a database, or search engine). Integrating it with hadoop will allow it to process larger files

Possible Mentors

Ian Holsman

Status

none yet.. be the first!


Harmony

Subject ID

harmony-gc-1

Title

Implement the "Compressor" GC proposed by Kermany and Petrank

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, memory management, GC

Description

The Compressor garbage collector [1] is a compacting GC that leverages virtual memory support in underlying OS. It compacts the heap in two passes.
[1] Haim Kermany, Erez Petrank: The Compressor: concurrent, incremental, and parallel compaction. PLDI 2006.

Possible Mentors

Xiao-Feng Li (xiaofeng.li (a) gmail com)

Status

Unassigned

Subject ID

harmony-gc-2

Title

Implement the "Mapping Collector" proposed by Wegiel and Krintz

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, memory management, GC

Description

The Mapping Collector [1] utilizes the virtual memory support in a novel way so that it can compact the heap without moving the objects or fixing the references.
[1] Michal Wegiel and Chandra Krintz, The Mapping Collector: Virtual Memory Support for Generational, Parallel, and Concurrent Compaction, ASPLOS 2008.

Possible Mentors

Xiao-Feng Li (xiaofeng.li (a) gmail com)

Status

Unassigned

Subject ID

harmony-gc-3

Title

Write a graphical front-end for Harmony memory management

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, memory management, GC

Description

Harmony runtime needs a graphic front-end visualizing the memory management activities and the runtime status. It can be standalone or better an Eclipse plugin. It can be online display of the runtime execution, or offline processing of the log.

Possible Mentors

Xiao-Feng Li (xiaofeng.li (a) gmail com)

Status

Unassigned

Subject ID

harmony-gc-4

Title

Unify the native memory management of Harmony DRLVM

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, virtual machine, memory management, GC

Description

DRLVM uses inconsistent APIs for native memory management, such as APR or malloc or mmap. It is desirable to have a unified API for native memory management. Hopefully the runtime native memory usage can be managed with a global view and then optimized. This layer could be extended to provide the API for Java heap native management as well.

Possible Mentors

Xiao-Feng Li (xiaofeng.li (a) gmail com)
Andrey Yakushev (andrey.yakushev (a) gmail com )

Status

two interested students

Subject ID

harmony-gc-5

Title

Build a garbage collector for C/C++ programs on the top of Harmony

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

C, C++, memory management, GC

Description

One may notice a lack of open source effective parallel GC implementation for C/C++ programs. For example, Parrot (Perl 6) community expressed an interest in attaching our GC to their code base. If numbers would show some benefit, we might get other adopters of our code base. Successful completion of GC library on the top of Harmony would teach a person in refactoring skills and give a good background in garbage collection.

Possible Mentors

Alexei Fedotov;
Xiao-Feng Li (xiaofeng.li (a) gmail com)

Status

Unassigned

Subject ID

harmony-tools-1

Title

Implement "Bundle Tool", a tool to make binary snapshots of Java applications with Harmony

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, tools

Description

There is no simple way for Harmony users to define the list of needed classes, jars and native libraries for their applications. Create a tool that creates a Harmony package with the classes and native libraries used by specific application or work flow. First of all this application should collect data from one or multiple application runs and then create a Harmony bundle without unneeded classes and native code.

Possible Mentors

Egor Pasko
Mark Hindess

Status

Unassigned

Subject ID

harmony-tools-2

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, javaws and policytool. For this task you would implement one of these tools, either in Java or C/C++ if preferred.

Possible Mentors

Sian January (sianjanuary (a) gmail com)
Mark Hindess

Status

Five interested students

Subject ID

harmony-vm-1

Title

Support invokedynamic bytecode instruction in Harmony VM and JIT

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

C++, java, virtual machine, JIT, bytecode, dynamic languages

Description

Support the invokedynamic instruction i.e. the ideas of JSR 292 draft. And implement basic support for a dynamic language like Python, Ruby, JavaScript as a proof of concept. We want this language to have dynamic typing, reasonable user base, usable standard library, a set of compatibility tests. Students are free to choose the actual dynamic language. We will discuss the reasoning behind the choice. The code involved is C (VM part) C++ (JIT) and probably some class library part in Java. The task is rather challenging for the summer, hence, will require a lot of interaction with the team on the tricky details. Lots of fun guaranteed.

Possible Mentors

Egor Pasko

Status

Unassigned

Subject ID

harmony-vm-2

Title

Integrate Harmony and Jikes RVM

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, virtual machine, VM

Description

Jikes RVM is a research virtual machine that has been a test bed for many JVM and GC developments. This project will look to integrate the Harmony class libraries with Jikes RVM. This will require work on the VM interfaces (the Jikes RVM is a Java-in-Java VM meaning that current VM interfaces are written in Java rather than native code) as well as exploring how Jikes RVM can be integrated with Harmony's threading and other runtime models.

Possible Mentors

Ian Rogers
Tim Ellison (t.p.ellison (a) gmail com)

Status

Unassigned

Subject ID

harmony-jit-1

Title

Refactor Java Bytecode Translator in Harmony JIT

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

C++, JIT, bytecode, compilers, Java

Description

The optimizing JIT (Jitrino.OPT) parses Java bytecode on early stages of method compilation to produce Internal Representation to allow further stages to optimize it. This code is well-tested, but not easy to extend (for example, not easy to teach JIT to understand new types of instructions) The major inconvenience is that translator makes things too complicated by trying to optimize on the fly. The task is to refactor the Java-Bytecode-Translator in the Jitrino.OPT to make the code cleaner and simplify the data structures used. Move optimization to a separate stage. Take care of correctly mapping line number info from bytecode into JIT instructions. Code is C++, but not a tricky style. The student will get an in-depth knowledge of Java bytecode, overall knowledge of just-in-time compilation techniques.

Possible Mentors

Egor Pasko

Status

one interested student: WikiTranslatorRefactoringProposal

Subject ID

harmony-demo-1

Title

Make FreeCol game playable on Harmony

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, games, graphics

Description

For someone who is interested in a graphical user interface development, enabling one of the most popular strategic games may be an interesting task. Since client API development is not finished, the one who would choose this task might learn designing of areas related to image processing, code development, bug fixing and refactoring. See for details on the current status of the project. BTW, you may want to replace FreeCol enabling with enabling of your favorite application, and this is welcome.

Possible Mentors

Alexei Fedotov
Alexei Zakharov

Status

two interested students

Subject ID

harmony-swing-rtf

Title

Develop RTF parser for Harmony

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, parsers, RTF, Swing

Description

Harmony still has several gaps in its standard Java API implementation. One of these gaps is RTF parser for Swing - complete RTF parser should be implemented. This task is about grammars, parsers, scanners, general methods of compiler design, compile generators, RTF document format and Java Swing programming.

Possible Mentors

Alexei Zakharov
Alexey Petrenko

Status

one interested student

Subject ID

harmony-awt-dnd

Title

Implement Drag-and-Drop support for Harmony

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, AWT, Drag-and-Drop

Description

Harmony still has several gaps in its standard Java API implementation. One of these gaps is Drag-and-Drop. Drag-and-drop implementation is quite interesting task for someone interested in deep AWT internals and native code.

Possible Mentors

Alexey Petrenko

Status

one interested student

Subject ID

harmony-imageio

Title

Complete implementation of the javax.imageio package

ASF Project

Apache Harmony http://harmony.apache.org

Keywords

Java, ImageIO

Description

The Harmony's implementation of the javax.imageio package is incomplete and untested. There are more than 100 methods that have to be implemented to get fully functional imageio API. Beside that, the implemented functionality is slow and unstable. This task may be interesting for students interested in image decoding, encoding and processing technologies, Java and native programming.

Possible Mentors

Andrey Pavlenko

Status

unassigned


Incubator

Qpid

Subject ID

qpid-demo-0-9

Title

Create a nice demo using Apache Qpid across all supported languages using the AMQP 0-9 version

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, C++,.NET, Python, Ruby, Messaging, AMQP, JMS

Description

The Qpid project likes to have an enterprise grade demo that reflects the messaging capabilities of the AMQP (www.amqp.org) protocol that uses brokers written in Java and C++ and the clients written in Java/JMS, c++, python, ruby, .NET. The Demo can use any client server problem (like bank, stock, render farm, travel site etc) to illustrate the capabilities of the Qpid

Contact

Rajith Attapattu <rajith AT apache DOT org>

Status

taken

Subject ID

qpid-demo-0-10

Title

Create a nice demo using Apache Qpid across all supported languages using the AMQP 0-10 version

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, C++,.NET, Python, Ruby, Messaging, AMQP, JMS

Description

The Qpid project likes to have an enterprise grade demo that reflects the messaging capabilities of the AMQP (www.amqp.org) protocol that uses brokers written in Java and C++ and the clients written in Java/JMS, c++, python, ruby, .NET. The Demo can use any client server problem (like bank, stock, render farm, travel site etc) to illustrate the capabilities of the Qpid.The Demo can use any client server problem (like bank, stock, render farm, travel site etc) to illustrate the capabilities of the Qpid

Contact

Rajith Attapattu <rajith AT apache DOT org>

Status

taken

Subject ID

qpid-c++-windows/solaris

Title

Port the C++ client/broker to Windows (and or Solaris)

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

C++,Windows, Solaris, Messaging, AMQP

Description

The current C++ code is written for linux, but has a nice abstraction for the IO layer for porting to a specific OS. The project would like a to have c++ clients working on windows and solaris

Contact person

Rajith Attapattu <rajith AT apache DOT org>

Status

no students yet

Subject ID

qpid-convert-ccpunit-boost

Title

Convert cppunit tests to boost tests

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

C++,CPPUnit, boost, Messaging, AMQP

Description

The current unit tests for the c++ code base is done as CPPUnit and would like to convert it to Boost tests

Contact person

Rajith Attapattu <rajith AT apache DOT org>

Status

no students yet

Subject ID

qpid-cli-JMX

Title

CLI for extracting JMX information from the Qpid Java broker

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, JMX, Messaging, AMQP

Description

Design and implement a simple solution, runnable from the command line, for extracting useful JMX information from the Qpid Java Broker. Solution should be configurable at runtime to allow users to decide which bits of info they're interested in and when. Might be nice to see the information extracted in a report format

Contact person

Rajith Attapattu <rajith AT apache DOT org>, Marnie Mccormack <marnie AT apache DOT org>

Status

taken

Subject ID

QPID-JMX-bridge

Title

Create a dynamic bridge from Qpid-mgmt protocol to JMX to facilitate std management console integration

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, JMX, Messaging, AMQP

Description

Project is to create a process will receive management Data through the Qpid mgmt protocol and translate those into JMX. This will allow the C++ broker to also be hooked into a JMX allow for all the instrumentation data to be read from JMX, all the methods to be invoked, and the configuration to be updated through standard JMX consoles. Note that all the schema is dynamic, so the bridge need to configure itself at runtime, so this service should derive it's behavior from the schema provided to it. Qpid mgmt side protocol can be found here: http://cwiki.apache.org/qpid/management-design-notes.html

Contact person

Rajith Attapattu <rajith AT apache DOT org>, Marnie Mccormack <marnie AT apache DOT org>

Status

taken

Subject ID

QPID-WS-DM-bridge

Title

Create a dynamic bridge from QPID-mgmt protocol to JMX to facilitate std management console integration

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, WS_DM, Messaging, AMQP

Description

Project is to create a process will receive management Data through the QPID mgmt protocol and translate those into WS-DM This will allow the C++ broker to also be hooked into any WS-DM console and allow for all the instrumentation data to be read, all the methods to be invoked, and the configuration to be updated through standard WS-DM console like BMC, Tivoli, etc. Note that all the schema is dynamic, so the bridge need to configure itself at runtime, so this service should derive it's behavior from the schema provided to it. QPID mgmt side protocol can be found here: http://cwiki.apache.org/qpid/management-design-notes.html

Contact person

Rajith Attapattu <rajith AT apache DOT org>, Marnie Mccormack <marnie AT apache DOT org>

Status

taken

Subject ID

qpid-java-broker-configuration

Title

Qpid Java broker configuration

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, JMX, Messaging, AMQP

Description

Refactor Qpid Java Broker configuration into a more elegant xml schema, with xsd, covering all existing configuration options and allowing for extension. Additionally implement a module to validate broker configuration files, which could be run standalone i.e. before starting a broker, to check that they're well formed and validate against the xsd.

Contact person

Rajith Attapattu <rajith AT apache DOT org, Marnie Mccormack <marnie AT apache DOT org>

Status

taken

Subject ID

qpid-android-demo

Title

Create a demo using Apache Qpid on Android

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, Android, Mobile, Messaging, AMQP, JMS

Description

Implement a simple demo on Android using the Qpid client to send messages to and from a broker, such as stock price information and trade orders

Contact person

Aidan Skinner <aidan AT apache DOT org>

Status

no students yet

Subject ID

qpid-dbus-transport

Title

Create a DBus transport using Apache Qpid

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

C, C++, Java, Python, DBus, Messaging, AMQP

Description

Running DBus over AMQP would allow some interesting use cases, such as home automation, automatic synchronisation and the like, turning it into a true network bus. You would need to be familiar with C, C++, Python or Java, and would ideally have experience working with disparate Free Software communities.

Contact person

Aidan Skinner <aidan AT apache DOT org>

Status

no students yet

Subject ID

qpid-hibernate-backend

Title

Create a database store for Apache Qpid

ASF Project

Apache Qpid - http://cwiki.apache.org/qpid/

Keywords

Java, Messaging, AMQP, SQL, Hibernate, Derby

Description

Create a persistent datastore for Qpid that uses JDBC to connect to a database and which uses Apache Derby as a default backend. Bonus points for implementing it using hibernate so it's easily portable across different databases. You would need to be familiar with Java, JDBC, Hibernate and SQL.

Contact person

Aidan Skinner <aidan AT apache DOT org>

Status

no students yet


Incubator

Shindig

Subject ID

shindig-sample-container

Title

Shindig Sample Container Enhancements

ASF Project

Apache Shindig http://incubator.apache.org/shindig/

Keywords

Apache Shindig sample container opensocial

Description

The goal here would be to put more container-side code into shindig. Right now most of the code we have deals with things inside the gadget iframe, and gadgets.js needs some improvements in order to be feasible for real containers. Example tasks: adding UIs for opensocial methods like requestShareApp and requestPermission, adding a canvas view, the ability to host more than one gadget and drag them around. Anythinig that makes the sample container more real is valid.

Possible Mentors

Cassie Doll <doll AT apache DOT org>

Status

no students yet

Subject ID

shindig-testing

Title

Shindig Testing

ASF Project

Apache Shindig http://incubator.apache.org/shindig/

Keywords

Apache Shindig testing selenium

Description

Add testing infrastructure, and tests, for the Shindig javascript and/or sample container. This could either be done using something like selenium, or js unit.

Possible Mentors

Cassie Doll <doll AT apache DOT org>

Status

no students yet

Subject ID

shindig-php-wrappers

Title

Shindig Php Wrappers

ASF Project

Apache Shindig http://incubator.apache.org/shindig/

Keywords

Apache Shindig php opensocial

Description

Essentially let people write opensocial gadgets in a model similar to what facebook offers. This would probably involve creating php libraries, perhaps adding some server apis to Shindig, and a lot of experimenting.

Possible Mentors

Cassie Doll <doll AT apache DOT org>

Status

no students yet

Subject ID

shindig-openended

Title

Shindig Openended Project

ASF Project

Apache Shindig http://incubator.apache.org/shindig/

Keywords

Apache Shindig

Description

Because Shindig is so new, there is a bunch of work to do. So, if one of the projects listed above doesn't match your exact desires, please email your project idea to shindig-dev at incubator.apache.org. If it sounds plausible, we can add it to this wiki and let you apply.

Possible Mentors

Cassie Doll <doll AT apache DOT org>

Status

no students yet


Incubator

Tuscany

Subject ID

tuscany-geronimo-console

Title

Tuscany SCA support in the Geronimo Admin console

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany/

Keywords

Apache Tuscany, Apache Geronimo, SCA, JEE

Description

Develop an ACE portlet to deploy and manage SCA contributions with the Geronimo admin console. Apache Tuscany already integrates with Geronimo but only using command line tools. This project would enhance that support to integrate with the Geronimo Admin GUI which would provide a massive usability improvement. This project is relatively self contained but has scope to help enhance the Tuscany deployment and embedding capabilities. Would suit some one with some interest in GUIs and enterprise systems.

Possible Mentors

Ant Elder <antelder AT apache DOT org>, Luciano Resende <lresende AT apache DOT org>, Raymond Feng <rfeng AT apache.org>

Status

Student Candidate: Thilina Buddhika <thilinamb AT gmail DOT com>

Subject ID

tuscany-corba-binding

Title

Code an extension to Apache Tuscany for CORBA support

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany/

Keywords

Apache Tuscany, CORBA, SCA

Description

This project would develop extensions for Tuscany to support CORBA. If you studied CORBA as part of your course and you can program in Java then this could be an ideal project.

Possible Mentors

Ant Elder <antelder AT apache DOT org>, Raymond Feng <rfeng AT apache DOT org>

Status

Open, snap it up now!

Subject ID

tuscany-erlang

Title

An SCA implementation extension for Erlang

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany/

Keywords

Apache Tuscany, Erlang, SCA

Description

One for the programming language geeks: develop a Tuscany implementation extension for Erlang. SCA and Apache Tuscany define a next generation programming model with extensible support for any programming language. In this project you would create a Tuscany extension for Erlang, one of the more interesting languages of recent times. Dennis Byrne has written an article on integrating Java and Erlang so that along with the code for one of the existing Tuscany language extensions gives a good start for getting a Tuscany Erlang extension working, although the nature of Erlang does make this a little more challenging than a regular Java extension.

Possible Mentors

Ant Elder <antelder AT apache DOT org>

Status

Unassigned

Subject ID

tuscany-map-reduce-simplification

Title

Simplify the development of Map/Reduce applications and their integration with various sources of information.

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

Java, SCA, Map/Reduce

Description

Integrate Apache Tuscany and Apache Hadoop to allow developers to develop Mappers/Reducers/Combiners as SCA (Service Component Architecture) components, and make it really easy to assemble them together using SCA compositions and integrate external sources of info using the SCA bindings supported by Tuscany (e.g. Web services, JMS and JEE apps, Atom feeds).

Possible Mentors

Jean-Sebastien Delfino <jsdelfino AT apache DOT org>

Status

Possible Candidate: Chris Trezzo <ctrezzo AT gmail DOT com>

Subject ID

tuscany-gdata-integration

Title

Integrate Google services in SCA compositions.

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

Java, SCA, Google GData

Description

Add a GData binding to Apache Tuscany (could be an extension of the current Tuscany ATOM binding) to allow people to integrate SCA compositions with Google services and GData clients.

Possible Mentors

Jean-Sebastien Delfino <jsdelfino AT apache DOT org>, Raymond Feng <rfeng AT apache DOT org>

Status

Unassigned

Subject ID

tuscany-shindig-integration

Title

Use Tuscany and Apache Shindig to mash-up Google gadgets and backend SCA service components (Web Services, existing JEE services etc)

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

Java, SCA, Google Gadget, Services

Description

That GSoC project could explore a few interesting options, including: Use SCA to model references from Javascript gadgets to server-side services, and provide transparent access to these services (by injecting Javascript proxies into the gadgets, similar to what Tuscany currently does with its SCA Widget component support). Use SCA composites to configure and assemble the gadgets together as well, allowing the application developer to use a consistent SCA-based assembly model for client-side mashups, server-side compositions and mixes of the two..

Possible Mentors

Jean-Sebastien Delfino <jsdelfino AT apache DOT org>

Status

Unassigned

Subject ID

service-level-agreement-for-tuscany-applications

Title

Service Level Agreement Support for Tuscany Applications

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

Java, SCA, SLA

Description

This requires an SLA description language, annotations to add in the application code in order to instrument it, and an SLA engine (monitoring, automatic reaction, policy injection, etc).

Possible Mentors

Luciano Resende <lresende AT apache DOT org> and Mario Antollini <mario.antollini AT intel DOT org>, Raymond Feng <rfeng AT apache DOT org>

Status

Unassigned

Subject ID

tuscany-android-integration

Title

Allow Google Android applications to easily consume business services

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

Java, SCA, Mobile, Google Android

Description

Develop a thin SCA core/runtime to allow Google Android mobile applications to easily consume business service.

Possible Mentors

Luciano Resende <lresende AT apache DOT org>, Adriano Crestani <adrianocrestani AT apache DOT org>

Status

Possible candidate : 曹迪 <caodixy AT gmail DOT com>, Oscar Castaneda <oscar DOT castaneda AT gmail DOT com>

Subject ID

tuscany-php-integration

Title

Integrate Java SCA with PHP

ASF Project

Apache Tuscany http://incubator.apache.org/tuscany

Keywords

PHP, PECL, SCA

Description

PHP PECL project provides a PHP implementation of the Service Component Architecture (SCA) programming model (see http://pecl.php.net/package/SCA_SDO). SCA is a programming model which allows you to assemble applications using a Service-Oriented Architecture style. This includes producing and consuming Web services of various types, including soap/http, json-rpc, REST,Atom. Looking into the Tuscany Apache Incubator project (see http://incubator.apache.org/tuscany/ ), which provides a Java-based implementation of SCA. This runtime is extensible for different implementation types, and currently supports things like BPEL, OSGi, Java (POJOs), Spring, JavaScript and XQuery. <br> I think it would make a very interesting and challenging project to extend Apache Tuscany to supports the concept of a PHP implementation type. This implementation type would be used to include PHP SCA enabled applications in an assembly which might also include any of the other Apache Tuscany implementation types. A realistic scenario for this solution might be a PHP Web front end to a Java business application. Tuscany includes a Java "store" application which could be converted to demonstrate the final deliverables. The solution would also require extensions to the PHP SCA project to enable existing PHP SCA service configuration to be externally overridden by Tuscany. The major work items would be as follows: <br><br> 1. Extend PHP SCA to support external configuration of services (PHP Scripting skills).<br> 2. Extend Apache Tuscany to provide a PHP implementation type (Java and XML/XML Schema skills).<br>3. Extend Apache Tuscany to support PHP SCA as a deployment target(Java skills).

Possible Mentors

Graham Charters <gcharters AT googlemail DOT com> (co-mentoring)

Status

Available


James

Subject ID

james-verp

Title

Verp Bounce handler

ASF Project

James - http://james.apache.org

Keywords

java, email, verp, mailing list

Description

Variable Envelope Return Path (VERP) http://cr.yp.to/proto/verp.txt is an elegant technique for identifying the original message or recipient associated with a "bounced" email. It requires two components an outbound re-writer to modify return addresses of outbound email, and an inbound handler which identifes the failed recipient or message and passes this on to a component which can "do something useful". Apache James has an extensible architecture using plug-ins called Mailets which is ideally suited to the development of enhancements such as these. Subscribe to James Server Developers list http://james.apache.org/mail.html for more information.

Possible Mentors

Danny Angus

Status

no students yet

Subject ID

james-mladmin

Title

Mailing list manager enhancements

ASF Project

James - http://james.apache.org

Keywords

email, java, mailing list

Description

James has a rudimentary mailing list manager, the purpose of this project is to develop additional functionality, such as subscription and message moderation, double opt-in, subscribe/usubscribe from other addresses and possibly a bounce manager using the VERP handler if it is developed as part of GSOC. Subscribe to James Server Developers list http://james.apache.org/mail.html for more information.

Possible Mentors

Danny Angus

Status

no students yet


Labs

Droids

Subject ID

labsdroids-tika-parser

Title

Apache Tika parser integration

ASF Project

Apache Droids - http://people.apache.org/~thorsten/droids/

Keywords

robots, java, tika, spring

Description

Droids has not yet a real parser implementation. Apache Tika however is dedicated to parser different formats to xhtml. There should be a tide integration and cooperation with the tika project as part of GSOC. Subscribe to Labs Developers list http://labs.apache.org/mail.html for more information.

Possible Mentors

Thorsten Scherler <thorsten AT apache DOT org>

Status

no students yet

Subject ID

labsdroids-httpclient-protocol

Title

Apache Httpclient 4.0 integration as default protocol

ASF Project

Apache Droids - http://people.apache.org/~thorsten/droids/

Keywords

robots, java, httpclient, spring

Description

Droids has a rudiment protocol implementation. Apache HttpClient however is dedicated to connect to different protocols. There should be written different protocol plugins (at least http and https) as part of GSOC. Subscribe to Labs Developers list http://labs.apache.org/mail.html for more information.

Possible Mentors

Thorsten Scherler <thorsten AT apache DOT org>

Status

no students yet


Lenya

Subject ID

lenya-xml-diff

Title

XML Diff for Lenya

ASF Project

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

Contact person

Richard Frovarp <rfrovarp AT apache DOT org>

Status

1 interested student

Subject ID

lenya-user-interface-enhancement

Title

Lenya User Interface Enhancement

ASF Project

Apache Lenya - http://lenya.apache.org/

Keywords

Java, Cocoon, XML, XSLT, XHTML

Description

The Lenya user interface could use enhancement in several areas. Some suggestions include: CSS based layout, site tree with more interaction capabilities (maybe using Ajax), or syntax highlighting for the source editor. Many more enhancement ideas exist in bugzilla. Other suggestions are welcome.

Contact person

Richard Frovarp <rfrovarp AT apache DOT org>

Status

no students yet


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 or more machine learning algorithms 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, Isabel Drost, Jeff Eastman

Status

no students yet

Subject ID

solr-javascript-client

Title

Implement a solr javascript library and client example

ASF Project

Solr - http://lucene.apache.org/solr

Keywords

java,client,search,ui

Description

Build a reusable javascript library to interface with solr. The library should be well documented and provide good templates to get started. Ideally this would also integrate with an improved "example" data set.

Possible Mentors

Ryan McKinley

Status

no students yet


Mina

Subject ID

mina-multicast

Title

Implement a Multicast Support for Mina

ASF Project

Mina - http://mina.apache.org

Keywords

java,networks,protocols

Description

Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract · event-driven · asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. Unfortunately, there is no multicast support in NIO. Hence, a multicast implementation has to work with the traditional IO libraries. This multicast support is required to implement a SLP protocol provider for the Apache Directory Server [http://ds.apache.org}

Possible Mentors

Jan S. Rellermeyer, Islam Alnaggar

Status

no student yet


mod_wombat

Subject ID

modwombat-dbd

Title

Implement an interface to apr_dbd for mod_wombat

ASF Project

mod_wombat - http://httpd.apache.org/

Keywords

lua, database, apr, httpd

Description

Implement an interface to apr_dbd and possible mod_dbd for use in mod_wombat

Possible Mentors

Brian McCallister

Status

no students yet

Subject ID

modwombat-api

Title

Improve apache and apr stuct mapping to Lua

ASF Project

mod_wombat - http://httpd.apache.org/

Keywords

lua, apr, api, httpd

Description

Improve the mapping of apache and apr structs to Lua data structures

Possible Mentors

Matthew Burke

Status

no students yet


ODE

Subject ID

ode-monitor

Title

Ajax-based Monitoring Console for Apache ODE

ASF Project

Apache ODE - http://ode.apache.org/

Keywords

ajax, bpel, monitoring, java, javascript

Description

Apache ODE is an execution engine for business processes, i.e. Web Service orchestrations, formalized in WS-BPEL. Such processes are typically of a long-running nature. That makes it important to have monitoring facilities that allow to capture the current state of health of processes and their instances. The project's goal is to write an intuitive web application that combines both management and monitoring facilities and integerates with ODE's Axis2 deployment.

Possible Mentors

Tammo van Lessen <vanto@a.o>

Status

no students yet


Rampart

Subject ID

auditing-for-apache-rampart

Title

Auditing support for Apache Rampart

ASF Project

Apache Rampart http://ws.apache.org/rampart

Keywords

Apache Rampart, Apache Axis2, WS Security, Auditing

Description

Apache Rampart is the security module of Axis2. It secures SOAP messages according to specifications in the WS-Security stack. Rampart currently doesn't store the auditing details about SOAP messages.It will be very useful for system administrators to have the auditing details about successful and failed attempts and other useful information as set of audit logs/reports. These logs should be secured yet should be very easy to be monitored by administrators. Apache Rampart should also be improved to use these information when necessary to validate the security for incoming messages.

Possible Mentors

Nandana Mihindukulasooriya <nandana AT apache DOT org>

Status

1 interested student : Heshan Suriyaarachchi <heshan DOT suri AT gmail DOT com >

Subject ID

BSP Validation for Apache Rampart

Title

Basic Security Profile 1.0 Validation for Apache Rampart

ASF Project

Apache Rampart http://ws.apache.org/rampart

Keywords

Apache Rampart, Basic Security Profile 1.0

Description

Apache Rampart is the security module of Axis2. It implements Web Service Security , WS Secure Conversation , WS Trust and WS Security Policy specifications.Basic Security Profile 1.0 specification http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html from web services interoperability organization defines a set of standards that further clarifies the ambiguities in other specifications with clarifications. Even though Apache Rampart adheres to these standards when securing the messages, there is no proper validation done for BSP 1.0 standards in incoming messages. Purpose of this project is to implement a handler in Rampart which validates the incoming messages for WSP 1.0 standards.

Possible Mentors

Nandana Mihindukulasooriya <nandana AT apache DOT org>

Status

no students yet


Roller

Subject ID

roller-openid

Title

Open ID support for Roller blog server

ASF Project

Apache Roller - http://roller.apache.org

Keywords

web, openid, security, java, blogging

Description

Add OpenID support to Roller both for user accounts and for those leaving blog comments. Make it so that new and existing users can choose to tie their user account to an OpenID identity and use that for all subsequent logins. And, make it so that bloggers can require that folks login via OpenID before leaving a comment. These features could be implemented by modifying Roller's existing Spring Acegi configuration and/or by documenting how to use a Container Manager Authentication (CMA) configuration, e.g. OpenSSO paired with a Servlet Container. Either way, it is likely that you'll have to write some custom Java code to make this work.

Possible Mentors

Dave Johnson <snoopdave AT apache DOT org>

Status

no students yet

Subject ID

roller-mobile

Title

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 mobile phone that has limited HTML and Javascript capabilities. Your interface should support blog browsing, posting and editing, commenting and photo uploading. You can choose how to do this: use JavaME to target Java phones, simple HTML to target all phones or more complex HTML/Javascript to make something iPhone friendly (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-activities

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.

Possible Mentors

Dave Johnson

Status

No students yet

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

Subject ID

roller-atomexport

Title

AtomPub Export 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

By accessing Roller's existing AtomPub interface you can get all of your blog entries and all of your file uploads, but how do you get the rest of your blog data out of Roller? If you exposed all Roller data via AtomPub collections, you could make it very easy for folks to extract their data from Roller. You would need to support new Atom collections for comments, bookmarks, templates, categories and weblog settings. And, you'd need to define some Atom format extensions to hold some Roller specific setting (blog entry plugins, comment rules, etc.). Develop something good enough and you could get other blog vendors to support it too; you could solve the whole blog data portability problem once and for all! You can choose to use Roller's existing ROME AtomPub implementation or develop a new one with Abdera (see also roller-abdera).

Possible Mentors

Dave Johnson

Status

1 interested student: Ruchira Wageesha (Proposal http://wiki.apache.org/general/RuchiraWageesha/GSoC)

Subject ID

roller-photogallery

Title

Better photo and file upload features in Roller blog server

ASF Project

Apache Roller - http://roller.apache.org

Keywords

web, blogging, user interface, photos'

Description

Roller's existing file upload interface is lacking. Thereis no way to page through your file uploads, you can't search, you can't see thumbnail images, the folder creation user interface is poor and you can't store any metadata for each file. Once you've uploaded an image, there is no "Would you like to resize and blog that image?" or any other help with using images. What we need is a whole new interface in Roller for uploading, browsing, searching and using uploaded files. You can design this new interface and even pick a (Apache-license compatible) JavaScript library to help you, but on the server-side you must implement via Roller's Struts 2 action infrastructure.

Possible Mentors

Dave Johnson

Status

No students yet

Subject ID

roller-shindig

Title

Google Gadget support in Roller blog server via Shindig

ASF Project

Apache Roller - http://roller.apache.org

Keywords

web, blogging, socialnetworking, gadgets, java

Description

Make it possible for Roller users to add Google Gadgets to their blog themes by incorporating the Apache Shindig Gadget Container into Roller. This work may require the creation of: - Database tables to store gadget information and properties - Manager class for create, retrieve, update and delete of gadget information - Page models for accessing gadget information in blog templates - Macros for displaying the gadget holder(s) in blog templates - Admin UI for choosing gadgets to be included in gadget holder(s) - Implementation of Opensocial REST API via Shindig stubs

Possible Mentors

Dave Johnson

Status

No students yet


Sling

Subject ID

sling-scala

Title

Make the Scala language usable in Sling

ASF Project

Sling - http://incubator.apache.org/sling

Keywords

scala java sling webapps scripting

Description

The goal of this project is to integrate a Scala compiler/interpreter with Sling, to allow for scripting the processing of HTTP requests using the Scala language. Tutorials and examples will be created to demonstrate and explain this new Sling module. Deliverables include the necessary code to allow Sling scripts to be written in Scala, automated tests, a tutorial that shows how Scala features can help writing Sling applications, and a demo Sling application written in Scala.

Possible Mentors

Bertrand Delacretaz (with Michael Duerig's help for the hardcore Scala stuff)

Status

One application received

Subject ID

sling-testing

Title

Create more automated tests for Sling

ASF Project

Sling - http://incubator.apache.org/sling

Keywords

sling java javascript testing webapps jcr junit

Description

Add automated tests to the already extensive test suite of Sling, especially involving loading, unloading and reconfiguring OSGi bundles during testing. A number of Sling functionalities are also missing basic JUnit tests, which could be added in a first phase, before tackling the more complex OSGi-related testing.

Possible Mentors

Bertrand Delacretaz

Status

available

Subject ID

sling-explorer

Title

Create a JCR explorer based on Sling and dojo

ASF Project

Sling - http://incubator.apache.org/sling

Keywords

sling java javascript dojo webapps jcr

Description

Create a JCR browser/explorer based on Sling and dojo, that provides a GUI for manipulating data (Nodes, Properties, files, node type definitions, etc.) stored in a JCR repository.

Possible Mentors

Tobias Bocanegra (Jackrabbit committer, Sling community member)

Status

One application received


Xerces

Subject ID

xercesj-type-alternatives

Title

Add support for Conditional Type Assignment (XML Schema 1.1) to Xerces-J

ASF Project

Apache Xerces Java http://xerces.apache.org/xerces2-j/

Keywords

Java, XML, XML Schema, Xerces

Description

Work is underway in Xerces on an implementation of XML Schema 1.1. One of the changes in the new edition of XML Schema - Structures is the addition of Conditional Type Assignment which allows for a type to be assigned to an element based on the element's attributes. In a nutshell an XML Schema author will define an assocication between a condition, in the form of an XPath expression, and a type. When the condition is met, the associated type will be used as the element's type. The goal of this project is to design and implement the Conditional Type Assignment in Xerces-J.

Possible Mentors

Khaled Noaman <knoaman AT apache DOT org>

Status

2 interested students: Paty Lustosa (patlustosa AT gmail DOT com), Hiranya Jayathilaka (csehiranya AT gmail DOT com) (Proposal: http://wiki.apache.org/general/HiranyaJayathilaka/gsoc2008/xerces-j-proposal)


SummerOfCode2008 (last edited 2011-05-05 14:58:19 by SebastianBazley)