JBoss Google Summer of Code 2013 Ideas
All students & developers are welcome to participate in the Google Summer of Code 2013 program with the JBoss Community!
If you are a student looking forward to participate the GSoC 2013 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 13 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.
- JBoss Google Summer of Code 2013 Ideas
- Administrators and Mentors
- Idea Proposal Template
-
Idea Proposals
-
Category: Testing
- Extend Arquillian to support Spring testing (beans and MVC controllers)
- Decouple GWT testing from Jetty and allow integration testing in any container
- Integrate Sahi into Arquillian Drone for automated browser testing
- Integrate Robotium into Arquillian Drone and Android extensions for complete automated application testing on Android
- Add support for scriptable data sets in DBUnit, building on the Arquillian Persistence Extension
- Provide an object-oriented format for defining test data for the Arquillian Persistence Extension
- Integrate test data generation into Arquillian
- Unleash the Jester on integration tests by adding support for mutation testing in Arquillian
- Automated Client-Side Profiling
-
Category: Tooling
- Implement a Database Migration system as plugin for Forge
- Support for the Gradle build system as a plugin for Forge
- Support Forge 2.0 in IntelliJ Idea and/or NetBeans
- BPMN2 based Web App for replaying and stepping through activity information captured from a business transaction executing within a SOA
- UML class editor-like Fact Type Editor for Drools Guvnor
- Integrate Drools Guvnor's GWT components into Eclipse SWTBrowser and decouple from JCR
- Generic state management for Drools Guvnor for undo, redo and saved state
- Realtime Collaborative Editor for Drools Decision Tables using Errai OT/EC
- JavaScript-based visualizer for Drools Verifier verification data
- Dynamic visual BPMN2 Diff tool for jBPM Web Designer
- Smart Data Mapping and Associations for jBPM Web Designer
-
Category: Application Development
- Implement a big screen dashboard for RHQ
- Implement an iOS client for RHQ
- Implement a plugin store for RHQ
- Implement a Mobile Document Collaboration App
- Demo: Implementing native features in mobile applications
- JBoss AS Quickstarts: Hibernate
- JBoss AS Quickstarts: JBoss AS management, services and modules
- jBPM on Android
- Integrating jBPM with your own preferred project(s)
- OptaPlanner on Android
- Category: Security
- Category: Asynchronous Messaging
- Category: Continuous Integration and Continous Improvement
- Category: Runtime Frameworks
- Category: AS7 extensions
- Category: Web Frameworks
-
Category: Ceylon Programming Language
- Make Ceylon scriptable
- Make a Ceylon command-line plugin which generates architecture-dependent installable archives
- Improve Herd, our Ceylon module repository web application
- Improve the Ceylon IDE debugger
- Improve the Ceylon IDE
- Add support for custom code formatting to the Ceylon IDE
- Java to Ceylon code converter
- Optimise Ceylon's implementation of Callable functions
-
Category: Testing
- Participating Projects
- Information for Potential Mentors
- Information for Potential Students
- Resources
Administrators and Mentors
The following people have agreed to serve as administrators and/or mentors for the GSoC 2013 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.
- Anil Saldhana (primary administrator, mentor)
- Dan Allen (backup administrator, mentor)
- Aslak Knutsen (mentor)
- Heiko Rupp (mentor)
- Lukas Fryc (mentor)
- Marius Bogoevici (mentor)
- Christian Sadilek (mentor)
- Lincoln Baxter, III (mentor)
- Gary Brown (mentor)
- Bartosz Majsak (mentor)
- Karel Piwko (mentor)
- Carlo de Wolf (mentor)
- Toni Rikkola (mentor)
- Michael Anstis (mentor)
- Pete Muir (mentor)
- Andrew Rubinger (mentor)
- Jay Balunas (mentor)
- Kris Verlaenen (mentor)
- Mark Proctor (mentor)
- Tihomir Surdilovic (mentor)
- Manik Surtani (mentor)
- Sanne Grinovero (mentor)
- Geoffrey De Smet (mentor)
- Mauricio Salatino (mentor)
- Mircea Markus (mentor)
- Brian Leathem (mentor)
- George Gastaldi (mentor)
- Stéphane Épardaud (mentor)
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 37 ideas that have been proposed for the GSoC 2013 program. The ideas are organized by category.
Category: Testing
Extend Arquillian to support Spring testing (beans and MVC controllers)
Status: Proposed
Summary of idea:
Arquillian provides an extensible testing platform that can be used for testing any type of Java-based component. The initial focus for Arquillian was testing Java EE components, such as CDI beans, EJBs and JPA. However, Arquillian provides all the infrastructure and hooks necessary to make it an ideal testing platform for Spring applications.
It's already possible to test Spring beans using Arquillian by packaging the Seam 3 Spring library in the test archive and injecting Spring beans into the test by way of CDI. However, the use of CDI here is unnecessary, since Arquillian already provides an extension point for creating a custom "test enricher", specifically a dependency injection bridge. In the first phase of this project, the student will create an Arquillian extension that provides a test enricher that loads Spring and looks up Spring beans for Arquillian to inject into the test case. This functionality effectively emulates the Spring TestContext framework (with proper isolation of the test archive of course).
In the next phase of the project (if there is time), the student will extend Arquillian to enable testing of Spring MVC controllers. This functionality is very similar to the Arquillian JSFUnit extension that enables testing of JSF inside the container. There is already some work that has been done for testing Spring MVC controllers using a Spring-centric approach in the Spring MVC Test project. This project can serve as a good model for what we want to achieve using Arquillian as the test platform.
Knowledge prerequisite: Java, Spring, Spring TestContext, JUnit or TestNG
Skill level: Medium
Contact(s): Marius Bogoevici, Dan Allen, Aslak Knutsen
Mentor(s): Marius Bogoevici, Dan Allen
Associated project(s): Arquillian
Notes: Refer to the following resources for more information:
Discussion:
Decouple GWT testing from Jetty and allow integration testing in any container
Status: Proposed
Summary of idea:
Currently GWT integration tests using GWTTestCase are coupled with Jetty. This limits guarantees of GWT integration tests, and increases the complexity of project setup, when Jetty is not the target deployment environment. The goal of this project is to decouple this test framework from Jetty and hook it up to the Arquillian test platform. By integration with Arquillian, it's possible to leverage the Arquillian container adapters to allow integration testing on any supported container (including Jetty).
In the next phase of the project, the student will tackle using ShrinkWrap micro-deployments for integration testing GWT. The lack of support for fine-grained, quick turnaround integration testing is a major missing piece of GWT. The GWT compiler could be forced to compile only portion of UI logic which could be tested in separation. This decreases time needed to compile deployment and allows testing units in separation.
When this project is complete, GWT tests will be much more flexible and efficient. It will be possible to run GWT tests on any container supported by Arquillian, tests will be more fine-grained, resulting in faster turnaround and developers will be able to experiment with other available Arquillian extensions for GWT testing.
Knowledge prerequisite: Java, GWT, some familiarity with Arquillian
Skill level: Medium to High
Contact(s): Christian Sadilek, Aslak Knutsen
Mentor(s): Christian Sadilek
Associated project(s): Arquillian, Errai, RHQ
Notes: See the following resources for more information about this project:
Integrate Sahi into Arquillian Drone for automated browser testing
Status: Proposed
Summary of idea:
Arquillian Drone is an abstract layer over browser controllers such as Selenium, WebDriver and HtmlUnit that integrates with the Arquillian testing platform to automate browser testing. Drone provides extension points to allow any browser controller with a Java API to be supported. Some developers prefer Sahi over Selenium for testing rich web applications such as those written using GWT. The goal of this project is to add support for Sahi in Arquillian Drone.
Knowledge prerequisite: Java, Sahi or Selenium, JUnit or TestNG
Skill level: Low to Medium
Contact(s): Heiko Rupp, Karel Piwko
Mentor(s): Karel Piwko
Associated project(s): Arquillian
Notes: Sahi testimonial
Discussion: https://community.jboss.org/thread/197736
Integrate Robotium into Arquillian Drone and Android extensions for complete automated application testing on Android
Status: Proposed
Summary of idea:
The goal of this project is to add support for native Android application testing in Arquillian, leveraging Arquillian Drone as the controller. This focus of the project is on bringing together several well-established testing frameworks into a single, powerful stack.
The Arquillian Android extension is an integration layer between Android SDK and Arquillian. It allows you to start and stop Android emulators, connect real devices and install arbitrary packages. It's basically a way to control the Android Debug Bridge from Java environment. Currently, the Android extension supports testing web-based applications via integration with Arquillian Drone and the Selenium AndroidWebDriver.
Robotium is a framework based on top of Android SDK activity and testing, which allows you to do a blackbox testing of the native application running on an Android device. An activity represents a part of the application (e.g., a screen) the user can interact with in order to do something. Robotium resembles Selenium in many aspects, except it works on native screens instead of web pages.
Arquillian Drone is an abstraction layer over browser controllers such as Selenium, WebDriver and HtmlUnit that integrates with the Arquillian testing platform to automate browser testing. Drone provides extension points to allow any browser controller with a Java API to be supported. Since Robotium allows you "to browse" Android applications, it can be used as a browser from Arquillian Drone.
This project can devided into two distinct phases. The first one focuses on decoupling InstrumentationTestRunner from Android SDK and integrating into Arquillian. This will allow running any Android integration tests directly in Arquillian. The second phase is about adding Robotium into Arquillian Drone as a supported browser.
By integrating Robotium, developers will be able to focus on writing test logic and let Arquillian handle the integration work and automation. The developer will profit from much simpler configuration and possibly from integration with other Arquillian extensions.
Knowledge prerequisite: Java, Android testing, JUnit or TestNG, Arquillian a plus
Skill level: Medium
Contact(s): Karel Piwko
Mentor(s): Karel Piwko
Associated project(s): Arquillian
Notes: Robotium, Android Activity Testing
Discussion: https://community.jboss.org/thread/197458
Add support for scriptable data sets in DBUnit, building on the Arquillian Persistence Extension
Status: Proposed
Summary of idea:
The key strength of Arquillian as testing platform is its extensibility. Arquillian Persistence Extension is one of many add-ons. The main rationale behind it is to remove boilerplate code needed to prepare the database and make you a happy and productive programmer!
This extension uses DBUnit to populate test data. DBUnit is a popular and mature tool aiming to help developers with data driven tests. It provides an abstraction to manipulate test data called DataSet (in the form of XML, Excel file or formats added by the Arquillian Persistence Extension, such as YAML and JSON). The DataSet represents a collection of tables (rows) used to seed the database. However it's static nature is not sufficient in many cases. Imagine testing time sensitive data. It could be really handy to have possibility of defining date as "three days from today" or having current time by simply invoking "now()" function. With the power of a scripting language at your disposal it should be achieved very easy.
The goal of this project is to extend the Arquillian Persistence Extension usage of DBUnit and introduce the concept ScriptableDataSet. By leveraging "Scripting for the Java Platform" (JSR 223) introduced in JDK 6 we can use plethora of languages to add dynamic flavor to our data driven tests.
Knowledge prerequisite: Java, some basic knowledge of scripting languages (JSR-233, could be Groovy, Python, JavaScript, Ruby), DBUnit, JUnit, TestNG
Skill level: Low - Medium
Contact(s): Bartosz Majsak, Aslak Knutsen
Mentor(s): Bartosz Majsak
Associated project(s): Arquillian
Notes:
Provide an object-oriented format for defining test data for the Arquillian Persistence Extension
Status: Proposed
Summary of idea:
DBUnit data sets are low-level, database oriented test fixtures. Hence it's often quite cumbersome to write them by hand, especially when there are relationships between entities/tables. The goal of this project is to introduce an alternative way of describing test data in external, human-readable text files representing object structure (entities), not rows as it's in DBUnit case. Considered formats are YAML or JSON.
Knowledge prerequisite: Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.
Skill level: Low
Contact(s): Bartosz Majsak, Aslak Knutsen
Mentor(s): Bartosz Majsak
Associated project(s): Arquillian
Notes:
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
Mentor(s): Bartosz Majsak
Associated project(s): Arquillian
Notes:
Automated Client-Side Profiling
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/
[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.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:
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 for the Gradle build system as a plugin for Forge
Status: Proposed
Summary of idea: JBoss Forge already has support for the Maven build system, allowing plugin developers to end users to create projects that are built using maven. Gradle follows many of the same practices of dependency resolution from central repositories, version management, and classpath configuration, but is more difficult to use due to its free-form configuration. Gradle has also increased in popularity as it is used to build projects such as the Android OS.
The Forge team has joined forces with Gradleware to offer a proposal for GSoC that would put one lucky student in the driver's seat of enhancing both Forge and Gradle itself to allow for better tooling integration and support in projects like Forge, Eclipse, IntelliJ, and more.
The outcome of this project will be a Gradle-implementation equivelent to the functionality of Maven in JBoss Forge, to serve as a basis for such integration in other tools. Forge should be able to read Gradle projects, produce Gradle projects, and manipulate existing Gradle projects, just like what is currently supported with Maven.
More info in https://issues.jboss.org/browse/FORGE-535
Knowledge prerequisite: Java
Skill level: Medium to High
Contact(s): Lincoln Baxter, III
Mentor(s): Lincoln Baxter, III, Koen Aers (kaers@redhat.com), George Gastaldi
Associated project(s): Forge, Gradle
Notes:
Support Forge 2.0 in IntelliJ Idea and/or NetBeans
Status: Proposed
Summary of idea:
Knowledge prerequisite:
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.
Knowledge prerequisite: BPMN2, Java, GWT, SVG
Skill level: Medium to High
Contact(s): Gary Brown
Mentor(s): Gary Brown Jeff Yu
Associated project(s): Savara Overlord
Notes:
Further questions about this task can be asked on this Savara dev forum thread.
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:
JavaScript-based visualizer for Drools Verifier verification data
Status: Draft
Summary of idea:
Javascript-based visualizer for Drools Verifier verification data.
Drools Verifier produces a XML report about the defects found from
Drools rule language code and about the relationships between the
rules and facts used in the code. The goal is to create a read only
report that visualizes this data. The end result will be similar to
what you would get when you merge JavaDocs and a FindBugs report.
When this project is complete, the report will be used in CI-server
builds and inside Drools Guvnor.
Knowledge prerequisite:
Javascript/Coffeescript, jquery or similar
Skill level: Low
Contact(s): Toni Rikkola
Mentor(s): Toni Rikkola
Associated project(s): Drools
Notes:
If the student gets the view done fast, then the work will include
adding the report creation to Drools Guvnor, Drools ant task and maven
plugin.
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:
Implement a Mobile Document Collaboration App
Status: Proposed
Summary of idea: Create an HTML5/JS/PhoneGap/Native based application from start to deployed in app stores (iTunes, Android, etc..) using the AeroGear client and server components that allows for simultaneous document collaboration between any number of users. Users can edit an online document at the same time and see each others changes in real time using websockets. There should also be an area for user chat and possibly file sharing again using websockets for chat and native file system access, camera access, etc. for sending and receiving files. Also, local storage or device storage could be leveraged for offline document creation/initialization and once a connections is established, a collaborative document is created from the locally stored version.
This project is ambitious and will be challenging! However it will also involve some of the most advanced and sought after technologies in the mobile industry. Taking this application through the app store process is also incredibly valuable to understand, and paves the way for future efforts. We'll be looking for 1-3 motivated applicants to make this a reality! Depending on timing and requirements the scope may be reduced.
Knowledge prerequisite: HTML5, JavaScript (including libraries like jQuery, Backbone.js, PhoneGap/Cordova, etc.)
Skill level: Medium to High
Contact(s): aerogear-dev@lists.jboss.org Kris Borchers, Doug Campos, Jay Balunas,
Mentor(s): Kris Borchers
Associated project(s): AeroGear
Notes:
Demo: Implementing native features in mobile applications
Status: Proposed
Summary of idea: Expand an existing mobile application by incorporating native features such as: geolocation, photography and photo management, contacts handling, social integration (e.g. Twitter, Facebook). Describe the process in an accompanying tutorial.
Knowledge prerequisite: Java, HTML5, JavaScript (including libraries like jQuery, Backbone.js, PhoneGap/Cordova, etc.)
Skill level: Moderate to high
Contact(s): aerogear-dev@lists.jboss.org Kris Borchers, Doug Campos, Jay Balunas,
Mentor(s): Kris Borchers
Associated project(s): AeroGear
JBoss AS Quickstarts: Hibernate
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 off Hibernate Search, and multitennancy for Hibernate ORM. Additionally the project should research and develop two further use cases for the Hibernate group of projects that show off common uses of Hibernate in JBoss AS 7.
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:
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
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.
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
A Jenkins plugin to visualize Jacoco code coverage reports
Status: Not submitted yet
Summary of idea:
Jacoco is becoming the main Code Coverage tool on the JVM, mainly because of how easy it is to set up. However, Jacoco is still young and missing some integrations with some other pieces of a Continous Improvement plaftorm. The major missing integration is the lack of Jacoco plugin for Jenkins/Hudson. Such a plugin would allow to get metrics and see line-by-line reports about code coverage using a jacoco.exec file provided by the buld. The aim of this proposition is to develop this plugin, which will be first widely used in the JBoss Community and that will be shared with the whole Jenkins/Hudson community as it is the case for other coverage plugins.
Contact: Jonathan Fuerth ( jfuerth@redhat.com )
Mentor: Jonathan Fuerth ( jfuerth@redhat.com )
Associated projects: Jenkins, Hudson, JBoss Tools
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:
Associated project(s):
Arquillian
Notes:
ShrinkWrap | Development and Contribution
Discussion:
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:
Contact and Mentor:
Associated project(s):
Weld
Notes:
Proposal and comments on Google Melange
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:
- http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=dataTable
- http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=extendedDataTable
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:
- http://www.jboss.org/picketlink
- http://agorava.org/
- http://developers.facebook.com/docs/reference/api/
- https://dev.twitter.com/docs/api/1.1
- https://github.com/richfaces/richfaces5/tree/master/examples/photoalbum
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 Callable
references 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.
Participating Projects
You can find more information below about the participating projects.
Infinispan
AeroGear
Topic | Details |
---|---|
Project Description | Project 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 Website | http://aerogear.org/ |
Project Logo | |
Category | Mobile/HTML5 |
Mentor | Jay Balunas, Doug Campos, Kris Borchers |
Project IRC | irc://irc.freenode.net/aerogear |
Project Community | http://aerogear.org/community/ |
Project Source | https://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 Website | http://www.jboss.org/forge |
Project Logo | |
Category | Tooling and Automation |
Brief Description of the Idea | 1. Implement a Database Migration system as a Plugin for Forge 2. Support for the Gradle build system as a plugin for Forge 3. 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. A Gradle-implementation equivelent to the functionality of Maven in JBoss Forge, to serve as a basis for such integration in other tools. Forge should be able to read Gradle projects, produce Gradle projects, and manipulate existing Gradle projects, just like what is currently supported with Maven. 3. An implementation of the Forge 2 UI API for IDEA and/or Netbeans. |
Programming / Knowledge Requirement | Java, SQL, JPA, Database Migration Frameworks |
Mentor | Lincoln Baxter, III |
Project IRC | http://webchat.freenode.net/?channels=forge |
Project Forums / Mailing List | forge-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 Website | http://torquebox.org/ |
Project Logo | |
Category | Ruby |
Mentor | Bob McWhirter |
Project IRC | irc://irc.freenode.net/torquebox |
Project Forums | http://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! |
Website | http://www.jboss.org/arquillian |
Logo | |
Category | Testing |
Lead | Aslak Knutsen |
Project IRC | http://webchat.freenode.net/?channels=jbosstesting |
Project Forums | https://community.jboss.org/en/arquillian?view=discussions |
Source Code | https://github.com/arquillian |
ShrinkWrap
Topic | Details |
---|---|
Description | ShrinkWrap is a simple, fluent API to create archives in Java. |
Website | http://www.jboss.org/shrinkwrap |
Logo | |
Category | Runtime Frameworks |
Lead | Andrew Rubinger |
Project IRC | http://webchat.freenode.net/?channels=jbosstesting |
Project Forums | https://community.jboss.org/en/arquillian?view=discussions |
Source Code | https://github.com/shrinkwrap |
PicketLink
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 Website | http://www.jboss.org/picketlink |
Project Logo | |
Category | Identity Management and Security |
Mentor | Anil Saldhana |
Project IRC | http://webchat.freenode.net/?channels=picketlink |
Project Forums | https://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 Website | http://rhq-project.org/ |
Project Logo | |
Category | Systems management and monitoring |
Brief Description of the Ideas | See proposals above |
Programming/Knowledge Requirement | Java required (except for 6) and GWT for the 1st idea |
Mentor | Heiko Rupp, hwr@redhat.com, pilhuhn on irc, @pilhuhn on Twitter |
Project IRC | irc://irc.frenode.net/#rhq |
Project Forums | https://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 Website | http://drools.org/ |
Project Logo | |
Category | Knowledge authoring and management |
Brief Description of the Ideas | See proposals above |
Programming/Knowledge Requirement | Java and GWT or JavaScript |
Mentor | Toni Rikkola trikkola@redhat.com, Rikkola on irc, @Rikkola on Twitter |
Project IRC | irc://irc.codehaus.org/#drools |
Project Forums | http://www.jboss.org/drools/lists |
Project Demo Links (Youtube etc) | http://blog.athico.com/ |
Source Code | https://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 Website | https://community.jboss.org/groups/trailblazer |
Project Logo | TBD |
Category | Tutorials and examples development |
Brief Description of the Ideas | See proposals above |
Programming/Knowledge Requirement | Java, JavaScript |
Mentor | Marius Bogoevici, mariusb@redhat.com, mariusbogoevici on Twitter, mbg on IRC |
Project IRC | TBD. |
Project Forums | https://community.jboss.org/groups/trailblazer?view=discussions |
jBPM
Topic | Details |
---|---|
Project Description | Business Process Management (BPM) suite |
Project Website | http://www.jboss.org/jbpm/ |
Project Logo | |
Category | Application Development |
Brief Description of the Ideas | See proposals above or jBPM Projects page |
Programming/Knowledge Requirement | Java |
Mentor | Kris Verlaenen, krisv on irc, @KrisVerlaenen on Twitter Mauricio Salatino, salaboy on irc @salaboy on Twitter |
Project IRC | irc://irc.codehaus.org/#jbpm |
Project Forums | https://community.jboss.org/en/jbpm?view=discussions |
Project Demo Links (Youtube etc) | http://www.jboss.org/jbpm/screenshots and http://kverlaen.blogspot.com/ |
Source Code | https://github.com/droolsjbpm/jbpm |
Snowdrop
Topic | Details |
---|---|
Project Description | Spring extensions for JBoss AS7 |
Project Website | http://www.jboss.org/snowdrop |
Project Logo | |
Category | Framework integration |
Brief Description of the Ideas | See proposals above |
Programming/Knowledge Requirement | Java |
Mentor | Marius Bogoevici, mbg on irc, @MariusBogoevici on Twitter |
Project Forums | https://community.jboss.org/en/snowdrop?view=discussions |
Source Code | https://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 Website | http://richfaces.org |
Project Logo | |
Category | Web Framework |
Brief Description of the Ideas | Development of standalone javascript widgets loosely coupled to the JSF backend |
Programming/Knowledge Requirement | Java, Javascript, previous experience with JSF is not required but would help |
Mentor | Brian Leathem, bleathem on irc, @brianleathem on Twitter |
Project Developer Forum | https://community.jboss.org/en/richfaces/dev?view=discussions |
Source Code | https://github.com/richfaces |
Hibernate
Topic | Details |
---|---|
Project Description | Hibernate 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 | |
Project Logo | |
Category | Persistence, Data, Search |
Mentor | Sanne Grinovero: sannegrinovero on IRC, @SanneGrinovero on Twitter |
Project IRC | http://hibernate.org/community/irc (requires to register your nickname on the IRC server) |
Project issue tracker (JIRA) | https://hibernate.atlassian.net |
Source code | https://github.com/hibernate |
Preferred communication channel for developers | Hibernate development mailing list: https://lists.jboss.org/mailman/listinfo/hibernate-dev (requires subscription) |
Ceylon
Topic | Details |
---|---|
Project Description | Ceylon is a new modern programming languge for the JVM and JavaScript VMs. |
Project Website | http://ceylon-lang.org/ |
Project Logo | |
Category | Programming languages |
Mentor | Stéphane Épardaud |
Project Forums | http://groups.google.com/group/ceylon-dev |
Source code | http://ceylon-lang.org/code/source/ |
OptaPlanner
Topic | Details |
---|---|
Project Description | OptaPlanner 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 Website | http://www.optaplanner.org/ |
Project Logo | |
Category | Application Development |
Mentor | Geoffrey De Smet |
Project Forums | http://www.optaplanner.org/community/forum.html |
Source code | https://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/gsoc2013
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/gsoc2013
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
- Advice for creating your ideas page, from flossmanuals.net
- Advice for how to be an effective mentor, from flossmanuals.net
- Google Summer of Code 2013 home page
- Fedora Google Summer of Code 2012 page (lots of good information!)
Comments