Installed with Compliance

These components are installed with the Certification Core plugin.

Demo data is included with the Desired State and Architecture Compliance plugins.

Tables

The Certification Core plugin adds or modifies these tables.

Table 1. Compliance Certification Core tables
Name Description
Audit [cert_audit] Contains all the data required to run an audit, including the users assigned to follow-on tasks and the run schedule.
Audit Result [cert_audit_result] Contains the results of specific, certification audits.
Follow On Task [cert_follow_on_task] Contains the tasks that were generated from an audit discrepancy.
Certification Template [cert_template]

Contains the definition of the desired state of the record. The template includes a filter that identifies the records to evaluate and the expected attributes and relationship values.

Contains the records to certify, the expected attributes, and the expected relationship values.

Certification Condition [cert_cond] Base table that defines the desired attribute or relationship conditions used in templates.
Certification Attribute Condition [cert_attr_cond] Contains the conditions that define the desired CI attribute values. This table extends the Certification Condition [cert_cond] base table.
Certification CI Relationship Condition [cert_ci_rel_cond] Contains the CI to CI relationship conditions. This table extends the Certification Condition [cert_cond] base table.
Certification User Relationship Condition [cert_user_rel_cond] Contains the CI to user relationship conditions. This table extends the Certification Condition [cert_cond] base table.
Certification Group Relationship Condition [cert_group_rel_cond] Contains the CI to group relationship conditions. This table extends the Certification Condition [cert_cond] base table.
Certification Related List Condition [cert_related_list_cond] Contains the related list conditions. This table extends the Certification Condition [cert_cond] base table.
Certification Filter [cert_filter] Contains a certification filter, including the table that contains the records to audit and the filter conditions.

User roles

The certification role is automatically assigned to all users with the itil role when the Certification Core plugin is activated or when compliance applications are upgraded. Certification core installs two business rules, both called Add Certification Role To Manager, that perform similar tasks on different tables. One rule checks for a manager specified on the User [sys_user] table, and the other checks for the certification role on the User Role [sys_user_has_role] table. When both a manager and the certification role are specified for a user, the system automatically grants the certification role to the manager. This functionality ensures that a certification task can be escalated successfully to the next level. The system grants this automatic role to the user's immediate manager only and not to others up the management chain.
Note: Adding the certification role to a manager's record increases the ServiceNow license count. This increase is not charged against the license, however.
Table 2. Compliance Certification Core user roles
Name Contains roles Description
certification none Can read and update certification tasks to resolve discrepancies.
certification_filter_admin none Can create, read, and update certification filters.
certification_admin certification, certification_filter_admin Can manage the entire certification process. These users can create, edit, and delete all certification records.

UI policies

Table 3. Compliance Certification Core UI policies
Name Table Description
Make table read only Audit [cert_audit] Sets the table field derived from the selected filter to read-only.
Hide Audit Type Audit [cert_audit] Hides the Audit type field.
Hide next scheduled run Audit [cert_audit] Hides the Next scheduled run date if an audit is inactive or on-demand.
Show task fields when create tasks is set to true Audit [cert_audit] Displays all fields related to creating tasks when the user selects the Create tasks check box.
Make name mandatory Audit [cert_audit] Makes Name a mandatory field.
Prevent editing of Last run date Audit [cert_audit] Makes Last run date field read-only.
Show User field Audit [cert_audit] Shows or hides fields based on the Assignment type selected. The system shows the User field when you select the following assignment types:
  • User Field if the Assign to empty option is Create Assigned Task.
  • Specific User
Show Assign to fields Audit [cert_audit] Shows or hides fields based on the Assignment type selected. The system shows the Assign to field when the assignment type is User Field.
Show Assignment Fields Audit [cert_audit] Shows or hides fields based on the Assignment type selected. The system shows the Assign to empty field when you select either of the following assignment types:
  • User Field
  • Group Field
Show Group field Audit [cert_audit] Shows or hides fields based on the Assignment type selected. The system shows the Group field when you select either of the following assignment types:
  • Specific Group
  • Group Field if the Assign to empty option is Create Assigned Task.
Hide "run" associated fields when active is set to false Audit [cert_audit] Hides these scheduling fields when the audit is inactive:
  • Run
  • Day
  • Time
  • Last scheduled run
Show script window on Scripted Audit Audit [cert_audit] Displays the Run this script field when the audit type is Scripted.
Make table read only Certification Condition [cert_cond] Sets the table field derived from the selected filter to read-only.

Script includes

Table 4. Compliance Certification Core script includes
Name Description
DesiredStateUtil Utility functions for desired state, used to clone a template for Insert functionality.
CMDBRElationshipAjax Tool to get all relationships for a given table.
RelationshipQueryParseAjax Parses condition filters. This is the internal code used in generating the compliance conditions.
CertificationUtils Utility functions for certification that find Next run time value and so on.
CertTaskEscalationTimerPercentage Utility method for setting escalation timer durations.
ConditionUtilsAjax AJAX utilities for parsing queries into a human-readable format.
DeleteInactiveVersionsAjax AJAX server-side script to delete all inactive versions of a record.

Client scripts

Table 5. Compliance Certification Core client scripts
Name Table Description
Make audit type read only if not new Certification Template [cert_template] Sets the correct audit type for new records, and if the record is not new, sets the Audit type field to read only.
Update table name (filter) Audit [cert_audit] Updates the table Name field when the filter is updated.
Update table name Audit [cert_audit] Updates the table Name field when the template is updated.
Set table name on new Audit [cert_audit] Returns the table name from the template or filter.
Update table name Certification Template [cert_template] Updates the table Name field when a new filter is chosen and checks all existing conditions to see if they work for the new table.
Show conditions when table is set Certification Template [cert_template] Shows and hides conditions appropriately when the table is set.
Reset filter when audit type changes Certification Template [cert_template] Clears the filter and updates the lists shown when the audit type is changed.

Business rules

Table 6. Compliance Certification Core business rules
Name Table Description
Clone condition Certification Condition [cert_cond] Part of certification versioning. This business rule retains the original ID when a condition is changed.
Copy audit type from audit Audit Result [cert_audit_result] Ensures all audit results have the same audit type as the audit that generated them.
Copy values from template Audit [cert_audit] When a user selects a template, updates the table, filter, and audit type from the template.
Delete condition Certification Condition [cert_cond] Part of certification versioning that deletes a condition.
Prevent deletion of audit with results Audit [cert_audit] Prevents deletion of an audit containing results.
Prevent delete of Filter with Template Certification Filter [cert_filter] Prevents deletion of a filter still linked to a template or audit.
Prevent deletion of result with task Audit Result [cert_audit_result] Prevents deletion of an audit result with an attached task.
Prevent delete of Template with Audit Certification Template [cert_template] Prevents deletion of a template still being used by an audit.
Update conditions' tables Certification Template [cert_template] When storing template conditions, properly run all workflows and update the condition fields to contain the display version of the conditions.
Update filter version Certification Filter [cert_filter] Creates a new version when the filter changes in any meaningful way.
Update next run time Audit [cert_audit] Updates the time in the Next scheduled run field when an audit is modified.
Update next run time during execution Audit [cert_audit] When the audit runs, update the Next scheduled run field to the next time the audit is scheduled to run.
Update table Certification Template [cert_template] Update the stored table to the filter's table.
Update template version Certification Template [cert_template] Creates a new version when the template changes in any meaningful way.