This page is part of Extension development: the book. The book is long, and nobody needs all of it at once. Pick the path that matches what you want to do. Each path lists the chapters in order and says what you can do when you reach the end of each stage.
The curious user: "What can be changed, and by whom?"
- The ladder from user to developer
- What an extension is
- Building a site without code
- Finding ideas on GitHub and projects.exponential.earth
After this you can tell a setting from a template from an extension, and find extensions others wrote.
The builder: settings, templates and overrides, no PHP
- Tools you need and setting up a development installation
- How INI settings work, then Settings scopes and their order and Siteaccess settings
- Templates for builders, The design chain, Template overrides, View modes
- Fetch for builders, Template operators builders use most
- Content classes, Sections, roles and access, Workflows, Cronjobs
- When settings are not enough
After this you can shape a site's behavior and look without writing PHP, and keep your work in an extension.
The PHP developer new to Exponential
- What an extension is, Reading the code you have, Debug output and logs
- Part 2, chapters 1 to 6 of the builder path (settings, templates, the design chain)
- Part 3, the anatomy, in order
- The RAD tools tour, then the tutorials pairwise: each "With RAD" tutorial and its "By hand" twin
- Capstone: a complete extension
- Security in extensions and Content Security Policy for extensions
- Keep Part 8 open while you work
After this you can write and test an extension of any kind the kernel supports.
The designer
- The builder path, chapters 1 to 3
- Part 6, in order
- admin4 styling for extension pages if you style admin pages
- Where the designers' help continues
After this you can build, ship and maintain a theme.
The application creator
- The builder path
- Modules and views, Persistent objects and your own tables, Policy functions and access
- Ajax with ezjscore server functions and expservices for apps that talk to the site
- Content functions from PHP for imports
- The capstone tutorial
The upgrader: "I have an old extension"
- Evaluating an old extension and Reading licenses before you reuse anything
- Part 4, from the checklist on, in order
- The four case studies at the end of Part 4
- When to fork, and when not to if the extension is someone else's
The maintainer
- Part 5: forks, credit, licenses, pull requests, reviews
- Part 7: versions, tags, Packagist, changelogs, the release checklist
- The maintainer path and The maintenance life cycle
Related pages
- Previous: Extension development: the book
- Next: Part 1: From user to developer
- Book index: every topic from A to Z
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
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. Start with Partners: start here and How to apply.