Skip to content

Commit 0b0b517

Browse files
authored
Merge pull request #38 from snamjosh/master
Created new instance scan check for client script usage of GlideRecord API
2 parents ccde31b + 4e9d1a9 commit 0b0b517

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ For table that store reports definition there is also posibility to assign roles
154154
### Scheduled Job with RunAs set as Locked Out user
155155
Detecting no longer active user with flag Locked Out set to true that is set as a RunAs for Scheduled Job
156156

157+
### Client Scripts should not use GlideRecord() API
158+
Verify that instance doesn't have GlideRecord() usage in client scripts and instead make use of GlideAjax.
159+
157160
## Category: User Experience
158161

159162

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d9mOi167Wrul7up4wwyqrhWcfoFzmpRPl8XHUy2NakkDwIp9v8SSIF2D3NpLQ2DMjyxbDN9JtMW2Yb-iTlq9XxiTE-Vi_vPEND9BwNrqu5544ZVluYDGz08zbS3Mi9TPNbhLGnCHACi6gQbPM269fU9Exwsqq7xEg1CXMCQQJ8D0NuWGjv8Q4QWG9JLmZKVLhGxKqZfW7i4EDlFuvswZdd175QcFotLplLXl2Bi7dWSpD_N7J8pY32Aoy8p5hce49vhyfikPxaGE1eqFvrDM_G-E5mBJwh0_KGRut_m-l_fTXy-II9o5Nc9K-B_ys72jWTQpPx3wOFFWq1fFFzHmqN8AxqImMJRVe39pVZw1sctf5DlcRqCxWka8PlLpTFvro005AZE91Cp9T6OMKZFNCebxZN6dpx9-gzFIp-BiVUCyO1vb5W5lTmq_BLejo-NRsu9jsivngB7_-vaNd0c_pTILnHpfkheG-bX1YHkftIgxHnT_6cisDt-aWcS6pkQb0rJkQAkk51vyTykJSsLgniBrppo807NEBArJSrFoPfy2ikmUcOvUK9IN9I_YZGNRYQMdhdVGFnoG38t8nDlszXmyiqCPL0rKQxkgTHABYq2Ywltgaf3HammrbO8NSVrtJvuN2Bzy-wsKi6gvFV8pI6lYJ5YR4FlByiE5Bsvupxk
1+
wfk5cLJIFILf--CScx11T_HxKnvFi_tvVGWQ4MVoUD4xRjeg23hbQQ-YthZaO5rdQRi5RO0Ek_vy1jQxfj8my5NnSqX76ss9Totvk18Z5SgfR8FHjV9QH256pks9HGGF8Fbyn3AtYoCn4KUpxUI-hW2X1yAAwp0PKYgo9q_DlLzvRd1yem1bLqaCLTW-CW_IDtQoDlk5wdVR2XKYqeAsNOKgOI_7m84DsgiIZwn78t5DcQ-jEtyZKCIFsznrSce2sFSW0EZOwYVQsFwvXIhSpsyNaLesyP7N8PVuw3rBsw5nojwgPkNbJW_sYegEICD8CTNIm-OdS5tsS0nifJQNN5erG3FlGykruc1JjG1YWoQs2Nxq4FCevGLSjX-C9g9AZUtnMmyGt2wZTPTdPYwzKmoYQ1642r7CJdJ8fvjHWViLp2__NT9Wo4rJBHqYxd7rADLu-on_5a1FTXlTKLuck-Ges27pJcmyYz1RqJJHwJQ2bPeZZ6AgYIdqvLKhx87K_kDj76p9QIw36GDaNuUCAhOuB3JU5UCBdWtS_G-6GebWyasL0pMVt5DXczRH2BUeJTttW7stKIfY3p4_7pDVvd2gcE8LI6TRLGA-k-KX6c-6MeIAp8LFoOMwGH07Dc-fgPQDfhrvOnyF1jMAq2scd1kDC005jUwjKCNiM-JqiyE
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?xml version="1.0" encoding="UTF-8"?><record_update table="scan_table_check">
2+
<scan_table_check action="INSERT_OR_UPDATE">
3+
<active>true</active>
4+
<advanced>false</advanced>
5+
<category>performance</category>
6+
<conditions table="sys_script_client">scriptLIKEGlideRecord^EQ<item endquery="false" field="script" goto="false" newquery="false" operator="LIKE" or="false" value="GlideRecord"/>
7+
<item endquery="true" field="" goto="false" newquery="false" operator="=" or="false" value=""/>
8+
</conditions>
9+
<description>Client script should be using GlideAjax if you need to make asyc calls to Server to get data from Server. GlideRecord() API shouldn't be used to avoid performance issues.</description>
10+
<documentation_url/>
11+
<finding_type>scan_finding</finding_type>
12+
<name>GlideRecord API in client script</name>
13+
<priority>2</priority>
14+
<resolution_details>Client scripts run on browser and they uses either data available on the form or data retrieved from the database.&#13;
15+
Use client data as much as possible to eliminate the need for time-consuming server lookups i.e. GlideRecord.&#13;
16+
The best ways to get data into form/browser from the database are g_scratchpad, and asynchronous GlideAjax lookup</resolution_details>
17+
<run_condition/>
18+
<score_max>100</score_max>
19+
<score_min>0</score_min>
20+
<score_scale>1</score_scale>
21+
<script><![CDATA[(function (engine) {
22+
23+
// Add your code here
24+
25+
})(engine);]]></script>
26+
<short_description>Client script with GlideRecord API calls</short_description>
27+
<sys_class_name>scan_table_check</sys_class_name>
28+
<sys_created_by>admin</sys_created_by>
29+
<sys_created_on>2022-09-30 21:33:04</sys_created_on>
30+
<sys_id>ba0c998d875251106b0f20af8bbb3515</sys_id>
31+
<sys_name>GlideRecord API in client script</sys_name>
32+
<sys_package display_value="Example Instance Checks" source="x_appe_exa_checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_package>
33+
<sys_policy/>
34+
<sys_scope display_value="Example Instance Checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_scope>
35+
<sys_update_name>scan_table_check_ba0c998d875251106b0f20af8bbb3515</sys_update_name>
36+
<table>sys_script_client</table>
37+
<use_manifest>false</use_manifest>
38+
</scan_table_check>
39+
</record_update>

0 commit comments

Comments
 (0)