Documents Module. Alpha 1

Hi All!

Well, I’m closing my participation in the GsoC 2014, and in this post I will try to show all the things we’ve reached with my mentor Mauricio Salatino, aka salaboy.

First at all, I want to thank the GSoC organization members for giving me (and many other students around the work) this possibility and obviously to Mauricio for all the help and guidance provided not only for this project, but for how to work in an open source project. I’m very happy as this work was the way to get really inside the open source world and I’m interested to continue with this project and others to give my support to the community.

I have made a simple video to demo what can be done in the new module I created, that I expect it will continue being improved and help many people:

You can see here the new documents panel, where we are able to manage the documents stored in a CMIS server, in this case we are using Magnolia version 4.5.12 (Magnolia 5 does not support CMIS yet). This component includes the navigation panel which enables you the CRUD actions, and the configuration panel to set the configuration parameters required in the CMIS connection.

The key part of this integration, is that these documents can be used in our process instances. In a human task, you can upload documents, using  a new Variable Persistence Strategy, in the same CMIS server.

To enable this feature, you just need to modify the META-INF/kie-deployment-descriptor.xml as is described below:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<deployment-descriptor xsi:schemaLocation="http://www.jboss.org/jbpm deployment-descriptor.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <persistence-unit>org.jbpm.domain</persistence-unit>
   <audit-persistence-unit>org.jbpm.domain</audit-persistence-unit>
   <audit-mode>JPA</audit-mode>
   <persistence-mode>JPA</persistence-mode>
   <runtime-strategy>SINGLETON</runtime-strategy>
   <marshalling-strategies>
       <marshalling-strategy>
           <resolver>reflection</resolver>
           <identifier&gt
org.jbpm.console.ng.documents.backend.server.marshalling.CMISDocumentMarshallingStrategy
          </identifier>
       </marshalling-strategy>
   </marshalling-strategies>
   <event-listeners/>
   <task-event-listeners/>
   <globals/>
   <work-item-handlers/>
   <environment-entries/>
   <configurations/>
   <required-roles/>
</deployment-descriptor>

Here, another video to show how it is working!

 

Try it!

Do you want to try it? The code is here:

https://github.com/nicolasegomez/droolsjbpm-build-bootstrap/

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

 

There are some steps required to set up everything the first time, so I will describe it with some good detail.

Downloading Magnolia

 

Installing magnolia and the CMIS module.

  • Extract magnolia-tomcat-bundle-4.5.12-tomcat-bundle.tar.gz, into a folder (e.g. magnolia-4.5.12)
  • Extract magnolia-module-cmis-1.0-bundle.tar.gz  content (all the jar files) inside magnoliaAuthor libs (magnolia-4.5.12/apache-tomcat-6.0.32/webapps/magnoliaAuthor/WEB-INF/lib/)
  • Also, manually add in the same folder 2 dependencies which are not included in the bundled: jaxb-api-2.1.jar and jaxb-impl-2.1.11.jar.
  • Execute ./startup.sh script which is in magnolia-4.5.12/apache-tomcat-6.0.32/bin folder.
  • Enter to localhost:8080 and press “Run the Web update on the author instance
  • Press “Start Install …
  • Wait for end of installation and press “Startup Magnolia”.
  • Magnolia installed, now you can access using default user and password: superuser:superuser

For more information you can check magnolia documentation:

https://documentation.magnolia-cms.com/display/DOCS45/Magnolia+4.5+Documentation

Running jbpm-console with the documents module

Configuring your project

As I mentioned earlier in the post, to enable the integration between the task forms and CMIS, you have to configure it in your kproject. Just include this file in your META-INF folder:

https://raw.githubusercontent.com/calcacuervo/jbpm-playground/6527ee4a5e44d7077251953db8d0aafe09dacced/translations/src/main/resources/META-INF/kie-deployment-descriptor.xml

 

And that’s it. This is the first step for making this new module more and more useful for jbpm users. If you have some ideas to share, just leave some comment, and also post in the jbpm community. I have seen that new ideas are always welcome by community members and commiters! Thanks a lot for reading, and stay tuned, this blog will continue sharing the evolution of this and more ideas!

 

Thanks,

Nico.

Advertisements

One thought on “Documents Module. Alpha 1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s