Skip to content

Archiving Triggers

This document defines the interface that archiving trigger implementations must adhere to.

Work in Progress (WIP)

This section is still under active development. Information and specifications can still be changed in the future.

Overview

The abstract driver base class for archiving triggers is \local_archiving\driver\archivingtrigger.

Overview reduced for bravery

For bravery, the following overview diagram is reduced to the most important classes and members. Therefore, some details like methods, parameters, or members are omitted. Please refer to the plugin source code for a complete reference.

classDiagram
    direction TB

    class archivingtrigger {
        <<abstract>>
    }

    class base {
        <<abstract>>
        +ALLOWED_PLUGIN_TYPES: const string[]

        +get_frankenstyle_name() stdClass
        +get_plugin_type() string
        +get_plugin_name() string
        +is_ready()$ bool
        +is_enabled() bool
    }

    class archivingtrigger_manual {
    }

    class archivingtrigger_cron {
    }

    class archivingtrigger_state {
    }

    %% Relationships
    base  <|--  archivingtrigger
    archivingtrigger <|-- archivingtrigger_manual
    archivingtrigger <|-- archivingtrigger_cron
    archivingtrigger <|-- archivingtrigger_state

    %% style
Press "Shift" to enable Pan & Zoom

Implementation

Each archiving trigger must implement the \local_archiving\driver\archivingtrigger interface with a class, placed at the following location: /local/archiving/driver/trigger/<pluginname>/classes/archivingtrigger.php, where <pluginname> is the name of the archiving trigger (e.g., manual, cron, ...).