If you were looking for a fun project, to get involved with some cool tech. It doesn't get much better than contribute to UberFire :).
The best place to contact us is via IRC, where we'll talk you through code, and get you started. Just make sure to use our nicks when asking Qs, so we get notified - ask for porcelli, manstis, salaboy or conan on the #droolsdev channel.
Here are some components that would be very helpful:
Errai JSON Tree Editor
- "data driven" by the provided domain class model. Domain model drives "suggestion" lists for allowed keys and values, as well as client side validation. Additional annotations might be needed to further constrain the authoring view - i.e. choice, sequence, max/min occurs.
- Here is a simple JSon tree view that works well. Port this idea to pure GWT as a UF component. Make it easier to add/remove entries and provide type safe entries for keys and values, based on the provided domain model. http://braincast.nl/samples/jsoneditor/
- Errai JSon provides seamless client and server side marshalling of json strings, back into pojo models. http://docs.jboss.org/errai/2.0.0.Final/errai/reference/html/sid-5931328.html
- Migrate to support ErraiJSon, instead of our XStream dump, for seamless client and server marshalling. This way the client view can load and display any data file, without needing a server component. Bonus points if you can update this to support some sort of "streaming" continuous update of data.
- The ReteViewer should be ported to svg/gwt, again using ErraiJSon to provide the tree format.
Grid/Tile layout manager for panels
- Uberfire ships with a single Layout Manager for panels at present: a TabPanel. We'd really like to provide another Layout Manager that can position children in a grid.
- It should be possible to drag and drop Workbench Parts in one Layout Manager to another, different, Layout Manager.
- Vertical/horizontal merging, so one area can be larger than another, and also support DnD between different Layout Managers.
Wiki Engine based on Markdown
- UberFire provides all the infrastructure to create a wiki engine, that will be very helpful for any project build on top of it. We have the VFS api + the Markdown editor (that needs to be tweaked), what we didn't have is time to create the wiki engine ;)
Drop Panels outside parents
- Workbench Parts being dragged and dropped can only be dropped "inside" a parent container.
- We want the ability to drop Workbench Parts on the "outside" of a parent container.
- For example, if the Workbench is split into 3 horizontal stripes a Workbench Part can be dropped to the outer most left edge such that it's height would span all three horizontal stripes.
- We want the ability to maximize Panels to fill the whole screen, and then restore the Workbench state.
- We want the ability to minimize Panels to a "sidebar" (whether this is like InteliJ or Eclipse is up for debate).
- We want the ability to "undock" Panels from the rigid Layout Manager and have them floating around the screen where ever the user chooses to drag them and resize them...