How to do workorders in OpenMAINT

This one I’m still working through, there are a lot of connectors in the process, I think to be able to adapt to more complex scenarios. I’m not sure they are all required in every instance. The following example is Out of The Box. I have just hit the buttons and followed the process. I don’t think the workflow is exactly correct, but here it goes.

The setup I have for this blog is:

  1. basic openMAINT
  2. The database, 
  3. Shark Workshare operating.

I do not have:

  1. The attachments tab/Alfresco working yet, so parts of the workorder process cannot be utilised (attachments).
  2. I do not have the email working on my VPS at present ( A challenging work in progress, hopefully I will be able to give you a blog on that when I have it up and running). This is part of the communication process for workorders- advising contractors to log into openMAINT to see outstanding work and respond to Requests for work with an Accept/Reject.

Starting from the basics, you do need to ensure that your Shark Workflow is up and running. See this BLOG for Localhost & this BLOG for VPS.

There are a couple of  videos on youtube:

The Preventative maintenance programme that is based on scheduled calendar events

The Corrective maintenance one which is based on a Maintenance request.

Well, I for one enjoyed the videos, the ease at which the narrator flowed through the demonstration is elegant. But trying to set up all the bits is a bit of a challenge.

The first thing you find is that there is no REQUESTOR in the current openMAINT 2.4.3 setup.

So I decided to look at the XPDL file by downloading it and seeing what the schematic of the process is.

Download Together Workflow Editor

TWE 5.01 Together Workflow Editor 5.01 (shark Edition) from Here.

I had zip file and fired it up.

Next, go into openMAINT and download the Maintenance Request Process .xpdl file

Then upload the file in the Together Workflow Editor

Taking the red arrows first:

  1. The Together Workflow Editor
  2.  The File Maintenance Request
  3.  The Schematic with GUEST entity ( no REQUESTOR entity)
  4. The Schematic with HELPDESK  entity

The Blue Arrows:

  1. The Green Circles are start points. So requests can start from either GUEST or HELPDESK (not sure about the Expression Lane in the middle)
  2. Following the GUEST start, once the Maintenance Request Has been put in then it is forwarded to Help Desk where some process occurs.

What we need to take from this is:

There is a USER called GUEST that can log in and do something, also there is the HELPDESK that then does some action on the Maintenance request.

This is the workorder schematic, downloaded from openMAINT: This one I clicked above schematic window in Together Workflow Editor and downloaded PDF file that shows it in a larger scale so easier to read.

This shows that the process continues.

OpenMAINT and USERS and GROUP setups.

There are some smart things at work, but they are not well explained. So be prepared for some openMAINT time wasting (as per this BLOG).

There are a few relationships that need to be mentioned. There is the jumping in and out of different logins.  All of them use a username and password.

The username : demouser             (rather than demo- user I think this is a mouse eradicator De-mouser)

with password: demo

Is a handy one as the empty database is set up with this as multiple users ( Helpdesk, worker 1, worker 2, etc,) you just need to choose which Group you are logging in under.

So, through a normal PROCESS of doing a MAINTENANCE REQUEST you will

  1. initially log in as a GUEST to create the MAINTENANCE REQUEST, and once this has been ADVANCED it goes to HELPDESK
  2. Logout of Guest, login as HELPDESK to approve it and  create WORKORDER and allocate it to someone to do. This is then ADVANCED to either, in this current simple exercise WORKERS1 or WORKERS2.
  3. So logout of HELPDESK and now login as WORKERS1 or WORKERS2, to take next part of the action.

Since I have been testing this on my localhost setup, openMAINT only lets you login as one entity at a time,so even if you had multi browser tabs open and tried to login in 3 separate tabs as 3 separate entities, say Guest, helpdesk and worker1 it would only log you in on one of those and the other browser tabs would be under the same entity. (An alternative (now I have VPS openMAINT working) is to log in from different PC’s as different entities, this could speed it up).

Anyway, a method I have found for testing is to put demouser into all of the groups I am testing, so on logging out you just need to choose the different group you wish to login as the next time.  ( It saves typing the different unsernames and passwords each time , but it is still slow).


So login as Administrator (so you have authority to changethings in the Data Management Module, and go to Users & Groups.

Click on Users.

First, make sure that the logins work by testing them, redo the passwords to make sure that they are what you expect them to be, So click on the Username , click on Change Password, and put in the password that you want for that user.

Even for demouser, change the password to demo so you know its right.

Then we make sure that the group that we are associating a certain action with can log in under an identity of some sort.

In this exercise I am using Guest & Help Desk to initiate  the Maintenance Request and Worker 1 to action the request and  Help Desk to close it off when it is completed.

So I need to be able to login as all three of those groups. So check that the username/password works for those logins:

In  the diagram below, you need the username to be in the RIGHT HAND PANEL, if it is not, DRAG IT from the LEFT HAND PANEL and hit OK (at bottom of page)

This gives that username the privileges of that Group.

Maintenance Request from GUEST login & Managed by HELPDESK with Workorder Generated.

First,there is the Guest login . We will login as Guest to initiate a request. ( I have set it up to log in as demouser and then select group GUEST)

Fill in items 3, 4 ,5 (mandatory), 6, 7, 8

Note that 9 & 10 tell you status. It is still with guest (so can be edited)

Need to click 11 to give this Maintenance request a Location of where the item is.

When you press advance, after filling in the items as above,  press Advance (3 below)

You will see that there is now a line item of the Maintenance request.

Its status is Waiting for approval.

In Description it has been given a code for the Maintenance request- in this case MR-2017-00006

You will see that HELPDESK now need to action it (item 3 below) – And its telling you in the adjacent column that approval is needed.

So we need to log out and next log in as Helpdesk

there is the HelpDesk login . We need to login as HelpDesk to initiate a request.

Simplified Workorder- only managed by HELPDESK

We are assuming that some person in the organization has emailed/phoned us with a fault that we need to get fixed to HELPDESK.

NOTE: Some of the boxes (Requestor/ Team/Service Category etc) need to be populated prior to doing the MR.  One thing I had to do was modify the “team”  as filling out new teams was easy, they just didn’t show up in the later forms!!! That was because there is a filter in the later form that filters the teams (and thereby hides all the new ones created as they did not fit the criteria), so for testing the process you had to shut down the form, find the problem and then start it all over again.


We need to write a Maintenance Request (MR) to have someone action this issue MR so that it can be tracked and  paid for. Do do that we take on the role of HelpDesk and log in under that entity and fire up a Maintenance Request.

You can get PDF of MR to send to team that are doing the work

After work is done, you close the MR


  1. With both of these processes the main management and interaction is from HELPDESK. There does not seem to be a handover to the Workers (either 1 or 2) for approval as its supposed to be in the preliminary workflow. In previous tests that I have done I think I only had it being handed over to the Workers (login) for activation. Notionally, in the longer process , the Team that the task has been allocated a MR needs to either Accept/Reject the task. In both the above processes this does not occur. So this needs to be explored more to understand why this is not the case.
  2. Another item I noticed when going through the MR is that you associate an issues with a location ( A room, building, level etc. I could not access a specific item, such as a SINK within a ROOM. In some cases this may be important, say there arte 3 of a kind, how do you define the actual element you want? In the above process this needs do be done descriptively (3rd handbasin from left when looking at a line of handbasins, rather than its code (that could possibly have a barcode on the element that could be scanned (to ensure correct element selected). This needs to be explored more.
  3. I have also been looking into the Financial Management tab and there does not seem to be any association with the MR’s or the WO’s . So how to connect these to the Financial reporting needs to be explored. Do we do this via VIEWS and REPORTS?  It would mean a REPORT PRODUCTION to link the finance and WO’s or MR’s on a regular basis to see that they are associated, managed and paid for. This too needs to be explored more.
  4. The DMS (document Management System) Alfresco really needs to be up and running to make this a powerful tool by bringing all the information , such as plans, photos, emails etc into one place to be managed. Also the email system needs to be running to link the communication between the parties. This is a key area for extra investigation. ( Currently I need to create a URL link to some files on my server to put the data. Not integral with the system, so less elegant).

After perusing the CMDBuild info for getting Alfresco up and running, it does NOT look friendly. Judging by the other processes that I have dealt with, I am sure they are not going to make that easy weith helpful documentation.  The initial issue being 2 instances of Tomcat running with only one CATALINA_HOME, I think there is something about having different CATALINA_BASE 1 and 2 to get around this, but I did not see anything about this in the CMD Build Documents.

I am already going in circles trying to get the Windows server email up and running. Using the Freenom domain names (Free for a year, and possibly more) and their MX record for email (72 hrs to propagate through the system) and do not see much on this in the CMDBuild manual either. There really is quite a lot you need to know about system setups to use the openMAINT.

Add a Comment