Tuesday, November 27, 2012

jBPM Designer 2.4.0.Final released!


We are very happy to announce a new release 2.4.0.Final of jBPM Designer, the Web-based Business Process Editor for jBPM 5.
Here is an overview of new features and most notable bug fixes in this release:

New Features
Notable Bug Fixes
You can download jBPM Designer version 2.4.0.Final from Sourceforge. If you are upgrading from an older Designer version, make sure to clear your browser cache before start using the new one.
You can clone jBPM Designer or just browser its source at GitHub.
 
Roadmap
For the next release we will strongly focus on
  • Add enhancements to Process Simulation capabilities
  • “Smart Properties” – more usable ways for users to enter in execution properties to their models
  • Alternative asset storage options
  • Overall usability enhancements
jBPM Designer is open-source and of course free! If you would like to be part of Designer development and discussions or just want to ask questions feel free to talk to us on the User Form, the Mailing List, or IRC.

You can also follow the latest news about the jBPM Designer on it’s Blog.

Enjoy :)

jBPM Console NG - Alpha Dev Access


Hi everyone! I'm writing this post to introduce the jBPM Console NG project which will provide a new integrated workbench for handling process related activities. We are now in a very initial stage of development and we are looking for contributors. We know that there are a lot of companies out there implementing their own solutions and at this point  we encourage you all to give us feedback about the direction that we are picking for the BPM tooling. As usual, this tooling will be integrated with all the Drools and Guvnor Tooling to provide an integrated Knowledge Development Environment.
jBPM Console NG

Introduction

As always, we are developing the jBPM Console NG in a public github repository: https://github.com/droolsjbpm/jbpm-console-ng
You can clone this repository, build the source code and deploy the jBPM Console NG in your own container following the next steps:
2) cd jbpm-console-ng
3) mvn clean install
4) cd jbpm-console-ng-showcase
5) mvn gwt:run -> This will display the GWT Development Mode console which will give you an URL to access via your Browser (for development purposes you need to use Firefox which provides a Development GWT Plugin that allows us to Debug the application)

Technology

The application is being developed using Uberfire which is based on GWT (Google Web Toolkit), Errai and CDI. This mix of technologies gives us the ultimate environment to build  flexible applications using a rock solid component model. I will be posting some examples showing how to get started to create new panels and add customizations to the existing code base shortly, but feel free to clone/fork the repository to take a look at the current status.

Goals

The main goal behind the application is to provide an integrated environment to discover, design, deploy, execute, monitor and improve our business processes.  In order to provide all this functionality we have started the development integrating our existing components inside the Uberfire infrastructure.
There is an ongoing effort to integrate the jBPM Process Designer inside this platform, but I've started working on the Process Runtime Panels and in the Task Lists with the help of Maciej.
The following screenshots shows the current status of the application:

Home Screen

The home screen shows us important information about the things that the user is enabled to do. The jBPM Lifecycle chart allows the use to select in which phase he/she wants to work. Right now I'm focused on improving the "Work" stage as it's being shown in the following screenshots.
Home Screen
The home screen also contains a suggestion box that allows you to quickly type different "Commands" to access the different sections of the application. In order to return to the Home Screen, we can use the shortcut CTRL+H.

Tasks List

The Tasks List screen will allows us to interact with the tasks assigned to us or to the groups where we are included. As you can notice in the previous screen, my user (salaboy) was included inside the [Writer] group. This means that all the Tasks associated to the Writer group will appear in my personal task list. Notice that for each row inside the list we will have a set of actions to interact with each task. The following screenshot shows the Start button inside the Actions column, we can also edit/view the Task Details and we can also access to work on that particular task via it associated Task Form.
Tasks List

Quick Tasks Creation

Clicking in the Create New Task button, we will be able to create a new Task for us or for other person inside the organization. The task will be created assigned to us, but we can forward the task later. Notice that we can also create a Quick Task, this means that the task will be automatically started and can be used as a simple TODO task. No matter where we are in the application we can use the shortcut CTRL+T to create a new task.
Quick Task Creation

Task Details

The Task Details popup allows us to see the most important information about the a particular task. If we want to access to a more detailed view about that particular task we can click the Full button which will open more panels related with that task. Notice that This task is not associated with any business processes, but for those variables which are associated with a business process instance, we can access to see the process instance details using the "Process Instance Details" button on the bottom.
Task Details

Forms

The current version allows us to interact with tasks via Task Forms which are dynamically generated based on the task content and the expected outputs. This task is already in progress, and for that reason you can see the Complete button on the bottom of the form. If the task is in a different state, different buttons will be displayed. As you can see the Save button will allow the user to store intermediate steps of the information that is being filled up inside the form. The Full button can be used to see the form with more contextual data, like for example Task Attachments or Task Comments.
Task Form (Based on a Template)

Process Management

The Process Management panels will allows us to see all the available Process Definitions and it will allows us to create new Process Instances. As you can see in the following screenshot, you will be able to inspect the Process Definition Details to see the process diagram and relevant information about each process. 
Process Management

Process Instance Details

Inside the Process Instance Details you will be able to see the current status of the Process Variables, the activities that are being executed and also the Log for that particular instance.
Process Instance Details

Signaling Events

From the Process Instance List you will be able to signal events. The Events List will be retrieved based on the process definition and the Signal Ref suggestion box list you all the events related with the selected Process Instance.
Signal Events

Roadmap

During the following months we will be working on polishing the current panels and services behind the application to provide an error free environment that allows you to execute your business processes and interact with the Human Task Services. During this initial phase of development we are looking forward to improve the user experience, and for this reason we encourage you to try the latest source code and let us know what you think. This initial version can also be deployed in the cloud, like for example OpenShift. We believe that this will help a lot new users that want to try out an existing installation.
There a lot of things that needs to be done, so take a look at the following section because if you want to get involved with the development of an open source tooling this is a very good opportunity to learn and to join the project.

Contributions

The following list is a set of things that can be done by Java Developers and doesn't require any advanced knowledge about the technology that we are using. You will see that the technology stack that we are using is extremely simple and agile:
  • Task Comments Panels
  • Task Attachments Panels
  • Shortcuts Mappings Panels
  • Notifications Panels
  • Avatar and Meta information about users and groups Administration Panels
  • Domain Specific Suggestions Phrases Administration Panels
  • I18N Translations (We already have Spanish (es_AR) and English, so if you are a native speaker of a different language feel free to drop us a line)
  • Extending the GWT DataGrid component to support prioritized lists (Knowledge about GWT is required)
  • Create a Custom GWT Calendar Component to display the pending tasks in a Calendar. (Knowledge about GWT required)
  • Experiment with m-gwt (http://www.m-gwt.com/) (Knowledge about GWT and motivation to learn m-gwt is required)
  • Any idea that you may have and want to propose
Drop us a line with your ideas/requirements, we are very open to guide all the interested in doing contributions to learn what they need in order to get started. I will be posting some videos about how to create a simple panel and about how the internal services are working on the next few days, but feel free to ask questions if you are interested in this development. You already know where to find me :)

Monday, November 26, 2012

jBPM5 Developer Guide Official Presentation @London


Hi all, with the book  almost being printed out, we have organized an oficial presentation with the help of the JBug London.  We (Esteban Aliverti and I - "Salaboy") will be giving a talk about the book the 12th of December. Seats are limited, so make sure to reserve yours today:
We will be giving away a free copy of the book to the attendee who makes the more interesting questions during the talk. Feel free to drop us a line with comments or expectations about the talk. You can start looking at the examples provided with the book here:
We will be posting a detailed agenda about the presentation shortly.
Stay Tuned!
PS: you can follow us on twitter: @salaboy and @ilesteban

Friday, November 16, 2012

JBUGs Sydney & Melbourne 19th & 20th November 2012

I'm visiting Australia next week, and I'll be giving two JBUG presentations:
  • in Sydney on Monday November 19th
  • in Melbourne on Tuesday November 20th
I'll give a quick jBPM overview and focus on some of the new features that we're developing and some of the changes you'll see in the near future.
Important: Followed by pizza and drinks after each session ! :)
So if you're in the vicinity, feel free to join us.  Registration is necessary.
Hope to see you there !

Tuesday, November 13, 2012

Drools 5.5.0.Final released

We're happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.5.0.Final.

Documentation, Release Notes and Downloads are detailed below:
  • Download the zips from the bottom of the Drools download page
  • To try out the examples, just unzip one and run the runExamples.sh or runExamples.bat script.
Try it out and give us some feed-back (user list, issue tracker).

[* Note: At the time of posting Maven Central has not been synchronized]

Friday, November 09, 2012

Hackergarten day: hacking Drools Planner (Antwerp, Tuesday)

If you're near Antwerp this Tuesday (13th Nov 2012), join us at the Hackergarten day (free entrance) at Devoxx between 9:30am - 6:30pm. We 'll be hacking Drools Planner and many other open source projects (hibernate, arquillian, ...).

Bring your laptop and sit shoulder-to-shoulder with other open source developers. We'll guide you in creating pull requests and proof of concepts.

If you're interested in hacking Planner, but don't know what to do yet, here's a list of suggestions:
  • Create a new build-in ScoreDefinition (1-2 hours)
  • Improve the benchmarker report (1 hour per improvement)
  • Create an example for Portfolio optimization (full day)
Unlike most of Devoxx, the entrance is free. Hackergarten will take place in the two extra rooms (Area 1 & 2, each approx. 50m2) on the exhibition floor of Devoxx (not in the BOF rooms). So if you want to get your hands dirty, join us (except of course between 5:25 and 5:55 when you should come to my Devoxx presentation on Maven Dependency Puzzlers :).

Preparation

There's a good network, but the Devoxx crowd never fails to slow it down. So avoid waiting for your downloads to finish and set up your environment at home:

Set up Git and clone drools-planner from GitHub (or alternatively, download the zipball):
$ git clone https://github.com/droolsjbpm/drools-planner.git
...

Then do a Maven 3 build:
$ cd drools-planner
$ mvn -DskipTests clean install
...

Try running the examples directly from the command line:
$ cd drools-planner-examples
$ mvn exec:exec
...
Next, open the drools-planner/pom.xml file with your favorite IDE (IntelliJ, Eclipse, NetBeans).

Thursday, November 01, 2012

Announcing UberFire

Today we're pleased to announce the first public release of UberFire, a web based workbench framework inspired by Eclipse Rich Client Platform.

What is it?

UberFire is a new independent project developed and maintained by Drool & jBPM team. This is a very strategic project for us, once it's the base technology for our next generation of web tooling.

One key aspect for UberFire is the compile time composition of plugins. Every plugin can be a maven module, when building a distribution, you simple add those maven modules as dependencies. Those plugins then become available a panels to be placed in perspective, via drag and drop, with docking.

The clean and powerful design was made possible by GWTErrai and CDI.

In 0.1.0.Alpha1 version we have the following features:

Workbench API
  • Perspectives
  • Panels
  • Drag and Drop and Docking
  • Model-View-Presenter framework

Core Widgets
  • File Explorer
  • Text Editor
  • Markdown Preview & Live Editor

Virtual File System API (back port of NIO2)
  • File System default backend
  • GIT backend

Security API/Framework
  • Authentication
  • Authorization

Other important aspect of UberFire APIs is the fact that you can use them for client or server side development. Please remember this is our first alpha release, expect bugs, unfinished features and we'll work on improving the look and feel over the coming months.

Video

1. Quick tour
2. Rich Client App

Screenshots

Here are some screenshots of our Showcase demo application

1. Login



2. Home perspective with same panels including You Tube videos.



3. Selecting a new perspective.


4. Dashboard composed by some panels, including mounted Google gadgets.



5. Notice the "File explorer" any GIT repo can be created or cloned, with seamless server side storage. Also notice the context sensitive toolbar and menu bar entries, because the "File Explorer" panel has focus.


6. Markdown editor with live preview.



7. Panel drag and drop - The compass helps give visual indication for the drop zone. Panels can either be dropped onto the current panel, and added as a tab, or they can dragged to a new panel area, below it is added to the bottom.


Important Note:
No effort has yet been spent on its Look & Feel. 


What to expect in the next releases

We already have other new features scheduled for next releases (some already under development, others still just a PoC):

  • Metadata engine (index/search)
  • Embeddable infrastructure
  • Panels exposed as IDE Plugins (Eclipse is the first target)

Eating our own dog food

There's nothing like believing in your own ideas than using them for your own work. Drools Guvnor is currently being ported to the UberFire framework. Anybody can experience the extent of our work so far by downloading the latest SNAPSHOT.

Furthermore the jBPM Console is also being ported to UberFire. 


Community Call

UberFire is also a great opportunity if you're looking for make an Open Source contribution, as this is a very new project we have lot's of things to do. Click here to get some ideas for contributions. 


Getting started now

With all that said, we invite you to visit our landing page at http://droolsjbpm.github.com/uberfire

Get the latest artifacts from JBoss Nexus, or download our binary distribution direct from here.

Try it out and give us some feed-back on our user list.