Current Compliance Block

Current Compliance Block

What is the current compliance block

Added in totara-20.0 the current compliance block displays certification compliance grouped by organisation, and limited to the viewing users staff members. For more about the purpose and usage of the block check the product page here: https://totara.atlassian.net/wiki/spaces/PROD/pages/1252819363

Capabilities

The block uses two capabilities:

  • totara/certification:viewcompliance
    This allows users to view the blocks contents based on the content restrictions enabled on the overview report

  • totara/certification:viewallcompliance
    This allows users to view the blocks full contents with no restrictions

Reports

Two embedded have been added to certifications:

  • The overview report showing compliance grouped by organisation

    • Source: server/totara/certification/rb_sources/rb_certification_compliance_overview_embedded.php

    • Page: server/totara/certification/certification_compliance_overview.php

  • The details report showing more detailed user level information

    • Source: server/totara/certification/rb_sources/rb_certification_compliance_detail_embedded.php

    • Page: server/totara/certification/certification_compliance_detail.php

Key classes, templates and API

The block is located in server/blocks/compliance_current_report

Class / Template

Purpose

Class / Template

Purpose

block_compliance_current_report.php

This is the blocks main class where the blocks settings and defaults are defined

cache_helper

This helps keep the block performant by implementing a session based cache.

Data providers used by the block located in server/totara/certification/

Class / Template

Purpose

Class / Template

Purpose

compliance_filter_factory

A helper class to apply the entity filters

entity\filter\compliance_filter_factory

The entity filters for certification ids

data_provider\compliance

The data_provider used by graphql to fetch the relevant compliance records

usagedata\completion

Usage data to track the compliance rates of certifications

webapi\resolver\query\current_compliance

The resolver for the totara_certification_current_compliance graphql query used to fetch data for the block

webapi\schema_objects\compliance

The data/schema object for current_compliance results

Graphql APIs located in server/totara/certification/

API

Purpose

API

Purpose

Query: totara_certification_current_compliance

The query that fetches the data for the block via the data_providers

Type: totara_certification_current_compliance_result

The return type of the query

Type: totara_certification_current_compliance_node

A sub-type of the return type

Input: totara_certification_current_compliance_filter

The input for the query, allowing passthrough of the selected default filters