Book Image

Learning ServiceNow

By : Sylvain Hauser
Book Image

Learning ServiceNow

By: Sylvain Hauser

Overview of this book

This book shows you how to put important ServiceNow features to work in the real world. We will introduce key concepts and examples on managing and automating IT services, and help you build a solid foundation towards this new approach. We’ll demonstrate how to effectively implement various system configurations within ServiceNow. We’ll show you how to configure and administer your instance, and then move on to building strong user interfaces and creating powerful workflows. We also cover other key elements of ServiceNow, such as alerts and notifications, security, reporting, and custom development. You will learn how to improve your business’ workflow, processes, and operational efficiency. By the end of this book, you will be able to successfully configure and manage ServiceNow within your organization.
Table of Contents (21 chapters)
Learning ServiceNow
Credits
About the Author
About the Reviewer
www.packtpub.com
Customer Feedback
Preface

Content frame


The Content frame is where you'll find the lists, forms, pages, and other contents. When left-clicking on a module in the Application Navigator (with a few exceptions such as the Workflow Editor), the resulting page, list, or form will load in the Content frame:

The content frame is displayed inside the ServiceNow frame (under the banner, and to the right of the Application Navigator). However, you can actually break the content frame out from the ServiceNow frame by opening a link in a new tab or window.

Whether it's a link inside the content frame itself, or a module in the application navigator, opening the link in a new tab or window (whether from the right-click menu, by middle-clicking, or by Ctrl-clicking the link) will open the link in just the content frame.

Without the content frame, the URL will look something like this:

https://your_company.service-now.com/incident_list.do

With the content frame, the URL will look like this:

https://your_company.service-now.com/nav_to.do?uri=incident_list.do

Adding nav_to.do?uri= before the rest of the URL after the forward-slash following the domain name ( service-now.com) essentially navigates to the ServiceNow frame (located at nav_to.do), and passes a URL parameter (the bit after the question mark) named uri with a value of whatever text happens to follow the equals sign.

Note

URL parameters can be strung together using the ampersand ( &), and can be accessed as name-value pairs via client scripts. For example, have a look at this URL: www.url.com/page?parmOne=code&parmTwo=is%20cool This URL contains two parameters: parmOne and parmTwo. parmOne is set to the string code, and parmTwo is set to the string is cool (because we URL-decode the %20 to a space).

So if you middle-click or otherwise open a link in a new tab, you'll be directed to the URL sans nav_to.do?uri=, but you can easily add this back into the URL. However, there's a small catch here. Only the first URL parameter uses the question mark. Any subsequent parameters use an ampersand.

If you find yourself opening new tabs very often, yet needing to pop them back into the ServiceNow frame (as I very often do!), you create a browser bookmarkletto do just that using a little bit of JavaScript. You'll have to take my word on this for now, but putting this in as the URL for a bookmark, and then tapping the bookmark when you want to drop the page you're on into a ServiceNow frame, will do the trick:

Javascript: (function(){var a=window.location.href;if(0<=a.indexOf("navpage.do")||0<=a.indexOf("nav_to.do")||0<=a.indexOf("workflow_ide.do"))alert("Looks like you're already inside a frame!");else if(0<=a.indexOf("service-now.com/")){var b=a.indexOf("://"),b=a.indexOf("/",b+3)+1,c=a.slice(0,b),a=a.slice(b);window.location.href=c+"nav_to.do?uri="+a}else alert("That only works on ServiceNow pages.")})(); 

If you're curious, here's the de-minified version of that code:

javascript: (function () 
{ 
  var a = window.location.href; 
  if (0 <= a.indexOf("navpage.do") || 0 <= a.indexOf("nav_to.do") || 0 <= a.indexOf("workflow_ide.do")) alert("Looks like you're already inside a frame!"); 
  else if (0 <= a.indexOf("service-now.com/")) { 
    var b = a.indexOf("://"), 
      b = a.indexOf("/", b + 3) + 1, 
      c = a.slice(0, b), 
      a = a.slice(b); 
    window.location.href = c + "nav_to.do?uri=" + a 
  } 
  else alert("That only works on ServiceNow pages."); 
})();