AdoptOS

Assistance with Open Source adoption

BPM

Bonita Platform running on a smartphone

Bonita - Mon, 10/21/2013 - 07:36

Dear Community,

You may know that Ubuntu 13.10 is now available, since October 17. With this release comes Ubuntu Touch, a version of Ubuntu designed for two smartphones: Samsung Galaxy Nexus and LG Nexus 4. And I own a white 16Gb Galaxy Nexus phone…

I flashed my phone to test Ubuntu Touch on it, and shared this test with Bonitasoft colleagues. Having a Linux distro on a smartphone instantly presented a challenge: install Open JDK 7 and test to see if Bonita BPM Platform (Portal + Engine) would run on a smartphone. And yes, we did it, it runs! We’re eager to share that with you, so below is a How-to.

Install Ubuntu Touch

First you need a Samsung Galaxy Nexus or a LG Nexus 4. And of course, you need to be sure that the owner agrees to install Ubuntu Touch: it means erasing Android and all its data from the phone! Once the test is done, of course, you can flash Android back to your phone.

Canonical provides a very good How-to about flashing the phone with Ubuntu Touch: Installing Ubuntu on a phone. So, you can do this first step with their documentation.

Once that is done, find the terminal application in the list of all applications. (You may have to expand the list of all installed applications.)

When the terminal is started, you are ready for the next step: set up the phone, but from your PC.

Set the environment

By default, the image of Ubuntu Touch on the memory is set to read-only. You need to set it to write-able and then reboot the phone.

sudo touch /userdata/.writable_image
sudo reboot

The default password for “phablet” user is “phablet”.

After reboot, start the terminal again. As it is far easier and faster to do everything from a terminal on your PC, use SSH. Don’t forget to connect the smartphone to your Wifi network.

On the phone, start SSH and use ifconfig to find your IP adress:

sudo start ssh

ifconfig

Set an automatic start of SSH with Ubuntu Touch:

sudo update-rc.d ssh defaults
[sudo] password for phablet:
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match ssh Default-Stop values (none)
Adding system startup for /etc/init.d/ssh ...
/etc/rc0.d/K20ssh -> ../init.d/ssh
/etc/rc1.d/K20ssh -> ../init.d/ssh
/etc/rc6.d/K20ssh -> ../init.d/ssh
/etc/rc2.d/S20ssh -> ../init.d/ssh
/etc/rc3.d/S20ssh -> ../init.d/ssh
/etc/rc4.d/S20ssh -> ../init.d/ssh
/etc/rc5.d/S20ssh -> ../init.d/ssh

On your PC, start a terminal and do:

ssh phablet@ipadressofthephone

Of course, you can also use ADB to do this with a USB cable. But it is more fun to use SSH, like we would do with any other server, no?

Now, you can install Java and the Bonita BPM Bundle.

Install Java, download and unzip the Bonita BPM bundle

Start with refreshing apt-get cache.

sudo apt-get update

Then, install Opend JDK 7 JRE, using the headless version for servers. You will also need Unzip to extract the files from the downloaded archive of the bundle.

sudo apt-get install openjdk-7-jre-headless unzip

Check that Java is well installed:

java -version

Download Bonita BPM Tomcat bundle. The link below is for the 6.0.4 version.

wget http://download.forge.objectweb.org/bonita/BonitaBPMCommunity-6.0.4-Tomcat-6.0.35.zip
unzip BonitaBPMCommunity-6.0.4-Tomcat-6.0.35.zip Start the Bonita BPM Platform

Start the bundle like on any other server:

BonitaBPMCommunity-6.0.4-Tomcat-6.0.35/bin/startup.sh

Wait a moment, for the phone is not as powerful as your latest multicore 64bit CPU. Check the startup with a Tail on that file:

tail -F BonitaBPMCommunity-6.0.4-Tomcat-6.0.35/logs/catalina.out

If everything is ok you should get something like this:

...
Oct 21, 2013 9:16:08 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/106  config=null
Oct 21, 2013 9:16:08 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 137252 ms

Then, connect to the Bonita BPM Portal with your web browser on http://phoneipsadresss:8080/bonita and use “install” as login and “install” as password, to log in as a technical user, create your first users, and install some processes.

To test, we created a small Bonita process to display system information, using the Script Connector. Below is a screenshot of the process and the terminal (SSH).

And a picture of Jeremy, the Galaxy Nexus smartphone, and me.

As usual, we will put the “Display system information” process on Community GitHub soon.

If we make it possible to run Bonita BPM Studio on the phone, we will let you know 

Credits

Many thanks to Jeremy Jacquier-Roux, our sysadmin expert, who helped make this How-to possible.

Thanks to Canonical, for the operating system. It wouldn’t have been possible to do this without the great work of their developers and community.

And thanks a lot to Ogra from #ubuntu-touch IRC channel on Freenode for his support.

Categories: BPM

How to use Bonita BPM 6 Web REST API in Python: create accounts

Bonita - Thu, 10/17/2013 - 07:14

This tutorial shows how to use the web REST API provided by Bonita BPM 6 in order to create new accounts in Python. You need to have a working Bonita BPM 6 to test the code below. This can be done with Bonita BPM Studio after deploying Bonita BPM Portal. This example is run on a Linux distribution (Ubuntu 12.04 LTS).

The official documentation is available here http://documentation.bonitasoft.com/web-rest-api

Note: I’m not a Python developer and there are always many ways to accomplish the same thing. Don’t hesitate to improve this example!

Useful modules

The following Python modules will be helpful:

  • argparse
  • httplib2
  • json
  • urllib
Authentication

Before going further, log in and retrieve the corresponding cookie. You can do it this way:

def portal_login(url,username,password,disable_cert_validation):
    http = httplib2.Http(disable_ssl_certificate_validation=disable_cert_validation)
    API="/loginservice"
    URL=url+API
    body={'username': username, 'password': password, 'redirect': 'false'}
    headers={"Content-type":"application/x-www-form-urlencoded"}
    response, content = http.request(URL,'POST',headers=headers,body=urllib.urlencode(body))
    if response.status!=200:
      raise Exception("HTTP STATUS: "+str(response.status))
    return response['set-cookie']

If you run the Bonita BPM Portal from Studio, you can use these parameters:

  • url=http://localhost:8080/bonita
  • login=walter.bates
  • password=bpm

disable_cert_validation should be set to false by default.  It’s useful only for test purposes, when we use a self-signed certificate.

Create a user

Use the following function to create a user using the previous cookie:

def create_user(url,cookie,username,password,firstname,lastname,disable_cert_validation):
    http = httplib2.Http(disable_ssl_certificate_validation=disable_cert_validation)
    API="/API/identity/user/"
    URL=url+API
    headers={"Content-type":"application/json",'Cookie': cookie}
    data={"userName":username,"password":password,"firstname":firstname,"lastname":lastname, "enabled": "true"}
    data = json.dumps(data)
    response, content = http.request(URL, 'POST',headers=headers, body=data)
    if response.status!=200:
      raise Exception("HTTP STATUS: "+str(response.status)+" "+content)
    else:
      data = json.loads(content)
      return data['id'] Add a user to a profile Retrieve a profile id This function return the profile id, this way we can search for both Administrator and User profile: def get_profile_id(url,cookie,name,disable_cert_validation):
    http = httplib2.Http(disable_ssl_certificate_validation=disable_cert_validation)
    API="/API/userXP/profile"
    params="?f=name="+str(name)
    URL=url+API+params
    headers={"Content-type":"application/x-www-form-urlencoded",'Cookie': cookie}
    response, content = http.request(URL, 'GET',headers=headers)
    data = json.loads(content)
    try:
      return data[0]['id']
    except Exception, e:
      return None Link the user to a profile This last function permits to link the user previously created using its id and the profile id retrieved before: def add_user_to_profile(url,cookie,uid,pid,disable_cert_validation):
    http = httplib2.Http(disable_ssl_certificate_validation=disable_cert_validation)
    API="/API/userXP/profileMember/"
    URL=url+API
    headers={"Content-type":"application/json",'Cookie': cookie}
    data={"profile_id":pid,"member_type":"USER","user_id": uid}
    data = json.dumps(data)
    response, content = http.request(URL, 'POST',headers=headers, body=data)
    if response.status!=200:
      raise Exception("HTTP STATUS: "+str(response.status)+" "+content) Full example

You can download a full example here: create_bonita_account.py

usage: create_bonita_account.py --login install --password install --url
                                http://example.com:8080/bonita --new_login
                                john.smith --new_password mysecret --firstname
                                John --lastname Smith [-h]
                                [--disable_ssl_certificate_validation]
                                [--is_admin]

Create a Bonita account

required arguments:
  --login install       Account used to authenticate you on Bonita
  --password install    Password used with your account
  --url http://example.com:8080/bonita
                        Bonita BPM url
  --new_login john.smith
                        New account that will be created
  --new_password mysecret
                        Password used for the new account
  --firstname John      First name used for the new account
  --lastname Smith      Last name used for the new account

optional arguments:
  -h, --help            Show this help message and exit
  --disable_ssl_certificate_validation
                        Used this only for tests with a self-signed
                        certificate
  --is_admin            Assign user to Administrator profile

To create a new account with the Administrator profile, you can launch a command like:

./create_bonita_account.py --login walter.bates --password bpm --url http://localhost:8080/bonita --new_login john.smith --new_password pass --firstname John --lastname Smith --is_admin

If you use an url in https with a self-signed certificate, it may raise this error:

httplib2.SSLHandshakeError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

You can avoid this verification (for test only!) using the parameter “–disable_ssl_certificate_validation”.

Categories: BPM

Fresh news about Bonita BPM Community – October 2013

Bonita - Mon, 10/07/2013 - 04:49

Dear Community,

I did a first “Fresh news…” at the beginning of September, and at Bonitasoft, we think that it is good to continue every month. So, what’s new?

On the blog

We’ve  finished Part 2 of our Trello example. On the forum, it helped some of you solve some issues. It touches many useful points: how to build a connector in Bonita BPM Studio; how to retrieve data of previous cases and use them in a new started case; how to handle some JSON taken from a third party API, transform it in CSV and display data in a form. And, it uses a sub-process. So, actually, it’s a very complete use case, and I hope it will continue to help you with process development in Bonita Studio. (Note: it’s available on GitHub.)

On the forum, we had many questions about look’n'feel customization for Bonita BPM Portal and forms. I will take the answers and create a How-to about that, to come in a few weeks. You can already download an example of an automatic confirmation page!

And some of you are eager to learn how to embed the Bonita BPM Engine in a third party Java application. We’ll explain how to do that on the blog soon. By the way, this will be the subject of one of our two talks at OW2 Con 2013. More news to come on that too.

About Bonita BPM

You might have noticed that we have maintenance releases. This time, there are two updates:

  • Bonita BPM 6.0.4 is available, and you can see the release note here.
  • Bonita Open Source 5.9.2 is available. The purpose of this release is to ease the migration from previous release, up to 5.10.x. It means you don’t need to install it now if you don’t plan to migrate soon.

I am proud to announce that the first important contribution to Bonita BPM 6 will be included by Bonitasoft: thanks to Akira Iwata we will distribute our Studio and bundles with the Japanese translation. He will be credited in the “About” of Bonita BPM Studio. If you too want to translate Bonita BPM 6 in your native language, please join our project on Crowdin, I will welcome you with enthusiasm!

Have Fun!

I told you in the last Fresh News I am working on a game, for it could be a good way to learn how to use Bonita BPM Studio. This is still a work in progress, however, I can show you a part of the diagram in a screenshot I did for the forum this week. You might notice that this is not at all BPMN2 compliant. Yes, of course, it isn’t – indeed, it is not a business application, it is a game

New coffee machine!!!

Oh, I nearly forget the most important news of this article. You know how coffee is important for Java developers. At Grenoble, we know have a brand new Jura coffee machine. And it really does a darn good coffee. Below is a picture of some of our team, following the instructions of the installer, and a picture of this beautiful machine.

Categories: BPM

Trello Application Example – part 2

Bonita - Wed, 09/25/2013 - 08:07

In this article, we would like to share with you a example of a nice Bonita BPM application using Trello.
Here is a summary of what it does:

  • Helps you create credentials to connect Bonita BPM to a Trello API
  • Retrieves JSON information from a Trello board
  • Creates a downloadable CSV and displays the table in a Bonita BPM form
  • Stores the credentials, so you can use them later when starting a new case from the application in the Portal.

The first part  of this article was aimed at the beginner. We reviewed the example, saw how to set up a subprocess,  and showed how to store credentials.

In the second part, aimed at the developer, we will see how the Trello Connector has been designed in Bonita BPM Studio. We need to create a custom connector in order to:

  • connect with Trello API to get Trello Board Info
  • transform it (JSON array) into a list, which we will need to populate our table widget, and
  • transform it into a CSV formatted string to generate the content of the downloadable file.

While doing thing, you can:

  • Understand better how connectors work in Bonita BPM
  • Understand how to generate a Bonita BPM document from process content
Connector Structure

First, let’s look at the structure of a connector in Bonita BPM. It has two parts, Definition and Implementation.

The definition will allow us to define inputs and outputs of our connector. We will define the way we are going to ask for the input data, and defined the pages of the widgets which we will show to the user who will actually populate it to give the inputs required to execute the connector itself.

The implementation will be the Java code which will be executed with the inputs and outputs defined in the definition. Keep in mind that we can have several different  implementations for the same definition. Imagine that your company has developed some custom connector to retrieve and create invoices into your ERP, and now you are going to change the ERP.  You need to re-implement your connector. With the community version of Bonita BPM, you can redeploy the process using the new implementation of the connector. If you have a Subscription Pack your processes are not going to be affected, as you will able to change the connector implementation in runtime and if your processes get stuck, you can relaunch the execution of previous tasks with the new implementation.

Create a Trello Connector

To get our connector working from scratch, we have to create a new definition from Bonita BPM Studio (see Figure 2). With the development menu you can create a new connector definition. In this case, we will need 3 different inputs:

  • the Trello API key,
  • the qAuth token and
  • the board we want to show.

So we define these inputs as text (string) and a wizard page with text widgets to let the user set up the connector.

As you can see, we’ve defined a custom category to store this connector with its own icon. You can define your own category to store your custom connectors.

Now we need to define the connector’s outputs. In this case we will output several data:

  • the content of a csv file stringCSV
  • the content of the board in a List<List<String>> bonitaList with which we will populate a table widget,
  • the headers of that table widget with a List<String> bonitaColumn,
  • and a List<Map<String, Object>trelloList for other purposes, like for managing the data inside the process (we don’t use this in our process example).

Later in this blog post we will show how to manage these outputs and how to give our connector the inputs required from a variable, either a constant or a script.

Now we have our connector definition fully designed, so the next step will be to create the implementation. This will connect to the Trello API to retrieve the data inside the board, and will transform it to objects easier to manage inside our process -  a table and a CSV file ready to download. In summary, we will use inputs to generate our outputs through a piece of code written in the connector implementation. You can create a new connector implementation or edit this one in the development menu > connectors >edit connector implementation.

First we will setup the definition we are going to implement by defining:

  • name of this implementation and of the class that we are going to create,
  • the package  where we will do this,
  • the version,  and
  • the dependencies that we will need in our connector code.

In this case we need

  • common-httpclient
  • common-io
  • json-simple
  • json_org and
  • common-logging.

Once we press Finish, we will be redirected to our new Java file in which we will write our own code. But first we have some general remarks:

Your new class will extend an abstract class automaticly generated too, in our case:

public class Trello_Get_BoardImpl extends AbstractTrello_Get_BoardImpl

This abstract class will manage all inputs and outputs set in the definition, and the default validation of the inputs which will check the type of value given as input. So the way to access to the inputs from our class will be through get methods, and you will have to return the outputs with set methods.

In Figure 5 you can check which methods will be executed and in which order:

  1. setInputParameters() –> the connector receives input parameter values
  2. validateInputParameters() –> the connector can validate input parameter values
  3. connect() –> the connector can establish a connection to a remote server (if necessary)
  4. executeBusinessLogic() –> execute the connector
  5. getOutputParameters() –> outputs are retrieved from connector
  6. disconnect() –> the connector can close connection to remote server (if any)

Connect and disconnect methods are optional: they are used when the targeted system uses “connected objects,” for instance a datasource. We open the connection (connect method), we execute actions, and we close the connection (disconnect method).

Remember that you can manage several implementations of the same definition, and after that select which one will execute in your process

You can check the code we developed for this connector in our Community GitHub repository, feel free to reuse it.

Managing outputs

We finished creating our connector and we used it in a task to retrieve data, but how to manage lists of content and headers, and the CSV content?

We will start with easiest one first. In the previous explanation we spoke about both lists (bonitaList and bonitaColumn) so we are going to use that output to fill two variables and put it into a pageflow. To do this, in our pageflow we will define a new table widget and populate it with the variables. I previously filled in the connector output, as initial value and as horizontal header values respectively. Now we will have our table with the Trello board data.

But how to convert the formatted string to a Document?

First define a new document in the process. To do this, for that click in the pool, go to documents, and create a new document in there. In this case it should be a MIME Type “application/csv.” Then we will “write” the content generated by our connector into this document, and for that we will need to use Operations where we can manage this document variable. We will use a script to return an org.bonitasoft.engine.bpm.document.DocumentValue, which will be stored in the document.

import org.bonitasoft.engine.bpm.document.DocumentValue;
return new DocumentValue(stringCSV.getBytes(), "application/csv", "trello_board.csv");

And there you have it!

Categories: BPM

User Experience

Bonita - Tue, 09/24/2013 - 02:15

Dear Community,

I’m Nathalie, and I recently joined the Bonitasoft adventure as a Usability and Ergonomics Specialist.

My job is to put my 12 years of experience as a usability consultant at the service of Bonita BPM users, whatever their profiles and needs.

We are working to adjust the usability of Bonita BPM features – including the way they are displayed, and also according to your logical needs and expectations. We are taking on these challenges to help make you more efficient.

Here is what I do:

  • Conduct usability evaluations
  • Gather and apply your feedback (you can contact me via comment to this post)
  • Conduct remote or in-house usability testing: observe where what you need to do when building a process is not obvious enough or does not follow your logic, expectations or needs

To help me with these various assessments, I need volunteers! Some examples of how I will ask:

  • Polls to help us understand better how you interact with our product, to define requirements and specifications with a more accurate “you” in mind.
  • Polls to gather feedback on certain features. I’ll put up a poll whenever we have a specific question to ask, thanks to our Bonita Community manager Antoine.

Here is the first one.

Thank you in advance for spending 5 minutes to answer questions about our Bonita BPM Studio Overview pane today.

Be back soon.

Categories: BPM

Bonitasoft is looking for writers

Bonita - Thu, 09/19/2013 - 10:12

Dear community,

Bonitasoft is hiring some writers, and we would be pleased to choose community members to write about some BPM topics and Bonita BPM.

We are looking fore some introductory material for non-expert users - on topics such as “Meet Bonita BPM” (to explain the software suite to a relatively nontechnical person), or “What is a ‘process-based application’”?

We’re also open to your ideas and proposals. Please contact me through the community forum if you would  like to discuss this further.

Categories: BPM

Introducing our Vimeo channel with the “Bonita Word”

Bonita - Tue, 09/17/2013 - 09:20

Dear Community,

I am happy to announce that we are opening a Vimeo channel for Bonitasoft videos, for any and all topics. And as we introduce this brand new channel, take a look at some of Bonitasoft’s employees giving you a word about Bonita BPM 6.

Have fun!

PS: All Community related videos will be made available in this specific subchannel:
https://vimeo.com/channels/591152

Categories: BPM

Fresh news about Bonita BPM Community

Bonita - Fri, 09/13/2013 - 08:31

Dear Community,

I have some fresh news for you, about Bonita BPM and the future of our Community.

First, it’s time for an update: the 6.0.3 version of Bonita BPM is available for download. It fixes some bugs in the Engine and Portal, and a lot of work has been done in Studio. You can read the full release note in pdf.

With Pablo Alonso, one of the consultants on our Service team, we have started a blog series about a Trello connector and application. It provides an example with a subprocess and a brand new connector from scratch with a Java application, shows how to use JSON with Bonita BPM, and more. All resources are already available, and will be updated on our Community GitHub.

Here’s the first part of the series: Trello Application Example – part 1. Pablo has started to work on the second part, which is developer-oriented.

About the future of our Community, I can tell you that we have done a lot of work to create a really good, brand-new website:

  • More social – it will be easy to share your questions and content
  • More practical – for Community technical support and collaboration between members
  • More languages – with the ability to create local groups in other languages on the way
  • More usable – there will be a new way to manage your contributions, from connectors to ideas and feedback.

It should be available before the end of the year. We will try to make a sort of beta opening to give you a chance to tell us what you think about it. If you want to be part of this beta group, please let me know in the comments.

I see on the forum that there are more and more users who are new to BPMN and Bonita BPM. I know that Bonita BPM can be technical for non-developers,  so I would like to let you know that we haven’t forgotten you. On our corporate website, there are many ready-made process examples you can download, test and customize for your need. Also, there are BPMN process diagrams and process examples for use with tbe Community edition of Bonita BPM here – click on each category to see the list of what’s available.

In order to make it easier to install and learn about Bonita BPM, I have started some cool stuff on the Community Blog:

  • I’m updating “how to set up Bonita BPM on a full Open Source stack” for Bonita BPM 6.x.
  • I was looking at a fun way to learn and talk about Bonita BPM 6. I don’t know about you, but sometimes for me, it’s not so easy to explain to friends and family what BPMN and all that stuff is about. So, with help from our experts, I’ve creates a little game in Bontia BPM Studio, to show people that we can make not only business but fun process applications too. Stay tuned, for there may be some Bonitasoft goodies to win!

One of my goals is to try to better respond to community needs, and I have access to resources available at Bonitasoft. This means that if you want the Bonitasoft team to work on a specific How to, please let me know. There are many ways to contact me: Twitter, LinkedIn, and through the Bonita forum.

Have fun with Bonita!

Antoine

Categories: BPM

Trello Application Example – Part 1

Bonita - Wed, 09/04/2013 - 10:07

In this article, we would like to share with you a example of a nice Bonita BPM application using Trello.
Here is a summary of what it does:

  • Helps you create credentials to connect Bonita BPM to a Trello API
  • Retrieves JSON information from a Trello board
  • Creates a downloadable CSV and displays the table in a Bonita BPM form
  • Stores the credentials, so you can use them later when starting a new case from the application in the Portal.

The first part  of this article is aimed at the beginner. We will review the example, see how to set up a subprocess,  and how to store credentials. In the second part, aimed at the developer, we will see how the Trello Connector has been designed in Bonita BPM Studio. All resources used in this How to will be available on GitHub.

Process overview

Before drawing the entire application, we started with a basic one, containing just two human tasks, in order to test how the Trello API works:

  • The first task asks for the credentials to connect to Trello API
  • The second task displays retrieved data

In this way, it was easy to work on the Java application of the Trello connector. Once done and tested, we have the full application with all the forms. The aim was to create not only an application to retrieve data, but a more complete application that will help people to create the credentials, and store them for future use in Bonita BPM.

Here is the diagram:

So let’s describe this process:

  • The first step is automatic and checks if there are already Trello credentials. If this is the first time you are starting the application, there are no credentials. In which case, you can go straight to “Set up your account”. If the information is already available (e.g: the second time you start the application) the second step will display it. If you want to make changes, go to “Set up your account”
  • “Set up your account” is a “Call activity” and it will start the process on the second pool
  • This subprocess helps you to generate a Trello API Key and Token
  • Once done, go to “Choose the board”. Simply provide the link to the Trello board you want to use in the application or leave the one you defined before
  • “Retrieve Trello data” will check if all the information is correct, retrieve JSON data from Trello API and convert it to a CSV table. The Trello connector is on this step
  • If there are no errors, the final step will show you the table, and provide a link to download it as a CSV file. However, if you do get an error, you should check your data.

At the end of the process, you can go back to Bonita Portal and start the application again. The option to change Trello API credentials will be displayed.

Set Users in a Call Activity / Subprocess

The task “Set up your account” is called a “Call activity”. In Bonita BPM, this is the way to start a subprocess. Subprocesses can be in the same diagram or in a separate pool as in the Trello Application example. You can of course, create subprocesses in a separate diagram.

In this case, we want the subprocess (“Set up your Trello account”) to be started by the main process (Retrieve board data from Trello). Once deployed in Bonita BPM Portal, we would like the users to see and only be able to start the main process. We don’t want a user to be able to start the subprocess by itself, once it is deployed in Bonita BPM Portal.
The best practice is:

  • Select the main process Pool, and in “General / Actors”, add a user and set it as the initiator. In this way, users can start the main process.

  • Create your second Pool, give it a name, and draw the steps. Next, select the Call to action step in the main process (“Set up your account”) and in “Subprocess Name”, click on the list and select the process to start (“Set up your Trello account”)
  • If you leave “Version” empty, Bonita BPM Engine will always use the latest available version of the subprocess . This is useful when you make changes to the subprocess only: you won’t have to deploy the main process too. But if needed, you can set the version of the subprocess.

  • Next, select the second pool, and in “General / Actors”, add a user. Don’t set it as Initiator: in this way, the process can be only started programmatically. In this example, the “Call Activity” step in the main process will start it.

In order to import the application into Bonita  Portal to check what you see, in Bonita Studio click on the menu “Server / Build”. Next, select the process you want to build, and click on “Finish”. In this example, you will get two files, one per Pool. In the Bonita Portal, import the subprocess first, and then the main process. Once user rights are set and are enabled, you should only see  the “Retrieve Board data from Trello” in the User view.

Resources

All resources used in this article are available on our Github repository:
https://github.com/Bonitasoft-Community/Trello-connector

The Trello connector and application was developed by our consultant Pablo Alonso de Linaje, and fine-tuned by Antoine Thomas for this article. Some variables or comments in code may be in Spanish, as Pablo cames from Spain.

Categories: BPM

Bonita BPM 6.x on GitHub

Bonita - Tue, 07/16/2013 - 07:14

At Bonitasoft, we are moving to provide more and more useful resources to our great Bonita BPM Community. We’ve already moved to Jira for issues tracking, and to Crowdin for translations. Now I am pleased to announce that we are moving the sources of Bonita BPM 6.x to GitHub.

So where are our GitHub repositories? Just go to:

https://github.com/bonitasoft

We can’t wait to see what you will do with Bonita BPM code on GitHub. Now, it is up to you!

Categories: BPM

Maintenance releases: 6.0.1 and 5.10.1

Bonita - Fri, 07/12/2013 - 04:02

Dear ladies and gentlemen,

If you are using Bonita Open Solution 5.10 and Bonita BPM 6.0, it is time to update: 5.10.1 and 6.0.1 are released and ready to download from our corporate website:

These new versions, as you may expect, fix issues and are more stable, so we recommend that you upgrade.

The release notes are available here:

Let’s be more efficient!

Categories: BPM
Syndicate content