Building a UX with the new ProcessMaker REST API

Angular JS

Introduction

First I want to say, the ProcessMaker inbox is awesome!

That being said, it also sucks.

Use Case

The ProcessMaker inbox is good for many situations. In fact, a lot of users are happy with it.

But a lot of users are also unhappy with it. Usually, companies prefer to have their User Experience the same across all of their interfaces and applications. In order to do that in ProcessMaker before, it required a lot of rewiring under the hood.

ProcessMaker < 3.0

Until now, there were generally only two ways to do this:

  1. Spend a lot of time customizing the skin of ProcessMaker.  However, the problem with this approach is that it will still never look exactly like the rest of your application, and that it will still be hosted within the ProcessMaker domain.

  2. Write a lot of custom code on top of our SOAP API and integrate with ProcessMaker from an external application. However, this requires writing a lot of code and intimate knowledge of the inner workings of ProcessMaker. Generally, this could take a while for a programmer who is new to ProcessMaker.

Enter REST & OAuth

Now, it’s as easy as apple pie!

Yep, I said it. Apple pie!

ProcessMaker now has a fully RESTful API.

ProcessMaker now has a true OAuth 2.0 compliant authentication flow.

Put those two things together and what do we have?

An app.

An app like, Twitter, Facebook, LinkedIn, Google, Box, Dropbox, Github, etc.. I could keep on going and fill up a book of all the apps out there that are all different.

But they are also all the same.

Yes, sure, Facebook is different than Dropbox, Github is different than LinkedIn. They all do different tasks and things. You can tweet on Twitter and set a calendar appointment on Google Calendar.

But if you want to write an application to talk with any of these services, all you need to learn are two fundamental things:

  1. REST

  2. OAuth 2.0

These two concepts are the basis of today’s internet.  Once you “get them,” it doesn’t matter anymore what application you are connecting to. They are all slight variations of the same thing.

AngularJS

I recently posted to Github a Proof of Concept that I wrote in AngularJS. It took me about 1 days work. That’s with putting tons of comments at every line!

Imagine you are in a big corporation. Imagine you already have a portal that all your users log into and use daily. Imagine you need a workflow tool to help automate certain tasks.

If only there was a BPMN 2.0 compliant tool you could use, that with minimal effort, could be embedded within your own portal, with your own custom look & feel.

Sound familiar?

Do you use Drupal? Joomla? WordPress? No problem.

Or maybe Typo3?  Liferay? Magento? No problem.

Well, now you have such a tool. It’s called: ProcessMaker 3.0!

With little to no effort, you can utilize any front end that you have, and just make a few calls to our REST API and your integrated with the most powerful and robust BPM suite in the industry!

Now… Tell me that isn’t awesome?!

 

About This Author

Customer & Partner Support Manager for Colosa Inc. and ProcessMaker.

  • Olivier Paroz

    I love your enthusiasm and I’m really looking forward to testing that API for mobile dashboards.

    • Great! Let me know how it works out for you.

      • kynao

        Gearman were a resource planned to be integrated into V3. Is it still on track ?

  • kynao

    I would suggest an example of integration between WordPress and Processmaker.

    This is something that has already been done for Joget workflow java app => http://css.dzone.com/articles/integrate-wordpress-workflow and this is really an excellent added value and use case.

    I suggest the exact same thing between this PHP blog/cms app (WordPress) and our PHP process/worflow app (ProcessMaker)

    • Thank you for your suggestion Kyano. We will take that into consideration. We are currently working on a number of different integrations with our new REST API. We will keep the community updated with new integrations as they are developed.
      Thanks for your feedback!

      And btw, feel free to play around with the REST API yourself, it is available to download from here: http://sourceforge.net/projects/processmaker/files/ProcessMaker/3.0/3.0-Beta/

      • kynao

        Hi Ethan,

        Thanks you for your answer.
        About integration and as javascript is now commonly used on the server-side too, would you consider offering javascript as a language usable as well as php for business logic inside a process ?

        • That’s a very good question. We are currently weighing different options. If anything becomes official, we will announce it. That is all I can say for now.

          • kynao

            That would be a perfect match to open the product to other public communities, which second rest approach

          • kynao

            Do you have a position on this now ? ie javascript as a language usable as well as php for business logic inside a process

  • Peter Czachorowski

    Awesome! Cant wait to try this out!

  • Pingback: #Drupal+#ProcessMaker = Powerful CMS with World Class Workflow Automation()

  • David Ramírez

    Hi, this works for Processmaker 2.8?

    • Hi David,

      Unfortunately, this only works with ProcessMaker 3.0. This is because ProcessMaker 3.0 stores the dynaform definition from the new dynaform editor as json format and the REST API can return it. In 2.8, the dynaform is stored as XML and is not returned by the REST API.