Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Extension points at a glance

Every way an extension plugs into Exponential on one page, grouped as the kernel's RAD catalogue groups them, with the registration mechanism of each and the chapter that explains it.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-8-reference/extension-points-at-a-glance.md

On this page

Extension points at a glance

Part 8, reference 1. The kernel keeps a catalogue of its extension points (kernel/setup/expradcatalogue.php, expRADCatalogue::points()), and Setup > RAD (/setup/rad) is drawn from it. The full catalogue, with the code location, the registering setting, the contract and the kernel file of every point, is Extension points. This page is the short map.

How things are registered

MechanismMeaning
directorya class in a directory the kernel scans, named by a RepositoryDirectories or ExtensionDirectories setting
handlera class named by an INI setting and loaded through eZExtension::getHandlerClass()
autoloada class reached through the autoload array, registered once in an INI file
filea file in a place the kernel looks by name
designa template found through the design chain
inisettings only
registryan entry of a registry that rad.ini declares
filtera listener of a filter event in site.ini [Event] Listeners[]
overridea kernel class replaced by one of your own: the last resort

The points, by group

GroupExtension pointsBook chapters
Contentdatatype, content class, XML custom tag, XML text input and output handlers, information collection behavior, view cache clearing rules, asynchronous publishing filterDatatypes, custom tag tutorial
Templates and designtemplate operator, template fetch function, attribute operator, template function, fetch alias, design extension, template override set, icon themeTemplate operators, Fetch functions, Template functions, Part 6
Modules and viewsmodule, module over existing tables, view for an existing module, policy function and limitation, content policy limitation, REST provider, REST route filter, server-side Ajax function, registry declared in rad.iniModules and views, Policy functions, Ajax
Workflow, events and jobsworkflow event type, trigger, notification event type and handler, cronjob script and part, cronjob part left out, kernel event listener, filter event listenerWorkflow event types, Cronjob parts, Events and filters
Storage and infrastructuredatabase handler, cluster file handler, DFS backends, binary file handler, search engine, session handler, mail transport, static cache handler, image handler and aliases, Redis caches, debug bar panelHandlers named by settings
Packaging and shoppackage handlers, payment gateways, VAT, shipping, basket info and exchange rate handlersHandlers named by settings
Users, access and languageURL alias filter, mobile device filter, REST filters, user login handler, additional extension roots, extension root filter, site extension, writing settings from code, siteaccess settings extension, translation, RSS import handlerTranslations, Settings

The catalogue counts 70 extension points, 65 of them with a tool in Setup > RAD.

What is actually there

The catalogue is written by hand. What is really registered on an installation (every active extension's settings, classes and files) is listed by the Extension point survey (/setup/radsurvey), read off disk on every visit; its generated reference is The extension surface. The RAD page's health check reports settings that name classes that cannot be loaded, missing directories and similar mistakes (The RAD tools tour).

Choosing

Prefer the lightest mechanism that does the job, in roughly this order: ini, design, file, directory, handler, filter, registry, autoload, override. Extending without forking explains why.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x