I have a highly customized dashboard that I want all my users to see when they login. I am unable to find an easy feature to help with this besides preventing them from customizing their dashboards (which doesn’t help much).
Will rebuilding each user fix this or is there another way?
It’s honestly a bit of a faff… But it is possible.
In the database there’s a ‘user_preferences’ table.
The ‘contents’ field is a serialised base64 string.
Unserialize - PHP, JSON, Base64 - will help you decode the string to see if you’ve got the right data part
I have in the past setup a new user with no preference changes or anything - logged in as that user, set the dashboard up.
Then navigate to user_pref table, filter out on the new user.
Export the records - modify the user ID assigned to and then insert them back into the database.
If you need help adapting the queries then let me know… (happy to help)
Make sure you log out & in and dashboard ‘should’ present as normal
This input string represents that laid out on the home screen and the unserialised version below outputs to a readable format.
As you can see the decoded string shows an array - in this array the homescreen widgets and controls for those widgets are held in this array.
Im not sure how ill be able to implement that.
However, you did mention a solution that’s easy to implement. Just login as the user and change it, then turn back on the settings that prevents user customization. Its a little tedious but it will work for now.