Questions and discussion about developing processes and programming in PHP, JavaScript, web services & REST API.

Moderator: amosbatto

Forum rules: Please search to see if a question has already asked before creating a new topic. Please don't post the same question in multiple forums.
By jezmathers
#823193
Upgraded from PM 3.2.1 to PM 3.2.3. I am trying to use the new Web Entry features, however if I try to edit an existing Process Web Entry, or create a new Process and add Web Entry I receive an error: "There are problems getting the Steps, please try again.". I can "OK" the message and access the Form but in the "Link" section the "Skin" & "Language" dropdown fields do not populate, therefore I cannot complete these required fields and "Generate Link" or "Save".

I did add a new Site, and was able to create a new Process & add Web Entry.

Any help would be appreciated! Thanks!
By jezmathers
#824185
I have been unable to fix this issue, so I am reaching out for any suggestions!

I did upgrade up to 3.3.8, but still get this error. I have attached a screen shot of the error, also showing the browser debug console messages...
Attachments
WebEntryError.jpg
WebEntryError.jpg (262.88 KiB) Viewed 1371 times
By jezmathers
#824204
Yes, I have made those changes.

Note, Web Entry in Classic processes is still accessible.

Interestingly, I have added a new workspace and Web Entry for BPMN processes works correctly in that database.

FYI, Prior to upgrading from 3.2.1 to 3.2.3, I had to change a users USR_UID, as it was using '00000000000000000000000000000002' which is the UID used for the new 'Guest' user that Web Entry now uses. Note, that user was created manually (some time again) as I had an issue creating new users (that issue was resolved by converting to a unified (wf_workflow) database.

The SQL used (see attached) was successful (user can still access all open/participated cases & documents) and the new Guest user was created by the processmaker upgrade command.
Attachments
(4.51 KiB) Downloaded 20 times
User avatar
By amosbatto
#824222
You need to have a "guest" user in your USERS and RBAC_USERS table like this:
Code: Select all
mysql> select * from USERS where USR_USERNAME='guest';
+----------------------------------+--------+--------------+----------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+-------------+----------+--------------+-------------+-----------+----------------+----------------+--------------+---------+--------------+------------+--------------+--------------------+----------------+-----------------+--------+------------------+---------------+------------------------+--------------------------+---------------+------------------+----------------+
| USR_UID                          | USR_ID | USR_USERNAME | USR_PASSWORD                     | USR_FIRSTNAME | USR_LASTNAME | USR_EMAIL              | USR_DUE_DATE | USR_CREATE_DATE     | USR_UPDATE_DATE     | USR_STATUS | USR_COUNTRY | USR_CITY | USR_LOCATION | USR_ADDRESS | USR_PHONE | USR_FAX        | USR_CELLULAR   | USR_ZIP_CODE | DEP_UID | USR_POSITION | USR_RESUME | USR_BIRTHDAY | USR_ROLE           | USR_REPORTS_TO | USR_REPLACED_BY | USR_UX | USR_COST_BY_HOUR | USR_UNIT_COST | USR_PMDRIVE_FOLDER_UID | USR_BOOKMARK_START_CASES | USR_TIME_ZONE | USR_DEFAULT_LANG | USR_LAST_LOGIN |
+----------------------------------+--------+--------------+----------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+-------------+----------+--------------+-------------+-----------+----------------+----------------+--------------+---------+--------------+------------+--------------+--------------------+----------------+-----------------+--------+------------------+---------------+------------------------+--------------------------+---------------+------------------+----------------+
| 00000000000000000000000000000002 |      2 | guest        | 674ba9750749d735ec9787d606170d78 | Guest         |              | [email protected] | 2030-01-01   | 2009-02-01 12:24:36 | 2009-02-01 12:24:36 | INACTIVE   | US          | FL       | MMK          |             |           | 1-305-402-0282 | 1-305-675-1400 |              |         | Guest        |            | 2009-02-01   | PROCESSMAKER_GUEST |                |                 | NORMAL |             0.00 |               |                        | NULL                     |               |                  | NULL           |
+----------------------------------+--------+--------------+----------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+-------------+----------+--------------+-------------+-----------+----------------+----------------+--------------+---------+--------------+------------+--------------+--------------------+----------------+-----------------+--------+------------------+---------------+------------------------+--------------------------+---------------+------------------+----------------+

mysql> select * from RBAC_USERS where USR_USERNAME='guest';
+----------------------------------+--------------+--------------------------------------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+---------------+----------------------------------+------------------+------------------------+
| USR_UID                          | USR_USERNAME | USR_PASSWORD                                                 | USR_FIRSTNAME | USR_LASTNAME | USR_EMAIL              | USR_DUE_DATE | USR_CREATE_DATE     | USR_UPDATE_DATE     | USR_STATUS | USR_AUTH_TYPE | UID_AUTH_SOURCE                  | USR_AUTH_USER_DN | USR_AUTH_SUPERVISOR_DN |
+----------------------------------+--------------+--------------------------------------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+---------------+----------------------------------+------------------+------------------------+
| 00000000000000000000000000000002 | guest        | $2y$10$rasFC.VNv9TLStNtFVJu6OjxhCi6FezdwkLrBzTFwmXsNnfW0/YZm | Guest         |              | [email protected] | 2030-01-01   | 2009-02-01 12:24:36 | 2009-02-01 12:24:36 |          0 | MYSQL         | 00000000000000000000000000000000 |                  |                        |
+----------------------------------+--------------+--------------------------------------------------------------+---------------+--------------+------------------------+--------------+---------------------+---------------------+------------+---------------+----------------------------------+------------------+------------------------+
Do you have that?
By jezmathers
#824231
Yes. My "guest" user was successfully created by the upgrade script. My "guest" data is consistent with your data with the exception that I have the same password ("674ba9750749d735ec9787d606170d78") in USERS & RBAC_USERS - you have a different password in RBAC_USERS?
User avatar
By amosbatto
#824236
I see that in version 3.2.3, the password is the same in both the USERS and RBAC_USERS tables. That is a change in a later version of PM.

Did you follow the instructions in the ProcessMaker 3.2.2 Upgrade Plan?

Does the php processmaker database-verify-consistency command show you anything?

Run php processmaker upgrade command again just to be safe.

Does this problem also occur with new processes in your old workspace?
By jezmathers
#824280
Yes, I did follow the instructions in the upgrade plan. Actually I have done this several times, just to make sure I did not miss anything (& ran the upgrade command again).

The database-verify-consistency command does throw up an inconsistency:
Number of user related inconsistencies for workspace workflow: 56

This problem does occur with new processes. However, if I install a new/clean workspace the error does not occur.
User avatar
By amosbatto
#824296
jezmathers wrote: Mon May 06, 2019 3:54 pm The database-verify-consistency command does throw up an inconsistency:
Number of user related inconsistencies for workspace workflow: 56
It doesn't tell you anything else?
Do you see any errors when you run this command?
php processmaker database-upgrade
By jezmathers
#824314
Here is what I see when I run the commands:

php processmaker database-verify-consistency
Verifying data in workspace workflow
> Number of user related inconsistencies for workspace workflow: 56
> Number of task related inconsistencies for workspace workflow: 0
> Number of processes related data inconsistencies for workspace workflow: 0
> Number of delegations related data inconsistencies for workspace workflow: 0


php processmaker database-upgrade
Upgrading database in workflow
-> Nothing to change in the data base structure of WORKFLOW
-> Nothing to change in the data base structure of RBAC
-> Row updated in DASHLET
-> Row updated in DASHLET
-> Row updated in DASHLET
-> Row updated in DASHLET
-> Verifying roles permissions in RBAC
All roles permissions already updated
-> Migrating the Intermediate Email Event
Migrating Itee Done
0 records where patched to use SELF_SERVICE feature.
-> Schema fixed
User avatar
By amosbatto
#824340
Do you have a backup? I recommend that you restore your old installation of ProcessMaker before the upgrade.

If you are a client, you can get someone from the support team to login to your server and figure out what is wrong with your database.

You can try making a backup of your workspace. Then, try to import your workspace with a new name and see if importing it will fix whatever is wrong.
By jezmathers
#824436
I do have a backup... Actually I am only testing this upgrade from 3.2.1 to 3.2.2, so I am actually building a new server (Ubuntu Server 16), installing a fresh copy of Processmaker (3.2.1) & then manually restoring my backup (I can never get the processmaker workspace-restore command to work). The restore to 3.2.1 always works out, but then I run into the Web Entry issues after upgrading to 3.2.2 (& I have tried this over several times).

Today, I decided to re-try the upgrade, but instead of using my usual Ubuntu Server 16, I decided to use Centos 7 (Stack 220), as that is your supported/recommended build. Amazingly, this time the Web Entry in the upgrade to 3.2.2 worked?!!

I did run into an issue/error restoring the database - ERROR 2006 (HY000), that I never got with my Ubuntu build. I think this is due to my database size?! However I resolved that by doing this:

Added this to /etc/my.cnf:

[mysql]
connect_timeout = 43200
max_allowed_packet = 2048M
net_buffer_length = 512M
debug-info = TRUE

Appending the flags --force --wait --reconnect to the command:
mysql -u root -p -wf_workflow < wf_workflow.sql --verbose --force --wait --reconnect

I did get the following errors after the database was restored, but all my data seems to have been restored and PM is functioning:
--------------
/*!40103 SET [email protected]_TIME_ZONE */
--------------

ERROR 1231 (42000) at line 10726: Variable 'time_zone' can't be set to the value of 'NULL'
--------------
/*!40101 SET [email protected]_SQL_MODE */
--------------

ERROR 1231 (42000) at line 10728: Variable 'sql_mode' can't be set to the value of 'NULL'
--------------
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */
--------------

ERROR 1231 (42000) at line 10729: Variable 'foreign_key_checks' can't be set to the value of 'NULL'
--------------
/*!40014 SET [email protected]_UNIQUE_CHECKS */
--------------

ERROR 1231 (42000) at line 10730: Variable 'unique_checks' can't be set to the value of 'NULL'
--------------
/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */
--------------

ERROR 1231 (42000) at line 10731: Variable 'character_set_client' can't be set to the value of 'NULL'
--------------
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */
--------------

--------------
/*!40101 SET [email protected]_COLLATION_CONNECTION */
--------------

ERROR 1231 (42000) at line 10733: Variable 'collation_connection' can't be set to the value of 'NULL'
--------------
/*!40111 SET [email protected]_SQL_NOTES */
--------------

ERROR 1231 (42000) at line 10734: Variable 'sql_notes' can't be set to the value of 'NULL'

User time 114.27, System time 60.15
Maximum resident set size 36408, Integral resident set size 0
Non-physical pagefaults 14582, Physical pagefaults 3, Swaps 0
Blocks in 12011320 out 5232, Messages in 0 out 0, Signals 0
Voluntary context switches 1514634, Involuntary context switches 109075
User avatar
By amosbatto
#824440
Interesting, that it worked in CentOS, but not in Ubuntu. The Developers only test CentOS and Windows Server, but I have never had a problem in Debian.

Do you know what file those line numbers in the errors are from?
By jezmathers
#824536
Amos,

I finally figured out what my issue was. As you suspected this wasn't anything to do with Centos vs Ubuntu, but actually was to do with the file /opt/processmaker/shared/sites/workflow/routes.php

When doing a new server build (either in Ubuntu or Centos) after restoring my files & database I would run into the problem of the Designer not loading correctly (see viewtopic.php?f=40&t=732106). As a work around to this issues I was adding error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED to the env.ini file in workflow\engine\config. However, although this fixed my issue getting into the designer, I would then run into the issue with Web Entry config not working. For some reason when I first restored using Centos 7 (rather than my usual Ubuntu), I did not need to modify the env.ini file and was able to access the designer and Web Entry feature without a problem. In a subsequent rebuild & restore using Centos I ran into the issue again?!

Finally after much experimentation, I realized if I removed the /opt/processmaker/shared/sites/workflow/routes.php
file (that was restored from my backup), the designer & web entry would work (& routes.php would be automatically regenerated)!
User avatar
By amosbatto
#824537
I never would have suspected the routes.php file would be the problem, but it makes sense, because the upgrade added new REST endpoints which the new code expected to find, but the old routes.php file didn't have the new REST endpoints so you get errors.
I'm surprised that our processmaker upgrade script doesn't automatically delete the routes.php file, but it probably wasn't a problem in the past because our REST endpoints rarely change between versions. 3.2.2 introduced a lot of changes and broke a lot of stuff.
".education" domain not supported

Worked like a charm.. I had no idea where this reg[…]

Wow, Thanks amazing to hear about it. :P I'm real[…]

Many Thanks :lol:

Thanks a lot. I'm not using that charts plugin. An[…]