Enabling the San Diego Next Generation UI (Polaris) on a user by user or group basis

marke1
Mega Expert

I have seen a few KB articles but I cannot get the method in those to work.

I want to be able to enable specific users (ideally groups) to use the San Diego next generation UI but not all those using the platform at once.

What I have done
I have set the property glide.ui.polaris.use to true for a specific user and set the system checkbox to false and inserted the new record.
When I log out and back in, I still do not get the next experience - I get the same old dreary previous experience.

1 ACCEPTED SOLUTION

marke1
Mega Expert

With the help of a mixture of knowledge bases I did manage to solve this.

The goal was to 

1. Enable the Next generation UI for all users on the system but NOT by default

2. Allow the users to opt into the next generation UI and if they do not like it, then they can go back to the old UI.

What needed to be done:

Step 1: open the system properties (sys_properties.list - in the navigator)

  • Find and set the property glide.ui.polaris.experience = true;
  • Find and set the property glide.ui.polaris.dark_themes_enabled = true
  • Then find and set or create this property glide.ui.polaris.on_off_user_pref_enabled = true

Step 2: Logout and log back in again and you will see now that you have the new User experience. If you select the Preferences you will be able to opt out of the new UI. If this satisfies your need then you are done. However, in my scenario, we want the new UI to be disabled by default and for users to Opt in to the new UI. Hence Step 3

Step 3: Set the property glide.ui.polaris.use to false for each user of the system. I used this script to set the property to false for each user in the User preferences.

/**
 * Prerequisites
 * Enable the next generation UI
 * glide.ui.polaris.on_off_user_pref_enabled and set to true
 * glide.ui.polaris.experience = true
 * glide.ui.polaris.dark_themes_enabled = true
 */
 
var getAllActiveUsers = function() {
    var query = 'locked_out=false^user_nameNOT LIKE!^active=true';
    var gr = new GlideRecord('sys_user');
    gr.addEncodedQuery(query);
    gr.query();
    return gr;
};
var createUserPreferences = function(user) {
   var tablename = 'sys_user_preference';
   var gr = new GlideRecord(tablename);
   gr.initialize();
   gr.description = 'Disable Next Generation UI by default';
   gr.name = 'glide.ui.polaris.use';
   gr.system = false;
   gr.user = user.getUniqueValue();
   gr.type = 'string';
   gr.value = 'false';
   gr.insert();
};
var processUserList = function(users) {
   while(users.next()) {
      createUserPreferences(users);
   }
};
var main = function() {
    processUserList(getAllActiveUsers());
};
main();
 
After this when you log out and log in again, you will have the old UI but can update your preferences to choose the new UI. Every user needs to but can specifically choose to opt into the next generation UI which is a very good idea, as it is substantially better than the old UI, but now the choice is in the hands of the user rather than us as the platform administrators, and it is potentially easier change management as the users do not see a new UI instantly after the upgrade to San Diego.
 
I have been using the new UI for a week and wild horses could not drag me back to the old UI.

View solution in original post

3 REPLIES 3

Yousaf
Giga Sage

Hi Marke,

Please refer to this article.

Enable/Disable Next Experience UI on user level (San Diego)

 

 

Mark correct or Helpful if it helps.


***Mark Correct or Helpful if it helps.***

Hi, thanks, I read that article.

I am unsure as to what it means by clear the property - set it to false, delete it.

I set it to false and did what was in the article but it did not work

 

marke1
Mega Expert

With the help of a mixture of knowledge bases I did manage to solve this.

The goal was to 

1. Enable the Next generation UI for all users on the system but NOT by default

2. Allow the users to opt into the next generation UI and if they do not like it, then they can go back to the old UI.

What needed to be done:

Step 1: open the system properties (sys_properties.list - in the navigator)

  • Find and set the property glide.ui.polaris.experience = true;
  • Find and set the property glide.ui.polaris.dark_themes_enabled = true
  • Then find and set or create this property glide.ui.polaris.on_off_user_pref_enabled = true

Step 2: Logout and log back in again and you will see now that you have the new User experience. If you select the Preferences you will be able to opt out of the new UI. If this satisfies your need then you are done. However, in my scenario, we want the new UI to be disabled by default and for users to Opt in to the new UI. Hence Step 3

Step 3: Set the property glide.ui.polaris.use to false for each user of the system. I used this script to set the property to false for each user in the User preferences.

/**
 * Prerequisites
 * Enable the next generation UI
 * glide.ui.polaris.on_off_user_pref_enabled and set to true
 * glide.ui.polaris.experience = true
 * glide.ui.polaris.dark_themes_enabled = true
 */
 
var getAllActiveUsers = function() {
    var query = 'locked_out=false^user_nameNOT LIKE!^active=true';
    var gr = new GlideRecord('sys_user');
    gr.addEncodedQuery(query);
    gr.query();
    return gr;
};
var createUserPreferences = function(user) {
   var tablename = 'sys_user_preference';
   var gr = new GlideRecord(tablename);
   gr.initialize();
   gr.description = 'Disable Next Generation UI by default';
   gr.name = 'glide.ui.polaris.use';
   gr.system = false;
   gr.user = user.getUniqueValue();
   gr.type = 'string';
   gr.value = 'false';
   gr.insert();
};
var processUserList = function(users) {
   while(users.next()) {
      createUserPreferences(users);
   }
};
var main = function() {
    processUserList(getAllActiveUsers());
};
main();
 
After this when you log out and log in again, you will have the old UI but can update your preferences to choose the new UI. Every user needs to but can specifically choose to opt into the next generation UI which is a very good idea, as it is substantially better than the old UI, but now the choice is in the hands of the user rather than us as the platform administrators, and it is potentially easier change management as the users do not see a new UI instantly after the upgrade to San Diego.
 
I have been using the new UI for a week and wild horses could not drag me back to the old UI.