Overview

The default file locations for ProcessMaker vary according to the operating system and the version of ProcessMaker. Alternative locations can be selected when installing ProcessMaker, which are specified in the paths_installed.php file. To move files to new locations after installing, see Changing the ProcessMaker Configuration.

Installation Directory

ProcessMaker can be installed in any directory which is not publicly accessible to the internet so don't install ProcessMaker in a directory such as /var/www in Linux/UNIX or C:\Program Files\Apache Software Foundation\Apache\htdocs in Windows, since it would cause a security hole. In Linux/UNIX, it is often installed in the /opt directory, since it is an optional program which doesn't come from the distribution's repositories.

By default, the installation directory for ProcessMaker is in the following locations:

Linux/UNIX:

/opt/processmaker

Windows:

Bitnami Installer in version 3.0.1.8 and later:
    C:\Bitnami\processmaker-3.X.X\apps\processmaker

Automatic Installer in version 3.0.1.7 or earlier in Windows XP/Server 2003:
    C:\Program Files\ProcessMaker-3_X_X\processmaker

Automatic Installer in version 3.0.1.7 or earlier in Windows Vista/7/8/10/Server 2008/2012:
    C:\Users\USERNAME\AppData\Roaming\ProcessMaker-3_X_X\processmaker

    Note: The AppData directory is a hidden directory, but the File Explorer can be configured to show hidden files.

Location of ProcessMaker elements

The file locations for different ProcessMaker elements are specified in the file:
    INSTALL-DIRECTORY/workflow/engine/config/paths_installed.php

shared directory

The shared directory holds the files which are created when using ProcessMaker. This directory is located at:
    INSTALL-DIRECTORY/shared

Some of the files that are stored in subdirectories inside the shared directory include:

  • skins: Holds any files for customized skin created in ProcessMaker.
  • log: Holds the log files for installing and upgrading ProcessMaker. Also holds the log files if logging options are enabled in the env.ini configuration file. For example, the install.log file lists the steps made during a ProcessMaker installation, which can be checked if an error occurs during installation.
  • sites: This directory holds subdirectories for each workspace in ProcessMaker. By default, the workspace is named "workflow", but other workspaces may be added. The subdirectory for each workspace includes:
    • db.php and databases.php: These files set the databases used by the workspace, the database user and a hashed password for that database user.
    • cache: This directory holds the temporary files which speed up rendering of DynaForms and other interfaces inside ProcessMaker. If a form or interface inside ProcessMaker gets corrupted or is out of date, then it is recommended to delete the contents of this directory.
    • mailTemplate: Contains the email templates created for each process in ProcessMaker. They are located in the following path:
          shared/sites/WORKSPACE/PROCESS-UID/FILENAME.html
    • classes: Holds the class definition files for plugins in ProcessMaker
    • public: Holds the public files which are uploaded in processes. These files are placed inside subdirectories named for the unique ID of each process. Note that these files are publicly accessible on the network or internet, so do not place any confidential files in this directory.
    • reports: No longer used in version 3.
    • xmlForms: Holds the XML code defining the contents of DynaForms. These XML files are placed inside subdirectories named for the unique ID of each process.
    • pmt-propel: Holds files which define the structure of the databases. These files are used to set up the databases in MySQL when installing or upgrading ProcessMaker. They are also used for database connections.
    • routes.php: Holds the definition of all the possible endpoints when using the REST API. This file is automatically generated when the first REST endpoint is called. If it is deleted, it will be regenerated.
    • files: Holds the files which are generated or uploaded when running cases and also the files for ProcessMaker logos and imported and exported processes. This directory has the following contents:
      • input: The files of the processes imported into the workspace.
      • output: The files of the processes exported from the workspace.
      • logos: The image files for the logo at the top of the ProcessMaker interface, which is imported by going to Admin > Settings > Logo.
      • XXX/XXX/XXX/XXXXXXXXXXXXXXXXXXXXXXXXXX: A series of 4 subdirectories which holds the unique ID of each case. If ProcessMaker was upgraded from version 2, then the case IDs may not be divided into 4 subdirectories to avoid the 32K limit on the number of files in an EXT3 directory. These subdirectories hold:
        • Any Input Document files and any attached files uploaded to File controls or through the Home > Documents interface. Each file is identified by its unique ID and version number with an extension for its file type in the following path:
              shared/sites/WORKSPACE/files/XXX/XXX/XXX/XXXXXXXXXXXXXXXXXXXXXXXXXX/FILE-UID_VERSION-NUMBER.EXT
        • outdocs: Any Output Document files which are generated while running the case. These files have the filenames consisting of their unique ID and version number with an extension for their file type:
              shared/sites/WORKSPACE/files/XXX/XXX/XXX/XXXXXXXXXXXXXXXXXXXXXXXXXX/outdocs/FILE-UID_VERSION-NUMBER.EXT