Documents Module. Alpha

Hello again!

I am here, writing again to show some of the progress I have been able to implement until now.

I have written the first integration with the CMS using CMIS protocol, using Apache Chemistry, for this integration. This will allow to change the CMS used for any that implements the CMIS protocol.

I have created a new module that is used in the console, which can be found here:

https://github.com/nicolasegomez/jbpm-console-documents

and also a fork of the jbpm console code

https://github.com/nicolasegomez/jbpm-console-ng

What I implemented until the moment is all the integration to CMIS, creating a facade service to consume it:

https://github.com/nicolasegomez/jbpm-console-documents/blob/master/jbpm-console-ng-documents-backend/src/main/java/org/jbpm/console/ng/documents/backend/server/CMISFacadeService.java

And also, the screens to consume and navigate the CMS tree, through the folders and download the content of the documents.

 

You can see how it is looking in this video:

 

I have work in progress for adding and removing documents, as well as editing its properties.

For next week, I am planing the finish this, and talk with salaboy about how to do this integration inside the process, so, stay tuned!

 

Thanks,

Nicolas

Use cases

Hi all,

The idea of this new post is describe a bit the integration points that I will develop during the GSOC 2014, to start to think about what will be covered and what could be done in a future.

First, a short description of the proposed project

jBPM allows you to improve your business in different ways. You can run the full BPM cycle using the new KIE Workbench functionalities. It’s often required that your business is around documents that needs to be stored, to be read by users of the system and take decisions about this in your processes.
The idea is to provide the possibility of upload documents from the KIE Workbench, taking into account user roles and rights, and then store them in process variables. This enable to the user to use the document properties inside custom tasks and human tasks.

Integration Points

Documents section

First of all, there will be a new section in the Workbench called “Documents”. This will be the entry point for managing the documents inside the workbench without having to log in in another system.

New Documents Section
This section will be available for only allowed users.

Document List

Under this section, there will be a section with a Document List. The user will see all the documents, filter by folder, name, and the different fields. In addition user will be able to add and remove files.

Documents List

Add a new Document

In the document list page, there will be a link for “Add Document”.
There, an editor for upload a new document will appear, with all the fields for the document properties, metadata and an upload file chooser.
The user will be able to choose the path where it will be uploaded, the name of the doc, etc.

Add Document Form

Remove document

The document list table will have the possibility of deleting documents.

Using Document in Processes

Business processes may need to use the documents which will be managed in the documents section.
First of all, there will be the possibility of using documents in the forms. This will include:
– Uploading documents from a human task.
– Showing documents into a human task.
– Showing and editing document metadata.

A typical scenario would be the following:

Example Process

In this process, a candidate will apply for a job position, and his application will go along all a set of reviews and interviews, ending in a proposal and a signed contract.

In the input form of the process, the user will put its name and upload his CV as a document.

image00

After this, the candidate request will reach some of the HR people, who will be able to see this CV along with other information provided and take some decision on what to do next.

image01
In this process, we could also use documents for the proposal, and the contract. The hired employee would sign the contract and then upload this in a document form, which will be stored as a backup in the CMS!

This CV could also be filled with metadata that the HR people fills. This will end up saved all with Magnolia, or the configured CMS.


 

Cool, isn’t it?

Then, the documents will be able to be attached to tasks, and also to processes. For audit purposes, you will be able to see not only documents in tasks, but in which processes each document is used.

Any feedback or idea is welcome! Please, just write me!.

So, this is the presentation of the work I have started doing for the GSOC 2014. I really hope that this helps jBPM Console users with its requirements, I think it will. I will be writing about the progress next week, so keep posted!

Thanks,

Nico

Hello World!

I am starting this blog to share my experiences that may be useful to other people. And the kick off for this, is the announce that I have been selected to participate in Google Summer of Code 2014 program. You can see my name listed in the accepted project list!

I am really happy for this opportunity and I expect that this idea can be very helpful for the jBPM community, and I also expect that more people of my country gets to know this program and can apply in the future. It is really important to help the open source community to grow, contributing whatever and from the place you can.

About the project I will be working in the next few months, I will provide more details in a new post in the next days. Basically, there is a common requirement to integrate a BPM System with some Content Management System. You may want to have for example, your digital documents in some a CMS to be used there, and you want to be able to manage them inside the business processes, upload them, take a look at them and take decisions based in this content.

The idea in this project in provide a module in the jBPM Workbench for integrating with a CMS in a generic and pluggable way so that any CMS could be used, using the capabilities of CMIS. The initial integration will be done with a powerful and cool product, which is also open source, which is Magnolia.

My mentor for this project will be Mauricio Salatino, aka salaboy. He has been building the new jBPM Workbench, he has extensive knowledge, not only technical, about jBPM and Drools world, and he will be able to help me with this integration.

If you have some opinion or ideas, please share them with me, as it will enrich this integration. Next post will have some ideas about the screens and integration points I have in mind, that I will be working with my mentor.

 

Thanks a lot and I will come back soon!
Nico.