GSOC14 Ideas

    JBoss Community Google Summer of Code 2014 Ideas

    JBoss Community Welcomes GSoC 2014 Students

     

    All students & developers are welcome to participate in the Google Summer of Code 2014 program with the JBoss Community!

     

    If you are a student looking forward to participate the GSoC 2014 with the JBoss Community, feel free to browse the growing idea list below. Please don't hesitate to contact the mentor(s) indicated in the proposal for any related clarification.

     

    If you want to suggest an additional idea, please use the page GSoC 14 Student Ideas (you'll need a free JBoss Community account to edit the page). Interested mentors can check the student ideas page and sign up to be a mentor by moving the idea onto the main page.

     

     

    Administrators and Mentors

     

    The following people have agreed to serve as administrators and/or mentors for the GSoC 2014 program. Sometimes there should be some backing up mentors to mentor if the original mentor get busy with something for a short time period. In such case we need help.

     

     

    Idea Proposal Template

     

    Please add your idea under one of the category headings using the template below. If there is no heading yet for your category, please add it as a level-2 heading.

     

    Project name

     

    Status: (Proposed or Draft)

     

    Summary of idea:

     

    Knowledge prerequisite:

     

    Skill level:

     

    Contact(s):

     

    Mentor(s):

     

    Associated project(s):

     

    Notes:

     

    Idea Proposals

     

    Below is a list of the 38 ideas that have been proposed for the GSoC 2014 program. The ideas are organized by category.

     

    Category: Testing

    Integrate test data generation into Arquillian

     

    Status: Proposed

     

    Summary of idea:

     

    Combinator libraries such as Haskell's QuickCheck are designed to generate boundary test cases based on some assertions about logical properties that given behaviour should fulfill. The goal of this project is to provide such functionality for Arquillian-powered tests. Already existing solutions such as ScalaCheck, JCheck or Quickcheck could be leveraged to achieve it.


    Knowledge prerequisite:
    Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.

     

    Skill level: Medium

     

    Contact(s): Bartosz Majsak, Aslak Knutsen

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian


    Notes:

     

    Unleash the Jester on integration tests by adding support for mutation testing in Arquillian

     

    Status: Proposed

     

    Summary of idea:

     

    Mutation testing is a software testing method which is based on the idea of modifying source or bytecode in order to capture weakneses of your test suite. In other words using this technique you can test your tests! By applying different mutations, such as changing operators, variable names or throwing exceptions, to your test code you have a chance to locate issues in your code.

     

    The goal of this project is to research the possibilities of integrating Arquillian with mutation testing tools such as PIT. Another angle would be to investigate how we can leverage Byteman in this context (some work has already been done to integrate Byteman into Arquillian).


    Knowledge prerequisite: Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.

     

    Skill level: Medium to High

     

    Contact(s): Bartosz Majsak, Aslak Knutsen, kpiwko

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian


    Notes:

     

     

    Arquillian: Automated Client-Side Performance Tracking

     

    Status: Proposed

     

    Summary of idea:

     

    An optimization of the client-side performance for web applications is based on optimizing the application

    source code in order to allow fluent loading of resources and fluent rendering.

     

    To provide optimized loading, it's necessary to keep set of best practices each developer should have in mind when coding application [1].

    There are several tools which can detect violation of some of these rules [2].

     

    The detail of a page loading process can be then displayed as graph. There are several browser tools

    which are able to collect and display these informations [3].

     

    Periodical checking of these informations may be time-consuming, especially for big applications with many application views. But the process can be automated using browser automation tools like Selenium [4].

     

    At first, basic informations about page needs to be collected - the violation of performance rules, number of HTTP requests for page load, the time needed for displaying the page, the time before executing first script. These informations needs to be compared to historical data and significantly worse results needs to be considered as failure.

     

    At second, the whole detailed profile of page loading can be retrieved from browser, to be able review the real data and compare them with historical progress.

     

    There are two projects which enables similar functionality: commercial DynaTrace [5] and open-source BrowserMob Proxy [6] together with HAR Viewer [7].

     

    The goals of this project are:

    1. deepen the knowledge about the page loading with data provided directly by browser

    2. write simply-to-setup automation using Selenium

    3. automated analysis of data and system of failure detection

    4. integrate with Arquillian framework (Arquillian Drone)

     

    [1] http://developer.yahoo.com/performance/rules.html

    [2] http://code.google.com/speed/page-speed/ , http://developer.yahoo.com/yslow/

    [3] http://code.google.com/chrome/devtools/ , http://code.google.com/speed/page-speed/

    [4] http://seleniumhq.org/

    [5] http://www.dynatrace.com/en/

    [6] https://github.com/webmetrics/browsermob-proxy

    [7] http://www.softwareishard.com/blog/har-viewer/

     

    Selected resources:

    http://www.theautomatedtester.co.uk/blog/2010/client-side-profiling-with-selenium-2.html

    http://www.eviltester.com/index.php/2010/03/04/selenium-as-a-performance-and-load-test-tool-with-browsermob/

    http://www.youtube.com/watch?v=6BZ_eHTulIg&feature=youtu.be


     

    Knowledge prerequisite: Browsers, JavaScript, Java

     

    Skill level: Medium, High

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s): http://code.google.com/chrome/devtools/ , http://code.google.com/speed/page-speed/

     

    Notes:

     

    Integration of Genymotion into Arquillian Droidium

    Status: Proposed

     

    Summary of idea:

     

    Genymotion claims to be the fastest Android emulator on the marked. Arquillian Droidium currently supports running, deploying and app and testing in Android SDK.  Ability to have Genymotion might speed up test execution significantly.


    Goals of the project are:

    1. Allow Arquillian Droidium to use Genymotion as well as Android SDK, based on users configuration
    2. Make it on par with the features of Android SDK - creating new VM, starting emulator, etc.
    3. Make it a part of Arquililan Droidium codebase and deliver an example
    4. Optionally, provide performance measurement comparing Genymotion with Android SKD when used in Arquillian Droidium

     

    Knowledge prerequisite: Java, externnal processes execution

     

    Skill level: Beginner to Medium

     

    Contact(s): kpiwko

     

    Mentor(s): kpiwko

     

    Associated project(s):

     

    Notes:


     

    Vert.x container for Arquillian

     

    Status: Proposed

     

    Summary of idea:

     

    Vert.x is a polyglot, event-based, non-blocking application platform running on top of JVM. Arquillian provides a concept of container and deployment. Vert.x also provides a concept of deployment (verticle, module) and container (Vert.x itself).

    By providing Vert.x support in Arquillian as a container, it would be much easier to setup various test scenarios involing Vert.x and combination of Vert.x and different containers. Another interesting point to investigate is to let Vert.x execute the test payload.


    Goals of the project are:

    1. Identify how to deploy Vert.x verticles and modules as ShrinkWrap Archive<?>
    2. Provide Arquillian Container implementation for Vert.x
    3. Outline support for clustered enviroments
    4. Provide a tutorial and quickstart explaing how to setup and run test case using Arquillian Vert.x container


    Knowledge prerequisite: Java; JavaScript, JRuby, Groovy or other non-Java language supported by Vert.x

     

    Skill level: Medium to High

     

    Contact(s): kpiwko

     

    Mentor(s): kpiwko

     

    Associated project(s):

     

    Notes:



    Android packages support in ShrinkWrap

     

    Status: Proposed

     

    Summary of idea:

     

    Arquillian supports a concept of microdeployment, which represents a part of the application that is deployed into the container and tested directly there, interacting with the real environment. Microdeployment is defined by a fluent API where user constructs test payload directly in test.


    Android testing currently requires an external process that builds APK. Android packages has some specifics, such as signing archive and special handling of resources. We want to be able to construct archives directly in the tests and also be able to inject resources into the test itself.


    Goals of the project are:

    1. Deliver an API based on top of ShrinkWrap’s Archive<?> for handling Android based archives
    2. Implement support for compilation of resources in such way that they can be injected in the tests
    3. Provide a tutorial that explains how to use Android ShrinkWrap archive together with Arquillian Droidium

     

    Knowledge prerequisite: Java, Android, external process execution, compilers

     

    Skill level: Medium to High

     

    Contact(s): kpiwko

     

    Mentor(s): kpiwko

     

    Associated project(s):

     

    Notes:


    StarBlazer: Arquillian Performance Testing Extension based on PerfCake, Gatling Tool or nGrinder

     

    Status: Proposed

     

    Summary of idea:


    The proposal is to implement new Arquillian extension for testing application’s performance via load generated leveraging on of the existing tools (such as PerfCake, Gatling Tool or nGrinder).


    The reference test should have two parts:

    First (optional) phase will record the test scenario (consisting of HTTP requests) using existing functional tests (such as Selenium tests).

    Second phase leverages the load generator to get the application under load and leverages the techniques for monitoring application’s behavior offered by given performance testing tool.


    The extension should consist of API that will be as simple as possible to turn existing functional test into performance test. Additionally the extension’s SPI (service provider interface) should consist of rich set of events that will allow user to add additional steps such as application verification under load.

     

    Knowledge prerequisite: Web/HTTP, Performance Measuring, Benchmarks, Java, Scala

     

    Skill level: High

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc, Martin Večeřa

     

    Associated project(s):


    PerfCake: https://perfcake.org/

    Gatling: http://gatling-tool.org/

    nGrinder: http://www.nhnopensource.org/ngrinder/

    Arquillian Drone


    Notes:


    The mentor highly recommends that student approaches the project and starts discovering the idea before student application period ends.



    Arquillian Graphene: Web Page Code Enrichment (aka support for AngularJS testing and advanced error reporting)

     

    Status: Proposed

     

    Summary of idea:

     

    Arquillian Graphene allows to enhance web application under test by executing arbitrary JavaScript code (using WebDriver’s JavaScript#executeScript API). This code can e.g. offer monitoring of the application or gather information important for application verification.


    The disadvantage of this approach is that it doesn’t allow to monitor the application in its full lifecycle as the code is injected into browser once WebDriver has fully loaded the application (once document is ready).


    One of the consequences is that Graphene is unable to monitor errors reported before the document is fully loaded or it doesn’t allow to do instrumention of JavaScript APIs such as XMLHttpRequest for libraries that encapsulates references to these APIs during page loading (such as AngularJS).


    The idea of this proposal is design and implement alternative approach to Page Enrichment leveraging code injection via HTTP proxy.


    In this setup, Graphene will point browser to HTTP proxy instead of the HTTP server. This proxy will watch requests passing through the proxy and it will enhance all HTML pages with a code inserted after the <head> element. This way Graphene will be able to hook into the APIs such as console.log(), window.onerror() or XMLHttpRequest object before any other script will have chance to so.


    The described mechanism is already available in the Arquillian Warp project, so the proposal is to refactor this code out to the separated Arquillian extension, generalize it and allow other extensions such as Arquillian Graphene to build upon it.


    Knowledge prerequisite: Java, JavaScript, Selenium

     

    Skill level: Easy

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s):

     

    The mentor highly recommends that student approaches the project and starts discovering the idea before student application period ends.


    Notes:


    Arquillian Distribution Extension

     

    Status: Proposed

     

    Summary of idea:


    Allow Arquillian to drive distributed tests for purpose of testing applications in distributed environment such as failover (high-availability) tests or scalability tests.


    This extension should address just problems of network distribution:


    * connection to remote host

    * installation of container dependencies

    * communication between test controller and remote host


    Design XML-based configuration format that will allow to describe hosts participating in the test and distribution of the test participants (containers) across these hosts.


    Prove the extensions abilities on a two samples of clusters based on managed WildFly container and managed Infinispan.


    The student should explore available options for existing abstractions that allows to manage (install dependencies and convey communication) distributed environment such as JClouds. The reference scenario consists of hosts provisioned from cloud or generally accessible via SSH connection.


    Knowledge prerequisite: Java, Distributed Systems

     

    Skill level: High

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s):

     

    Notes:


    The mentor highly recommends that student approaches the project and starts discovering the idea before student application period ends.


    Arquillian Groovy Script front-end

     

    Status: Proposed

     

    Summary of idea:

     

    Provide a groovy based DSL over Arquillian. This should allow us to script interactions with containers, deployment scenarios and test scenarios. In general this will decouple the Arquillian lifecycle from the test lifecycle and give the user more control.


    Pseudo prototype: https://gist.github.com/aslakknutsen/5563547

     

    Knowledge prerequisite: Java, Groovy

     

    Skill level: Medium

     

    Contact(s): Aslak Knutsen

     

    Mentor(s): Aslak Knutsen

     

    Associated project(s):


     

    Notes:


    Category: Tooling

     

    Implement a Database Migration system as plugin for Forge

     

    Status: Proposed

     

    Summary of idea: The Grails plugin for database changes (http://grails.org/plugin/database-migration) may be good for inspiration, however the Forge version may not necessarily have the tightly coupled support as the Grails/Groovy domain models have, but something that supports JPA would be fabulous.

    Although a generic plugin for Liquibase or other database change management support could be useful, it would be left 'up to the developer' on how to use it which seems counter-intuitive to a more RAD-style development environment, per the specific of JPA-based data access (potentially OGM-based JPA as well).
    Usecase is for solving how to deploy database structure changes in an automated fashion to ensure the database schema does not go out of sync with the application.

    More info in https://issues.jboss.org/browse/FORGEPLUGINS-54

     

    Knowledge prerequisite: RDBMS, SQL, JPA, Java

     

    Skill level: Extremely High

     

    Contact(s): Lincoln Baxter, III

     

    Mentor(s): Lincoln Baxter, III, Koen Aers (kaers@redhat.com), George Gastaldi

     

    Associated project(s): Forge (See below for more information.)

     

    Notes:

     

     

    Support Forge 2.0 in IntelliJ Idea and/or NetBeans

     

    Status: Proposed

     

    Summary of idea:

    In Forge 1, the primary interaction mode that was supported was the command line.  Integration into Eclipse amounted to creating a console that allowed the developer access to a command line interaction with Forge (along with some integration that kept the console and Eclipse project in sync).  As Forge grows its scaffolding capability, better IDE integration would be beneficial to developers to allow access to this functionality.  Integration should focus on being GUI driven as that's the mode that IDE developers are typically in.  With this in mind, Forge 2 is focusing on creating an architecture that allows addons (formerly plugins in Forge 1) to be more easily used from both the command line as well as an IDE. This proposal is for the development of an implementation of the UI API provided as a Forge 2 addon for IDEA and/or Netbeans.  The intent is to prove out the concept of being able to support multiple IDE's with functionality that gets shared across them.


    Knowledge prerequisite: Idea (and/or Netbeans), Plugins, Java

     

    Skill level:Extremely High


    Contact(s):
    Lincoln Baxter, III

     

    Mentor(s): Lincoln Baxter, III, Koen Aers (kaers@redhat.com), George Gastaldi

     

    Associated project(s): Forge

     

    Notes:

     


    BPMN2 based Web App for replaying and stepping through activity information captured from a business transaction executing within a SOA

     

    Status: Draft

     

    Summary of idea:

     

    As part of the SOA governance initiative within jboss.org, we are developing service activity monitoring capabilities to capture the activities associated with business transactions as they execute across services within a SOA.

     

    This information will include details regarding interactions between services, as well as details related to the internal tasks executed to achieve the business goal.

     

    The BPMN2 Web App will use a Choreography model (describing the end-to-end business process) to represent the communications that occur between services, and a Process model per service to either (a) elaborate the internal logic implemented by each service, where that services is using a BPMN2 execution engine, or (b) the abstract externally observable behavior where the service is implemented using a different technology.

     

    The user will be able to retrieve activity information regarding the execution of a particular business transaction instance, and observe how it executed across services (at the Choreography level), as well as being able to drill into the individual services (using the Process model representation) to examine further levels of detail.

     

    The BPMN2 visualization may be achieved using various approaches, which will need to be evaluated. These include: (a) the jBPM project includes a web based BPMN2 editor - it does not currently display choreographies, but may provide a suitable technology to build upon, (b) SVG, (c) an open source JavaScript canvas library.

     

    Knowledge prerequisite: BPMN2, Java, GWT, SVG, JavaScript

     

    Skill level: Medium to High

     

    Contact(s): Gary Brown

     

    Mentor(s): Gary Brown

     

    Associated project(s): Overlord

     

    Notes:

    Further questions about this task can be asked on the Overlord developer forum.

     

    UML class editor-like Fact Type Editor for Drools Guvnor

    Status: Draft

     

    Summary of idea:

     

    UML class editor -like editor for editing the Drools declarative

    models and Java POJOs in Drools Guvnor. The work consists of creating

    the view for the UML-like editor screen and improving the existing

    asset editor screens.

     

    Knowledge prerequisite:

    Java, GWT

     

    Skill level: Medium

     

    Contact(s): Toni Rikkola

     

    Mentor(s): Toni Rikkola

     

    Associated project(s): Drools, Guvnor

     

    Notes:

     

    Integrate Drools Guvnor's GWT components into Eclipse SWTBrowser and decouple from JCR

    Status: Draft

     

    Summary of idea:

     

    Drools Guvnor has grown immensely in function and form leaving the asset editors in Drools Eclipse plugin behind. In order to

    minimise the effort to develop and support two divergent code-bases offering the same authoring tools this project would look to

    provide re-use of GWT based widgets in Eclipse. Furthermore the dependency Guvnor has on a JCR repository is to be removed,

    allowing assets edited within Eclipse to be stored as files under the control of Eclipse and any Version Control System the

    Eclipse user may have configured.

     

    Knowledge prerequisite:

    Java, GWT, Eclipse, SWT

     

    Skill level: Medium to high

     

    Contact(s): Michael Anstis

     

    Mentor(s): Michael Anstis

     

    Associated project(s): Drools, Guvnor

     

    Notes:

    Generic state management for Drools Guvnor for undo, redo and saved state

    Status: Draft

     

    Summary of idea:

     

    Provide a generic framework to record and allow playback of operations performed on assets within Drools Guvnor to

    facilitate the provisioning of undo-redo features. Furthermore, once complete, the concept of a list of changes (or undo

    log) made to assets will allow the identification of whether an asset has changed and hence prompt user before closing

    such with unsaved amendments.

     

    Knowledge prerequisite:

    Java, GWT

     

    Skill level: Medium

     

    Contact(s): Michael Anstis

     

    Mentor(s): Michael Anstis

     

    Associated project(s): Drools, Guvnor

     

    Notes:

     

    Realtime Collaborative Editor for Drools Decision Tables using Errai OT/EC

    Status: Draft

     

    Summary of idea:

     

    Errai OTEC (Operationaly Transformed, Eventually Consistent  Data Syncrhonization) facilitates builing Google Wave and Google Docs type applications, with multiple authors in real time on the same document. Two videos showing OTEC editing working in real time for collaboritive authoring:

    https://www.youtube.com/watch?v=ChCasRr0cZc

    https://www.youtube.com/watch?v=Wvf5pbOM920

     

    Drools has extensive Decision Table support, which provides a spreadsheet like authoring tool for rules. Errai OTEC can allow two authors to work on the document at the same time. It would provide the following features:

    -Current cursor/edit location for each user in the document.

    -Edits to Cells to appear as they happen.

    -Cell locking, so only one Cell can be updated by one user at a time.

     

    Knowledge prerequisite:

    Java, GWT, Errai

     

    Skill level: Medium

     

    Contact(s): Michael Anstis

     

    Mentor(s): Michael Anstis

     

    Associated project(s): Drools, Guvnor, Errai

     

    Notes:


     

    Dynamic visual BPMN2 Diff tool for jBPM Web Designer

    Status: Draft

     

    Summary of idea:

     

    Being able to track how your Business Processes change over time is an important feature of BPM efforts.

    Text-based diff tools already exist but are not suitable/useful for comparing BPMN2 processes. Visual comparison

    between process versions should prove as a much more suited way of being able to compare business process

    changes over time.

    The work in this proposal deals with creating a plugin tool in jBPM Web Designer open-source web application

    to add ability to visually compare multiple BPMN2 process versions.

     

    Knowledge prerequisite:

    JavaScript, Java, SVG

     

    Skill level: Medium

     

    Contact(s): Tihomir Surdilovic

     

    Mentor(s): Tihomir Surdilovic

     

    Associated project(s): jBPM

     

    Notes:

     

     

    Smart Data Mapping and Associations  for jBPM Web Designer

    Status: Draft

     

    Summary of idea:

     

    jBPM Web Designer provides a web-based editing environment for creation of executable BPMN2 business processes.

    A part of creating executable business processes is providing execution semantics to the visual model such as

    defining process variables, data input/output sets, assignments and associations. This is currently a manual process

    which is time consuming and error-prone as the business model changes over time.

    The work in this proposal deals with developing a smart and intuitive/predicting way of working with data mapping and

    associations within a BPMN2 business process, all within the jBPM Web Designer open-source web application.

     

    Knowledge prerequisite:

    JavaScript, Java

     

    Skill level: Medium

     

    Contact(s): Tihomir Surdilovic

     

    Mentor(s): Tihomir Surdilovic

     

    Associated project(s): jBPM

     

    Notes:

     

    Category: Application Development

    Implement a big screen dashboard for RHQ

     

    Status: Proposed

     

    Summary of idea: Implement a "big screen dashboard" on top of the REST api. The idea is to have a huge screen, that shows many metric graphs (like those you see in the NASA control room when satellites are launched). The user should be able to select the graphs to be shown and also the position on screen. The graphs should be able to display multiple metrics and availability (and perhaps other indiators) and thus allow to give a quick overview over the system state. There already exists a prototype with the help of jQuery and D3.js

     

    Knowledge prerequisite: JavaScript, HTML

     

    Skill level: Medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement an iOS client for RHQ

     

    Status: Proposed

     

    Summary of idea: Write an iOS app like RHQPocket that administratos can use to monitor metrics, define alerts, schedule operations while they are on the go. This could be done with the help of the existing AeroGears library. The client should optimally work on iPad and iPhone. The client would talk with the RHQ server over the RHQ rest api.

     

    Knowledge prerequisite: iOS, Objective C, REST

     

    Skill level: Medium to High

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement a plugin store for RHQ

     

    Status: Proposed

     

    Summary of idea: RHQ is extended via plugins. Many plugins are supplied with the RHQ download, but other users implement their own plugins. This idea is about creating a plugin store (like jenkins or Forge has them) where users can upload plugins. Those plugins can then be browsed and downloaded from inside RHQ. The Plugin store would allow to rate plugins and to leave comments.

     

    Knowledge prerequisite: Java, probably GWT for the server side browsing of the store.

     

    Skill level: Medium to High

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

     

    Support new Push Networks on the UnifiedPush Server

     

    Status: Proposed

     

    Summary of idea: The AeroGear UnifiedPush Server has support for Google Cloud Messaging (Android/Chrome), APNs (iOS devices) and SimplePush (like FirefoxOS or regular browsers, using our polyfil). The goal of this project is to add a few more supported service:

    • Amazon Push
    • Windows
    • Black Berry
    • any other idea/wish on a certain push network

     

    The work aims on enhancing the server part, including the administrative UI.

     

    Knowledge prerequisite: Server part: Java; Client part: Ember, HTML5, CSS and JavaScript. Mobile knowledge is a plus as well

     

    Skill level: Medium

     

    Contact(s): aerogear-dev@lists.jboss.org Matthias Wessendorf, Jay Balunas,

     

    Mentor(s): Matthias Wessendorf

     

    Associated project(s): AeroGear

     

    Notes:


    JBoss AS Quickstarts: JBoss AS management, services and modules

     

    Status: Proposed

     

    Summary of idea: JBoss offers a collection of quickstarts - simple applications which demonstrate a single use case or feature of JBoss AS 7. A full list can be viewed at https://docs.jboss.org/author/display/AS71/Contributing+a+Quickstart. This project involves building out three new quickstarts to show creating modules for JBoss AS 7, scripting JBoss AS 7 using the management API, and stripping down the application server.

     

    You should have a strong interest in building examples, and showing people how to use technology. Domain expertise can be provided if needed.

     

    Knowledge prerequisite: Java

     

    Skill level:

     

    Contact(s): Pete Muir

     

    Mentor(s): Pete Muir, Sande Gilda, Burr Sutter

     

    Associated project(s): Trailblazer SIG

     

    Notes:

     

    jBPM on Android

     

    Status: Draft

     

    Summary of idea:

    The jBPM core engine itself is so lightweight that it could actually be run on android as well.  Based on an existing prototype, this could be extended so jBPM could actually be used to develop and execute simple applications on android.  This for example could include creating custom nodes for common android functions (like opening a web page, getting current location, etc.), configuring persistence to use the persistence mechanism offered by android, simple client interfaces for inspecting human task lists, managing process instances, etc.

    The blog entry describing a first prototype can be found here.

     

    Knowledge prerequisite: Java, some knowledge of (j)BPM and/or Android

     

    Skill level: Medium

     

    Contact(s): Kris Verlaenen

     

    Mentor(s): Kris Verlaenen

     

    Associated project(s): jBPM

     

    Notes:

    For other ideas related to jBPM, you can always visit the jBPM Projects page

    Don't hesitate to contact us if you have your own idea as well

     

    jBPM and CMS Integration into the KIE-Workbench (Magnolia)

    Status: Proposed


    jBPM allows you to improve your business in so many different ways. You can run the full BPM cycle using the new KIE Workbench functionalities.

    It is often required that your business is around digital documents that needs to be stored at some place, to be read by users of the systems and take decisions about this at some point of your processes. It can be not ideal for the users to store the documents in one external system manually, and then use it in the Business Process Management System, in this case the KIE Workbench.

    The idea of this module is to provide the possibility of uploading documents from the KIE Workbench, taking into account user roles and permissions, and then being able to use them inside custom tasks and human tasks.

    The users will be able to take a look at the documents, and take decisions based on this!

    This module will allow you to integrate KIE Workbench to your own prefered Document Management System, and it will have an implemented solution for one open source Document Management system, Magnolia CMS.


    Knowledge prerequisite:

    Java, jBPM and Kie Workbench

    Skill level:

    Medium

    Contact(s):

    Demian Calcaprina , Mauricio Salatino

    Mentor(s):

    Mauricio Salatino

    Associated project(s): jBPM

     

    Integrating jBPM with your own preferred project(s)

     

    Status: Draft

     

    Summary of idea:

    jBPM allows you to integrate with external services by creating your own domain-specific nodes that are added to the process palette and can be used inside your business processes to model specific services.  While some of these services might be very specific to your problem domain, a lot of generic and reusable integrations could be implemented, like integration with Email, RSS feeds, Google Calendar, REST services, known web services to for example retrieve stock data, weather information, etc.  These could then be added to a repository or library of domain-specific nodes so that the process author could for example select which of those he wants to use as part of his process.

    We would like to extend the set of integrations that we support out-of-the-box by adding new integrations with existing services and projects.  This is an ideal opportunity to integrate jBPM with the some of the projects you love!

     

    Knowledge prerequisite: Java, some knowledge of (j)BPM

     

    Skill level: Medium

     

    Contact(s): Kris Verlaenen

     

    Mentor(s): Kris Verlaenen

     

    Associated project(s): jBPM

     

    Notes:

    For other ideas related to jBPM, you can always visit the jBPM Projects page

    Don't hesitate to contact us if you have your own idea as well.

     

    OptaPlanner on Android

     

    Status: Draft

     

    Summary of idea:

    Port the vehicle routing example of OptaPlanner from Swing to Android. Find a way to deal with the reflection problems. Join on IRC server chat.freenode.net channel #optaplanner-dev for more information.

     

    Knowledge prerequisite: Java, some knowledge of OptaPlanner and/or Android

     

    Skill level: Medium

     

    Contact(s): Geoffrey De Smet

     

    Mentor(s): Geoffrey De Smet

     

    Associated project(s): OptaPlanner

    Category: Security

     

    SAML-based SSO in Ruby

     

    Status: Proposed

     

    Summary of idea:

     

    Create a module for Ruby on Rails apps (or a Ruby gem) to provide SAML based SSO. This project will be a separate module for PicketLink that is written in Ruby that allows Ruby apps to perform SAML based web SSO.

     

    Knowledge prerequisite: Ruby, SAML

     

    Skill level: Medium

     

    Contact(s): Anil Saldhana

     

    Mentor(s): Anil Saldhana

     

    Associated project(s): PicketLink

     

    Notes:

     

    Simple Certificate Management System

     

    Status:Proposed

     

    Summary of idea:

     

    The Java Key Store has historically been used to manage certificates and keys.  This idea is to create a simple certificate management system for PicketLink that will have database/ldap storage and a nice interactive scripts for usage.

     

    What I envision is Java code that will deal with the certificate mgmt system to CRUD certificates.  The scripts (*.sh and *.bat) should just call the Java code dealing with Cert MS.

     

    Important Items:

    • The API that deals with creation of certificates can use the BouncyCastle project API.
    • This idea will not use the standard Java Keytool utility.
    • Student should be comfortable with github. If you do not know GitHub, then the first step will be to learn.

     

    Knowledge prerequisite: Java, X509 Certificates basics.

     

    Skill level: Medium

     

    Contact(s): Anil Saldhana

     

    Mentor(s): Anil Saldhana

     

    Associated project(s): PicketLink

     

    Notes:

     

     

    Category: Asynchronous Messaging

     

    Atmosphere/WebSocket integration for JBoss AS 7

     

    Status: Proposed

     

    Summary of idea:

    The WebSockets are upcoming standard for real-time asynchronous messaging, but since it haven't been standardized yet, it's hard to manage all the complexities in end-user applications.

     

    Atmosphere project focuses on bridging the gap of standardization and supports not only WebSockets integration with various containers like Glassfish and Jetty, but it also offers graceful degradation to Comet mechanism when no support detected on the client or server, which allows you to bring the asynchronous client/server messaging to the current applications with broad support of clients.

     

    The goal of this project is to extend Atmopshere's support for WebSockets in JBoss Application Server 7.

    The JBoss AS7 is based on Tomcat implementation, which already contains experimental WebSocket support.

     

    The project comprises of writing extensions for both, AS7 and Atmosphere and making sure that all the Atmosphere

    samples works.

     

     

    Knowledge prerequisite: Java, WebSockets, JavaScript

     

    Skill level: High

     

    Contact(s): Lukas Fryc

     

    Mentor(s):

     

    Associated project(s): Atmosphere, JBoss AS 7

     

    Notes: Discussion about idea on Atmosphere forum

     

     

     

    Category: Continuous Integration and Continous Improvement

     

     

     

    Category: Runtime Frameworks

     

     

    Provide ShrinkWrap with Export to: RPM, ISO, RAR, BZIP Formats

     

    Status: Proposed

     

    Summary of idea:

    Currently, ShrinkWrap (an Archive API for Java, functions as a virtual filesystem) supports export to ZIP, TAR, and TAR.GZ formats.  In order to expand ShrinkWrap's use outside of an EE context, it'd be beneficial to have export options for the RPM, ISO, and/or RAR format, as well as a filter to provide BZIP compression.

     

    Knowledge prerequisite:

    No external dependencies, so anyone decent at I/O, the java.io package, and willing to research the protocols above are good candidates.  Mentor will provide some assistance to those new with Git (version control), running the build and the tests, etc.

     

    Skill level:

    Beginner to Intermediate; a good place for students familiar with the Java Language and some common programming structures to start in open source.

     

    Contact and Mentor:

    Andrew Rubinger

     

    Associated project(s):

    Arquillian

     

    Notes:

    ShrinkWrap | Development and Contribution

     

    Discussion: Re: GSoC: ShrinkWrap Tasks

     

    CDI (Weld) for Android/Dalvik

     

    Status: Student Proposal

     

    Summary of idea:

    Weld extends CDI outside of Java EE 6 to Servlet and Java SE environments. One place it hasn't ventured yet is Android. Android developers have to instantiate services the old-fashioned way, using the new operator. This student project would focus on getting Weld to run inside of Android/Dalvik as a way to bring CDI to Android. Once Weld is running, the next step is to research building custom scopes for a single activity, nested activities (conversation) and for sessions that span multiple passivations of an application. Not only will developers benefit from having dependency injection, but also simplified state management.

     

    Knowledge prerequisite:

    understanding of the CDI programming model and the Android SDK

     

    Skill level:

    Intermediate

     

    Student:

    Kevin Sapper

     

    Contact and Mentor:

    Ales Justin

     

    Associated project(s):

    Weld

     

    Notes:

    Proposal and comments on Google Melange

     

    Bringing the goodness of Java 8 to Hibernate Validator

     

    Status: Proposed

     

    Summary of idea: Java 8 is just around the corner and will bring many new valuable features for the developer community. Besides Lambda expressions there will be new opportunities in the field of annotations, a new date/time API etc. Many of these changes will be beneficial to Hibernate Validator, an annotation based library for applying constraints to Java beans. The goal of this project is to take advantage of Java 8 for offering advanced validation functionality in Hibernate Validator by:

     

    • Supporting new date/time datatypes (JSR 310)
    • Allowing to specify several constraint of the same type via the new facility for specifying the same annotation more than once
    • Retrieving parameter names via reflection to report parameter constraint violations
    • Using type annotations to support constraints on collection elements, e.g. List<@Email String> mails;
    • Integration of the new Optional type and/or JavaFX types
    • Making the Hibernate Validator annotation processor aware of the new locations where constraints can be specified
    • Use method references to refer to properties in programmatic config API

     

    An ideal candidate will be a self-starter with the willingness to dive into unknown code and explore new paths.

     

    Knowledge prerequisite: Java, reflection; annotation processing (JSR 269) would be a plus; The project will be a great chance to gain real-world experience in using new Java 8 features

     

    Skill level: High

     

    Contact(s): Gunnar Morling

     

    Mentor(s): Gunnar Morling

     

    Associated project(s): Hibernate Validator

     

    Notes: Check out HV-825 to learn more about the proposed project; Join the Hibernate mailing list or #hibernate-dev on FreeNode to get in touch with the development team

    Category: AS7 extensions

     

    Add annotation indexing support to Spring deployments

     

    Status:Proposed


    Summary of idea:Provide an extension to the Spring Framework that can take advantage of AS7 annotation indexing support for deployments and apply it for speeding up the startup of Spring applications in JBoss AS 7.

     

    Knowledge prerequisite: Spring framework, Java, JBoss AS7 architecture is desirable, but not a KO criterion (mentor will provide guidance on that).

     

    Skill level: Intermediate to advanced

     

    Contact and mentor: Marius Bogoevici

     

    Discussion: Snowdrop projects for GSoC

     

    Associated projects: Snowdrop

     

    Category: Web Frameworks

    The RichFaces Data table comopnents as a stand-alone javascrpt widget

    Status: Proposed

     

    Summary of idea:

    RichFaces provides a set of components written on top of the JSF API standardized as part of Java EE.  JSF components encapsulate the javascript and ajax communication of client interactions, allowing application developers to author applications without having to manage the javascript lifecycle of client-side widgets.  Current development efforts in RichFaces are centered around the development of, allowing RichFaces javascript widgets to be integrated with other Web frameworks.

     

     

    The data table component is critical in RichFaces component offering, used in a wide variety of use cases.  However the current implementation is not well suited to mobile environments.  The data table component is to be re-implemented as a standalone javascript widget  loosely coupled to the JSF back-end.  The standalone javascript widget can then be developed to be well-suited to mobile environments, taking advantage of responsive design and column relfow techniques.

     

     

    The student will be responsible for selecting a suitable OSS javascript data table implementation and extending it to meet the requirements of the RichFaces project.  In addition to the javascript client-side this will involve, the student will also tackle any changes required to the server-side java code required to both generate the component and integrate it to the JSF back-end.

     

    The project expects from a student a pro-active communication with the community by using status updates on the the developer forum, blogs and screencasts.

    To help ensure a successful student application and project, students are encouraged to approach the mentors early in the application process to help make sure they are on the right path to acquire any required knowledge pre-requisites.

     

    Knowledge prerequisite: Java, JavaScript, previous experience with JSF is not required but would help

     

    Skill level: Intermediate to advanced

     

    Contacts and Mentors: Brian Leathem (bleathem @ irc.freenode.net), Lukas Fryc (lfryc @ irc.freenode.net)

     

    Associated project: RichFaces

     

    Notes: Refer to the following resources for more information:

     

    Social media integrations as JSF components

    Status: Proposed

     

    Summary of idea:

    RichFaces provides a set of components written on top of the JSF API standardized as part of Java EE.  JSF components encapsulate the javascript and ajax communication of client interactions, allowing application developers to author applications without having to manage the javascript lifecycle of client-side widgets.  Rapid component development can be achieved by leveraging existing javascript libraries.

     

     

    JSF components that provide integration with Social media sites would provide JSF developers with a firm foundation on which they can easily and dependably build applications targeting integration with Social Media.  Leveraging existing server side projects like PicketLink, and Agorava, coupled with the possibilities provided by HTTP libraries like the Facebook Graph API and the twitter REST API will result in incredibly powerful components for JSF developers.

     

     

    The student will take the proof-of-concept social media integration being explored in our Photalbum demo application and develop a set of JSF components that encapsulate and abstract the logic required for integrating Social Media sites and services into JSF applications.

     

    The project expects from a student a pro-active communication with the community by using status updates on the the developer forum, blogs and screencasts.

    To help ensure a successful student application and project, students are encouraged to approach the mentors early in the application process to help make sure they are on the right path to acquire any required knowledge pre-requisites.

     

    Knowledge prerequisite: Java, JavaScript, previous experience with JSF is not required but would help

     

    Skill level: Intermediate to advanced

     

    Contacts and Mentors: Brian Leathem (bleathem @ irc.freenode.net), Lukas Fryc (lfryc @ irc.freenode.net)

     

    Associated project: RichFaces

     

    Notes: Refer to the following resources for more information:

     

     

    Chart Components

    Status: Proposed

     

    Summary of idea:

    RichFaces provides a set of components written on top of the JSF API standardized as part of Java EE.  JSF components encapsulate the javascript and ajax communication of client interactions, allowing application developers to author applications without having to manage the javascript lifecycle of client-side widgets.  Current development efforts in RichFaces are centered around the development of, allowing RichFaces javascript widgets to be integrated with other Web frameworks.

     

    The chart components were always critical part of enterprise applications. An integration with RichFaces ecosystem would enable simple-to-reuse charts and graphs. The final solution will leverage existing mobile-enabled widgets such as jqPlot or D3.js. The selected set of widgets must be capable to work on mobile devices.

     

    The student will focus on exposing graphs with JSF API familiar to users using Facelets, rich client-side and server-side event system and data synchronization. The integral part of the project will be incorporation into RichFaces Sandbox component library including extensive use-case driven examples, the user-facing documentation and end-to-end integration tests.

     

    The project expects from a student a pro-active communication with the community by using status updates on the the developer forum, blogs and screencasts.

    To help ensure a successful student application and project, students are encouraged to approach the mentors early in the application process to help make sure they are on the right path to acquire any required knowledge pre-requisites.

     

    Knowledge prerequisite: Java, JavaScript, basic knowledge of JSF (awareness)

     

    Skill level: Intermediate to advanced

     

    Contacts and Mentors: Lukas Fryc (lfryc @ irc.freenode.net), Brian Leathem (bleathem @ irc.freenode.net)

     

    Associated project: RichFaces

     

    Notes: Refer to the following resources for more information:

     

    Category: Ceylon Programming Language

    Make Ceylon scriptable

     

    We want to make it possible to write scripts in Ceylon, which means:

    • extending our grammar to allow Ceylon statements to appear at the toplevel in a script file (as opposed as within a method/class)
    • allowing module imports inside the script file
    • supporting the traditional UNIX #!/usr/bin/ceylon script header (mostly by ignoring/validating it in the grammar)
    • writing the script Ceylon command-line plugin, which will compile and run the Ceylon script
    • adding all required unit tests
    • documenting all this

     

    Knowledge prerequisite: Ceylon, Java, AntLR

     

    Skill level: Medium

     

    Contacts and mentors: Stéphane Épardaud, Tako Schotanus, Tom Bentley

     

    Notes: Refer to the Ceylon specification issue on scriptability for more information

    Make a Ceylon command-line plugin which generates architecture-dependent installable archives

    We'd like to be able to generate installable RPM, Debian archives for a given Ceylon module and version. Similarly we'd like to be able to export a Ceylon module to a Maven repository, with POM file, and generate Brew descriptors and ZIP archives. For all formats that support it, we are going to list the dependencies. This involves writing a new Ceylon command-line plugin calledexport.

     

    Knowledge prerequisite: Ceylon, Java, RPM, Deb formats

     

    Skill level: Medium

     

    Contacts and mentors: Stéphane Épardaud, Tako Schotanus, Tom Bentley

    Improve Herd, our Ceylon module repository web application

    We have many improvements we'd like to bring to Herd, our Ceylon module repository web application, such as features, bug fixes, improving usability or layout. This will involve all the usual skills required of web developers (front/back) and will make a big difference for all our users.

     

    Knowledge prerequisite: HTML 5, CSS 3, JavaScript, Play! Framework 1, Java, PostgreSQL, REST

     

    Skill level: Medium

     

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

     

    Notes: Refer to the various open Ceylon Herd issues for more information.

    Improve the Ceylon IDE debugger

    Our Ceylon IDE debugger (based on the Eclipse IDE) needs some love. We need to work on the following things:

    • Check that our generated debugging line information is correct
    • Mask generated artifacts such as temporary variables or extra parameters in the variable view
    • Mask generated artifact stack frames
    • Visual display of Ceylon values and types in the variable view
    • Execute Ceylon code in the interactive panel
    • Conditional breakpoints with Ceylon conditions

    Knowledge prerequisite: Ceylon, Java, Eclipse

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the various related Ceylon IDE issues for more information.

    Improve the Ceylon IDE

    We have many improvements we'd like to bring to our Ceylon IDE, such as features, bug fixes, improving usability or layout. This will involve all the usual skills required of GUI desktop applications and will make a big difference for all our users.

    Knowledge prerequisite: Ceylon, Java, Eclipse

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the various open Ceylon IDE issues for more information.

    Add support for custom code formatting to the Ceylon IDE

    The Ceylon IDE (based on Eclipse) does not currently support global or per-project code formatting rules, like the Java plugin does. We'd like to support that with the same sort of configuration. This will involve GUI work as well as implementing the formatting settings in the auto-indent and a new format action.

    Ideally, outside of the configuration GUI and Eclipse-specific glue, the formatter should be an independent library that can be reused in a Ceylon command-line format plugin as well.

    Knowledge prerequisite: Ceylon, Java, Eclipse

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the Ceylon IDE issue for more information.

    Java to Ceylon code converter

    The Ceylon IDE (based on Eclipse) should support pasting code from a Java file into a Ceylon file, while tranlating the code to Ceylon.

    Ideally, outside Eclipse-specific glue, the conversion tool should be an independent library that can be reused in a Ceylon command-line convert plugin as well.

    Knowledge prerequisite: Ceylon, Java, Eclipse, AntLR

    Skill level: Medium

    Mentor: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the Ceylon IDE issue for more information.

    Optimise Ceylon's implementation of Callable functions

    Ceylon supports anonymous functions (like JavaScript), as well as obtaining Callablereferences to methods and constructors, which are currently implemented on the JVM using anonymous inner classes. It should be possible to not require those anonymous classes for method and constructor references, and use Java 7's new MethodHandle API to do the same job with less classes and faster execution.

    This will require testing and validating the ideas and strategy, as well as modifying the Ceylon compiler's JVM backend to support this change.

    Knowledge prerequisite: Ceylon, Java

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tako Schotanus, Tom Bentley

    Notes: Refer to the Ceylon compiler issue for more information.

     

    Support for runing Ceylon tests inside JavaScript virtual machine

    Ceylon SDK contains module ceylon.test, which is simple framework to write repeatable tests. Currently it is very well integrated into Ceylon CLI and IDE for Java platform.

    The goal of this project is to provide analogous support for JavaScript platform.

     

    Knowledge prerequisite: Ceylon, JavaScript, Node.js

    Skill level: Medium

    Contacts and mentors: Tomáš Hradec

     

    Support for generating reports from Ceylon tests

    Ceylon SDK contains module ceylon.test, which is simple framework to write repeatable tests.

    The goal of this project is to develop module, which will generate reports about tests results in human readable format and in format understandable by CI servers.

     

    Knowledge prerequisite: Ceylon, Java

    Skill level: Medium

    Contacts and mentors: Tomáš Hradec

     

     

    Participating Projects

     

    You can find more information below about the participating projects.

     

    Infinispan

     

     

    Topic
    Details
    Project DescriptionInfinispan is an open source data grid platform and in-memory, key/value NoSQL storage engine.  It is distributed and offers a data store that is elastic and highly available.
    Project Website

    http://www.infinispan.org

    Project Logoinfinispan_logoupdate_256px.png
    CategoryData grids, distributed caching, NoSQL, clustering
    MentorManik Surtani, Mircea Markus
    Project IRCirc://irc.freenode.net/infinispan

     

    AeroGear

     

     

    Topic
    Details
    Project DescriptionProject AeroGear will be developing and integrating new mobile, native, and HTML5 based frameworks that solve the hard issues that enterprise developers care about - such as offline data synchronization, security, JBoss AS7 integration, and support across a broad range of devices. More info at http://aerogear.org/
    Project Websitehttp://aerogear.org/
    Project Logohttp://in.relation.to/service/File/22836
    CategoryMobile, Java, Ember
    MentorMatthias Wessendorf
    Project IRCirc://irc.freenode.net/aerogear
    Project Communityhttp://aerogear.org/community/
    Project Sourcehttps://github.com/aerogear

     

    JBoss Forge

     

    Topic
    Details
    Project Description

    JBoss Forge is a core framework and next-generation shell for tooling and automation at a command line level; with APIs for integration in IDEs, exending built in functionality with plugins, and scripting for automating repeditive tasks, Forge is a tool every open-source developer should be looking at.

    Project Websitehttp://www.jboss.org/forge
    Project Logohttps://docs.jboss.org/author/download/attachments/11370498/Screen+Shot+2011-10-03+at+8.01.33+AM.png?version=1&modificationDate=1317654146000
    CategoryTooling and Automation
    Brief Description of the Idea

    1. Implement a Database Migration system as a Plugin for Forge

    2. Support Forge 2.0 in IntelliJ Idea and/or NetBeans

    Expected Results

    1. A Forge plugin to setup and allow the generation of database schema changes using a pluggable database migration framework. (See more details here: https://issues.jboss.org/browse/FORGEPLUGINS-54 )

    2. An implementation of the Forge 2 UI API for IDEA and/or Netbeans.

    Programming / Knowledge RequirementJava, SQL, JPA, Database Migration Frameworks
    MentorLincoln Baxter, III
    Project IRChttp://webchat.freenode.net/?channels=forge
    Project Forums / Mailing Listforge-dev@lists.jboss.org

     

    TorqueBox

     

    Topic
    Details
    Project Description

    TorqueBox is a new kind of Ruby application platform that integrates popular technologies such as Ruby on Rails, while extending the footprint of Ruby applications to include built-in support for services such as messaging, scheduling, and daemons.

    TorqueBox provides an all-in-one environment, built upon the latest, most powerful JBoss AS Java application server. Functionality such as clustering, load-balancing and high-availability is included right out-of-the-box.

    Project Websitehttp://torquebox.org/
    Project Logohttp://bob.mcwhirter.org/blog/assets/torquebox-logo.png
    CategoryRuby
    MentorBob McWhirter
    Project IRCirc://irc.freenode.net/torquebox
    Project Forumshttp://torquebox.org/community/mailing_lists/
    Project Demo Links (Youtube etc)http://torquebox.org/podcasts/

     

    Arquillian

     

    Topic
    Details
    Description

    Arquillian is revolutionary platform that greatly simplifies integration testing for Java middleware. No more mocks. No more container lifecycle and deployment hassles. Just real tests!

    Websitehttp://arquillian.org
    Logohttp://design.jboss.org/arquillian/logo/ui/images/success/arquillian_ui_success_256px.png
    CategoryTesting
    LeadAslak Knutsen
    Project IRC

    https://webchat.freenode.net/?channels=arquillian

    http://webchat.freenode.net/?channels=jbosstesting

    Project Forumshttps://community.jboss.org/en/arquillian?view=discussions
    Source Codehttps://github.com/arquillian

     

    ShrinkWrap

     

    Topic
    Details
    Description

    ShrinkWrap is a simple, fluent API to create archives in Java.

    Websitehttp://www.jboss.org/shrinkwrap
    Logohttp://design.jboss.org/arquillian/logo/ui/images/success/arquillian_ui_success_256px.png
    CategoryRuntime Frameworks
    LeadAndrew Rubinger
    Project IRC

    https://webchat.freenode.net/?channels=arquillian

    http://webchat.freenode.net/?channels=jbosstesting

    Project Forumshttps://community.jboss.org/en/arquillian?view=discussions
    Source Codehttps://github.com/shrinkwrap

     

     

    Topic
    Details
    Project Description

    PicketLink is a pure open source Identity Management project that provides Single Sign On capabilities to web applications. Apart from support for SAML and WS-Trust, there is support for OpenID and OAuth standards in various manner.

    Project Websitehttp://www.jboss.org/picketlink
    Project Logohttps://www.jboss.org/dms/picketlink/images/picketlink-banner-1180px.png
    CategoryIdentity Management and Security
    MentorAnil Saldhana
    Project IRChttp://webchat.freenode.net/?channels=picketlink
    Project Forumshttps://community.jboss.org/en/picketlink?view=discussions

     

    RHQ

     

    Topic
    Details
    Project Description

    RHQ is a systems management and monitoring suite that can be extended via Plugins

    Project Websitehttp://rhq-project.org/
    Project LogoRHQ-logo-wallpaper.png
    CategorySystems management and monitoring
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava required (except for 6) and GWT for the 1st idea
    MentorHeiko Rupp, hwr@redhat.com, pilhuhn on irc, @pilhuhn on Twitter
    Project IRCirc://irc.frenode.net/#rhq
    Project Forumshttps://community.jboss.org/en/rhq?view=discussions
    Project Demo Links (Youtube etc)http://rhq-project.org/display/RHQ/Videos

    Drools

     

    Topic
    Details
    Project Description

    Integrated platform for Rules, Workflow and Event Processing

    Project Websitehttp://drools.org/
    Project LogoRHQ-logo-wallpaper.png
    CategoryKnowledge authoring and management
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava and GWT or JavaScript
    MentorToni Rikkola trikkola@redhat.com, Rikkola on irc, @Rikkola on Twitter
    Project IRCirc://irc.codehaus.org/#drools
    Project Forumshttp://www.jboss.org/drools/lists
    Project Demo Links (Youtube etc)http://blog.athico.com/
    Source Codehttps://github.com/droolsjbpm

     

    Trailblazer SIG

     

    Topic
    Details
    Project Description

    The Trailblazer Special Interest Group (SIG) is focused on creating tutorials and examples that help developers write applications using the standard Java EE platform and APIs combined with additional tools and technologies from the JBoss Community. The goal of the group is to curate these technologies into step-by-step tutorials and examples that gradually introduce developers to this platform, or refresh the memory of developers coming back to it.

    Project Websitehttps://community.jboss.org/groups/trailblazer
    Project LogoTBD
    CategoryTutorials and examples development
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava, JavaScript
    MentorMarius Bogoevici, mariusb@redhat.com, mariusbogoevici on Twitter, mbg on IRC
    Project IRCTBD.
    Project Forumshttps://community.jboss.org/groups/trailblazer?view=discussions

     

     

    jBPM

     

    Topic
    Details
    Project Description

    Business Process Management (BPM) suite

    Project Websitehttp://www.jboss.org/jbpm/
    Project LogojBPM-large.gif
    CategoryApplication Development
    Brief Description of the Ideas

    See proposals above or jBPM Projects page

    Programming/Knowledge RequirementJava
    Mentor

    Kris Verlaenen, krisv on irc, @KrisVerlaenen on Twitter

    Mauricio Salatino, salaboy on irc @salaboy on Twitter

    Project IRCirc://irc.codehaus.org/#jbpm
    Project Forumshttps://community.jboss.org/en/jbpm?view=discussions
    Project Demo Links (Youtube etc)http://www.jboss.org/jbpm/screenshots and http://kverlaen.blogspot.com/
    Source Codehttps://github.com/droolsjbpm/jbpm

     

    Snowdrop

    Topic
    Details
    Project Description

    Spring extensions for JBoss AS7

    Project Websitehttp://www.jboss.org/snowdrop
    Project Logohttp://design.jboss.org/snowdrop/logo/images/snowdrop_logo_200px.gif
    CategoryFramework integration
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava
    MentorMarius Bogoevici, mbg on irc, @MariusBogoevici on Twitter
    Project Forumshttps://community.jboss.org/en/snowdrop?view=discussions
    Source Codehttps://github.com/snowdrop

     

     

    RichFaces

    Topic
    Details
    Project Description

    RichFaces provides a set of components written on top of the JSF API standardized as part of Java EE.  JSF components encapsulate the javascript and ajax communication of client interactions, allowing application developers to author applications without having to manage the javascript lifecycle of client-side widgets.

    Project Websitehttp://richfaces.org
    Project Logorichfaces_logo_600px.png
    CategoryWeb Framework
    Brief Description of the Ideas

    Development of standalone javascript widgets loosely coupled to the JSF backend

    Programming/Knowledge RequirementJava, Javascript, previous experience with JSF is not required but would help
    MentorBrian Leathem, bleathem on irc, @brianleathem on Twitter
    Project Developer Forumhttps://community.jboss.org/en/richfaces/dev?view=discussions
    Source Codehttps://github.com/richfaces

     

    Hibernate

     

     

    Topic
    Details
    Project DescriptionHibernate is a very popular open source framework used to map a Java domain model to persistent stores and provide an effective API to persist changes or execute queries. It is commonly used to map object to a relational database but is now also able to map data to data grids (Infinispan, Ehcache) and other NoSQL technologies (MongoDB, Neo4J, CouchBase, Cassandra, ..), or integrates with powerfull full text engines (Apache Lucene) to provide a state of the art search engine and some data mining capabilities. It is the foundation technology of the Java Persistence API.
    Project Website

    http://www.hibernate.org

    Project LogoHibernate logo
    CategoryPersistence, Data, Search
    MentorSanne Grinovero: sannegrinovero on IRC, @SanneGrinovero on Twitter
    Project IRChttp://hibernate.org/community/irc (requires to register your nickname on the IRC server)
    Project issue tracker (JIRA)https://hibernate.atlassian.net
    Source codehttps://github.com/hibernate
    Preferred communication channel for developersHibernate development mailing list: https://lists.jboss.org/mailman/listinfo/hibernate-dev (requires subscription)

     

     

    Ceylon

     

     

    Topic
    Details
    Project DescriptionCeylon is a new modern programming languge for the JVM and JavaScript VMs.
    Project Websitehttp://ceylon-lang.org/
    Project Logohttp://ceylon-lang.org/images/ceylon_homebanner_elephant.png
    CategoryProgramming languages
    MentorStéphane Épardaud
    Project Forumshttp://groups.google.com/group/ceylon-dev
    Source codehttp://ceylon-lang.org/code/source/

     

     

    OptaPlanner

     

     

    Topic
    Details
    Project DescriptionOptaPlanner is a lightweight, embeddable planning engine written in Java. It helps normal Java programmers solve constraint satisfaction problems efficiently. Under the hood, it combines optimization heuristics and metaheuristics with very efficient score calculation.
    Project Websitehttp://www.optaplanner.org/
    Project Logohttp://www.jboss.org/optaplanner/headerFooter/optaPlannerLogo200px.png
    CategoryApplication Development
    MentorGeoffrey De Smet
    Project Forumshttp://www.optaplanner.org/community/forum.html
    Source codehttps://github.com/droolsjbpm/optaplanner

     

    Information for Potential Mentors

    1. You should register yourself (preferably with gmail id) at http://www.google-melange.com/gsoc/homepage/google/gsoc2014

    2. Then sign up as a mentor on that site by choosing "JBoss Community".  (Click "Home" link and at the bottom of the page, you see a picture for mentors to apply)

    3. Advise strongly to subscribe to the gsoc  AT  lists.jboss.org    (Sign up here: https://lists.jboss.org/mailman/listinfo)

    4. Join the IRC channel on FreeNode called #gsoc-jboss

    Information for Potential Students

    1. You should register yourself (preferably with gmail id) at http://www.google-melange.com/gsoc/homepage/google/gsoc2014

    2. Then sign up as a student on that site and submit proposals on "JBoss Community".

    3. Advise strongly to subscribe to the gsoc  AT  lists.jboss.org    (Sign up here: https://lists.jboss.org/mailman/listinfo)

    4. Join the IRC channel on FreeNode called #gsoc-jboss

    5. EXTREMELY IMPORTANT: All your proposals have to be done via the google melange site (<===NOTE THIS)

    6. Read GSOC Advice for students at http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents

     

     

    Resources