Helsinki Patch 2

The Helsinki Patch 2 release contains fixes to these problems.

For the Helsinki Patch 2 release:
Build date: 06-30-2016_1135
Build tag: glide-helsinki-03-16-2016__patch2-06-15-2016

For more information about how to upgrade an instance, see Upgrade to Helsinki.

For more information about the release cycle, see the ServiceNow Release Cycle. For a downloadable, sortable version of Helsinki fixed problems, see KB0598266.

Note: This version is approved for FedRAMP.

Security-related Fixes

Helsinki Patch 2 includes fixes for security-related problems that affected certain applications and the ServiceNow platform. We recommend that customers upgrade to this release for the most secure and up-to-date ServiceNow features. For more details on security problems fixed in Helsinki Patch 2, refer to KB0596138.

Notable Fixes

The following problems and their fixes are ordered by potential impact to customers, starting with the most significant fixes.
Problem Affected Plugins Short description Description Steps to reproduce
Performance Analytics

PRB678758

Scores not in current domain are wrongly deleted in collection cleaner job After the collection cleaner is finished, all scores with indicators or breakdowns (or breakdown level2) not in global domain are deleted, which is incorrect. Only scores with invalid indicators or invalid breakdowns (or breakdown level2) domains should be removed.
  1. Create an indicator in domain "global".
  2. Run the job collector to collect indicators created in 1 for some days (e.g. 30).
  3. Create an indicator in another domain.
  4. Run the job collector to collect indicators created in 3 for some days (e.g. 30).
  5. Navigate to scheduled jobs and run 'Clean PA collections' manually.

Expected behavior: None of scores collected in 2 is deleted after job finished.

Actual behavior: All scores collected in 2 are deleted after job finished.

MID Server

PRB677827

Multiline commands in SSHCommand with SNCSSH and must_sudo applies sudo only to the first line of the command
  1. Create a multiline probe, the usual source of which is activities with multiline commands. Require sudo in the activity / set must_sudo in the probe.
  2. With j2ssh, the command gets wrapped in a script and executed altogether. Sudo is applied to the whole command. This is expected behavior.
However, with SNCSSH, the command is executed directly, causing sudo to be applied only to the first line.
User Interface (UI)

PRB679621

KB0595003

Clicking the Calendar button next to a date field for a Catalog item causes the Calendar widget to appear at the top of the page rather than near the field When you open a Date Field variable on a Catalog item, the Calendar widget appears at the top of the page rather than near the field. Refer to the listed Known Error KB article for details.
User Interface (UI)

PRB659934

Accessing a public report from type List deletes the default record of the report table from sys_ui_list, causing the default list for a table to revert to its system-generated version When having a public report from type list, accessing it results a deletion of the default record from the sys_ui_list table. This means that the list layout which was configured by the administrator is lost. In addition, a record is created by the guest user on the sys_ui_list table, where the View field is empty.
  1. Clear the cache.
  2. Navigate to incident.list.
  3. Confirm that there is a list for the incident table on the default view by going to the following URL - leave this window/tab open to refresh later: sys_ui_list_list.do?sysparm_query=view%3DDefault%20view%5Ename%3Dincident
  4. Create a public list type report on the incident table.
    • Navigate to Reports > View/Run > Create a Report.
    • Data: Table, Incident
    • Save.
    • From the Save drop down arrow, click Publish > Copy Public URL.
  5. Open an incognito window or another browser to make sure you have no active sessions to the system you were in.
  6. View the URL copied in step 4, and then close that browser.
  7. Refresh the list from step 3.
Note that your task list is no longer there.
Project Management

PRB582705

KB0524184

Time card management Time Cards "Current" page does not work correctly when the instance or user has a custom date format If the instance or the user has a date format that is not yyyy-MM-dd, the Time Cards > My Time Cards > Current page does not function correctly.
  • The New button on this page does not put the time card in the list, and the Generate Task Cards does not create new time cards from the planned tasks assigned to the user.
  • If the user creates a time card for themselves from the All list or any of the top lists in the Time Cards application, the time card does not display on the Time Cards > My Time Cards > Current page.
UI Policy/Client Script

PRB649124

KB0595450

Currency and option field label hint display "Security does not permit writing to this field" when made read-only Refer to the listed Known Error KB article for details.
Chat

PRB676159

Closing a chat session on an end user's side does not move chat into Close_Complete
  1. Start a Support conversation.
  2. As the end user, click End chat.
Verify that the state does not change to 'Closed_Complete'.
User Interface (UI)

PRB631171

Horizontal scrolling in sections/related lists does not show scroll bar until the very bottom In Dublin, if there are more columns off-screen, a persistent horizontal bar was present at the bottom of the frame to show that there are additional columns. In Fuji, the scrollbar does not show up until the very bottom of the frame. A user does not know that additional columns exist until they are at the very bottom of the list/page.
  1. Go to incident.list and select any record.
  2. Configure the related lists and add Catalog Task > Parent.
  3. In the related list, click Edit. Take a large chunk (15+) of records and add them.
  4. In the related list, click the gear mechanic to personalize the list layout.
  5. Add a handful of columns (7 or more) to create a necessity for scrolling.
Notice on the form you now have to scroll to the very bottom of the related list to even know there may be additional columns in the list.

All Other Fixes

Problem Affected Plugins Short description Description Steps to reproduce
Chat

PRB667004

Geneva with legacy chat: SN session timeout interval not recalculating if user types in chat
  1. Navigate to Plugins > Chat. Ensure that only legacy chat is enabled - the new Connect Support should not be enabled.
  2. Enable the following Chat debug properties:
    • glide.chat.log = true
    • glide.chat.debug = true
  3. Override the base system 30 minute timeout by adding the 'glide.ui.session_timeout' system property with value: 5.
  4. Log into Chrome as System Admin.
  5. Launch /ess and click the Chat button in the upper right.
  6. Log into another browser as Fred Luddy, launch Social IT > Chat, then Answer.
  7. As Fred Luddy, type a message BEFORE the expected 5 min timeout and note the time.
  8. The session timeout prompt will still be received 5 minutes from opening chat_desktop.do.
Log confirms:
2016-03-17 09:42:43 (854) http-28 New transaction FE55E294119612004E822E581A56A23A
  #14908 /chat_desktop.do
2016-03-17 09:47:47 (691) http-7 session logout (AMB) FE55E294119612004E822E581A56A23A 
2016-03-17 09:47:47 (702) http-7 SYSTEM session logout BC5409125F79F46286CCF93627B4BD37 
2016-03-17 09:47:47 (869) http-33 New transaction FE55E294119612004E822E581A56A23A #15281
  /amb_login.do 
2016-03-17 09:47:47 (896) Default-thread-15 SYSTEM WARNING *** WARNING *** User Mismatch
  glide_user=fred.luddy glide_session_user=guest cookie_user= requestURI=http://10.12.50.211:16000/amb_login.do
Chat

PRB674127

Connect Support Customers activating Connect Support need to have legacy chat conversations moved to the Closed Complete state When customers who have previously used legacy chat set a conversation limit in Connect Support, some support agents are unable to accept Connect Support conversations. This is because the system stores Connect Support conversations on the same table as legacy chat conversations, Chat Queue Entry [chat_queue_entry], and legacy chat conversations use a different field than Connect Support to indicate closure. If an agent is assigned more legacy chat conversations than the number specified in the connect.support.conversation_limit property, that agent cannot accept Connect Support conversations because the legacy chat conversations are seen as active.
  1. Have a few help desk chats open as an agent using legacy chat.
  2. Activate the Connect Support plugin.
  3. Set the connect.support.conversation_limit property to 1.
  4. As an end user, initiate a Connect Support conversation.
  5. As a Connect Support agent, try to accept the conversation.
The system will not allow the agent to accept new support conversations.
Chat

PRB675171

Setting 'collaboration.frameset' to false prevents chat windows from appearing from avatar interactions When right-clicking on a user's avatar, an option appears called "Open a new chat". If collaboration.frameset is false, clicking this option produces no output since the frameset appears to control the appearance of the chat window. In a Geneva instance:
  1. Set collaboration.frameset to false.
  2. Try to open a new chat with a user using avatar interaction. The easiest way is to open a VTB and attempt to open a chat with yourself.
Chat

PRB676067

Collaborate Actions: Even after 'Transfer' to another queue, 'conversation.table' record still references the previous chat_queue_entry_record In a Geneva instance:
  1. Enable the Connect and Connect Support plugins.
  2. In one browser session, impersonate Abel Tuter.
  3. In another browser session, impersonate Don Goodliffe.
  4. As admin, navigate to Collaborate > Actions.
  5. Add this gs log entry in the script for 'Create Incident' action and Save:
    gs.log("conversation record" + conversation.document.sys_id);
  6. As Abel Tuter, go to 'ess' and initiate a Service Desk chat.
  7. In Don Goodliffe's session, Transfer the chat to HR Support.
  8. Impersonate Beth Anglin and Accept the HR Support chat. Create an incident and Save the incident.
  9. As admin, verify the script logs.
The sys_id from the log statement refers to the old chat_queue_entry instead of the new one.
Chat

PRB677031

Connect Follow Widget has race condition when checking whether it is loaded in the frameset The Connect Follow Widget checks the top frame for 'nav_to.do' in the pathname, but when a user goes directly the a frameset link, the pathname initially contains 'navpage.do'.
  1. Go to an Incident within the frameset.
  2. Copy and paste the same URL into your browser.
  3. Navigate to the page.

The Connect Follow Widget does not offer the "Open Connect Mini" option in the dropdown.

Expected behavior: The Follow widget should be aware that it is in the frameset.

Chat

PRB678351

When opening a record in Connect via Follow, avatars from existing notes do not render in Connect Mini and Full Avatars do not render when a chat created off a record with existing worknotes/comments is submitted by other users.
  1. Open a record that has a few worknotes and comments submitted by users who have profile avatars.
  2. Make sure this record has not been followed before.
  3. Click on Follow and Open in Connect Mini.
The record conversation is moved to Connect chat, and user avatars are not rendered.
CMDB

PRB678421

Relation dashboard may have performance issues, which may cause the node to have memory issues
Configuration Management Application

PRB666439

Edit button disappears for admin users after activating the Chef Configuration Management plugin After you activate the Chef Configuration Management plugin, the edit button on the Roles related list for sys_user disappears for an admin user. This occurs when the admin user is viewing a user record that has the itil role if itil inherits other roles. In a Geneva instance:
  1. Log in as admin.
  2. Activate the com.snc.chef plugin.
  3. Go to sys_user and open a user record.
If the user has the itil role, the edit button does not appear. If the user does not have the itil role, give them the itil role and you will see the button disappear.
Core Platform

PRB680749

SecurelyAccess unable to retrieve files when instance name contains blacklisted terms Access to external files is restricted if the path contains one of the following blacklisted terms: sys.scripts, classes, lib, conf, and properties. If the name of an instance contains one of these terms, then any file access attempts with SecurelyAccess will be blocked.
Customer Service Management

PRB688412

Live Chat does not load
  1. Activate the Customer Service Management plugin.
  2. Log in as a user with the customer role to the Service Portal: http://<instance-name>/csm.
  3. Click Live Chat.
  4. Type your question and press enter. You will notice that the chat page keeps loading.
  5. Open the console window.
Note the following error:
Conversation 0975f8dd89102200964fb00d9a2a0a0b does not exist
  angular_includes_1.4.jsx?v=06-24-2016_1627:109 (anonymous function)
Demand Management

PRB670592

Project Management, Project Management TeamSpace 1, Project Management TeamSpace 2, Project Management TeamSpace 3, Project Management TeamSpace 4, Project Management TeamSpace 5, Resource Management, Project Portfolio Suite, Timeline Visualization, Demand Management The role tsp1_demand_manager contains role demand_manager, causing a security issue for user of team spaces When using Demand Management in team space 11, the role tsp1_demand_manager contains role demand_manager. Anyone with the demand_manager role can access demands across team spaces if they have the correct URL. If you remove the demand_manager role from the tsp1_demand_manager, users are unable to see the demand workbench in their team space. These team spaces need to be secure from other roles in the system.
  1. Install Teamspace 1.
  2. Give a user the tsp1_demand_manager role.
  3. Impersonate the user and access the demand workbench - this should work as expected. Unimpersonate the user.
  4. Navigate to User Administration > Roles > tsp1_demand_manager.
  5. Remove demand_manager from the Contains Role related list.
  6. Impersonate the same user in step 3.
  7. Access the Teamspace 1 workbench.
Access is denied, due to insufficient rights.
Dependency Views (BSM Map)

PRB679688

DV: The search map > provider contains items which are null When searching for a CI, but the CI and its permissions are sent as null values, the Dependency Views search does not function as expected.
Discovery

PRB667447

SAM Software Installation table Last Scanned and Discovery Source fields are not updated by Discovery or HTHD During a discovery, the Software Asset Management plugin Software Installations table's (cmdb_sam_sw_install) Last Scanned and Discovery Source fields are not updated by Discovery.
  • In Eureka: Last Scanned field is updated; Discovery Source is not.
  • In Fuji/Geneva: Neither field is updated.
If an instance had discovered things while running Eureka, those values will not get updated or cleared after upgrading. The values will get more and more incorrect. Although cmdb_sam_sw_install does not extend cmdb/cmdb_ci, these fields would be expected to be filled in the same way as a CI.
In a Fuji or Geneva instance:
  1. Install the 'Discovery' and 'Software Asset Management' plugins.
  2. Set up a Windows MID Server.
  3. Do a quick discovery of 127.0.0.1 via the MID Server, to discover that MID Server.
  4. Check the Software Installations table: /cmdb_sam_sw_install_list.do.
Several records will be created. Updated and Updated by will show that the MID Server just added those records, but the Last Scanned and Discovery Source fields are empty.
Discovery

PRB672949

When multiple MID Servers start against the same instance, ECCQueueMonitor transactions fail with HTTP/1.1 429 Too Many Requests with code: 429 This results in two issues:
  1. Probes are struck in the processing state, and the MID Server loses track of these probes.
  2. There are sensors errors due to 3p scripts.
  1. Install and set up 50+ MID Server instances.
  2. Look at agent logs.
Note the following sensor errors:
  • When processing Unix - ADM:
    Sensor is expecting JSON format in the output field after probe post processor script.
    Please check that your MID server is up to date. (sys_script_include.778011130a0a0b2500c4595ad1d1d768; line 24)
  • When processing Linux - Amazon EC2:
    Sensor is expecting JSON format in the output field after probe post processor script.
    Please check that your MID server is up to date. (sys_script_include.778011130a0a0b2500c4595ad1d1d768; line 24)
Discovery

PRB674184

File Probe Template may still execute even if a matching local file based probe does not exist File probe templates limit what probe a MID Server may execute to probes that only exist on a file system. Starting with Geneva, even though there is an error that indicates a template does not exist, the probe is still executed. An input ecc_queue record is returned that contains both an error and the results of the probe. In a Geneva instance:
  1. Create a new Linux MID Server (or link an existing one).
  2. On the MID Server host, create some file location to use where you would store these File Probe Templates (e.g. /tmp/probes).
  3. In the config.xml file on this MID Server, add these following parameters:
    <parameter name="file_probe_template_dir" value="/tmp/probes"/> 
      <parameter name="file_probe_template_debug" value="true"/>
    ("file_probe_template_dir" is the location you created from step 2 above and "file_probe_template_debug" is optional, but available to use)
    Note: Do not add "file_probe_template_capture", as this will allow you to create new records here, which is not what we want at this time.
  4. In your instance, open the ecc_queue list view and create a new record here with these values:
    • Agent: mid.server.[MID Server name]
    • Topic: Command (or SSHCommand)
    • Name: ls -l
    • Source: [Can leave empty or put the localhost IP of the MID Server]
    • Queue: output
    • State: ready
As this command runs and you get the input back, you may get the following error:
Probe not executed. file probe template not found: Command.ls__l
However, if this probe ran, you will get results resembling the following:
drwxr-xr-x. 3 user.name user.name 4096 Apr 26 22:43 bin 
drwxr-xr-x. 2 user.name user.name 4096 Apr 27 09:54 conf 
-rw-rw-rw-. 1 user.name user.name 6121 Apr 27 10:16 config.xml 
drwxr-xr-x. 2 user.name user.name 4096 Apr 23 22:34 etc 
....
Domain Support

PRB678029

KB0594841

Upgrades to Geneva for instances with domain-separated tables results in reinstalling domain paths which extends the duration of the upgrade ServiceNow engineers have identified a scenario that will cause upgrades to Geneva to take more time than normal if the domain path data is incorrect before the upgrade. The upgrade will automatically fix the errors and there will be no adverse impact to the instance; however, this problem will increase the upgrade time as the data in all the domain-separated tables are updated. Refer to the listed Known Error KB article for details.
Event Management

PRB675347

Bulk event send, which is being used in events sent from the MID, does not use the dedicated EM semaphore In Geneva, event sending was switched from REST to sending events in bulk using SOAP. Event Management has a dedicated pool of 4 semaphores (threads) dedicated for event reception. These are defined in the sys_semaphore table. However, the definition in that table is only for the API, not the SOAP. As a result, events sent using SOAP are being received by the default semaphore pool, which can potentially cause the UI to become unresponsive.
Financial Management

PRB673080

Financial Management Global write ACL on sys_user table is making fields read-only after turning on Project Portfolio Suite with Financials plugin The global write ACL on sys_user table ACL returns false and has no other script in it.
  1. Install the Financial Management plugin
  2. Log in as a non-admin user and navigate to a user record.
Forms

PRB677496

Duplicate .js include files causes degradation in form performance
  1. Open the developers console.
  2. Go to any incident record.
  3. In the search box in the console section of the developers tools, type in GlideMenu.js or CookieJar.js.
Note these files are loaded more than once. There are 34 JavaScript files that are loading twice or more.
Knowledge Management

PRB658812

Knowledge Management V3 KMv3-style category picker not available on KB article form When trying to select a category on a KB article, the KMv3-style category picker is not available. Instead, a standard list window opens.
  1. Go to create a new Knowledge Base article.
  2. Select Support and Troubleshooting as the Knowledge Base.
  3. Click on the magnifying glass next to the Category field.
Notice that the KMv3-style category picker does not appear.
Knowledge Management

PRB666632

Social Q&A Social Q&A: When asking a question, the category list is empty and a 400 Bad Request error is encountered in the logs if the selected KB contains a large number of categories When a Knowledge Base contains a large number of categories, the contents of the Category field on the "Ask question" Social Q&A page does not load. Furthermore, a '400 Bad Request' error occurs in the network logs on the browser. This appears to be caused by the large amount data in the GET request query string. For example, when 79 categories are active, the URL that the GET request is made to contains 7,532 characters. In a Geneva Patch 4 instance with a Knowledge Base with many categories (e.g. 134 categories):
  1. Navigate to Knowledge > Homepage.
  2. Click the IT category.
  3. From the 'Create New' dropdown, choose Question.
  4. Click the Category field dropdown.

Expected behavior: The categories in the IT knowledge base appear in the dropdown

Actual behavior:

  • No categories appear in the dropdown. A '400 Bad Request' error appears in the 'Network' area of the web console.
  • If you open /kb_category_list.do and set active = false on a large number of the categories (e.g. so there are only about 50 that are left active = true), the issue will not occur.
Knowledge Management

PRB668485

Knowledge Management V3 Knowledge Category Picker throws error when ampersand (&) is in Category name when glide.ui.escape_text = false Knowledge Categories with an ampersand (&) in the label cause an error when using the KB Category Picker (kb_categories_dialog) in a Knowledge form to select a category: The entity name must immediately follow the '&' in the entity reference.
  1. Navigate to kb_category.list.
  2. Modify the demo category Applications to Software &amp; Applications (this should be a part of the IT Knowledge Base if demo data is loaded).
  3. Navigate to sys_properties.list.
  4. Set glide.ui.escape_text to false.
  5. Open or create a Knowledge article (kb_knowledge.list).
  6. Set the Knowledge Base to IT.
  7. Click the Reference icon next to Category to launch the Category Picker UI page (kb_categories_dialog).
Note the following error: "The entity name must immediately follow the '&amp;' in the entity reference."
Knowledge Management

PRB670482

Knowledge Management V3 Knowledge Base page is showing 'Knowledge Featured' and 'Most Viewed' blocks on Fuji but not on Geneva
  1. In Geneva, go to an individual Knowledge base (e.g. HR or IT).
  2. Go back to Knowledge Home by selecting All in the Knowledge Base selection dropdown.
Observe that the 'Featured Content', 'Most Viewed' and 'Most Useful' links are missing on the Knowledge homepage. The same steps work in Fuji.
Knowledge Management

PRB670704

Knowledge Management V3 Cannot select empty KB Category when using KB import tool A user is unable to select an empty category when uploading an article to a knowledge base, using the import tool available in the top right corner. The user reported that it occurs after the first article is uploaded when they reopen the dialog. There must be an empty knowledge base with an empty category (e.g. "Empty KB" and "Empty Category").
  1. Navigate to Knowledge > Homepage > Import.
  2. Select a file by dragging it or selecting it from the file explorer.
  3. Open the knowledge base selector and select Empty KB.
  4. Open the category selector.
Note there is no entry for "Empty Category."
MID Server

PRB667255

CIM hangs when disconnecting after connection to a bad HTTP server The CIM can get into a state where it hangs for all requests on a particular MID Server. It tries to shut itself down when there are no active requests, including shutting down its HTTP client. The Apache HTTP client seems to be particular about what thread it gets shut down from and it hangs while inside a synchronized block. This results in a permanent hang.
MID Server

PRB676044

Converge failure in provisioning workflow due to __SNC_PWD_PROMPT__ error The Converge Command (built from Run Command) fails when SNCSSH is enabled on the MID Server.
  1. Start the Provisioning DBI Instance Workflow from the Service Catalog.
  2. Open workflow context > show workflow.
Provisioning should be complete, but the converge activity fails.
MID Server

PRB677354

MID Server should be able to handle pbrun with -u profile option

This affects customers who are upgrading from the Nebula version (where ServiceWatch was a separate app) to Helsinki, where this is integrated. When using pbrun as a privileged command, customer should be able to append -u option to it and specify a profile.

The fix for PRB677354 adds support for pbrun with -u profile option. Refer to Configure the MID Server to use specific privileged commands for details.

  1. Set the MID configuration parameter mid.ssh.privileged_commands = pbrun -u admin.
  2. Add the credential pbadmin:pbadmin.
  3. Create a probe with topic = SSHCommand, ECC queue name = sudo dmidecode.
  4. Run the probe again.
We should get correct result back instead of Permission denied.
MID Server

PRB681235

MID Server MID Server is reporting stats too aggressively, causing it to consume too many SOAP semaphores

In Helsinki per PRB664693, the rate for which the MID Server reports queue.stats was changed from 10 minutes to 2 minutes. For a customer with many MID Servers, this may lead to excessive consumption of SOAP semaphores. In addition, the data was processed by an after insert Business Rule which would prolong the time the semaphore is held.

This PRB will revert the rate to 10 minutes and change the BR "MID - Process XMLStats" to be async on insert.

MID Server

PRB681457

MID Server leaks memory when it fails to create SSH session When a MID Server fails to create a SSH session, it will leak about 100 bytes of memory. The next time the MID Server fails to create a session with same key, it will be the same 100 bytes leaking, not another 100 bytes. This is related to PRB680106.
  1. Set up credentials for a MID Server.
  2. Use the MID Server to discover a Linux machine.
  3. Use JProfiler to monitor the MID Server's memory. Look for com.service-now.mid.services.SSHSharedSessionCache in live memory.
There will be an empty element with key and value that never be garbage collected, which is the leaking.
Mobile

PRB674080

Mobile UI Changing components under 'Order Status' screen has no effect on mobile app In a Geneva instance:
  1. Navigate to Maintain Cart Layouts and click Order Status Screen (Mobile).
  2. Under components, clear the checkboxes for 'Order Placed Date', 'Request Number' and ' Estimated Delivery Date'.
  3. Save.
  4. If the system property 'glide.sc.use_cart_layouts' is not enabled, set it to true and enable it.
  5. Log in to your instance from mobile app and request a new item in the catalog.
  6. Submit the order.
On the order status screen, you will be able to see all the three fields that you disabled ('Order Placed Date', 'Request Number' and ' Estimated Delivery Date').
Note: When you try this from the mobile interface ($m.do), it works as expected. This does not work with the mobile app.
Mobile

PRB677007

Mobile UI, NG shared components In mobile web), catalog items with a large amount of variables will throw a 400 when attempting to fetch the variable list Catalog items with lots of variables will not work with reference fields.
  1. Navigate to Maintain Items and search for Ask a question.
  2. Navigate to the Variables related list.
  3. Create 5 new variables for this catalog item.
  4. Go to $m.do.
  5. Navigate to Service Catalog > Can We Help You > Ask a question.
  6. Add text to the variables on the item.
  7. Click the User reference field.
Notice the 400 bad request.
Mobile

PRB680197

When logging out of the Mobile web UI on mobile devices and logging back in, the welcome.do is displayed When the system property glide.ui.m.helsinki_mobile_enabled is set to true (or via System Properties > Mobile UI Properties), the user can be redirected to welcome.do when logging out and logging back in on a mobile device. The issue seems to only occur on a mobile device, not desktop or tablet.
  1. Navigate to System Properties > Mobile UI Properties.
  2. Tick the second option on the page (enables the updated mobile web experience, available since Helsinki) and save.
  3. Open up the instance on a mobile phone device (in the Chrome browser).
  4. Log in to the instance, making sure the URL contains /$m.do.
  5. Click Profile > Log Out.
  6. Log back into the instance again on the mobile phone device.
Instead of being taken to the home page (http://instance.service-now.com/$m.do#/home), you are taken to the welcome.do page (http://instance.service-now.com/$m.do#/view_page).å
Mobile

PRB681410

NG shared components In the iOS app, Japanese (and possibly all unicode) input as a comment/worknote saves corrupted values In the iOS app, comment on an incident and save. The Japanese characters will change to unreadable corrupt characters.
Mobile

PRB682384

When attempting to view HTML fields on the native app, the HTML field preview is not displayed Previewing an HTML field does not work on the native application, but it does work on the mobile web. This was a new feature in Helsinki that is not functioning correctly. This is related to PRB665860.
  1. Log in to an instance with the native app.
  2. Go to an incident with an HTML field on it. If there is no HTML field, add one to the incident form.
  3. Click the preview (i) to display the HTML field rendered contents.
Notice that the field is not previewed on the native application.
Orchestration

PRB676406

Add filters on SCCM GET activities to limit the data retrieved from SCCM server If SCCM Get activities retrieve the entire data set from SCCM server, the data set can be up to 25 M. The data is uploaded as an attachment onto ECC queue input record. In order to allow the activities to process the ECC queue attachment, the system property "com.glide.attachment.max_get_size" needs to be added to 25 M, which will risk running the instance out of memory.
Performance Analytics

PRB661575

Performance Analytics Users with pa_contributor and pa_viewer roles are able to edit scores of all indicators
  1. Create a user with the pa_contributor and pa_viewer roles.
  2. Log in as that user.
  3. Go to a scoresheet.
Note that you can edit scores of any indicator.
Performance Analytics

PRB669205

Performance Analytics Previous period chart does not work properly Checking the previous chart period in a widget does not display the x-axis with the labels properly. It shows 1970 and does not compare the previous period.
  1. In HI, create a widget called test with an indicator "RL: Incidents Enterprise - BU" and select the time series as quarter sum +.
  2. Make it a time series column chart, and the chart displays data for Q12016 and Q42015.
  3. Edit the widget and check the previous period chart.
The chart shows "1970" as the x-axis. The columns are displayed in reverse order - Q12016 shows up first. Q12015 is missing in the chart.
Performance Analytics

PRB676461

An indicator with a default time series will lose the default series in a widget in a breakdown dashboard
  1. For the indicator 'Number of open incidents', set the default time series to by month sum.
  2. Create a list widget in a breakdown dashboard. The breakdown source is Incident.Priority.
  3. Add the indicator to the list widget.
  4. Set follow element for this indicator to true.
  5. Go to the dashboard
  6. Switch the element to priority 1-critical.

Expected behavior: The default time series is applied to the indicator, so Number of open incidents / Priority = 1 - Critical / By month SUM.

Actual behavior: The default time series is not applied. The Number of open incidents / Priority = 1 - Critical.

Performance Analytics

PRB678225

PA Dashboards widgets fail to load due to Color Definition User can define colors that are missing the color code or malformed codes without a method to prevent them and/or no user readable error is displayed.
  1. Navigate to Reports > Administration > Color Definition (/sys_report_color_list.do).
  2. Open any already defined color, or create new one.
One of the following occurs:
  • A user can remove the color field and save that color without a color code. Then, PA Dashboard widgets fail to render when using that color.
  • A user can add a trailing space to the color code and it is validated by displaying that color. Then, PA Dashboard widgets fail to render when using that color. You will see 'Loading&hellip;' messages within widgets, or not all widgets will render on the page, or you will see 'empty / white space' within widgets.
2016-05-22 07:28:58 (575) Default-thread-5 9EA371694FA71E00B41EFB95F110C701
  SEVERE *** ERROR *** String index out of range: 0 
java.lang.StringIndexOutOfBoundsException: String index out of range: 0 
at java.lang.String.charAt(String.java:686) 
at com.glide.util.ColorUtil.loadLookup(ColorUtil.java:87) 
at com.glide.util.ColorUtil.getByName(ColorUtil.java:65) 
at com.snc.pa.helpers.ColorHelper.getHexForColorName(ColorHelper.java:16) 
at com.snc.pa.WidgetIndicator.<init>(WidgetIndicator.java:24) 
at com.snc.pa.WidgetIndicator.all(WidgetIndicator.java:117) 
at com.snc.pa.WidgetIndicator.find(WidgetIndicator.java:97) 
at com.snc.pa.Widget.getWidgetIndicators(Widget.java:627) 
at com.snc.pa.ng.NGWidgetProcessor.getTimeWidget(NGWidgetProcessor.java:678) 
at com.snc.pa.ng.NGWidgetProcessor.getWidget(NGWidgetProcessor.java:95) 
at com.snc.pa.ng.NGWidgetProcessor.processRequest(NGWidgetProcessor.java:71) 
at com.snc.pa.ng.NGAngularProcessor.process(NGAngularProcessor.java:17) 
at com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:107) 
at com.glide.processors.AProcessor.runProcessor(AProcessor.java:409) 
at com.glide.processors.AProcessor.processTransaction(AProcessor.java:183) 
at com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:165) 
at com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:32) 
at com.glide.sys.ServletTransaction.run(ServletTransaction.java:34) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:682)
and
2016-05-22 07:55:51 (776) Default-thread-7 264A75A92BE7160004183F83E4DA1512
  SEVERE *** ERROR *** For input string: "D1DEDD " 
java.lang.NumberFormatException: For input string: "D1DEDD " 
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 
at java.lang.Integer.parseInt(Integer.java:458) 
at java.lang.Integer.valueOf(Integer.java:528) 
at java.lang.Integer.decode(Integer.java:958) 
at java.awt.Color.decode(Color.java:707) 
at com.glide.util.ColorUtil.loadLookup(ColorUtil.java:88) 
at com.glide.util.ColorUtil.getByName(ColorUtil.java:65) 
at com.snc.pa.helpers.ColorHelper.getHexForColorName(ColorHelper.java:16) 
at com.snc.pa.WidgetIndicator.<init>(WidgetIndicator.java:24) 
at com.snc.pa.WidgetIndicator.all(WidgetIndicator.java:117) 
at com.snc.pa.WidgetIndicator.find(WidgetIndicator.java:97) 
at com.snc.pa.Widget.getWidgetIndicators(Widget.java:627) 
at com.snc.pa.ng.NGWidgetProcessor.getTimeWidget(NGWidgetProcessor.java:678) 
at com.snc.pa.ng.NGWidgetProcessor.getWidget(NGWidgetProcessor.java:95) 
at com.snc.pa.ng.NGWidgetProcessor.processRequest(NGWidgetProcessor.java:71) 
at com.snc.pa.ng.NGAngularProcessor.process(NGAngularProcessor.java:17) 
at com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:107) 
at com.glide.processors.AProcessor.runProcessor(AProcessor.java:409) 
at com.glide.processors.AProcessor.processTransaction(AProcessor.java:183) 
at com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:165) 
at com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:32) 
at com.glide.sys.ServletTransaction.run(ServletTransaction.java:34) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:682)
Platform Security

PRB668917

Password2 length should be enforced to 255
Platform Security

PRB674503

Performance degradation when using GlideRecordSecure when the record being queried contains fields such as variables, audio Performance degradation occurs while using GlideRecordSecure when the record being queried contains fields such as variables, audio, userImage, currency, and possibly other fields.
  1. Create a new table.
  2. Add several currency fields to it, along with other dummy fields (e.g. name, description).
  3. Create an entry under sys_relationship table:
    • Applies to table is incident
    • Queries from table is the new table created in step 1
  4. Add a query such as current.addQuery('<SOME_FIELD_IN_THE_NEW_TABLE>', <SOME_VALUE_THAT_MATCHES_A_LOT_OF_RECORDS>);
  5. Add many records to the new table.
  6. Create a list_edit ACL on the new table, and add a condition and a query using some fields on the table.

When you open an existing incident, note that the AJAX call to fetch the records under the new embedded list is taking a lot of time to get the response back.

Enable SQL debugging. Note that for every currency field under every record under the new embedded list, a GlideRecord query is being made when getSpecificDisplayValue is done.

Platform Security

PRB681602

Too many cache misses on the role cache The cache size of the roles cache is too small for many of the large instances.
Policy and Compliance

PRB670553

Knowledge base records are created / updated when activating the IT Governance, Risk and Compliance (ITGRC) (com.snc.governance) plugin The following file could potentially load the demo data Knowledge Bases when GRC is installed: app-itbm/glide-app-grc/src/main/plugins/com.snc.governance_core/update/kb_knowledge_base.xml.
Policy and Compliance

PRB674394

GRC compliance percentage is calculating incorrectly
  1. Create a control - Control 5.
  2. Create a control definitions - Control def 100.
  3. Execute the control def 100 three times with test_status=success, failure and success respectively.
  4. Since the latest test result is "success", the compliance =100 and non-compliance =0.
  5. Delete the first def with status =success.
The compliance should be 100 as the latest control def is "success", but compliance falls to zero.
Project Management

PRB664923

Planning Console - When returning from a task or relationship detail, form is reloaded and expanded sections collapsed Scenario 1
  1. Use the planning console to display a simple project, with a project task with children project tasks.
  2. Double-click on one of the task bars to show the detail of the record, then click the back button.
  3. On redraw, the expanded tasks are collapsed.

Scenario 2

  1. From the planning console, go to a Child Project Task, right-click, and select Edit.
  2. Make any change to the child Project Task and click Update.
  3. When the system goes back to the planning console, all of the Project Tasks and child Tasks in the Planning Console are collapsed.
Reporting

PRB678332

Calendar reporting 1 day shift back on date values In the new calendar, "Date" type values are being converted from UTC (they are interpreted in ServiceNow as a Date Time 00:00:00 UTC) to System or User Timezone if the user overrides System Timezone. This results in a 1 day shift back for timezones that are 1 hour behind UTC. DateTime type of fields are being converted properly because they store time in UTC.
Reporting

PRB678754

Report Charting v2 AutoSysFields should be on False to prevent all reports to be seen as updated / modified When upgrading to Helsinki, all reports get the modified state from that upgrade moment. All the reports will get updated, and report clean up will be useless. This is a big issue for customers that have thousands of reports.
Security Incident Response

PRB677029

Vulnerability Response, Security Incident Response, Qualys Vulnerability Integration, Threat Intelligence Contextual help URLs are incorrect Some contextual help URLs in the Security Operation Applications suite are incorrect.
  1. Load Security Incident Response.
  2. Open a response task.
  3. Click the contextual help icon.
Notice the information returned is incorrect.
Server Side Scripting

PRB668211

Syntax Editor Service Portal script evaluation should support app scoping All script evaluation within Service Portal currently executes in global.
Service Catalog

PRB668222

Changing the user's language while on a Catalog item can take 60+ seconds On instances with large catalogs, there is a delay of 60+ seconds when a user changes their language when that entry/item is not in the cache.
Service Catalog

PRB670617

servicecatalog_checkout_view_v2 generates too many requests to sc_layout For a single item in checkout, around 77 queries are generated. All of these queries are identical to the following:
SELECT ... FROM (sc_layout sc_layout0 INNER JOIN sys_metadata
sys_metadata0 ON sc_layout0.`sys_id` = sys_metadata0.`sys_id` )
WHERE sc_layout0.`target` = 'order_status' AND sc_layout0.`active` = 1
When more items are added to checkout, the number of queries also increases.
In a Fuji or Geneva instance:
  1. Ensure that checkout_view_2 is enabled (not 1) and SQL debug is enabled.
  2. Navigate to Service Catalog > Hardware > Apple iPhone 5.
  3. Make sure quantity is set to 1.
  4. Click Add to Cart 10 times (we want 10 separate line items, not a single line item of quantity 10).
  5. Check out and ensure that you are navigated to the UI page servicecatalog_checkout_view_v2.
Instead of the query being made only once, each line item in the checkout view causes 50 - 100 identical queries to sc_layout.
Service Catalog

PRB675701

If an item is ordered using Order Guide, the order guide column and value details are missing in the order status screen
  1. Create a new or use an existing order guide.
  2. Give the details in the choose options screen and proceed with checkout.
  3. Observe the details shown in order status screen.

Expected behavior: There should be a column named "Order Guide" showing the details of the order guide using which the item is being ordered.

Actual behavior: Order guide column and details are missing in the Order Status screen.

Service Catalog

PRB682218

KB0597329

Custom Cart Layout Column macros are not shown in Geneva Patch 7 Custom Cart Layout Column macros, that define extra columns on the requested item list on Order Status page, do not display for Geneva Patch 7. This worked as expected in Geneva Patch 6 and Helsinki. See Configuring Widget and Column Macros.
Service Mapping

PRB677144

Add bypass to F5 behavior
  1. Run F5 discovery with SSH credentials.
  2. Note the device is discovered as Linux.
Service Mapping

PRB678995

Flash-based Pattern Debugger (in Geneva and Helsinki) does not allow for quotes in value strings
  1. The string
    "ls "+$process.executableDir+"\""
    does not pass UI validation. Users get the UI error "... they don't come in pairs ..."
  2. The string
     "ls "+$process.executableDir+"\"\""
    does not pass UI validation. Users get the UI error "... they don't come in pairs ..." even though the number of quotes is even.
Service Mapping

PRB679365

ServiceNow documentation says 'Discovery Messages' and 'Traffic Based discovery' tabs will be visible only in Edit mode According to ServiceNow documentation, the 'Discovery Messages' and 'Traffic Based discovery' tabs are only visible in Edit mode. See the last item in Understand Maps. However, when users with the role 'sm_user' log in and they only have view access, those users can see these tabs.
Service Mapping

PRB679625

F5 fixed unknown computer + active/passive indicator F5 fixed unknown computer - there is a NullPointerException in the Discovery log and the Discovery stop.
Service Portal

PRB668463

NG shared components Direct links with nav_to.do in the URL are not working
Service Portal

PRB674244

Fields with internal type as "Duration" appear differently on Service Portal forms In an Outage duration field, the legacy UI shows the data as "68 days 10 hours 57 Minutes". However, the Service Portal UI displays the data as "68 10:57:47".
Service Portal

PRB676007

Form mandatory indicators should update as you type
  1. In Service Portal, go to the Ask a Question page.
  2. Type in the Question field.
As soon as you start typing, the Submit button should become available. It does not until you blur from the field.
Service Portal

PRB677266

spUtil.scrollTo is not working for Service Catalog items
  1. Navigate to /sp?id=sc_cat_item_guide&sys_id=6690750f4f7b4200086eeed18110c761.
  2. On the right, click Desk Set Up.
The page should scroll to the Desk Set Up section of the form, but it does not.
Service Portal

PRB677858

Unable to see activities from a closed incident - Error is with a few incident records Certain Incidents with a lot of attachments do not show the activity stream on a Service Portal form. Instead, an error is shown which state that the Ticket Conversation widget is failing.
  1. Add an attachment to an Incident as Beth Anglin.
  2. Remove Beth's user_name value (or change it).
  3. View the Incident in the Service Portal id=form page.
Note the JSON error.
Service Portal

PRB678317

Service Portal - Service Status Current Status widget "show outage details" option does not work properly after value changes from true to false This is because the check for the option assumes it is a boolean - it is a String either "true" or "false".
Service Portal

PRB678341

Service Portal Configuration Pages Switching between two portals with the same index page crashes the Branding Editor
Service Portal

PRB678358

Service Portal Designer Widget names and Page titles are not sorted In Helsinki, Service Portal Designer Widget names are not sorted in order. In a Helsinki instance:
  1. Navigate to Service Portal > Pages.
  2. Go to the 'Portal Edit' page.
  3. Click the Open In Designer related link.
Notice that on the left side, the names of the widgets present are not sorted in an order.
Service Portal

PRB678519

Setting glide.ui.escape_all_script to 'true' in a high-security setup makes the Service Portal fail on load when there are page load Dependencies Opening the Service Portal after activating the 'Service Portal for Enterprise Management' plugin and setting the value of 'glide.ui.escape_all_script' to true, opens a blank page with the Uncaught Syntax Error: Unexpected token ILLEGAL errors and Uncaught Error: [$injector:modulerr] Failed to instantiate module sn.$sp errors. In a Helsinki instance:
  1. Active the 'Service Portal Enterprise Management' plugin.
  2. Set the value of 'glide.ui.escape_all_script' to true.
  3. Open the Service Portal (<instance>/sp).
The following errors are seen in the developer console:
sp?sysparm_stack=no:2
Uncaught SyntaxError: Unexpected token ILLEGAL
js_includes_sp.jsx?v=04-21-2016_1541&lp=Tue_May_24_02_24_02_PDT_2016&c=2_42:6202
Uncaught Error: [$injector:modulerr] Failed to instantiate module sn.$sp due
to:
Error: [$injector:modulerr] Failed to instantiate module sp.dependencies
due to:
Error: [$injector:nomod] Module 'sp.dependencies' is not available!
You either misspelled the module name or forgot to load it. If registering a module
ensure that you specify the dependencies as the second argument.
Service Portal

PRB678572

Unable to see the entire Description field when viewing a PRB record in HI - seeing only top line Open a PRB with the new UI. The Description field is single-line only, and any additional text cannot be seen.
  1. In HI, navigate to Home > My Issues > Problems.
  2. Note that only the top line of the problem description can be seen.
Service Portal

PRB678585

Service Portal Designer With screen resolution < 1024px, the Service Portal Designer's header preview button does not appear
  1. Go to /$spd.do.
  2. Select a widget from the list.
  3. Resize the window to < 1024 pixels.
The 'Preview' button disappears when it should not.
Service Portal

PRB678623

Service Portal rendering of catalog items does not honor the "Display title" setting for variable sets for the item In Helsinki instances, if you have a catalog item that contains variable sets that have the "Display title" field checked, the title will render in the normal catalog but not on the Service Portal when it renders the same item. In a Helsinki instance:
  1. Install the 'Customer Service Portal' plugin.
  2. Change your application scope to Customer Service.
  3. Bring up the Create Contact catalog item.
  4. Add the Standard Employee Questions variable set to the variable set related list.
  5. Go into that variable set and make sure 'Display title' is checked (check and save if not).
  6. Go to the Customer Service Portal (csm?id=csm_index) > click Get Help.
  7. Click Service Catalog on the bread crumbs at the top.
  8. Click Services under the categories on the left.
  9. Click Create Contact.
The title for the variable set is not displayed. If you view that same item outside of the Service Portal, the title is displayed correctly.
Service Portal

PRB679143

There should be a single-parameter signature version of $sp.getWidget
  1. Try to use $sp.getWidget("calc") in the Service Script of a widget.
  2. See error in the Java console.
Service Portal

PRB679373

Reference field modal does not inherit view of current form The view should be inherited from the current form, as view inheritance is an expected, long-standing feature of the ServiceNow platform.
  1. Go to the itil view of an Incident form.
  2. Click the preview icon for the Caller reference field to view that user in a modal.
See that you are not looking at the itil view of the sys_user form - the view should be inherited from the current form.
Service Portal

PRB679617

SCSS Bootstrap Theme, Service Portal for Enterprise Service Management Service Portal takes too long to load if there are many items in the header menu Since there is no limit in the header menu in Service Portal, if the number of items in the header menu is 100 or more, Service Portal performance is affected. Please also note that items more than 15 are not shown properly in the drop down header menu.
  1. Make sure there is a valid approval request in the 'sysapproval_approver' table.
  2. Execute the following background script to create the 500 records in the 'sysapproval_approver' table:
    var approval = new GlideRecord('sysapproval_approver');
      var newApproval = new GlideRecord('sysapproval_approver');
      
      approval.addQuery("state", "requested");
      approval.setLimit(1);
      approval.query();
      approval.next();
      var sysapprovalValue=approval.getValue('sysapproval');
      var count = 0;
      
      while (count > 500) {
      newApproval.setWorkflow(false); // do not allow BRs or Workflows to execute 
      newApproval.setUseEngines(false); // do not allow approval engines to execute 
      newApproval.setValue('sysapproval', sysapprovalValue);
      newApproval.setValue("state", 'requested');
      newApproval.setValue("approver", '6816f79cc0a8016401c5a33be04be441');
      newApproval.insert();
      
      count++;
      }
  3. Go to the Service Portal page (e.g. https://<instanceName>.service-now.com/sp?sysparm_stack=no).

Expected behavior: The number of items should be limited and should not cause any delay in the Service Portal navigation.

Actual behavior: It takes 5 seconds or more to show any page in the Service Portal.

Service Portal

PRB679658

c.server.update() and spUtil.get() does not allow to handle errors in the widget The widget editor always displays a "Saved" message even when saving fails.
Service Portal

PRB679734

Error messages are displayed when searching in Service Portal for German users When searching in the Service Portal when the language is German, the error message below is displayed:
Ihr Abfragetext enthielt nur allgemeine Wörter oder
nicht eindeutige Platzhalter. Schränken Sie die Suche ein, und versuchen Sie es
erneut.
This comes from the sys_ui_message with key 'ts_query_only_common' when the German translation plugin is installed.
On a Helsinki instance:
  1. Activate the German translation plugin.
  2. Activate the Service Portal for Enterprise Service Management plugin.
  3. Change language to German.
  4. Navigate to <instance.url>/sp.
  5. Start typing in the search box.

Current behavior: The following message is displayed - "Ihr Abfragetext enthielt nur allgemeine Wörter oder nicht eindeutige Platzhalter. Schränken Sie die Suche ein, und versuchen Sie es erneut.."

Expected behavior: Unless the error condition occurs, search should work.

Service Portal

PRB680118

Service Portal Configuration Pages Page Editor - Page Map shows widget instance as "Rectangle 1"
  1. Go to sp_config.
  2. Go to the page editor and open Ticket Form.
Notice how the untitled widget instances are still called Rectangle.
Service Portal

PRB680622

Service Portal Configuration Pages Users should not be able to delete sp_config portal Delete the sp_config portal. This should not be allowed.
Service Portal

PRB680729

Simple List widget should let you specify target View for the form
  1. Edit a Simple List sp_instance_vlist record.
  2. See that there is nowhere to specify target View for the target record when a user clicks a row in the simple list.
Service Portal

PRB680825

'Included in Pages' defined related list script needs guardrails against bad nested sp_instance record
  1. Activate the com.snc.hr.service_portal plugin.
  2. Try to open the My Team widget in the form or widget editor. Note that you get errors.
  3. Remove the 'Included in Pages' related list from widget form.
  4. Repeat step 2. Note that it works as expected.
Service Portal

PRB681011

In the SP widget editor, any changes made to a widget are not reflected in the Widget Preview section In the SP widget editor, any changes made to a widget are not reflected in the widget preview section. Additionally, any JavaScript errors made in the widget code have the potential to break the preview.
  1. Go to the widget editor.
  2. Open any widget that has preview enabled.
  3. Try to edit the template, controller, link function or Angular Provider associated with this widget.
Changes are not reflected into the widget preview. Also, any JavaScript errors in your code will break the preview.
Service Portal

PRB681149

SCSS Bootstrap Theme Service Portal compiles SCSS files using a Java library that has a problem when using floats This PRB fix accounts for and fixes Bootstrap CSS' several usages of line-height.
Service Portal

PRB681517

Catalog items without variables cannot be submitted
  1. Try to order an Apple iPad 3 in the Service Portal.
  2. Note that you cannot, because the Submit button does not do anything.
Service Portal

PRB682388

Human Resources Application: Service Portal HR Service Portal translation issues There are internationalization/translation issues in the HR Service Portal. Install the HR Service Portal plugin.

Issue 1

  1. Install the I18: Spanish plugin.
  2. Change the system property to es (Spanish), log out, and log back in.
  3. Navigate to the HR Service Portal > Catalog.
  4. Open any catalog. Notice that Submit button on the bottom is without text.

Issue 2

  1. Navigate to the HR Service Portal.
  2. Click on the profile widget. Notice that the 'Create New Contact' button at the bottom is missing translation. The 'Upload picture' and 'About' text on the form is not translated either.
Service Portal

PRB683040

Helsinki plugin dependency The fix for PRB665894 creates a dependency between the syntax editor plugin and the Service Portal display - the 'styles/GlideEditor5Includes.css' is being used in the Service Portal, which is installed as part of the syntax editor plugin. However, there is a missing plugin dependency. The content is completely different if the syntax editor plugin is not active. In a Helsinki instance:
  1. Go to Plugins and ensure that the Syntax Editor plugin is not activated.
  2. Go to https://xxx.service-now.com/nav_to.do?uri=/sp_widget.do%3Fsys_id%3D45190787ff323100ba13ffffffffff71".
    • Note the syntax editor is missing. https://xxx.service-now.com/sp_config?id=page_edit&amp;p=sc_request&amp;table=sp_widget&amp;sys_id=45190787ff323100ba13ffffffffff71&amp;spa=1"
  3. Go to Plugins and activate the Syntax Editor plugin.
  4. Go to https://xxx.service-now.com/nav_to.do?uri=/sp_widget.do%3Fsys_id%3D45190787ff323100ba13ffffffffff71".
    • Note the syntax editor is not missing. https://xxx.service-now.com/sp_config?id=page_edit&amp;p=sc_request&amp;table=sp_widget&amp;sys_id=45190787ff323100ba13ffffffffff71&amp;spa=1"
Service Portal

PRB683295

/sp/anything.do redirects indefinitely If a user tries to go to /sp/cache.do, Service Portal endlessly loops while loading the page.
Service Portal

PRB684796

Multiline String field will not save new values
  1. As an admin, view a sys_properties record in the id=form page of the Service Portal.
  2. Try to change a Value or Choices field.
Note the new value does not save.
Service Portal

PRB686313

In Service Portal, catalog item variable type "label" should render HTML
Service Portal

PRB686448

Mobile UI Order Guide variables do not cascade Cascading variables was a feature of previous versions of ServiceNow that is highly utilized with order guides. Users utilizing order guides, who more than likely will also be using cascading variables, would be affected by this.
Service Portal

PRB686466

Mobile UI, NG shared components Need API to determine in a Catalog Client Script whether item is part of an order guide A Service Portal administrator needs a way to know if the catalog item is being loaded on its own or as part of an order guide.
Service Portal

PRB686507

NG shared components Some Service Portal form elements are not working
  • The reference element only searches one of the ref_ac_columns specified.
  • The glide list element should support setFilter, addItem, and removeItem.
  • Certain blacklisted APIs are fully accessible, jQuery, window, document, Angular, etc.
Service Portal

PRB686965

Autocomplete in the reference picker in Service Portal Catalog Items does not behave the way the platform reference picker does In a reference element field on a Service Catalog item, you can optionally define several Variable Attributes on the variable. This give a Service Catalog administrator control over what fields to display in the autocomplete dropdown for a reference element, what fields to search over, and what order to display them in. These variables should be supported by Service Portal. The available attributes are documented in Auto-Complete for Reference Fields.
  1. Navigate to a Service Catalog item in Service Portal that has a variable that is a Reference Element and that has Variable Attributes on it.
  2. When searching in the Reference Element field, notice that none of the variable attributes are respected.
Source Control Integration

PRB667492

Source Control API: Prevent Applications in global scope from being added to source control Applications in global scope can be added to source control. This could lead to unintended behavior and possible outages, based on action taken on uninstall/reinstall app during source control ops. If an app file (e.g. script include) that is essential to system operation is added to an app, and the app is linked to source control, then during source control operations, a user could inadvertently remove a critical app file from the instance. This could cause unintended consequences, potentially an outage.
  1. Set the system property 'glide.app.creator.global' to true.
  2. Navigate to System Applications > Applications > New and select Start from global. Alternatively, go to File > Create New Application in Studio. This will allow you to create a globally scoped app (subtly different from just "global"), which can be opened in Studio, linked to a repo, etc.
  3. Now you can go to any app file in global scope and add it to your application and subsequently add it to source control.

Actual behavior: A globally scoped app file is added to source control and will be affected by source control operations (e.g. switch branch), causing that file to be uninstalled/reinstalled.

Expected behavior: The globally scoped app should not have been able to be exported.

System Applications

PRB679780

Upgrade to Helsinki failed due to stackoverflow error on checking roles When there is cyclicity in sys_user_role_contains and if one of cyclic roles are involved in writes to sys_user_role_contains, sys_user_has_role, sys_group_has_role, we hit a StackOverflow error. The code responsible for it, is introduced in Helsinki. Upgrades to Helsinki or regular usage of Helsinki are susceptible to this error.
Team Development

PRB673198

Team Development transactions can be canceled by scoped quota rules Platform transactions that should not be canceled must be marked uncancelable. Otherwise, the quota rules that check scoping can cancel them. For example, Team Development operations are not uncancelable because they are being canceled in the field.
Usage Analytics

PRB680715

glide.ua.downloader.download_license and glide.platformanalytics.upload.enabled are erroneously defined in the glide.properties file
User Interface (UI)

PRB675974

List v3 Components, NG shared components Bullets are not rendered in journal fields by the [code] tag When using UI16, the bullets tags <ul> / <li> are not rendered by the [code] tag on journal fields. This works as expected in UI15.
  1. Go to the incident form.
  2. Leave the following line in the Additional comments field: [code]<ul><li>Bullet 1</li><li>Bullet 2</li></ul>[/code]
  3. Save.
Note there are no bullets in the message that was left in the activities. When moving to UI15, you will see that it shows the bullets as expected.
User Interface (UI)

PRB678019

NG shared components Initials are incorrect when emails are in parentheses
  1. Use a user with name "Thomas James (thomas.james@example.com)".
  2. View the avatar.
Instead of displaying as TJ, it displays TC.
User Interface (UI)

PRB678316

IE11 - List of email recipients is truncated in the activity history When you send email from an incident, and fill the To and CC fields with many emails, the list of email recipients gets truncated in the activity history. This happens in IE11.
  1. Create a new incident.
  2. Email many (more than 10) users, using the email client from the incident form.
  3. Reload the form and check the activity history.
Note the email addresses get truncated in the activity history. This does not happen in Chrome and happens only in IE11.
User Interface (UI)

PRB679379

If user preference glide.ui11.use is set to false for an ESS user, they cannot log in
  1. Change global user preference glide.ui11.use to false.
  2. Clear the cache.
  3. Log in as employee.
See that page loading stops on "Establishing Session".

Other Helsinki Patch 2 information

Fixes included with Helsinki Patch 2

* Unless any exceptions are noted, you can safely upgrade to this release version from any of the versions listed below. These prior versions contain PRB fixes that are also included with this release. Be sure to upgrade to the latest listed patch that includes all of the PRB fixes you are interested in.