Additional operations can be added by using ctools plugins, for restore there are 3 different type of plugin classes, the operation class which deals with restoring, removing, conflicts and status checking, diff checking between the current value and the value in the restore script, and the generate UI methods for the output/input required to generate a script for a specific entity or data type.

Operations and elements

Restore uses classes called "operations", these are used to manage each of the individual elements and perform the actions required. This way the restore module just needs to look through the script for the operations and details and the execute the required operation class. In the script file, under each operation is an array of operation elements. These are the variables, or fields to be restored.

Using this method allows for adding additional operations easy, and also if the operation class does not exist, restore can catch it and skip it with out getting a WSOD. Each operation and element can also be restored or uninstalled seperatly without affecting any of the other operations and elements within the script.