All users forced into Welcome to SuiteCRM wizard on every login

We have just completed an upgrade of SuiteCRM from 7.11 to 7.14.5, including upgrading Debian from Buster to Bookworm and MySql to the latest. I downgraded PHP to 8.2 to comply with the compatibility matrix.

The problem is that all users are forced into the Welcome wizard every time they log in, even though all their details are retained each time.

I thought the trigger for this might be something to do with the date/timezone as there was an issue in the downgrade of PHP where the sym link from php8.2 to php.default was not automatically done during the downgrade from 8.3 to 8.2. That’s now fixed and the problem persists.

Could someone please tell me the trigger which causes the Welcome wizard to be invoked? I’m now thinking it is something in the MySql Users table.

Thanks in advance!
Geoff

Hi, welcome to the Community! :tada:

I believe that behavior is controlled by the installer_locked value in config.php.

But if you ran the upgrade with a wrong PHP version, it’s possible that it didn’t run correctly, and something was interrupted mid-way… in which case you’re probably better off restarting the process from scratch, to ensure consistency.

Thanks for the welcome!

Yes, there were certainly inconsistencies in php version as the sym links to php.default and /etc/apache2/conf-enabled/php8.2-fpm.conf were not created when I ran a2dismod and a2enmod as well as update-alternatives. I’ve now written a script to handle a php upgrade or downgrade and get all the links correct - after the horse has bolted!

I’ll have a look at thye installer_locked value in config.php and hopefully, that fixes it, although I may end up running the silent upgrade again if it still isn’t right. Can upgrade wizard or silent upgrade be run over the top of a system that has previously been upgraded such as ours, or do I need to go back to the previous backup?

EDIT: installer_locked was set to true and setting it to false had no effect on the wizard, so still looking for suggestions!

Thanks for your help
Geoff

I hope you did upgrade in 2 steps:

1) 7.11 to 7.12 
2) 7.12 to 7.14.x

You can find upgrade package for the first step here:


It is better to start again with backup instance.

Yes, upgraded sequentially as per instructions.
We do have a snapshot of the VM taken prior to embarking on the upgrade, but there has been 2 weeks of work since then, so I’ll have a go at an upgrade from here to 8.6 and see if that helps. If not, we’ll go back to the snapshot. If nothing else, it will be a good dummy run for the upgrade to 8.6 as I see the upgrade methodology is quite different from previous upgrades.

Thanks again for your help.

Geoff

Sure, update us on your progress.

+1 here, same issue, just upgraded to 7.14.5 and I get the new user welcome every time I login! I should mention, that I’m not sure if this starte exactly when I upgraded, or changed my PHP version from 7.4 to 8.1 (I kind of did both near the same time).

It is weird one. For me, it is happening to particular user and I did not update or change PHP. I don’t know; what is problem. :man_shrugging:

If you guys can post a screenshot of that ā€œnew userā€ wizard I could go looking for the relevant piece of code

Thanks @pgr, here you go…

Basically I have to go through the wizard every time I login, it just started happening.

Iv’e never delved into this part of the CRM code yet, so I haven’t had a chance yet to investigate what’s going on.

Hi all, just a little information,
I had this issue with some users, i realized it happens only to local user. if user credentials are LDAP authenticated, the problem disappears.

By setting back a user to local authentification, the issue is back.
I hope this piece of info is helpful.

Thank you for sharing this info. Hope, someone will find out solution. :melting_face:

Here we go with more details, for user without LDAP Auth

Mon Nov 25 21:51:38 2024 [2011][-none-][FATAL] SECURITY: ldapauth: failed LDAP bind (login) by XXXXXUSER, could not construct bind_user
Mon Nov 25 21:51:38 2024 [2011][-none-][FATAL] SECURITY: User authentication for XXXXXUSER failed
Mon Nov 25 21:51:44 2024 [2933][e802650b-2ca9-4fbb-0c6f-617a39a1f6eb][ERROR] Invalid Referrer: expected the Save action to be called from the User’s Profile Edit View
this is the user ID in database
Mon Nov 25 21:51:44 2024 [2933][e802650b-2ca9-4fbb-0c6f-617a39a1f6eb][FATAL] Email address save error
Mon Nov 25 21:51:53 2024 [2933][e802650b-2ca9-4fbb-0c6f-617a39a1f6eb][ERROR] error: no ieID
Mon Nov 25 21:51:54 2024 [2933][e802650b-2ca9-4fbb-0c6f-617a39a1f6eb][ERROR] SugarFolder::retrieveFoldersForProcessing() Cannot Retrieve Folders - Please check the users inbound email settings.

I am not an expert, what I can see even if the user is set for non LDAP Auth, suiteCRM is checking LDAP then a fall back is for local user.

Hey, thanks Jim! I’ll check these things, along with the LDAP settings.

Much appreciated
Geoff

Thanks for the insight! If doesn’t happen to me every login. But, I frequently re-save my user profile because my google sync keeps getting unchecked. I bet, there is an issue with the save of the user record that sets this back to zero. I’ll have to test that!

Hi Jim,

I’m currently using SuiteCRM Version 7.14.5 and couldn’t find any field like welcome_screen or anything similar in the users or user_preferences tables. Similarly, I checked the config table, but there’s no suitecrm_version field there either.

Could you clarify if you’re referring to SuiteCRM Version 8?

To double-check, I’ll spin up a fresh VM and reinstall Version 7.14.5 to see if I can replicate the issue or if my database schema might be corrupted. For context, this was a clean install.

Cheers,

Hi ensonb,

I found the same thing. Nothing that seemed to have that meaning in either of the mentioned tables or config.php or config_override.php.

Cheers
Geoff

If it’s not in the DB as a field then it must be saved in the user preferences. It’s all hashed and difficult to decode and edit.

I have found where the welcome wizard is invoked.
In /var/www/html/modules/Users/ChangePassword.php the value of ā€˜ut’ is obtained and the wizard is invoked if ā€˜ut’ is empty.

Now searching for the user preferences storage…

Here is the code snippet in ChangePassword.php

Nice. In case it helps, here are the places where that setting is set:

Targets
    Occurrences of 'setPreference('ut'' in Project
Found occurrences in Project  (4 usages found)
           modules/UserPreferences  (1 usage found)
                UserPreference.php  (1 usage found)
                    417 $this->setPreference('ut', $ut);
            modules/Users  (3 usages found)
                SaveTimezone.php  (1 usage found)
                    55 $current_user->setPreference('ut', 1);
                User.php  (2 usages found)
                    875 $this->setPreference('ut', '0', 0, 'global');
                    877 $this->setPreference('ut', '1', 0, 'global');

Maybe one of these is not using the correct logic anymore, for some reason…