Technical FAQ
Note to all: if you have a question you would like answered and added to this document, please leave a comment below and we will do our best to add it to this document.
What is the ProcessMaker technology stack?
ProcessMaker is a 100% web based application.
On the backend, ProcessMaker can run on either a Windows or Linux operating system.
For the web server, if running on Windows, it can use IIS (Internet Information Services). Otherwise, it can use the Apache web server on both Windows and Linux.
The runtime language is PHP (Hypertext Preprocessor) and the core application database is MySQL.
To access the application, any of our supported browsers can be used: http://wiki.processmaker.com/3.0/Supported_Browsers
Does ProcessMaker Support MSSQL?
It is important to differentiate what is being asked, are we being asked if the ProcessMaker core database runs on MSSQL or can we simply connect to a MSSQL database to pull data into a form?
The answer is, we CAN connect to a MSSQL database to pull data, but the core ProcessMaker database MUST run on MySQL.
What is a ProcessMaker Workspace?
ProcessMaker is a web based application that runs on a code base comprised of best-of-breed web technologies. Part of the ProcessMaker Enterprise solution comprises of a feature called "Workspaces".
In order to understand what this feature is, you must first understand the concept of database driven applications. ProcessMaker is a database driven application. This means that all data related to ProcessMaker is kept in a single database. This means that the separation of code and data is complete. The code base of the ProcessMaker application is not related to the database. This in turn means that we can now have a single code base that can utilize multiple databases. And since each database is a completely separated and segregated set of data, it can be used to create the effect of a completely separate application.
Therefore, each database can generate it's own set of unique ids, keep it's own set of users, it's own language translation, it's own set of case data, it's own history logs and permissions tables etc. This creates the effectively means that each database is it's own application.
The only additional area where data is stored is related to how ProcessMaker stores files. However, with the feature of "Workspaces" enabled, ProcessMaker can store all documents related to a workspace in it's own separated folder structure. ProcessMaker creates a shared directory at the root level of the application directory. Inside the shared directory exists a folder called "sites". Inside the sites folder there is folder for each individual workspace.
Inside this folder is where all files related to the workspace reside. This can include:
- Classes related to PM Tables and Report Tables.
- Files uploaded
- Files auto-generated
- Web entry files
- Form files (for ProcessMaker 2.x)
Therefore, the feature of "Workspaces" can be used in many different circumstances. Some of these situations can be:
- OEM customers that want to provide a dedicated environment to individual customers theirs
- Different departments within an organization that do not have any overlap (e.g. multi national corporations). This is particularly useful to multi national companies that have business units that are completely separate and require absolutely zero process interaction with other business units in the organization.
While there can be many situations that the "Workspaces" feature can be beneficial, we have ultimately found that the scenario that most benefits from it is the OEM scenario.
Can the look and feel of ProcessMaker be customized?
The look and feel of ProcessMaker can be customized significantly.
There are several options that are available to a UX designer when thinking about changing the appearance of ProcessMaker.
Changing the logo
The easiest and most simple way to brand a ProcessMaker application is often to change the logo. This can be done by going to the ADMIN menu, selecting the sub menu of Settings and then selecting Logo from the menu on the left. Here you can upload your own custom logo.
Please note, for non-OEM customers, we do require leaving the ProcessMaker copy right information at the footer of the login page.
Changing the skin
Often times a customer will want to make ProcessMaker resemble closely their own corporate colors and design scheme. ProcessMaker allows you to do this with our Skin Engine.
The skill set you will need in order to successfully create a ProcessMaker skin are: HTML, CSS, Javascript.
You can find more information about this in our documentation site, located here: http://wiki.processmaker.com/3.0/Skins
Changing the structure
Sometimes changing the color scheme and logo of ProcessMaker is not enough for a customers needs. In this case, it is possible to change the entire structure of a ProcessMaker application by creating a custom ProcessMaker plugin.
This requires additional effort and intimate knowledge of the ProcessMaker source code. Because ProcessMaker is an open source product, you can easily view our source code online or by downloading it.
The skill set you will need in order to successfully create a ProcessMaker plugin are: HTML, CSS, Javascript, PHP, SQL. Additionally, becoming certified as a ProcessMaker developer will significantly help you in creating a ProcessMaker Plugin.
You can find more information about this in our documentation site, located here: http://wiki.processmaker.com/index.php/2.0.36/Plugin_Development
Creating an entirely new front end via the rest api
For OEM partners that would like to create an entirely new user experience for their customers or customers that would perhaps like to embed ProcessMaker within an existing application, our rest api is an excellent way to create a unique user experience for end users.
You can find more information about this in our documentation site, located here: http://wiki.processmaker.com/index.php/ProcessMaker_API
How can ProcessMaker integrate with Third Party Systems?
Incoming Integration
To integrate with ProcessMaker from a third party system, the ProcessMaker REST API may be used. Our REST API is fully RESTful and provides all the endpoints necessary from executing cases and administrating users.
Our API utilizes OAuth 2.0 protocol for authentication and can work over an encrypted connection.
For more information regarding the ProcessMaker REST API, please review this documentaiton: http://wiki.processmaker.com/index.php/ProcessMaker_API
Outgoing Integration
To integrate with ProcessMaker to a third party system, ProcessMaker provides Triggers that can be used to integrate with third party systems through the use of PHP code.
For more information regarding ProcessMaker Triggers, please review this documentation: http://wiki.processmaker.com/3.0/Triggers
For more robust integrations that may require heavy customization, ProcessMaker provides a plugin platform. ProcessMaker plugins enable developers to create add-on modules to the ProcessMaker engine that can do things like integrate with ERPs, CRMs and other third party systems as well as create custom user interfaces and many other advanced features.
For more information regarding ProcessMaker plugins, please review this documentation: http://wiki.processmaker.com/index.php/2.0.36/Plugin_Development
Is ProcessMaker a web-based application or client-based application?
ProcessMaker is 100% web-based and does not require the end user to install anything. ProcessMaker operates all within your browser of choice. We support n-2 of most major browsers.
For a full list of the browsers that we support, please review this link: http://wiki.processmaker.com/index.php/Supported_Browsers
What versions of Outlook does ProcessMaker work with?
ProcessMaker is not compatible with Office 365.
ProcessMaker is compatible with Outlook 2007 and 2010 for both ProcessMaker 2.x and 3.x.
ProcessMaker is compatible with Outlook 2013 only for ProcessMaker 3.x.
The installers are available in the zip file below.