For the most part, homepage administration in ServiceNow is pretty simple. The basic concepts (which are documented on the ServiceNow wiki) are almost always enough to get by on. There are a couple of homepage administration situations that I’ve seen come up quite often that aren’t as easily understood. In this article I’ll describe the following situations and show you how to deal with them in your ServiceNow implementation.
- How can I give ESS users (users with no role) access to more than one homepage?
- How can I restrict roled users (itil, etc.) from modifying, adding, or deleting homepages?
How can I give ESS users (users with no role) access to more than one homepage?
The standard homepage setup in ServiceNow allows ESS users (users with no roles) to view a single homepage. This will be the first homepage the system sees that uses the ‘ess’ view. This makes for much easier administration and there’s typically no need for an additional homepage for end users (especially since they have access to the Service Catalog homepage as well).
I learned from Kenny Caldwell that it is possible to allow ESS users to see additional homepages though. The single-page restriction is imposed by an AJAX Script called ‘Home Scripts’. To allow users to view more than one homepage, take the following steps.
- Navigate to the ‘AJAX Scripts’ table by typing ‘sys_script_ajax.list’ in your left navigation filter and de-activate the ‘Home Scripts’ record. This removes the single-page restriction, but it doesn’t necessarily make additional homepages available to your end users.
- Navigate to ‘Homepage Admin -> Pages’ and remove the contents of the ‘Read roles’ and ‘User’ fields on the homepage you want to make available to ESS users.
- Create a link for your users to access the homepage by. You can do this by creating a new module pointing to the new homepage view like this…
https://demo.service-now.com/home.do?sysparm_view=YOUR_HOMEPAGE_VIEW_NAME_HERE
You can also make the homepage show up in a list of available pages when users hover over the ‘Home’ icon in the top-right corner of the browser. To do this, you’ll need to make sure the ‘Selectable’ checkbox is checked in the homepage definition. Then you’ll need to open up the ‘getUserHomepages’ global business rule and comment out these lines at the top of the script…
if (!gs.getUser().hasRoles())
return;
Once you’ve completed these steps, ESS users will be able to view all of their available homepages by hovering over the ‘Home’ icon as shown here…
How can I restrict roled users (itil, etc.) from modifying, adding, or deleting homepages?
I’ve worked with other clients who wanted to do almost the reverse of what I’ve outlined above. Instead of giving ESS users more capabilities in homepages, they want to ensure that technicians (or some other users with roles) cannot modify existing homepages or create their own homepages. This customization is actually much simpler because it leverages a system property to disable the homepage options.
The ‘glide.home.add_content.role’ system property can be used to remove any of the ‘Add Content’ options from the homepages. You simply add a comma-separated list of roles that should be able to modify homepages. While this is very simple, it’s also important to note that this is an ALL OR NOTHING customization for given roles. You can’t lock down a page here or a page there.
The following screenshot shows what options are disabled or removed for users excluded by this system property.
One thing that I have noticed is that many users don’t know how to push changes on a homepage into an update set. It is documented in the wiki, but it works slightly differently than recording changes to other tables.
The following steps were copied from the wiki on this page
http://wiki.service-now.com/index.php?title=Homep…
1. Navigate to Homepage Admin -> Pages.
2. Right-click on the homepage in the list.
3. Select Unload Portal Page.
One important note is that clicking this UI action essentially takes a snapshot of the homepage, it does not track subsequent changes. So make sure to unload the portal page AFTER you have completed all of the changes you want to make.
Great point Carleen! Thanks.
I will be taking advantage of multiple homepages for ESS right away! Thanks a bunch Mark
So, is there a way to publish a gauge to a homepage and make it available to certain ESS users? I have a role created that allows specific users to see certain homepages, and the homepages have a gauge, but the gauge shows up blank for them.
It sounds like your gauge is okay, but those users don’t have access to the content being displayed inside of the gauge. You may have an ACL or before query business rule restricting access to that data.
It seems that “getUserHomepages” BR is no longer being used in Geneva. Do you know where we can modify this now?
I think the problem is that the ‘Home’ icon isn’t even in the Geneva UI. I’m not sure of a way to solve that other than to work around the issue by creating left nav module links for the various homepages.
Anyone know if they will put it back in Helsinki? We were just about to add homepages (we are on Fuji) and this is scaring me if they will just dissapear in a few months when we upgrade.
I doubt ServiceNow even knows. I’d reach out to their support group to ask.
Mark can you make a Homepage public. So that users dont have to log in at all to see the data ??
There’s no way to do this as far as I know. You could create a UI page though and make that public.
Is there a way to hide the “Switch to page” drop-down menu? For me in Geneva, the ‘glide.home.add_content.role’ system property doesn’t affect the that menu.
I could make it so that they don’t have access to any other page, but it would be cleaner if it just wasn’t showing.
Only way I can think of is a UI script hack, but that would be likely to break during a future upgrade.
Hi Mark,
Is there anyway we can share a homepage with one particular group.
I have already searched this is community and found there is no OOB way of doing it today.
The only way is to grant those groups/users a role (which can be assigned in the ‘Read roles’ field of the homepage record).
Still my users are not able to see homepage I created. Please suggest.
Is there a way to open up the ESS homepage so that non-roled users see the same data as ITIL users? My company has multiple OPCO’s so ESS users are only seeing ticket data for their particular OPCO where i would like to present a ticket overview for the whole group.
Hey David, that is possible but would have to be done within the context of the license agreement your organization has with ServiceNow. It actually has nothing to do with the homepage itself however. What you would need to do is open up the security of every table that needs to be presented on that homepage so that the appropriate people can see it. That would be done through ACLs and before query business rules and is going to depend on your specific setup. This SNGuru post (along with the SN community site for specific questions) should help you along with those concepts.
https://servicenowguru.wpengine.com/showcase/servicenow-security-tips/
Hi Mark, thanks a lot for the info, looks like i’m gonna have some fun in dev 🙂
Hi Mark,
Need your help –
I am repeating the above asked question again –
“Need to share a homepage with group/groups or user/users.
I have already searched this is community and found there is no OOB way of doing it today”
Any fix or solution ?
I tried creating new field in the form layout with type as – LIST pointing to user table. Still no luck 🙁