Abstract interface for a class which may be used to filter the results displayed in a nested tree

Interface providing the public API for file converters, so that FileConverterManager can find and use suitable converters.

Helps build and parse Filename Identifiers (ake: FileIDs) according to a predefined format.

Represents a strategy for resolving files on a Flysystem Adapter.

An adapter which does not publicly expose protected files

Represents an AbstractAdapter which exposes its assets via public urls


Represents a container for a specific asset.

Provides a mechanism for suggesting filename alterations to a file

Represents an abstract asset persistence layer. Acts as a backend to files.

Represents a store usable with ProtectedFileController to serve up non-direct file requests

Utility for computing and comparing unique file hash. All $fs parameters can either be:

  • an AssetStore constant VISIBILITY constant or
  • an actual Filesystem object.

Interface to define a handler for persistent generated files

An object which may have a thumbnail url

This interface lets us set up objects that will tell us what the current page is.

This represents a collection of config keys and values.

The Cookie_Backend interface for use with Cookie::$inst.

Indicator for a class which cannot handle requests directly, but is able to generate a delegate for those requests.

A bypass for manual confirmation by user (depending on some runtime conditions)

A rule for checking whether we need to protect a Request

Interface that is implemented by controllers that are designed to hand control over to another controller.

Identifies a class as a root silverstripe application

Defines a service that can flush its cache for a list of members

Provides an interface for classes to implement their own flushing functionality whenever flush=1 is requested.

An AfterCallAspect is run after a method is executed

A BeforeCallAspect is run before a method is executed.

A factory which is used for creating service instances.

Used to locate configuration for a particular named service.

Represents the core state of a SilverStripe application Based loosely on symfony/http-kernel's KernelInterface component

Generate URLs for client-side assets and perform any preparation of those assets needed.

Represents a class with a local cache which normally invalidates itself between requests.

Public interface for startup flush discoverers

By implementing this interface a /dev/cron will be able to start in on the expression that you return frmo getSchedule();

Interface for database helper classes.

Helper for resetting, booting, or cleaning up test state.

Classes that implement TestOnly are only to be used during testing

Interface for environment checks

Provides an interface for checking that a link is valid

A service which can generate a form

Base interface for all components that can be added to GridField.

Defines a class that can create a key for a gridfield and apply its state to a request, and consume state from the request

GridField action menu item interface, this provides data so the action will be included if there is a {GridField_ActionMenu}

Allows GridField_ActionMenuItem to act as a link

An action is defined by two things: an action name, and zero or more named arguments.

Add a new column to the table display body, or modify existing columns.

Can modify the data list.

A GridField manipulator that provides HTML for the header/footer rows, or f or before/after the template.

A component which is used to handle when a GridField is saved into a record.

A GridField component that provides state, notably default state.

Sometimes an action isn't enough: you need to provide additional support URLs for the GridField.

Declares a service which can generate a script URL for a given HTMLEditor config

Added to form fields whose values are the ID of a has_one relation This is used in RequiredFields validation to check if the value is set

Declares that a form field has the ability to accept and render Tips.

An AuthenticatorInterface is responsible for authenticating against a SilverStripe CMS Member from the given request data.

Represents middleware for evaluating a graphql query

Implementations of query persistence must use this interface. At a minimum, they must be able to fetch a query given an ID.

Implementations of query persistence must use this interface. At a minimum, they must be able to fetch a query given an ID.

Query handlers are responsible for applying a query as a string to a Schema object and returning a result.

Defines the interface used by all read filters for operations

Filters for queries are registered as services and retrieved by identifiers.

A special type of filter that accepts list values

Defines a model that provides required fields for all the types it creates

Applies an array of config to a class

A class that can store a generic array of context

For models that can provide a default set of fields

A class that is capable of expressing itself in generated code

For models that provide extra types to the schema

A plugin that applies to a Field abstraction

Used by any class that declares an identifier

Implementors of this interface provide input types back to the schema

Implementors of this interface can prevent a given set of fields from being added

A plugin that applies only to mutations created by models

Applies to an operation that was crated by a model

A plugin that applies only to queries generated by models

A plugin that only applies to types generated by models

A plugin that applies to a generic mutation

Implementors of this interface can create queries and mutations dynamically

Implementors of this interface provide a lookup for operations by identifiers

Base plugin interface. There is a lot of "duck programming" happening in this API that will go away once we have better type variance in PHP 7.4: https://wiki.php.net/rfc/covariant-returns-and-contravariant-parameters

Validates that a given plugin is acceptable for the implementing class

A plugin that is used for a generic query

Implementors of this class can create a model for a given classname, e.g. Blog -> DataObjectModel

Implementors of this interface can be models that generate types and operations

Given a name, create a SchemaStorageInterface implementation

Persists a graphql-php Schema object, and retrieves it

Implementors of this interface can make a one-time, context-free update to the schema, e.g. adding a shared Enum type

Implementors of this class that can validate that they are ready to be encoded into the schema

Any class that can represent its state as a string. Kind of like serialize, but doesn't need to support unserialization

A plugin that applies to a generic Type

Defines a service that can obfuscate classnames to make their files less discoverable in IDE Search

Core error handler for a SilverStripe application

Represents the base requirements for implementing an MFA Method's RegisterHandler, which has the responsibility of initiating and managing registration of the MFA Method in question against the current Member.

Define how MFA Methods will initiate and check verification attempts.

Defines an Authentication Method, which serves as an additional factor for authentication beyond the standard username / password method.

A service class implementation for generating and hashing backup codes.

A generic encryption service implementation, responsible for encrypting and decrypting strings.

Used to provide details about an available \SilverStripe\MFA\Method\MethodInterface instance, for example when being used in the multi-factor application schema.

Used to provide details about a registered \SilverStripe\MFA\Method\MethodInterface instance, for example when being used in the multi-factor application schema.

Represents a place for temporarily storing state related to a login or registration attempt.

Interface to provide enough information about a record to make it previewable through the CMS. It uses the record database ID, its "frontend" and "backend" links to link up the edit form with its preview.

Represents an object that is capable of controlling transactions.

DataObjectInterface is an interface that other data systems in your application can implement in order to behave in a manner similar to DataObject.

Allows middleware to modily finalised dataquery on a per-instance basis

Classes that implement the DBIndexable interface will provide options to set various index types and index contents, which will be processed by \SilverStripe\ORM\DataObjectSchema

Additional interface for SS_List classes that are filterable.

Anything that implements HiddenClass won't be shown in user-interface elements. For example, DataObjects that implement HiddenClass won't be showing in the "new page" dropdown.

Additional interface for SS_List classes that are limitable - able to have a subset of the list extracted.

Represents a where condition that is dynamically generated. Maybe be stored within a list of conditions, altered, and be allowed to affect the result of the parent sql query during future execution.

Represents a SQL expression which may have field values assigned (UPDATE/INSERT Expressions)

Abstract representation of a DB relation field, either saved or in memory

An interface that a class can implement to be treated as a list container.

Additional interface for SS_List classes that are sortable.

Interface UniqueKeyInterface

An AuthenticationHandler is responsible for providing an identity (in the form of a Member object) for a given HTTPRequest.

Abstract base class for an authentication method

Allows objects to enforce permissions for the "root" level, where permissions can not be tied to a particular database record.

Represents an authentication handler that can have identities logged into & out of it.

Calculates edit / view / delete permissions for one or more objects

Used to let classes provide new permission codes.

A service class responsible for activating and checking the current status of elevated permission levels via "sudo mode". This is done by checking a timestamp value in the provided session.

SpamProtector base interface.

Describes an object that may wish to trigger updates in other objects as a result of it's own update.

Represents a field container which can iteratively process nested fields, converting it into a fieldset

A provider of a view for the archive admin

Interface RecursiveStagesInterface

Minimum level extra fields required by extensions that are versonable

Abstract interface for an embeddable resource

A FilterInterface is given an input string and returns a filtered string. Replacements will be provided and performed (typically in regex format), and transliteration may be used as a separate service to replace characters rather than remove them.

Abstract interface for a class which handles shortcodes

Interface that is implemented by any classes that want to expose a method that can be called in any scope in a template.

Interface that is implemented by any classes that want to expose a method that can be called in any scope in a template that returns values dependent on the state of the iterator of the current scope.

This interface needs to be implemented by any template parser that is used in SSViewer

Contains references to any number of themes or theme directories

Locales data source

Provides localisation of messages

Message reader. Inverse of Writer

Allows serialization of entity definitions collected through i18nTextCollector into a persistent format, usually on the filesystem.

Dynamically provide translatable entities for the i18n logic.

Interface UserContextInterface used for jobs which need to specify which member to log in when running the jobs

Interface definition for a queued job

Runs tasks on a queue