{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":47010,"path":"servicenow-platform/configuration-management-database-cmdb/r_InstalledWithCompliance.md","title":"Installed with Compliance","bundle":null,"doc_type":null,"release":"australia","body":"\n# Installed with Compliance\n\nThese components are installed with the Certification Core plugin.\n\nDemo data is included with the Desired State and Architecture Compliance plugins.\n\nThe Certification Core plugin adds or modifies these tables.\n\n<table id=\"table_dms_wcr_3q\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nContains all the data required to run an audit, including the users assigned to follow-on tasks and the run schedule.\n\n</td></tr><tr><td>\n\nAudit Result \\[cert\\_audit\\_result\\]\n\n</td><td>\n\nContains the results of specific, certification audits.\n\n</td></tr><tr><td>\n\nFollow On Task \\[cert\\_follow\\_on\\_task\\]\n\n</td><td>\n\nContains the tasks that were generated from an audit discrepancy.\n\n</td></tr><tr><td>\n\nCertification Template \\[cert\\_template\\]\n\n</td><td>\n\nContains 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.\n\n Contains the records to certify, the expected attributes, and the expected relationship values.\n\n</td></tr><tr><td>\n\nCertification Condition \\[cert\\_cond\\]\n\n</td><td>\n\nBase table that defines the desired attribute or relationship conditions used in templates.\n\n</td></tr><tr><td>\n\nCertification Attribute Condition \\[cert\\_attr\\_cond\\]\n\n</td><td>\n\nContains the conditions that define the desired CI attribute values. This table extends the Certification Condition \\[cert\\_cond\\] base table.\n\n</td></tr><tr><td>\n\nCertification CI Relationship Condition \\[cert\\_ci\\_rel\\_cond\\]\n\n</td><td>\n\nContains the CI to CI relationship conditions. This table extends the Certification Condition \\[cert\\_cond\\] base table.\n\n</td></tr><tr><td>\n\nCertification User Relationship Condition \\[cert\\_user\\_rel\\_cond\\]\n\n</td><td>\n\nContains the CI to user relationship conditions. This table extends the Certification Condition \\[cert\\_cond\\] base table.\n\n</td></tr><tr><td>\n\nCertification Group Relationship Condition \\[cert\\_group\\_rel\\_cond\\]\n\n</td><td>\n\nContains the CI to group relationship conditions. This table extends the Certification Condition \\[cert\\_cond\\] base table.\n\n</td></tr><tr><td>\n\nCertification Related List Condition \\[cert\\_related\\_list\\_cond\\]\n\n</td><td>\n\nContains the related list conditions. This table extends the Certification Condition \\[cert\\_cond\\] base table.\n\n</td></tr><tr><td>\n\nCertification Filter \\[cert\\_filter\\]\n\n</td><td>\n\nContains a certification filter, including the table that contains the records to audit and the filter conditions.\n\n</td></tr></tbody>\n</table>## User roles\n\nThe certification role is automatically assigned to all users with the itil role when the [Certification Core plugin](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/configuration-management-database-cmdb/c_ActivatingCompliance.md) 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.\n\n**Note:** When a manager has only the certification role and no other role, the manager is considered a Requester and is not counted as a subscribed user \\(Fulfiller\\).\n\n|Name|Contains roles|Description|\n|----|--------------|-----------|\n|certification|none|Can read and update certification tasks to resolve discrepancies.|\n|certification\\_filter\\_admin|none|Can create, read, and update certification filters.|\n|certification\\_admin|certification, certification\\_filter\\_admin|Can manage the entire certification process. These users can create, edit, and delete all certification records.|\n\n## UI policies\n\n<table id=\"table_x3w_hfr_3q\"><thead><tr><th>\n\nName\n\n</th><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nMake table read only\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nSets the table field derived from the selected filter to read-only.\n\n</td></tr><tr><td>\n\nHide Audit Type\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nHides the Audit type field.\n\n</td></tr><tr><td>\n\nHide next scheduled run\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nHides the Next scheduled run date when an audit is inactive or on-demand.\n\n</td></tr><tr><td>\n\nShow task fields when create tasks is set to true\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nDisplays all fields related to creating tasks when the user selects the Create tasks check box.\n\n</td></tr><tr><td>\n\nMake name mandatory\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nMakes Name a mandatory field.\n\n</td></tr><tr><td>\n\nPrevent editing of Last run date\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nMakes Last run date field read-only.\n\n</td></tr><tr><td>\n\nShow User field\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nShows 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.\n-   Specific User\n\n</td></tr><tr><td>\n\nShow Assign to fields\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nShows or hides fields based on the Assignment type selected. The system shows the Assign to field when the assignment type is User Field.\n\n</td></tr><tr><td>\n\nShow Assignment Fields\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nShows 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\n-   Group Field\n\n</td></tr><tr><td>\n\nShow Group field\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nShows 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\n-   Group Field if the Assign to empty option is Create Assigned Task.\n\n</td></tr><tr><td>\n\nHide \"run\" associated fields when active is set to false\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nHides these scheduling fields when the audit is inactive:-   Run\n-   Day\n-   Time\n-   Last scheduled run\n\n</td></tr><tr><td>\n\nShow script window on Scripted Audit\n\n</td><td>\n\nAudit \\[cert\\_audit\\]\n\n</td><td>\n\nDisplays the Run this script field when the audit type is Scripted.\n\n</td></tr><tr><td>\n\nMake table read only\n\n</td><td>\n\nCertification Condition \\[cert\\_cond\\]\n\n</td><td>\n\nSets the table field derived from the selected filter to read-only.\n\n</td></tr></tbody>\n</table>## Script includes\n\n|Name|Description|\n|----|-----------|\n|DesiredStateUtil|Utility functions for desired state, used to clone a template for Insert functionality.|\n|CMDBRElationshipAjax|Tool to get all relationships for a given table.|\n|RelationshipQueryParseAjax|Parses condition filters. This script include is the internal code used in generating the compliance conditions.|\n|CertificationUtils|Utility functions for certification that find Next run time value, and so on.|\n|CertTaskEscalationTimerPercentage|Utility method for setting escalation timer durations.|\n|ConditionUtilsAjax|AJAX utilities for parsing queries into a human-readable format.|\n|DeleteInactiveVersionsAjax|AJAX server-side script to delete all inactive versions of a record.|\n\n## Client scripts\n\n|Name|Table|Description|\n|----|-----|-----------|\n|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.|\n|Update table name \\(filter\\)|Audit \\[cert\\_audit\\]|Updates the table Name field when the filter is updated.|\n|Update table name|Audit \\[cert\\_audit\\]|Updates the table Name field when the template is updated.|\n|Set table name on new|Audit \\[cert\\_audit\\]|Returns the table name from the template or filter.|\n|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.|\n|Show conditions when table is set|Certification Template \\[cert\\_template\\]|Shows and hides conditions appropriately when the table is set.|\n|Reset filter when audit type changes|Certification Template \\[cert\\_template\\]|Clears the filter and updates the lists shown when the audit type is changed.|\n\n## Business rules\n\n|Name|Table|Description|\n|----|-----|-----------|\n|Clone condition|Certification Condition \\[cert\\_cond\\]|Part of certification versioning. This business rule retains the original ID when a condition is changed.|\n|Copy audit type from audit|Audit Result \\[cert\\_audit\\_result\\]|Ensures that all audit results have the same audit type as the audit that generated them.|\n|Copy values from template|Audit \\[cert\\_audit\\]|When a user selects a template, and updates the table, filter, and audit type from the template.|\n|Delete condition|Certification Condition \\[cert\\_cond\\]|Part of certification versioning that deletes a condition.|\n|Prevent deletion of audit with results|Audit \\[cert\\_audit\\]|Prevents deletion of an audit containing results.|\n|Prevent delete of Filter with Template|Certification Filter \\[cert\\_filter\\]|Prevents deletion of a filter still linked to a template or audit.|\n|Prevent deletion of result with task|Audit Result \\[cert\\_audit\\_result\\]|Prevents deletion of an audit result with an attached task.|\n|Prevent delete of Template with Audit|Certification Template \\[cert\\_template\\]|Prevents deletion of a template still being used by an audit.|\n|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.|\n|Update filter version|Certification Filter \\[cert\\_filter\\]|Creates a version when the filter changes in any meaningful way.|\n|Update next run time|Audit \\[cert\\_audit\\]|Updates the time in the Next scheduled run field when an audit is modified.|\n|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.|\n|Update table|Certification Template \\[cert\\_template\\]|Update the stored table to the table of the filter.|\n|Update template version|Certification Template \\[cert\\_template\\]|Creates a version when the template changes in any meaningful way.|\n\n"}}