Skip to the content
Documentation

Recent changes

Recent ratings Recently added Recent comments Atom feed

9596 changed pages

Wednesday November 04 2026

  1. Tests for extensions Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Tests that ship with an extension and need no database: phpunit.xml.dist and bootstrap, unit and file tests, the kernel's own suite, and the other checks before every commit.

  2. Translations in an extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Every text in every language: i18n in templates and ezpI18n::tr() in PHP, translation.ts files, TranslationExtensions, the cache, fallbacks between locales, and coverage checks.

  3. Triggers and workflows for developers Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    How operations, triggers and workflows connect: operation definitions, making more operations triggerable, running an operation from PHP, and what happens to deferred processes.

  4. Tutorials: build real extensions step by step Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Step-by-step tutorials that build real small extensions, first with the RAD wizards of Setup > RAD, then by hand, ending with a complete extension from idea to release. Every file shown was checked with php -l and run.

  5. By hand: an ezjscore server function Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Answer an ajax call: ezjscServer settings, a server function class, a script that calls it with Exp.io and writes with textContent, a policy for it, and testing the address.

  6. By hand: a cronjob part Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Add a nightly digest to mysite_hello - a CronjobPart class, the one-line script, a part of its own in cronjob.ini, running it with runcronjobs.php and scheduling it in the crontab. All PHP files passed php -l.

  7. By hand: a rich text custom tag Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    A custom tag for rich text: AvailableCustomTags, a custom attribute with an online editor control, and the ezxmltags template that renders it with $content, verified.

  8. By hand: a datatype Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Add the rating datatype by hand: the four files and two settings in build order, a check after each step, and a test plan in the class editor.

  9. By hand: a fetch function Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Give templates fetch( 'hello', 'newest', ... ): register a module folder, write function_definition.php and the collection class, and call it from a template, verified.

  10. By hand: help pages for your extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Put an extension's documentation into the admin help center: doc/ pages with front matter, shown while the extension is active (ExtensionDocDirs only for an inactive one), context help for its views, and checking with…

  11. By hand: the smallest extension in five minutes Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Three files make a complete extension - ezinfo.php, extension.xml and one settings file. Create them, check them, switch the extension on, see it in Setup > Extensions and see its setting win, then put it under Git.

  12. By hand: a module protected by a policy Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    An admin page with a form: a policy with a limitation, POST actions, input validation, a limited access check in PHP and an admin4 template, checked with php -l and the engine.

  13. By hand: a module with a view Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The page /hello/world/<name>: module.php with a policy, a view that validates its parameter and uses the fetch function, a template in the standard design, all verified.

  14. By hand: your own table with eZPersistentObject Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    A greetings table: an engine-neutral db_schema.dba, the SQL the kernel generates from it for three databases, installing it, the class, and using it from a page.

  15. By hand: a PHPUnit test for your extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Tests that run without a database: phpunit.xml.dist, a bootstrap, operator tests and a file test against inline CSS and scripts, green on the kernel's PHPUnit.

  16. By hand: a template operator Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Add two template operators to mysite_hello by hand - the plug, the registration and the class - check them with php -l, switch them on and use them, with the output the template engine produced.

  17. By hand: translating an extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Translate an extension into German: collect the texts, write the translation.ts files, register them with TranslationExtensions, clear the cache and see the German texts.

  18. By hand: a workflow event Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    A workflow event type "Log publishing" by hand: the class, the registration, the view template, a workflow and a trigger, and the log line it writes.

  19. Capstone: a complete extension from idea to release Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    All tutorials in one releasable extension: a plan, the full file tree, composer.json, README, tests, the checks before a release, version 0.1.0, publishing and announcing.

  20. With RAD: a datatype Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The Datatype wizard writes a rating datatype: form, storage and abilities, the files, what you still write, and two corrections to make by hand, from the wizard's real output.