|
Size: 48181
Comment:
|
← Revision 72 as of 2009-09-20 23:35:55 ⇥
Size: 48361
Comment: converted to 1.6 markup
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| [http://apache.org/images/asf_logo_wide.gif] Google is sponsoring the [http://code.google.com/summerofcode.html Summer of Code], and [http://www.apache.org/ The Apache Software Foundation] is one of the participating mentor organizations. This page lists all the subjects currently proposed by the Apache Software Foundation. |
[[http://apache.org/images/asf_logo_wide.gif]] Google is sponsoring the [[http://code.google.com/summerofcode.html|Summer of Code]], and [[http://www.apache.org/|The Apache Software Foundation]] is one of the participating mentor organizations. This page lists all the subjects currently proposed by the Apache Software Foundation. |
| Line 9: | Line 9: |
| Mentors must register with the GSoC webapp, see [http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-mentors-and-organization-administrators instructions] | Mentors must register with the GSoC webapp, see [[http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-mentors-and-organization-administrators|instructions]] |
| Line 15: | Line 15: |
| First, review the GSoC wiki page on [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students] to make sure you really want to apply to GSoC. | First, review the GSoC wiki page on [[http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents|Advice for Students]] to make sure you really want to apply to GSoC. |
| Line 21: | Line 21: |
| See [http://code.google.com/support/bin/answer.py?answer=60325&topic=10729 GSoC Programme Timeline] | See [[http://code.google.com/support/bin/answer.py?answer=60325&topic=10729|GSoC Programme Timeline]] |
| Line 27: | Line 27: |
| [[Anchor(Forrest)]] | <<Anchor(Forrest)>> |
| Line 30: | Line 30: |
| || '''ASF Project''' || ''[http://forrest.apache.org Apache Forrest]'' || | || '''ASF Project''' || ''[[http://forrest.apache.org|Apache Forrest]]'' || |
| Line 36: | Line 36: |
| [[Anchor(Batik)]] | <<Anchor(Batik)>> |
| Line 41: | Line 41: |
| || '''Description''' || ''Apache Batik is a Java toolkit for processing [http://www.w3.org/Graphics/SVG/ SVG]. It is currently a mostly complete [http://www.w3.org/TR/SVG11/ SVG 1.1 Full] implementation, and there has been some work towards [http://www.w3.org/TR/SVGMobile12/ SVG 1.2 Tiny] implementation. This project is to implement the SVG 1.2 Tiny [http://www.w3.org/TR/SVGMobile12/svgudom.html Micro DOM (µDOM)], a cut down version of the DOM designed for mobile devices and required for [http://www.jcp.org/en/jsr/detail?id=226 JSR-226].'' || | || '''Description''' || ''Apache Batik is a Java toolkit for processing [[http://www.w3.org/Graphics/SVG/|SVG]]. It is currently a mostly complete [[http://www.w3.org/TR/SVG11/|SVG 1.1 Full]] implementation, and there has been some work towards [[http://www.w3.org/TR/SVGMobile12/|SVG 1.2 Tiny]] implementation. This project is to implement the SVG 1.2 Tiny [[http://www.w3.org/TR/SVGMobile12/svgudom.html|Micro DOM (µDOM)]], a cut down version of the DOM designed for mobile devices and required for [[http://www.jcp.org/en/jsr/detail?id=226|JSR-226]].'' || |
| Line 49: | Line 49: |
| || '''Description''' || ''Apache Batik is a Java toolkit for processing [http://www.w3.org/Graphics/SVG/ SVG]. It is currently a mostly complete [http://www.w3.org/TR/SVG11/ SVG 1.1 Full] implementation, and there has been some work towards [http://www.w3.org/TR/SVGMobile12/ SVG 1.2 Tiny] implementation. This project is to implement a framework for processing media in SVG documents. SVG 1.2 Tiny has [http://www.w3.org/TR/SVGMobile12/multimedia.html 'audio' and 'video' elements]. The media framework will need to be extensions to the DOM, GVT rendering tree and SMIL timing engine support. (Bonus marks for additionally implementing ASL licensed audio/video codecs! :))'' || | || '''Description''' || ''Apache Batik is a Java toolkit for processing [[http://www.w3.org/Graphics/SVG/|SVG]]. It is currently a mostly complete [[http://www.w3.org/TR/SVG11/|SVG 1.1 Full]] implementation, and there has been some work towards [[http://www.w3.org/TR/SVGMobile12/|SVG 1.2 Tiny]] implementation. This project is to implement a framework for processing media in SVG documents. SVG 1.2 Tiny has [[http://www.w3.org/TR/SVGMobile12/multimedia.html|'audio' and 'video' elements]]. The media framework will need to be extensions to the DOM, GVT rendering tree and SMIL timing engine support. (Bonus marks for additionally implementing ASL licensed audio/video codecs! :))'' || |
| Line 57: | Line 57: |
| || '''Description''' || ''Apache Batik is a Java toolkit for processing [http://www.w3.org/Graphics/SVG/ SVG]. It is currently a mostly complete [http://www.w3.org/TR/SVG11/ SVG 1.1 Full] implementation. One feature of SVG 1.1 currently unimplemented in Batik is the [http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement 'foreignObject' element], which is used for incorporating non-SVG content into an SVG document. This is commonly used to include XHTML content. This project would be to implement a framework for 'foreignObject' support and specifically to integrate an XHTML engine (such as [https://xhtmlrenderer.dev.java.net/ Flying Saucer]( into Batik for use with 'foreignObject'. '' || | || '''Description''' || ''Apache Batik is a Java toolkit for processing [[http://www.w3.org/Graphics/SVG/|SVG]]. It is currently a mostly complete [[http://www.w3.org/TR/SVG11/|SVG 1.1 Full]] implementation. One feature of SVG 1.1 currently unimplemented in Batik is the [[http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement|'foreignObject' element]], which is used for incorporating non-SVG content into an SVG document. This is commonly used to include XHTML content. This project would be to implement a framework for 'foreignObject' support and specifically to integrate an XHTML engine (such as [[https://xhtmlrenderer.dev.java.net/|Flying Saucer]]( into Batik for use with 'foreignObject'. '' || |
| Line 65: | Line 65: |
| || '''Description''' || ''Apache Batik is a Java toolkit for processing [http://www.w3.org/Graphics/SVG/ SVG]. It is currently a mostly complete [http://www.w3.org/TR/SVG11/ SVG 1.1 Full] implementation. One feature of the latest SVG 1.2 Full draft is [http://www.w3.org/TR/2004/WD-SVG12-20041027/vectoreffects.html vector effects], which allows the author to specify complex transformations of the stroking, filling and marker painting of shapes. Vector effects are not comprehensively specified currently, and the feature could change by the time the vector effects module is published again. The W3C SVG Working Group is interested in how difficult the implementation is and whether all of the currently specified features are actually useful. This project would be to implement as much of vector effects as possible--the simple ones (stroke/paint/marker reordering/simple transformations/non-scaling paths) and at least one of the computationally complex effects (setback, union/difference/intersection). You will require knowledge of computational geometry algorithms.'' || | || '''Description''' || ''Apache Batik is a Java toolkit for processing [[http://www.w3.org/Graphics/SVG/|SVG]]. It is currently a mostly complete [[http://www.w3.org/TR/SVG11/|SVG 1.1 Full]] implementation. One feature of the latest SVG 1.2 Full draft is [[http://www.w3.org/TR/2004/WD-SVG12-20041027/vectoreffects.html|vector effects]], which allows the author to specify complex transformations of the stroking, filling and marker painting of shapes. Vector effects are not comprehensively specified currently, and the feature could change by the time the vector effects module is published again. The W3C SVG Working Group is interested in how difficult the implementation is and whether all of the currently specified features are actually useful. This project would be to implement as much of vector effects as possible--the simple ones (stroke/paint/marker reordering/simple transformations/non-scaling paths) and at least one of the computationally complex effects (setback, union/difference/intersection). You will require knowledge of computational geometry algorithms.'' || |
| Line 73: | Line 73: |
| || '''Description''' || ''Apache Batik is a Java toolkit for processing [http://www.w3.org/Graphics/SVG/ SVG]. It is currently a mostly complete [http://www.w3.org/TR/SVG11/ SVG 1.1 Full] implementation. At the moment, Batik's browser application, Squiggle, has quite rudimentary support for inspecting a loaded document: you can either view the plain XML source, or browse the DOM tree and view the current computed CSS property values on each element. Also, error reporting is quite limited: a message box showing the error and the Java exception that caused it pops up for invalid content or script errors. This project is to implement better error handling and document inspection. Examples of features to implement are a Firefox-like error console, a better DOM tree inspector that allows modification of the document and inspection of SVG specific values, and an animation timeline viewer.'' || | || '''Description''' || ''Apache Batik is a Java toolkit for processing [[http://www.w3.org/Graphics/SVG/|SVG]]. It is currently a mostly complete [[http://www.w3.org/TR/SVG11/|SVG 1.1 Full]] implementation. At the moment, Batik's browser application, Squiggle, has quite rudimentary support for inspecting a loaded document: you can either view the plain XML source, or browse the DOM tree and view the current computed CSS property values on each element. Also, error reporting is quite limited: a message box showing the error and the Java exception that caused it pops up for invalid content or script errors. This project is to implement better error handling and document inspection. Examples of features to implement are a Firefox-like error console, a better DOM tree inspector that allows modification of the document and inspection of SVG specific values, and an animation timeline viewer.'' || |
| Line 78: | Line 78: |
| [[Anchor(axiom-c14n)]] | <<Anchor(axiom-c14n)>> |
| Line 81: | Line 81: |
| || '''ASF Project''' || ''[http://ws.apache.org/commons/axiom/ Apache AXIOM]'' || | || '''ASF Project''' || ''[[http://ws.apache.org/commons/axiom/|Apache AXIOM]]'' || |
| Line 88: | Line 88: |
| [[Anchor(MyFaces)]] | <<Anchor(MyFaces)>> |
| Line 91: | Line 91: |
| || '''ASF Project''' || ''[http://myfaces.apache.org/ Apache MyFaces]'' || | || '''ASF Project''' || ''[[http://myfaces.apache.org/|Apache MyFaces]]'' || |
| Line 100: | Line 100: |
| || '''ASF Project''' || ''[http://myfaces.apache.org/ Apache MyFaces]'' || | || '''ASF Project''' || ''[[http://myfaces.apache.org/|Apache MyFaces]]'' || |
| Line 109: | Line 109: |
| || '''ASF Project''' || ''[http://myfaces.apache.org/ Apache MyFaces]'' || | || '''ASF Project''' || ''[[http://myfaces.apache.org/|Apache MyFaces]]'' || |
| Line 118: | Line 118: |
| || '''ASF Project''' || ''[http://myfaces.apache.org/ Apache MyFaces]'' || | || '''ASF Project''' || ''[[http://myfaces.apache.org/|Apache MyFaces]]'' || |
| Line 126: | Line 126: |
| [[Anchor(jackrabbit-jcr-demo)]] | <<Anchor(jackrabbit-jcr-demo)>> |
| Line 129: | Line 129: |
| || '''ASF Project''' || [http://jackrabbit.apache.org/ Apache Jackrabbit] || | || '''ASF Project''' || [[http://jackrabbit.apache.org/|Apache Jackrabbit]] || |
| Line 134: | Line 134: |
| || '''Possible Students''' || Dominik Wagenknecht (dominik ''at'' wagenknecht ''dot'' cc) see [http://wiki.apache.org/general/DominikWagenknecht/GSoC2007Proposal proposal] . Federico Paparoni (federico.paparoni ''at'' gmail ''dot'' com) see [http://www.javastaff.com/jackrabbitdemo/project.html proposal] || [[Anchor(jackrabbit-jcr-wikipedia)]] |
|| '''Possible Students''' || Dominik Wagenknecht (dominik ''at'' wagenknecht ''dot'' cc) see [[http://wiki.apache.org/general/DominikWagenknecht/GSoC2007Proposal|proposal]] . Federico Paparoni (federico.paparoni ''at'' gmail ''dot'' com) see [[http://www.javastaff.com/jackrabbitdemo/project.html|proposal]] || <<Anchor(jackrabbit-jcr-wikipedia)>> |
| Line 139: | Line 139: |
| || '''ASF Project''' || [http://jackrabbit.apache.org/ Apache Jackrabbit] || | || '''ASF Project''' || [[http://jackrabbit.apache.org/|Apache Jackrabbit]] || |
| Line 141: | Line 141: |
| || '''Description''' || Build a Demo application that implements the basic features of [http://en.wikipedia.org/wiki/Main_Page Wikipedia] based on JCR and build an importer that can import the existing content from Wikipedia. This particular demo application seems to be ideal because it allows to explain content modelling based on a well-known application. Since there is a lack of content-modelling tutorials the documentation of this project is very likely to be referenced by a very large audience. From a scalability perspective it allows to show that relatively large sets of content can be handeled by jackrabbit. This application deals with both large binaries and fine-grained information and exposes JCR features like versioning, fulltext-search or locking in an excellent fashion. || | || '''Description''' || Build a Demo application that implements the basic features of [[http://en.wikipedia.org/wiki/Main_Page|Wikipedia]] based on JCR and build an importer that can import the existing content from Wikipedia. This particular demo application seems to be ideal because it allows to explain content modelling based on a well-known application. Since there is a lack of content-modelling tutorials the documentation of this project is very likely to be referenced by a very large audience. From a scalability perspective it allows to show that relatively large sets of content can be handeled by jackrabbit. This application deals with both large binaries and fine-grained information and exposes JCR features like versioning, fulltext-search or locking in an excellent fashion. || |
| Line 147: | Line 147: |
| [[Anchor(tuscany-declarative-das)]] | <<Anchor(tuscany-declarative-das)>> |
| Line 157: | Line 157: |
| [[Anchor(axis2c-dynamic-client)]] | <<Anchor(axis2c-dynamic-client)>> |
| Line 166: | Line 166: |
| [[Anchor(axis2c-mail-transport)]] | <<Anchor(axis2c-mail-transport)>> |
| Line 174: | Line 174: |
| || '''Possible Students''' || ''Rajika Kumarasiri(rajika at cse dot mrt dot ac dot lk) '' proposal [http://wiki.apache.org/general/RajikaKumarasiri/GSoC2007/proposal] || [[Anchor(axis2c-json-support)]] |
|| '''Possible Students''' || ''Rajika Kumarasiri(rajika at cse dot mrt dot ac dot lk) '' proposal [[http://wiki.apache.org/general/RajikaKumarasiri/GSoC2007/proposal]] || <<Anchor(axis2c-json-support)>> |
| Line 184: | Line 184: |
| || '''Possible Students''' || ''Nimesh Saveendra (nimesh at cse dot mrt dot ac dot lk) '' proposal [http://wiki.apache.org/general/NimeshSaveendra/GSOC2007/Proposal] || [[Anchor(rampartc-saml)]] |
|| '''Possible Students''' || ''Nimesh Saveendra (nimesh at cse dot mrt dot ac dot lk) '' proposal [[http://wiki.apache.org/general/NimeshSaveendra/GSOC2007/Proposal]] || <<Anchor(rampartc-saml)>> |
| Line 195: | Line 195: |
| [[Anchor(woden-serializer)]] | <<Anchor(woden-serializer)>> |
| Line 206: | Line 206: |
| [[Anchor(maven-dependency-graphing)]] | <<Anchor(maven-dependency-graphing)>> |
| Line 209: | Line 209: |
| || '''ASF Project''' || ''[http://maven.apache.org maven]'' || | || '''ASF Project''' || ''[[http://maven.apache.org|maven]]'' || |
| Line 211: | Line 211: |
| || '''Description''' || ''Using an existing graphing tool like [http://prefuse.org/ Prefuse], make a graph of dependencies for any project, with all the dependencies and visualizing as much iformation as possible (transitive dependencies, excluded dependencies, version conflict resolution, ...). Resources: [http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/grafo/ Grafo], [http://people.apache.org/~carlos/grafo/graphview.html Graphview example], [http://people.apache.org/~carlos/grafo/radialgraphview.html Radialgraphview example]'' || | || '''Description''' || ''Using an existing graphing tool like [[http://prefuse.org/|Prefuse]], make a graph of dependencies for any project, with all the dependencies and visualizing as much iformation as possible (transitive dependencies, excluded dependencies, version conflict resolution, ...). Resources: [[http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/grafo/|Grafo]], [[http://people.apache.org/~carlos/grafo/graphview.html|Graphview example]], [[http://people.apache.org/~carlos/grafo/radialgraphview.html|Radialgraphview example]]'' || |
| Line 215: | Line 215: |
| [[Anchor(maven-osgi)]] | <<Anchor(maven-osgi)>> |
| Line 218: | Line 218: |
| || '''ASF Project''' || ''[http://maven.apache.org maven]'' || | || '''ASF Project''' || ''[[http://maven.apache.org|maven]]'' || |
| Line 220: | Line 220: |
| || '''Description''' || ''Improve OSGi support in Maven, generation of OSGi manifest by default, improve eclipse compiler integration to use bundle manifests, ... Resources: [http://cwiki.apache.org/FELIX/bundle-plugin-for-maven-bnd.html Felix Bundle plugin], [http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-bundle-plugin/ Felix Bundle plugin code in Maven sandbox], [https://svn.codehaus.org/plexus/plexus-components/trunk/plexus-compiler/plexus-compilers/plexus-compiler-eclipse/ Maven Eclipse compiler]'' || | || '''Description''' || ''Improve OSGi support in Maven, generation of OSGi manifest by default, improve eclipse compiler integration to use bundle manifests, ... Resources: [[http://cwiki.apache.org/FELIX/bundle-plugin-for-maven-bnd.html|Felix Bundle plugin]], [[http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-bundle-plugin/|Felix Bundle plugin code in Maven sandbox]], [[https://svn.codehaus.org/plexus/plexus-components/trunk/plexus-compiler/plexus-compilers/plexus-compiler-eclipse/|Maven Eclipse compiler]]'' || |
| Line 226: | Line 226: |
| || '''ASF Project''' || ''[http://cocoon.apache.org]'' || | || '''ASF Project''' || ''[[http://cocoon.apache.org]]'' || |
| Line 234: | Line 234: |
| || '''ASF Project''' || ''[http://cocoon.apache.org]'' || | || '''ASF Project''' || ''[[http://cocoon.apache.org]]'' || |
| Line 240: | Line 240: |
| [[Anchor(cocoon-expression)]] | <<Anchor(cocoon-expression)>> |
| Line 243: | Line 243: |
| || '''ASF Project''' || ''[http://cocoon.apache.org]'' || | || '''ASF Project''' || ''[[http://cocoon.apache.org]]'' || |
| Line 251: | Line 251: |
| [[Anchor(xerces-stax-stream-reader)]] | <<Anchor(xerces-stax-stream-reader)>> |
| Line 254: | Line 254: |
| || '''ASF Project''' || ''[http://xerces.apache.org/xerces2-j/ Apache Xerces Java]'' || | || '''ASF Project''' || ''[[http://xerces.apache.org/xerces2-j/|Apache Xerces Java]]'' || |
| Line 256: | Line 256: |
| || '''Description''' || ''Work is underway in Xerces on an implementation of JAXP 1.4. The largest technical change in this new edition of JAXP is the addition of [http://www.jcp.org/en/jsr/detail?id=173 StAX] (JSR-173) which introduces XML pull parsing APIs to the Java platform. In constrast to push parsing APIs like SAX, StAX gives control back to the application at each step in the parsing process. The goal of this project is to design and implement the cursor-based [http://java.sun.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html XMLStreamReader] (and [http://java.sun.com/javase/6/docs/api/javax/xml/stream/StreamFilter.html filtering] support). It should be possible to accomplish this using [http://xerces.apache.org/xerces2-j/xni.html XNI] by building the [http://java.sun.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html XMLStreamReader] on top of an [http://xerces.apache.org/xerces2-j/javadocs/xni/org/apache/xerces/xni/parser/XMLPullParserConfiguration.html XMLPullParserConfiguration].'' || | || '''Description''' || ''Work is underway in Xerces on an implementation of JAXP 1.4. The largest technical change in this new edition of JAXP is the addition of [[http://www.jcp.org/en/jsr/detail?id=173|StAX]] (JSR-173) which introduces XML pull parsing APIs to the Java platform. In constrast to push parsing APIs like SAX, StAX gives control back to the application at each step in the parsing process. The goal of this project is to design and implement the cursor-based [[http://java.sun.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html|XMLStreamReader]] (and [[http://java.sun.com/javase/6/docs/api/javax/xml/stream/StreamFilter.html|filtering]] support). It should be possible to accomplish this using [[http://xerces.apache.org/xerces2-j/xni.html|XNI]] by building the [[http://java.sun.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html|XMLStreamReader]] on top of an [[http://xerces.apache.org/xerces2-j/javadocs/xni/org/apache/xerces/xni/parser/XMLPullParserConfiguration.html|XMLPullParserConfiguration]].'' || |
| Line 260: | Line 260: |
| [[Anchor(xerces-xinclude-xpointer-enhancements)]] | <<Anchor(xerces-xinclude-xpointer-enhancements)>> |
| Line 263: | Line 263: |
| || '''ASF Project''' || ''[http://xerces.apache.org/xerces2-j/ Apache Xerces Java]'' || | || '''ASF Project''' || ''[[http://xerces.apache.org/xerces2-j/|Apache Xerces Java]]'' || |
| Line 265: | Line 265: |
| || '''Description''' || ''Xerces currently supports the [http://www.w3.org/TR/2003/REC-xptr-framework-20030325/ XPointer Framework] and the [http://www.w3.org/TR/2003/REC-xptr-element-20030325/ XPointer element()] scheme. Though this meets the minimum requirements for [http://www.w3.org/TR/xinclude/ XInclude] it's quite limited in capability compared to the more powerful [http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219/ 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.'' || | || '''Description''' || ''Xerces currently supports the [[http://www.w3.org/TR/2003/REC-xptr-framework-20030325/|XPointer Framework]] and the [[http://www.w3.org/TR/2003/REC-xptr-element-20030325/|XPointer element()]] scheme. Though this meets the minimum requirements for [[http://www.w3.org/TR/xinclude/|XInclude]] it's quite limited in capability compared to the more powerful [[http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219/|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.'' || |
| Line 269: | Line 269: |
| [[Anchor(xerces-dom-level-3-load-and-save)]] | <<Anchor(xerces-dom-level-3-load-and-save)>> |
| Line 272: | Line 272: |
| || '''ASF Project''' || ''[http://xerces.apache.org/xerces2-j/ Apache Xerces Java]'' || | || '''ASF Project''' || ''[[http://xerces.apache.org/xerces2-j/|Apache Xerces Java]]'' || |
| Line 274: | Line 274: |
| || '''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 [http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save.html#LS-LSParser asynchronous] version which returns from the parse method immediately and builds the DOM tree on another thread as well as [http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save.html#LS-LSParser-parseWithContext parseWithContext] which allows a document fragment to be parsed and attached to an existing DOM.'' || | || '''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 [[http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save.html#LS-LSParser|asynchronous]] version which returns from the parse method immediately and builds the DOM tree on another thread as well as [[http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save.html#LS-LSParser-parseWithContext|parseWithContext]] which allows a document fragment to be parsed and attached to an existing DOM.'' || |
| Line 278: | Line 278: |
| [[Anchor(xerces-unicode-normalization)]] | <<Anchor(xerces-unicode-normalization)>> |
| Line 281: | Line 281: |
| || '''ASF Project''' || ''[http://xerces.apache.org/xerces2-j/ Apache Xerces Java]'' || | || '''ASF Project''' || ''[[http://xerces.apache.org/xerces2-j/|Apache Xerces Java]]'' || |
| Line 283: | Line 283: |
| || '''Description''' || ''Design and implement support for Unicode [http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#parameter-normalize-characters character normalization] and [http://www.w3.org/TR/2004/REC-xml11-20040204/#sec-normalization-checking normalization checking] to allow applications to produce [http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm 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 [http://www.unicode.org/reports/tr15/index.html Unicode normalization forms], so it would be great to get someone with that knowledge (or interested in acquiring it) involved in the project.'' || | || '''Description''' || ''Design and implement support for Unicode [[http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#parameter-normalize-characters|character normalization]] and [[http://www.w3.org/TR/2004/REC-xml11-20040204/#sec-normalization-checking|normalization checking]] to allow applications to produce [[http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm|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 [[http://www.unicode.org/reports/tr15/index.html|Unicode normalization forms]], so it would be great to get someone with that knowledge (or interested in acquiring it) involved in the project.'' || |
| Line 289: | Line 289: |
| [[Anchor(spamassassin-easy-mass-check)]] | <<Anchor(spamassassin-easy-mass-check)>> |
| Line 292: | Line 292: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 300: | Line 300: |
| [[Anchor(spamassassin-separate-expiry)]] | <<Anchor(spamassassin-separate-expiry)>> |
| Line 303: | Line 303: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 311: | Line 311: |
| [[Anchor(spamassassin-arf-plugin)]] | <<Anchor(spamassassin-arf-plugin)>> |
| Line 314: | Line 314: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 322: | Line 322: |
| [[Anchor(spamassassin-corpus)]] | <<Anchor(spamassassin-corpus)>> |
| Line 325: | Line 325: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 333: | Line 333: |
| [[Anchor(spamassassin-better-reload)]] | <<Anchor(spamassassin-better-reload)>> |
| Line 336: | Line 336: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 345: | Line 345: |
| [[Anchor(spamassassin-message-test-suite)]] | <<Anchor(spamassassin-message-test-suite)>> |
| Line 348: | Line 348: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 357: | Line 357: |
| [[Anchor(spamassassin-improved-chi)]] | <<Anchor(spamassassin-improved-chi)>> |
| Line 360: | Line 360: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 368: | Line 368: |
| [[Anchor(spamassassin-dobly)]] | <<Anchor(spamassassin-dobly)>> |
| Line 371: | Line 371: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 380: | Line 380: |
| [[Anchor(spamassassin-secure-user-auth)]] | <<Anchor(spamassassin-secure-user-auth)>> |
| Line 383: | Line 383: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 392: | Line 392: |
| [[Anchor(spamassassin-distributed-mass-check)]] | <<Anchor(spamassassin-distributed-mass-check)>> |
| Line 395: | Line 395: |
| || '''ASF Project''' || ''[http://SpamAssassin.apache.org/ SpamAssassin]'' || | || '''ASF Project''' || ''[[http://SpamAssassin.apache.org/|SpamAssassin]]'' || |
| Line 403: | Line 403: |
| [[Anchor(spamassassin-persistent-db-conns)]] | <<Anchor(spamassassin-persistent-db-conns)>> |
| Line 414: | Line 414: |
| [[Anchor(spamassassin-quarantine-config-ui)]] | <<Anchor(spamassassin-quarantine-config-ui)>> |
| Line 425: | Line 425: |
| [[Anchor(spamassassin-pluginize-bayes)]] | <<Anchor(spamassassin-pluginize-bayes)>> |
| Line 436: | Line 436: |
| [[Anchor(abdera-c)]] | <<Anchor(abdera-c)>> |
| Line 448: | Line 448: |
| [[Anchor(velocity-macro)]] | <<Anchor(velocity-macro)>> |
| Line 453: | Line 453: |
| || '''Description''' || ''The Velocity macro capability allows users to create reusable blocks of text and Velocity expressions. There are a number of ways in which this capability can be improved. The most important is to allow users to define macros in a separate file that can either be included with a #parse statement ([https://issues.apache.org/jira/browse/VELOCITY-362 VELOCITY-362], [https://issues.apache.org/jira/browse/VELOCITY-277 VELOCITY-277]) or via a Java API ([https://issues.apache.org/jira/browse/VELOCITY-529 VELOCITY-529]). Other issues to look at include limiting the maximum recursion depth of macros ([https://issues.apache.org/jira/browse/VELOCITY-297 VELOCITY-297]), allowing macro argument overloading ([https://issues.apache.org/jira/browse/VELOCITY-510 VELOCITY-510]), allowing expressions to be arguments instead of just literals, and some other miscellaneous issues ([https://issues.apache.org/jira/browse/VELOCITY-62) VELOCITY-62)].'' || | || '''Description''' || ''The Velocity macro capability allows users to create reusable blocks of text and Velocity expressions. There are a number of ways in which this capability can be improved. The most important is to allow users to define macros in a separate file that can either be included with a #parse statement ([[https://issues.apache.org/jira/browse/VELOCITY-362|VELOCITY-362]], [[https://issues.apache.org/jira/browse/VELOCITY-277|VELOCITY-277]]) or via a Java API ([[https://issues.apache.org/jira/browse/VELOCITY-529|VELOCITY-529]]). Other issues to look at include limiting the maximum recursion depth of macros ([[https://issues.apache.org/jira/browse/VELOCITY-297|VELOCITY-297]]), allowing macro argument overloading ([[https://issues.apache.org/jira/browse/VELOCITY-510|VELOCITY-510]]), allowing expressions to be arguments instead of just literals, and some other miscellaneous issues ([[https://issues.apache.org/jira/browse/VELOCITY-62)|VELOCITY-62)]].'' || |
| Line 459: | Line 459: |
| [[Anchor(velocity-performance)]] | <<Anchor(velocity-performance)>> |
| Line 470: | Line 470: |
| [[Anchor(derby-testandfix)]] | <<Anchor(derby-testandfix)>> |
| Line 475: | Line 475: |
| || '''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 [http://wiki.apache.org/db-derby/DerbyTesting DerbyTesting] for more information on Derby testing and [https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10594&status=1&status=3&status=4&component=11407&component=11409&component=11690&component=11410&component=11709&component=11411&component=11415&component=11408&component=11412&component=11414&sorter/field=issuekey&sorter/order=DESC Derby Open code bugs ] for a list of bugs to choose from.'' || | || '''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 [[http://wiki.apache.org/db-derby/DerbyTesting|DerbyTesting]] for more information on Derby testing and [[https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10594&status=1&status=3&status=4&component=11407&component=11409&component=11690&component=11410&component=11709&component=11411&component=11415&component=11408&component=11412&component=11414&sorter/field=issuekey&sorter/order=DESC|Derby Open code bugs ]] for a list of bugs to choose from.'' || |
| Line 478: | Line 478: |
| || '''Possible Students''' || ''Ravinder Reddy (ravinder dot pandiri at gmail dot com) '' proposal [http://students.iiit.net/~pandiri/proposal.html] || | || '''Possible Students''' || ''Ravinder Reddy (ravinder dot pandiri at gmail dot com) '' proposal [[http://students.iiit.net/~pandiri/proposal.html]] || |
| Line 481: | Line 481: |
| [[Anchor(log4j-chainsawenhancements)]] | <<Anchor(log4j-chainsawenhancements)>> |
| Line 490: | Line 490: |
| [[Anchor(fop-logging)]] | <<Anchor(fop-logging)>> |
| Line 500: | Line 500: |
| [[Anchor(cxf)]] | <<Anchor(cxf)>> |
| Line 505: | Line 505: |
| || '''Description''' || ''Learn about web services and get hands-on experience and the support of an open source community in this project that will focus on key enhancements for the CXF Services Framework. Interested students can select which area they are interested in working on with the support of experienced committers as mentors. Contribute to the Apache Incubator CXF services framework project by working on one or several of the following items: * Integrate Google analytics with web services using CXF * JRuby integration * J2ME version of CXF * WSDL 2.0 support * WS Metadata Exchange/Transfer implementations * CXF performance benchmark * [https://wadl.dev.java.net WADL support] '' || | || '''Description''' || ''Learn about web services and get hands-on experience and the support of an open source community in this project that will focus on key enhancements for the CXF Services Framework. Interested students can select which area they are interested in working on with the support of experienced committers as mentors. Contribute to the Apache Incubator CXF services framework project by working on one or several of the following items: * Integrate Google analytics with web services using CXF * JRuby integration * J2ME version of CXF * WSDL 2.0 support * WS Metadata Exchange/Transfer implementations * CXF performance benchmark * [[https://wadl.dev.java.net|WADL support]] '' || |
| Line 509: | Line 509: |
| [[Anchor(openjpa-streaming-lobs)]] | <<Anchor(openjpa-streaming-lobs)>> |
| Line 514: | Line 514: |
| || '''Description''' || ''BLOB and CLOB fields can only be mapped in their entirety in OpenJPA. It would be nice to support persistent fields of type java.io.InputStream (for BLOBs) and java.io.Reader (for CLOBs) in entities, mapped superclasses, and embedded types. The first phase of this project entails learning about OpenJPA's field metadata and field mapping internals, creating new mapping support for streaming field types, and, of course, creating test cases and reference documentation for the new feature. Additional follow-on steps include analysis and implementation of this feature on data caching and on large / long-running transactions. See [http://issues.apache.org/jira/browse/OPENJPA-130 | OPENJPA-130] for more details.'' || | || '''Description''' || ''BLOB and CLOB fields can only be mapped in their entirety in OpenJPA. It would be nice to support persistent fields of type java.io.InputStream (for BLOBs) and java.io.Reader (for CLOBs) in entities, mapped superclasses, and embedded types. The first phase of this project entails learning about OpenJPA's field metadata and field mapping internals, creating new mapping support for streaming field types, and, of course, creating test cases and reference documentation for the new feature. Additional follow-on steps include analysis and implementation of this feature on data caching and on large / long-running transactions. See [[http://issues.apache.org/jira/browse/OPENJPA-130|| OPENJPA-130]] for more details.'' || |
| Line 525: | Line 525: |
| [[Anchor(project-id)]] | <<Anchor(project-id)>> |
http://apache.org/images/asf_logo_wide.gif
Google is sponsoring the Summer of Code, and The Apache Software Foundation is one of the participating mentor organizations. This page lists all the subjects currently proposed by the Apache Software Foundation.
GSoC 2007 is over, but you can take part in SummerOfCode2008.
Prospective ASF mentors: read this
Mentors must register with the GSoC webapp, see instructions
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. The ASF sponsored around 40 Summer of Code projects last year - this year, we can probably take on even more projects. For more info about mentoring, please read our SummerOfCodeMentor page.
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 on this Wiki - and link in your proposals with the project idea. Take a look at last year's submissions at SummerOfCode2006 to get an idea of what worked and didn't.
Deadlines
ASF Subjects for Summer of Code
Subject ID |
forrest-rdf |
Title |
Creating plugins for embedding/producing RDF/XML and microformats in Forrest content objects |
ASF Project |
|
Keywords |
RDF Microformats XML XSLT |
Description |
Apache Forrest is an XML publishing framework that integrates many XML formats into a unified output format of choice. This project will create a number of plugins to facilitate the embedding and/or creation of RDF/XML microformats in Forrest content objects. We are particularly interested in Description of a Project (DOAP), Friend of a Friend (FOAF), GEO, RDF Calendar, Resume, Review Vocabulary and other community focussed schemas. Each plugin created will provide the necessary stylesheets for embedding/creating the relevant XML documents and will provide adequate examples to show the plugins in action (examples will act as test cases). |
Possible Mentors |
Ross Gardler Gavin McDonald |
Status |
Open |
Subject ID |
batik-udom |
Title |
Implement the SVG Tiny 1.2 µDOM |
ASF Project |
Apache Batik |
Keywords |
XML SVG DOM |
Description |
Apache Batik is a Java toolkit for processing SVG. It is currently a mostly complete SVG 1.1 Full implementation, and there has been some work towards SVG 1.2 Tiny implementation. This project is to implement the SVG 1.2 Tiny Micro DOM (µDOM), a cut down version of the DOM designed for mobile devices and required for JSR-226. |
Possible Mentors |
Cameron McCormack (cam at apache dot org) |
Status |
Open |
Subject ID |
batik-media |
Title |
Create a framework for SVG Tiny 1.2 audio and video |
ASF Project |
Apache Batik |
Keywords |
XML SVG Video Audio |
Description |
Apache Batik is a Java toolkit for processing SVG. It is currently a mostly complete SVG 1.1 Full implementation, and there has been some work towards SVG 1.2 Tiny implementation. This project is to implement a framework for processing media in SVG documents. SVG 1.2 Tiny has 'audio' and 'video' elements. The media framework will need to be extensions to the DOM, GVT rendering tree and SMIL timing engine support. (Bonus marks for additionally implementing ASL licensed audio/video codecs! :)) |
Possible Mentors |
Cameron McCormack (cam at apache dot org) |
Status |
Open |
Subject ID |
batik-xhtml |
Title |
Create a framework for foreignObject and integrate an XHTML engine |
ASF Project |
Apache Batik |
Keywords |
XML SVG HTML XHTML |
Description |
Apache Batik is a Java toolkit for processing SVG. It is currently a mostly complete SVG 1.1 Full implementation. One feature of SVG 1.1 currently unimplemented in Batik is the 'foreignObject' element, which is used for incorporating non-SVG content into an SVG document. This is commonly used to include XHTML content. This project would be to implement a framework for 'foreignObject' support and specifically to integrate an XHTML engine (such as Flying Saucer( into Batik for use with 'foreignObject'. |
Possible Mentors |
Cameron McCormack (cam at apache dot org) |
Status |
Open |
Subject ID |
batik-vectoreffects |
Title |
Implement the vector effects feature from SVG 1.2 Full |
ASF Project |
Apache Batik |
Keywords |
XML SVG |
Description |
Apache Batik is a Java toolkit for processing SVG. It is currently a mostly complete SVG 1.1 Full implementation. One feature of the latest SVG 1.2 Full draft is vector effects, which allows the author to specify complex transformations of the stroking, filling and marker painting of shapes. Vector effects are not comprehensively specified currently, and the feature could change by the time the vector effects module is published again. The W3C SVG Working Group is interested in how difficult the implementation is and whether all of the currently specified features are actually useful. This project would be to implement as much of vector effects as possible--the simple ones (stroke/paint/marker reordering/simple transformations/non-scaling paths) and at least one of the computationally complex effects (setback, union/difference/intersection). You will require knowledge of computational geometry algorithms. |
Possible Mentors |
Cameron McCormack (cam at apache dot org) |
Status |
Open |
Subject ID |
batik-inspector |
Title |
Design and implement a better document inspector |
ASF Project |
Apache Batik |
Keywords |
XML SVG |
Description |
Apache Batik is a Java toolkit for processing SVG. It is currently a mostly complete SVG 1.1 Full implementation. At the moment, Batik's browser application, Squiggle, has quite rudimentary support for inspecting a loaded document: you can either view the plain XML source, or browse the DOM tree and view the current computed CSS property values on each element. Also, error reporting is quite limited: a message box showing the error and the Java exception that caused it pops up for invalid content or script errors. This project is to implement better error handling and document inspection. Examples of features to implement are a Firefox-like error console, a better DOM tree inspector that allows modification of the document and inspection of SVG specific values, and an animation timeline viewer. |
Possible Mentors |
Cameron McCormack (cam at apache dot org) |
Status |
Open |
Subject ID |
AXIOM-C14N |
Title |
Canonical XML Implementation on Apache AXIOM |
ASF Project |
|
Keywords |
C14N, StAX, AXIOM |
Description |
This project's objective is to implement Canonical XML spefication on Apache AXIOM, which is an XML Infoset compliant object model based on StAX. |
Possible Mentors |
Ruchith Fernando (ruchithf at apache dot org) |
Status |
Open |
Possible Students |
Saliya Ekanayake (saliya at cse dot mrt dot ac dot lk) |
Subject ID |
MyFaces-CSI |
Title |
MyFaces Component Set Integration |
ASF Project |
|
Keywords |
MYFACES, JSF |
Description |
Better integrate the MyFaces component sets with each other. This might include skinning, layouting, JavaScript or documentation features. Suggestions welcome! |
Possible Mentors |
Martin Marinschek (mmarinschek at apache dot org) |
Status |
Open |
Possible Students |
Leonardo Uribe(lu4242 at gmail dot com , l-uribe at javeriana dot edu dot co) proposal http://wiki.apache.org/general/LeonardoUribe/GSoC2007/proposal] |
Subject ID |
MyFaces-COMPGEN |
Title |
MyFaces Component Generator |
ASF Project |
|
Keywords |
MYFACES, JSF |
Description |
Enhance the MyFaces component generator to a very performant implementation for state-saving and state-restoring - the less stuff is stored, the better. This should work similar to the Trinidad approach, but so that it can be used with the standard-components as well. Additional refinements to the partial state saving approach are welcome. |
Possible Mentors |
Thomas Spiegl (thomas dot spiegl at gmail dot com) |
Status |
Open |
Possible Students |
Bernhard Huemer |
Subject ID |
MyFaces-TEMPREND |
Title |
MyFaces Template Renderer |
ASF Project |
|
Keywords |
MYFACES, JSF |
Description |
Component rendering output can only be changed with Java-Code in JSF. This project should find alternative ways to do so, and integrate these ways with existing component libraries. One way could be to implement velocity based rendering in MyFaces. For velocity rendering, special care would need to be taken with regard to performance. |
Possible Mentors |
Werner Punz (werner dot punz at apache dot org) |
Status |
Open |
Possible Students |
none so far |
Subject ID |
MyFaces-DIALOG |
Title |
MyFaces Conversation System Extensions |
ASF Project |
|
Keywords |
MYFACES, JSF |
Description |
MyFaces has a conversation system integrated with Spring - it would be interesting to dock this conversation system into Apache Shale and Spring Webflow. A nice connection with a single download and configuration would be great. |
Possible Mentors |
Gerald Muellan (gerald dot muellan at irian dot at) |
Status |
Open |
Possible Students |
none so far |
Subject ID |
jackrabbit-jcr-demo |
Title |
JCR Demo Application based on Jackrabbit |
ASF Project |
|
Keywords |
Java, JCR |
Description |
Implement a simple demo web application like a blog or a wiki using JCR and Jackrabbit for managing the underlying content. The purpose of the demo application is to showcase JCR features and to serve as example code. Previous experience with JCR is not required; it would actually be good if you approached the task as an entry-level JCR programmer. More important requirements are some familiarity with Java web application development and ability to write clean and documented code. |
Possible Mentors |
Jukka Zitting (jukka at apache dot org) |
Status |
Open |
Possible Students |
Dominik Wagenknecht (dominik at wagenknecht dot cc) see proposal . Federico Paparoni (federico.paparoni at gmail dot com) see proposal |
Subject ID |
jackrabbit-jcr-wikipedia |
Title |
JCR Wikipedia |
ASF Project |
|
Keywords |
Java, JCR |
Description |
Build a Demo application that implements the basic features of Wikipedia based on JCR and build an importer that can import the existing content from Wikipedia. This particular demo application seems to be ideal because it allows to explain content modelling based on a well-known application. Since there is a lack of content-modelling tutorials the documentation of this project is very likely to be referenced by a very large audience. From a scalability perspective it allows to show that relatively large sets of content can be handeled by jackrabbit. This application deals with both large binaries and fine-grained information and exposes JCR features like versioning, fulltext-search or locking in an excellent fashion. |
Possible Mentors |
Jukka Zitting (jukka at apache dot org) |
Status |
Open |
Subject ID |
tuscany-declarative-das |
Title |
Expose Data Access Services as a SCA extension |
ASF Project |
|
Keywords |
SOA, DAS, SCA, SCA Extensions |
Description |
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 deployer. It's all about simplicity, allowing a service to be defined without explicitly coding the persistence layer. We already started some discussion and prototype around this subject, and the student could use this as a start point.See more details at : http://lresende.blogspot.com/2007/01/declarative-data-access-services.html |
Possible Mentors |
Luciano Resende (lresende at apache dot org) |
Status |
Open |
Subject ID |
Axis2/C Dynamic Client |
Title |
a short desciptive title of the subject |
ASF Project |
Axis2/C |
Keywords |
WODEN, WSDL, XML-SCHEMA |
Description |
This project will create a client tool for invoking web services dynamically by giving WSDL and required parameters(ie. operation name, operation parameters). This is a command line tool which require no hand written code to invoke web services. The tool will be written based on Axis2/C Woden and Axis2/C xml schema. Since Axis2/C Woden and Axis2/C Xml Schema are still not matured it will also require from the applicant to improve those code bases as need arises. |
Possible Mentors |
Damitha Kumarage (damitha at apache dot org), Nandika Jayawardana (nandika at apache dot org |
Status |
Open |
Subject ID |
Axis2/C Mail Transport |
Title |
Adding mail transport support(SMTP/POP3) for Axis2/C |
ASF Project |
Axis2/C |
Keywords |
Axis2/C,SMTP,POP3,Mail |
Description |
This is an attempt to implement mail transport support(SMTP/POP3) for Apache Axis2/C. This will be same as Apace Axis2/Java mail transport support.Currently Axis2/C suports HTTP as the transport.The aim of the project is to allow SOAP system to use the store and forward nature of SMTP without having to host to host publicly-accesible HTTP servers. |
Possible Mentors |
Dinesh Permalal(dinesh AT apache dot org),Saminda Abeyruwan(saminda AT apache dot org) |
Status |
Open |
Possible Students |
Rajika Kumarasiri(rajika at cse dot mrt dot ac dot lk) proposal http://wiki.apache.org/general/RajikaKumarasiri/GSoC2007/proposal |
Subject ID |
Axis2/C-JSON |
Title |
JSON Support for Axis2/C |
ASF Project |
Axis2/C |
Keywords |
Axis2/C,XML,JSON,JSON to XML mappings |
Description |
JSON is a text format like XML which can be used to transfer data. JSON support for Axis2C will enable it to consume and populate web services which support JSON. There are various JSON to XML mapping conventions. This project must implement support for these conventions(i.e Badgerfish, Mapped). |
Possible Mentors |
Nandika Jayawardana (nandika at apache dot org), Dinesh Permalal(dinesh AT apache dot org) |
Status |
- |
Possible Students |
Nimesh Saveendra (nimesh at cse dot mrt dot ac dot lk) proposal http://wiki.apache.org/general/NimeshSaveendra/GSOC2007/Proposal |
Subject ID |
rampartc-saml |
Title |
SAML support for Rampart/C |
ASF Project |
Axis2/C |
Keywords |
SAML, Rampart/C, AXIOM/C |
Description |
Implement SAML 1.0/1.1/2.0 specifications in C and integrate it to Rampart/C. SAML assertions should be manipulated using AXIOM/C. |
Possible Mentors |
Nabeel Yoosuf (nabeel at apache dot org), Kaushalye Kapuruge (kaushalye at apache dot org |
Status |
Open |
Subject ID |
Apache Woden Serializer |
Title |
A serialization for Apache Woden object model |
ASF Project |
Woden, Axis2/Java |
Keywords |
WODEN, WSDL, Axis2 |
Description |
Woden object model currently doesn't have a serialization logic. This is one of the problems even to the dependent projects like Axis2 as we can not show the WSDL 2.0 document that is encapsulated inside the Woden object model |
Possible Mentors |
Eran Chinthaka (chinthaka at apache dot org) |
Status |
Open |
Possible Students |
Michel Salim |
Subject ID |
maven-dependency-graphing |
Title |
Maven Dependency Graphing Tool |
ASF Project |
|
Keywords |
Java, dependency, graph |
Description |
Using an existing graphing tool like Prefuse, make a graph of dependencies for any project, with all the dependencies and visualizing as much iformation as possible (transitive dependencies, excluded dependencies, version conflict resolution, ...). Resources: Grafo, Graphview example, Radialgraphview example |
Possible Mentors |
Carlos Sanchez (carlos at apache dot org) |
Status |
- |
Subject ID |
maven-osgi |
Title |
Maven OSGi integration |
ASF Project |
|
Keywords |
Java, maven, osgi |
Description |
Improve OSGi support in Maven, generation of OSGi manifest by default, improve eclipse compiler integration to use bundle manifests, ... Resources: Felix Bundle plugin, Felix Bundle plugin code in Maven sandbox, Maven Eclipse compiler |
Possible Mentors |
Carlos Sanchez (carlos at apache dot org) |
Status |
- |
Subject ID |
cocoon-cforms |
Title |
Cocoon Forms refactoring |
ASF Project |
|
Keywords |
Cocoon, Java, Spring |
Description |
The main task is using Spring configurations to configure Cocoon Forms instead of Avalon configurations. As this task alone wouldn't justify a GSoC project, we would like to get some more refactorings done (e.g. use Dojo throughout Cocoon Forms, make the Javascript usage optional, etc.). Please get in contact with dev[at]cocoon.apache.org to discuss details with us. |
Possible Mentors |
- |
Status |
- |
Subject ID |
cocoon-javaflow |
Title |
Cocoon Javaflow integration |
ASF Project |
|
Keywords |
Cocoon, Java, Javaflow |
Description |
Finish the work on the Cocoon Javaflow block, integrate it with the reloading classloader stuff and make sure that Javaflow continuations are serializeable. Additionally make the continuations manager working with distributed caches. Please get in contact with dev[at]cocoon.apache.org to discuss details with us. |
Possible Mentors |
- |
Status |
- |
Subject ID |
cocoon-expression |
Title |
Cleanup of expresion language usage in Cocoon |
ASF Project |
|
Keywords |
Cocoon, Expression language, Object model |
Description |
In Cocoon several different expression languages are used in the sitemap, in flowscipts and in the form framework. The object model available also differ in these different areas. The task is to refactor Cocoon so that a single expression language and object model is usable everywhere. Please get in contact with dev[at]cocoon.apache.org to discuss details with us. |
Possible Mentors |
- |
Status |
- |
Subject ID |
xerces-stax-stream-reader |
Title |
Add support for the StAX (JSR-173) cursor API to Xerces-J |
ASF Project |
|
Keywords |
Java, JAXP, StAX, XML, Xerces |
Description |
Work is underway in Xerces on an implementation of JAXP 1.4. The largest technical change in this new edition of JAXP is the addition of StAX (JSR-173) which introduces XML pull parsing APIs to the Java platform. In constrast to push parsing APIs like SAX, StAX gives control back to the application at each step in the parsing process. The goal of this project is to design and implement the cursor-based XMLStreamReader (and filtering support). It should be possible to accomplish this using XNI by building the XMLStreamReader on top of an XMLPullParserConfiguration. |
Possible Mentors |
Michael Glavassevich (mrglavas at apache dot org) |
Status |
Accepted proposal. Student: Wei Duan (weidua at gmail dot com) |
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 |
Open |
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 |
Open |
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 |
Open |
Subject ID |
spamassassin-easy-mass-check |
Title |
Nightly Mass Check for Normal People |
ASF Project |
|
Keywords |
perl, email, corpora, distributed, community |
Description |
We need a way to make nightly mass check easily accessible to normal users. They need easy to use software to do mass checks and submit results. They must be properly trained on the sorting rules. Our project then needs some way of tracking the level of trust of these growing number of submitters. see http://wiki.apache.org/spamassassin/SocNightlyMassCheck |
Possible Mentors |
Doc Schneider (maddoc -at- maddoc.net) |
Status |
- |
Subject ID |
spamassassin-separate-expiry |
Title |
Helper process for Bayes expiry |
ASF Project |
|
Keywords |
perl, bayes, spamd, processes |
Description |
Theo said: 'I also suggested having things like Bayes expiry and such being passed back to the parent who can spawn a helper process to do the work. That way the children processes will be able to accept, process, return the result, notify parent for bayes work, go back to listening. Right now we do: accept, process, do bayes work, return result, go back to listening, which ends up causing timeouts and possibly eats up all processing children. |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
spamassassin-arf-plugin |
Title |
ARF plugin |
ASF Project |
|
Keywords |
arf, plugins, reporting, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4812 : ARF is a spam-report format for feedback loops for ISPs; there's been some interest in SpamAssassin understanding this and being able to match metadata inside the messages being reported. (This task may be too short for SoC purposes, however.) |
Possible Mentors |
|
Status |
- |
Subject ID |
spamassassin-corpus |
Title |
Maintain a SpamAssassin corpus of messages |
ASF Project |
|
Keywords |
corpora, mail, collection, perl, community |
Description |
Theo said: 'I'd almost rather we shift this around and make a "SpamAssassin Corpora", have all of us focus on making that the best it can be, and use that for mass-checks, etc.' This could be a good possibility. Contributors can upload their own mail corpora to a central web app where the mass-check occurs. The mail collections could be quickly checked for validity, and tagged based on how much privacy the user wants for their mails (therefore controlling further redistribution of those mails). Related to 'spamassassin-easy-mass-check' above. |
Possible Mentors |
Doc Schneider (maddoc -at- maddoc.net) |
Status |
- |
Subject ID |
spamassassin-better-reload |
Title |
Better way to reload the spamd configuration |
ASF Project |
|
Keywords |
reload, spamd, sighup, restart, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4774 : we currently have a very heavyweight configuration-rereading system where the entire process restarts. This is too heavyweight, and can be improved. |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
spamassassin-message-test-suite |
Title |
a message-parser test suite |
ASF Project |
|
Keywords |
testing, testsuite, parsing, mail, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4559 : Every now and again, we come up against bugs in our message parser (MIME, HTML, headers, base64/qp decoding, etc. etc.) We fix them, but occasionally there's regressions. I envisage it as using a vast collection of message files, something like a mass-check corpus, and a set of tests to ensure the parser sees what it should be seeing. |
Possible Mentors |
|
Status |
- |
Subject ID |
spamassassin-improved-chi |
Title |
Implement 'Improved Chi' in the BAYES rules |
ASF Project |
|
Keywords |
bayes, classifiers, chi, statistics, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=3460 : _Handling Redundancy in Email Token Probabilities_, Gary Robinson. http://www.garyrobinson.net/2004/04/improved_chi.html . Has shown good results, reportedly. Implement in SpamAssassin and benchmark results using 10-fold cross-validation. |
Possible Mentors |
|
Status |
- |
Subject ID |
spamassassin-dobly |
Title |
Benchmark and implement "Dobly" Noise Reduction |
ASF Project |
|
Keywords |
dobly, bayes, classifiers, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=3078 : investigate "Dobly" noise reduction a la http://bnr.nuclearelephant.com/ , in a form that can be incorporated into SpamAssassin. Benchmark results using 10-fold cross-validation. |
Possible Mentors |
|
Status |
- |
Subject ID |
spamassassin-secure-user-auth |
Title |
Secure user authentication in the spamd protocol |
ASF Project |
|
Keywords |
spamd, protocol, tls, perl |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4550 : a secure method to authenticate users over a spamc/spamd connection. |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
spamassassin-distributed-mass-check |
Title |
Distributed mass-check |
ASF Project |
|
Keywords |
corpora, perl |
Description |
mass-check currently makes use of a single system to process a number of messages. However, in larger organizations, or for people with multiple machines, it would be nice if multiple machines could all process a single mass-check run, preferably without needing to share the same filesystem, paths, etc. It would also be useful if we ended up with a single large corpus (see the spamassassin-corpus project above), so that multiple people could run the messages through over the Internet. |
Possible Mentors |
|
Status |
- |
Subject ID |
spamassassin-persistent-db-conns |
Title |
Persistent database connections |
ASF Project |
|
Keywords |
perl, databases, sql |
Description |
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=2037 : persistent database connections for SpamAssassin's Bayes subsystem. Michael: 'This exists, but is not an ASL friendly license. So a "clean room" implementation might be cool.' |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
spamassassin-quarantine-config-ui |
Title |
Quarantine / user-configuration web UI |
ASF Project |
|
Keywords |
web, ui, quarantine, user-configuration, cgi, perl |
Description |
Create a web application for message quarantine or user configuration, as part of the SpamAssassin project. |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
spamassassin-pluginize-bayes |
Title |
Pluginize the Bayes Subsystem |
ASF Project |
|
Keywords |
bayes, perl |
Description |
The Bayes subsystem is currently part of the SpamAssassin core engine it would be nice if it was moved to be a plugin so it could a) be removed from the memory footprint when not needed and b) more easily replaced with a different implementation. |
Possible Mentors |
Michael Parker (parkerm -at- pobox.com) |
Status |
- |
Subject ID |
abdera-c |
Title |
C/C++ implementation of Abdera |
ASF Project |
Abdera - http://incubator.apache.org/abdera |
Keywords |
atom, atom publishing protocol, c/c++ |
Description |
Abdera is a high performance, feature-complete implementation of the Atom Syndication Format and Atom Publishing Protocol. The current implementation is limited to Java environments. It would be nice to have a C/C++ port available. |
Possible Mentors |
James Snell (jasnell@gmail.com) |
Status |
- |
Subject ID |
velocity-macro |
Title |
Improve Velocity Macro capability |
ASF Project |
Velocity - http://velocity.apache.org |
Keywords |
macro, include |
Description |
The Velocity macro capability allows users to create reusable blocks of text and Velocity expressions. There are a number of ways in which this capability can be improved. The most important is to allow users to define macros in a separate file that can either be included with a #parse statement (VELOCITY-362, VELOCITY-277) or via a Java API (VELOCITY-529). Other issues to look at include limiting the maximum recursion depth of macros (VELOCITY-297), allowing macro argument overloading (VELOCITY-510), allowing expressions to be arguments instead of just literals, and some other miscellaneous issues (VELOCITY-62). |
Possible Mentors |
Will Glass-Husain (wglass@apache.org) |
Status |
- |
Subject ID |
velocity-performance |
Title |
Optimize Velocity memory usage and performance |
ASF Project |
Velocity - http://velocity.apache.org |
Keywords |
memory, speed, performance, optimize |
Description |
When Velocity was first launched, on of its key advantages over JSP was performance. Templates are parsed once then cached, with significant performance gains. (At one point Velocity had 5 times greater performance than JSP, though JSP execution has gotten significantly faster). It's been some time since anyone spent significant time optimizing Velocity for speed or memory usage. There's been recent reports that memory usage has gone up in the recent release (particularly with regard to complex templates and macros). With large amounts of templates, this makes it hard to take advantage of the cache. The task for this project is to profile and optimize Velocity for the high-volume, complex template use-case. We are looking primarily for memory optimizations but also for performance in general. Creative ideas for optimization are welcome. |
Possible Mentors |
Will Glass-Husain (wglass@apache.org) |
Status |
- |
Subject ID |
derby-testandfix |
Title |
Convert Derby tests to JUnit and fix Derby bugs |
ASF Project |
Derby - http://db.apache.org/derby/ |
Keywords |
test, bugs, java |
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 more information on Derby testing and Derby Open code bugs for a list of bugs to choose from. |
Possible Mentors |
Kathey Marsden (kmarsdenderby@sbcglobal.net |
Status |
Open |
Possible Students |
Ravinder Reddy (ravinder dot pandiri at gmail dot com) proposal http://students.iiit.net/~pandiri/proposal.html |
Possible Students |
Ramin Moazeni (moazeni@usc.edu) proposal http://wiki.apache.org/general/RaminMoazeni/GSOC2007/proposal |
Subject ID |
log4j-chainsawenhancements |
Title |
adding functionality and usability improvements to Chainsaw |
ASF Project |
Log4j |
Keywords |
java logging analysis gui |
Description |
Add some often-requested features to Chainsaw. Also improve the VFS-based receiver which can load a text-based log file accessible via SSH, and tail the file in the Chainsaw UI |
Possible Mentors |
Scott Deboy (sdeboy@apache.org), Paul Smith (psmith@apache.org) |
Status |
- |
Subject ID |
fop-logging |
Title |
Providing user feedback |
ASF Project |
XML Graphics FOP - http://xmlgraphics.apache.org/fop/ |
Keywords |
java logging |
Description |
Currently loggers are used for both user feedback (errors in input file, layout issues) and developer debugging. A mechanism needs to be designed for improving user feedback and make it thread safe. That is, feedback messages from two different document processing runs will be delivered separately, and in a different way than debug messages. |
Possible Mentors |
Vincent Hennebert (vhennebert AT apache DOT org) |
Status |
- |
Subject ID |
cxf |
Title |
CXF Services Framework Enhancements |
ASF Project |
Apache Incubator CXF |
Keywords |
Java, JRuby, WSDL, Google analytics, web services, XML, SOAP, integration |
Description |
Learn about web services and get hands-on experience and the support of an open source community in this project that will focus on key enhancements for the CXF Services Framework. Interested students can select which area they are interested in working on with the support of experienced committers as mentors. Contribute to the Apache Incubator CXF services framework project by working on one or several of the following items: * Integrate Google analytics with web services using CXF * JRuby integration * J2ME version of CXF * WSDL 2.0 support * WS Metadata Exchange/Transfer implementations * CXF performance benchmark * WADL support |
Possible Mentors |
Dan Kulp dan.kulp AT gmail DOT com , Eoghan Glynn eoghan.glynn AT gmail DOT com, James Mao maomaode aT gmail doT com, Jervis Liu jervisliu AT gmail DOT com |
Status |
We are eager to have student participants in our project, but we don’t currently have any students assigned to this project. A student participating in this project would have the support of the CXF community. |
Subject ID |
openjpa-streaming-lobs |
Title |
Add field-level support for streaming CLOBs and BLOBs to OpenJPA |
ASF Project |
OpenJPA |
Keywords |
OpenJPA, JPA, JDBC, CLOB, BLOB |
Description |
BLOB and CLOB fields can only be mapped in their entirety in OpenJPA. It would be nice to support persistent fields of type java.io.InputStream (for BLOBs) and java.io.Reader (for CLOBs) in entities, mapped superclasses, and embedded types. The first phase of this project entails learning about OpenJPA's field metadata and field mapping internals, creating new mapping support for streaming field types, and, of course, creating test cases and reference documentation for the new feature. Additional follow-on steps include analysis and implementation of this feature on data caching and on large / long-running transactions. See http://issues.apache.org/jira/browse/OPENJPA-130 for more details. |
Possible Mentors |
Patrick Linskey (pcl AT apache DOT org) |
Status |
Open |
Possible Students |
Ignacio Andreu (plunchete AT gmail DOT com) |
Project ideas format
To add a new project idea, just copy the following template and fill in the blanks:
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 |