Unofficial documentation how to do interesting things and work around problems in ProcessMaker

Moderator: amosbatto

Forum rules: Unofficial documentation for features which have not been tested by Quality Assurance or may change in future versions of ProcessMaker
#791753
ProcessMaker won't be able to upgrade to PM 3.2 or later if the MySQL password contains + (plus sign) or %## (percent sign followed by two numbers), because a code change added in PM 3.2 replaces these symbols in the password. These passwords are found in the files processmaker/shared/sites/WORKSPACE/db.php and processmaker/shared/sites/WORKSPACE/databases.php.

When trying to run the php processmaker upgrade or php processmaker database-upgrade command, the following error message will appear if the passwords contain these symbols:

Errors upgrading workspace workflow: [wrapped: connect failed [Native Error: Access denied for user 'database-name'@'host' (using password: YES)] [User Info: database-user]]

For example:
Code: Select all
# cd /opt/processmaker
# php processmaker upgrade
Checking files integrity...
checksum.txt not found, integrity check is not possible
Integrity check failed, do you want to continue the upgrade? [Y/n] y
Clearing cache...
Upgrading workspaces (1/1): workflow
> Updating database...
Errors upgrading workspace workflow:  [wrapped: connect failed [Native Error: Access denied for user 'wf_workflow'@'localhost' (using password: YES)] [User Info: wf_workflow]]

Safe upgrade for files cached by the browser

Upgrade finished but there were errors upgrading workspaces.
Please check the log above to correct any issues.
To fix this problem, edit the processmaker/gulliver/thirdparty/creole/Creole.php file with a plain text editor (such as nano, gedit or Notepad++) and change lines 315-317 from:
Code: Select all
        if (!is_null($dsn)) {
            $info['pass'] = urldecode($info['pass']);
        }
To:
Code: Select all
        /* comment out to fix bug with urldecode() replacing characters in password:
        if (!is_null($dsn)) {
            $info['pass'] = urldecode($info['pass']);
        }
        */
Then, it should be possible to use the php processmaker upgrade or php processmaker database-upgrade command and continue with the rest of the upgrade.
Currency Format in Textbox

I have it working but I noticed that it does not a[…]

I am having an issue with summing the values in a […]

Cancel Cases

Hello, I´m not sure if this would help with […]

Hello, The similar topic has been discussed here:[…]