Overview

ProcessMaker 3.2 can manage numerous workspaces at a time. Each workspace has one MySQL database for each workspace to facilitate the use of ProcessMaker in hosted servers that limit the number of databases.

Note: If upgraded from a previous version, ProcessMaker 2.8 and later will continue to use 3 databases. For more information, please check out 2.0 ProcessMaker Database Model.

wf_<workspace-name>

This database contains all the information required by the Process Engine, including information about processes, cases, users, PM Tables, etc.

Tables with the prefix RBAC added to their names contain information about users to maintain a Role-Based Access Control (RBAC) system in ProcessMaker.

RBAC_AUTHENTICATION_SOURCE, RBAC_PERMISSIONS, RBAC_ROLES, RBAC_ROLES_PERMISSIONS, RBAC_SYSTEMS, RBAC_USERS, RBAC_USERS_ROLES

The database also includes Report Tables designed to allow external applications to access data from ProcessMaker cases. Report Tables have the prefix PMT_ in their names. Each Report Table creates a separate table in this database, which external databases can query.

Click the image below to see the Entity-Relationship diagram of this database.

Database Schema Changes From ProcessMaker 3.1.3 to 3.2

The following tables describe all the changes made to the ProcessMaker Database Schema from ProcessMaker version 3.1.3 to 3.2. These changes include new fields, updated fields, new keys and field type changes. Notice that no field has been removed, which means that existing records won't get lost when upgrading from ProcessMaker 3.1.3 to 3.2.

New Tables

APP_ASSIGN_SELF_SERVICE_VALUE_GROUP

Updated Tables

Table Changes
ABE_CONFIGURATION New field:
  • `ABE_EMAIL_SERVER_UID` VARCHAR(32) default '' NOT NULL
APP_ASSIGN_SELF_SERVICE_VALUE New field:
  • `ID` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
APP_CACHE_VIEW New Key:
  • KEY `indexUsrUidThreadStatusAppStatus` (`USR_UID`, `DEL_THREAD_STATUS`, `APP_STATUS`)
APP_DOCUMENT New fields:
  • `APP_DOC_FILENAME` MEDIUMTEXT NOT NULL,
  • `APP_DOC_TITLE` MEDIUMTEXT,
  • `APP_DOC_COMMENT` MEDIUMTEXT
CASE_CONSOLIDATED New Key:
  • KEY `indexConStatus` (`CON_STATUS`)
DYNAFORM New fields:
  • `DYN_TITLE` MEDIUMTEXT NOT NULL,
  • `DYN_DESCRIPTION` MEDIUMTEXT,
GMAIL_RELABELING Updated fields:
  • `LABELING_UID` VARCHAR(32) NOT NULL,
  • `CREATE_DATE` DATETIME NOT NULL,
  • `APP_UID` VARCHAR(32) NOT NULL DEFAULT '',
  • `DEL_INDEX` INT(11) NOT NULL DEFAULT '0',
  • `CURRENT_LAST_INDEX` INT(11) NOT NULL DEFAULT '0',
  • `UNASSIGNED` INT(11) NOT NULL DEFAULT '0',
  • `STATUS` VARCHAR(32) NOT NULL DEFAULT 'pending',
  • `MSG_ERROR` MEDIUMTEXT NULL
OUTPUT_DOCUMENT New fields:
  • `OUT_DOC_TITLE` MEDIUMTEXT NOT NULL,
  • `OUT_DOC_DESCRIPTION` MEDIUMTEXT,
  • `OUT_DOC_FILENAME` MEDIUMTEXT,
  • `OUT_DOC_TEMPLATE` MEDIUMTEXT
PROCESS New fields:
  • `PRO_TRI_CREATE` VARCHAR(32) default '' NOT NULL,
REPORT_TABLE New fields:
  • `REP_TAB_TITLE` MEDIUMTEXT NOT NULL
TASK New fields:
  • `TAS_OFFLINE` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_EMAIL_SERVER_UID` VARCHAR(32) default '' NULL,
  • `TAS_AUTO_ROOT` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_RECEIVE_SERVER_UID` VARCHAR(32) default '' NULL,
  • `TAS_RECEIVE_LAST_EMAIL` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_RECEIVE_EMAIL_FROM_FORMAT` INTEGER default 0,
  • `TAS_RECEIVE_MESSAGE_TYPE` VARCHAR(20) default 'text' NOT NULL,
  • `TAS_RECEIVE_MESSAGE_TEMPLATE` VARCHAR(100) default 'alert_message.html' NOT NULL,
  • `TAS_RECEIVE_SUBJECT_MESSAGE` MEDIUMTEXT,
  • `TAS_RECEIVE_MESSAGE` MEDIUMTEXT
TRIGGERS New fields:
  • `TRI_TITLE` MEDIUMTEXT NOT NULL,
  • `TRI_DESCRIPTION` MEDIUMTEXT
USERS Updated fields:
  • ``USR_PASSWORD` VARCHAR(128) default '' NOT NULL,
WEB_ENTRY_EVENT New fields:
  • `WEE_TITLE` MEDIUMTEXT NOT NULL,
  • `WEE_DESCRIPTION` MEDIUMTEXT NOT NULL

Database Schema Changes From ProcessMaker 3.0 to 3.2

The following tables describe all the changes made to the ProcessMaker Database Schema from ProcessMaker version 3.0 to 3.2. These changes include new fields, updated fields, new keys and field type changes. Notice that no field has been removed, which means that existing records won't get lost when upgrading from ProcessMaker 3.0 to 3.2.

New Tables

APP_ASSIGN_SELF_SERVICE_VALUE_GROUP NOTIFICATION_DEVICE
APP_SEQUENCE NOTIFICATION_QUEUE
EMAIL_EVENT SCRIPT_TASK
GMAIL_RELABELING TIMER_EVENT

Updated Tables

Table Changes
ABE_CONFIGURATION New Fields:
  • `ABE_FORCE_LOGIN` INTEGER default 0,
  • `ABE_MAILSERVER_OR_MAILCURRENT` INTEGER default 0,
  • `ABE_CUSTOM_GRID` MEDIUMTEXT,
  • `ABE_EMAIL_SERVER_UID` VARCHAR(32) default '' NOT NULL,
New Keys:
  • KEY `indexAbeProcess`(`PRO_UID`),
  • KEY `indexAbeProcessTask`(`PRO_UID`, `TAS_UID`)
ADDITIONAL_TABLES New Keys:
  • KEY `indexAdditionalProcess`(`PRO_UID`)
ADDONS_MANAGER New Keys:
  • KEY `indexAddonsType`(`ADDON_TYPE`)
APPLICATION New Fields:
  • `APP_TITLE` MEDIUMTEXT NOT NULL,
  • `APP_DESCRIPTION` MEDIUMTEXT,
  • `APP_DRIVE_FOLDER_UID` VARCHAR(32) default '',
  • `APP_ROUTING_DATA` MEDIUMTEXT,
APP_ASSIGN_SELF_SERVICE_VALUE New fields:
  • `ID` INTEGER NOT NULL AUTO_INCREMENT,
Updated Fields:
  • `GRP_UID` MEDIUMTEXT NOT NULL,
APP_CACHE_VIEW New Keys:
  • KEY `indexUsrUidThreadStatusAppStatus`(`USR_UID`, `DEL_THREAD_STATUS`, `APP_STATUS`),
  • KEY `indexAppUid`(`APP_UID`),
  • KEY `indexTasUid`(`TAS_UID`),
  • KEY `indexUsrUid`(`USR_UID`),
  • KEY `indexPrevUsrUid`(`PREVIOUS_USR_UID`),
  • KEY `indexProUid`(`PRO_UID`),
  • KEY `taskUid`(`TAS_UID`),
APP_DOCUMENT New Fields:
  • `APP_DOC_FILENAME` MEDIUMTEXT NOT NULL,
  • `APP_DOC_TITLE` MEDIUMTEXT,
  • `APP_DOC_COMMENT` MEDIUMTEXT,
  • `APP_DOC_DRIVE_DOWNLOAD` MEDIUMTEXT,
  • `SYNC_WITH_DRIVE` VARCHAR(32) default 'UNSYNCHRONIZED' NOT NULL,
  • `SYNC_PERMISSIONS` MEDIUMTEXT,
Updated Fields:
  • `APP_MSG_ERROR` MEDIUMTEXT,
APP_HISTORY New Keys:
  • KEY `indexDynUid`(`DYN_UID`)
BPMN_FLOW Updated Fields:
  • `FLO_CONDITION` VARCHAR(512),
CASE_CONSOLIDATED New Keys:
  • KEY `indexConStatus`(`CON_STATUS`)
CASE_SCHEDULER New Fields:
  • `SCH_EXECUTION_DATE` DATETIME,
Updated Fields:
  • `SCH_MONTHS` CHAR(27) default '0|0|0|0|0|0|0|0|0|0|0|0' NOT NULL,
CONTENT New Keys:
  • KEY `indexUidLang`(`CON_ID`, `CON_LANG`),
  • KEY `indexCatParUidLang`(`CON_CATEGORY`, `CON_PARENT`, `CON_ID`, `CON_LANG`),
DASHBOARD Updated Fields:
  • `DAS_UID` VARCHAR(32) default '' NOT NULL,
  • `DAS_TITLE` VARCHAR(255) default '' NOT NULL,
DB_SOURCE Updated Fields:
  • `DBS_PASSWORD` VARCHAR(256) default '',
DEPARTMENT New Fields:
  • `DEP_TITLE` MEDIUMTEXT NOT NULL,
DYNAFORM New Fields:
  • `DYN_TITLE` MEDIUMTEXT NOT NULL,
  • `DYN_DESCRIPTION` MEDIUMTEXT,
  • `DYN_UPDATE_DATE` DATETIME,
EMAIL_SERVER Updated Fields:
  • `MAIL_TO` VARCHAR(256) default '',
EVENT New Keys:
  • KEY `indexStatusActionProcess`(`EVN_STATUS`, `EVN_ACTION`, `PRO_UID`)
GROUPWF New Fields:
  • `GRP_TITLE` MEDIUMTEXT NOT NULL,
Updated Fields:
  • `GRP_UID` VARCHAR(32) NOT NULL,
INPUT_DOCUMENT New Fields:
  • `INP_DOC_TITLE` MEDIUMTEXT NOT NULL,
  • `INP_DOC_DESCRIPTION` MEDIUMTEXT,
LIST_COMPLETED Updated Fields:
  • `APP_TITLE` VARCHAR(255) default '',
  • `APP_PRO_TITLE` VARCHAR(255) default '',
  • `APP_TAS_TITLE` VARCHAR(255) default '',
  • `APP_CREATE_DATE` DATETIME,
  • `APP_FINISH_DATE` DATETIME,
New Keys:
  • KEY `usrListCompleted`(`USR_UID`)
LIST_INBOX Updated Fields:
  • `APP_TITLE` VARCHAR(255) default '',
  • `APP_PRO_TITLE` VARCHAR(255) default '',
  • `APP_TAS_TITLE` VARCHAR(255) default '',
  • `APP_UPDATE_DATE` DATETIME,
New Keys:
  • KEY `indexUser`(`USR_UID`),
  • KEY `indexInboxUserStatusUpdateDate`(`USR_UID`, `APP_STATUS`, `APP_UPDATE_DATE`)
LIST_PARTICIPATED_LAST New Fields:
  • `DEL_CURRENT_TAS_TITLE` VARCHAR(255) default '' NOT NULL,
New Keys:
  • KEY `usrIndex`(`USR_UID`)
LIST_UNASSIGNED Updated Fields:
  • `DEL_INDEX` INTEGER default 0 NOT NULL,
  • `DEL_PREVIOUS_USR_USERNAME` VARCHAR(100) default '',
  • `DEL_PREVIOUS_USR_FIRSTNAME` VARCHAR(50) default '',
  • `DEL_PREVIOUS_USR_LASTNAME` VARCHAR(50) default '',
  • `APP_UPDATE_DATE` DATETIME NOT NULL,
Updated Keys:
  • PRIMARY KEY (`APP_UID`,`DEL_INDEX`)
LOGIN_LOG New Fields:
  • `LOG_ID` INTEGER NOT NULL AUTO_INCREMENT,
Updated Keys:
  • KEY `indexLoginLogSelect`(`LOG_SID`, `USR_UID`, `LOG_STATUS`, `LOG_END_DATE`)
OUTPUT_DOCUMENT New Fields:
  • `OUT_DOC_TITLE` MEDIUMTEXT NOT NULL,
  • `OUT_DOC_DESCRIPTION` MEDIUMTEXT,
  • `OUT_DOC_FILENAME` MEDIUMTEXT,
  • `OUT_DOC_TEMPLATE` MEDIUMTEXT,
PROCESS New Fields:
  • `PRO_TITLE` MEDIUMTEXT NOT NULL,
  • `PRO_DESCRIPTION` MEDIUMTEXT,
  • `PRO_TRI_CREATE` VARCHAR(32) default '' NOT NULL,
  • `PRO_TRI_OPEN` VARCHAR(32) default '' NOT NULL,
  • `PRO_COST` DECIMAL(7,2) default 0,
  • `PRO_UNIT_COST` INTEGER default 0 NOT NULL,
  • `PRO_ITEE` VARCHAR(10) default '',
  • `PRO_ACTION_DONE` MEDIUMTEXT
Updated Fields:
  • `PRO_TYPE` VARCHAR(256) default 'NORMAL' NOT NULL
PROCESS_VARIABLES New Fields:
  • `INP_DOC_UID` VARCHAR(32) default '',
PRO_REPORTING New Fields:
  • `PRO_COST` DECIMAL(7,2) default 0,
  • `PRO_UNIT_COST` VARCHAR(50) default '',
Updated Fields:
  • `PRO_COST` DECIMAL(7,2) default 0,
  • `PRO_UNIT_COST` VARCHAR(50) default ''
REPORT_TABLE New Fields:
  • `REP_TAB_TITLE` MEDIUMTEXT NOT NULL,
New Key:
  • KEY `indexProcessStatus`(`PRO_UID`, `REP_TAB_STATUS`)
SUB_APPLICATION New Keys:
  • KEY `indexParent`(`APP_PARENT`)
TASK New Fields:
  • `TAS_TITLE` MEDIUMTEXT NOT NULL,
  • `TAS_DESCRIPTION` MEDIUMTEXT,
  • `TAS_DEF_TITLE` MEDIUMTEXT,
  • `TAS_DEF_SUBJECT_MESSAGE` MEDIUMTEXT,
  • `TAS_DEF_PROC_CODE` MEDIUMTEXT,
  • `TAS_DEF_MESSAGE` MEDIUMTEXT,
  • `TAS_DEF_DESCRIPTION` MEDIUMTEXT,
  • `TAS_NOT_EMAIL_FROM_FORMAT` INTEGER default 0,
  • `TAS_OFFLINE` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_EMAIL_SERVER_UID` VARCHAR(32) default '' NULL,
  • `TAS_AUTO_ROOT` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_RECEIVE_SERVER_UID` VARCHAR(32) default '' NULL,
  • `TAS_RECEIVE_LAST_EMAIL` VARCHAR(20) default 'FALSE' NOT NULL,
  • `TAS_RECEIVE_EMAIL_FROM_FORMAT` INTEGER default 0,
  • `TAS_RECEIVE_MESSAGE_TYPE` VARCHAR(20) default 'text' NOT NULL,
  • `TAS_RECEIVE_MESSAGE_TEMPLATE` VARCHAR(100) default 'alert_message.html' NOT NULL,
  • `TAS_RECEIVE_SUBJECT_MESSAGE` MEDIUMTEXT,
  • `TAS_RECEIVE_MESSAGE` MEDIUMTEXT,
Updated Fields:
  • `TAS_SELFSERVICE_TIME` INTEGER default 0,
New Key:
  • KEY `indexTasUid`(`TAS_UID`)
TRIGGERS New Fields:
  • `TRI_TITLE` MEDIUMTEXT NOT NULL,
  • `TRI_DESCRIPTION` MEDIUMTEXT,
USERS Updated Fields:
  • `USR_PASSWORD` VARCHAR(128) default '' NOT NULL,
  • `USR_COST_BY_HOUR` DECIMAL(7,2) default 0,
  • `USR_UNIT_COST` VARCHAR(50) default '',
  • `USR_PMDRIVE_FOLDER_UID` VARCHAR(32) default '',
  • `USR_BOOKMARK_START_CASES` MEDIUMTEXT,
  • `USR_TIME_ZONE` VARCHAR(100) default '',
  • `USR_DEFAULT_LANG` VARCHAR(10) default '',
  • `USR_LAST_LOGIN` DATETIME,
New Key:
  • KEY `indexUsrUid`(`USR_UID`)
USR_REPORTING New Fields:
  • `PRO_COST` DECIMAL(7,2) default 0,
  • `PRO_UNIT_COST` VARCHAR(50) default '',
Updated Fields:
  • `USR_UID` VARCHAR(32) NOT NULL,
  • `TAS_UID` VARCHAR(32) NOT NULL,
  • `PRO_UID` VARCHAR(32) NOT NULL,
  • `MONTH` INTEGER default 0 NOT NULL,
  • `YEAR` INTEGER default 0 NOT NULL,
  • `TOTAL_QUEUE_TIME_BY_TASK` DECIMAL(7,2) default 0,
  • `TOTAL_TIME_BY_TASK` DECIMAL(7,2) default 0,
  • `TOTAL_CASES_IN` DECIMAL(7,2) default 0,
  • `TOTAL_CASES_OUT` DECIMAL(7,2) default 0,
  • `USER_HOUR_COST` DECIMAL(7,2) default 0,
  • `AVG_TIME` DECIMAL(7,2) default 0,
  • `SDV_TIME` DECIMAL(7,2) default 0,
  • `CONFIGURED_TASK_TIME` DECIMAL(7,2) default 0,
  • `TOTAL_CASES_OVERDUE` DECIMAL(7,2) default 0,
  • `TOTAL_CASES_ON_TIME` DECIMAL(7,2) default 0,
WEB_ENTRY_EVENT New Fields:
  • `WEE_TITLE` MEDIUMTEXT NOT NULL,
  • `WEE_DESCRIPTION` MEDIUMTEXT NOT NULL

More Information

The default workspace created in ProcessMaker is called workflow, so its database is named wf_workflow. If doing a manual installation of ProcessMaker, the setup screen provides an option to rename this database. See Consulting the ProcessMaker databases for more information about how to access this database with MySQL and phpMyAdmin.

The files of the MySQL databases are generally stored in the following locations:
Linux/UNIX:

The location depends upon your distribution, but it is generally:

/var/lib/mysql/<DATABASE-NAME>/

For example:

/var/lib/mysql/wf_workflow/

Windows:

If installed using the ProcessMaker Windows Installer, the MySQL files are generally stored at:

<INSTALL-DIRECTORY>\MySQL\data\<DATABASE-NAME>\

For example:

C:\Program Files\ProcessMaker\MySQL\data\wf_workflow\

If installed using manual installation, the MySQL files are generally stored at:

<INSTALL-DIRECTORY>\MySQL\data\<DATABASE-NAME>\

For example:

C:\ProgramData\MySQL\MySQL Server 5.1\data\wf_workflow\