This is the first part of Extension development: the book. It is written for people who already use Exponential, as an editor, an administrator or a site owner, and who want to start changing what it can do. You do not need to know PHP yet. By the end of this part you will have a development installation of your own, you will know how to read the code that is already on your disk, and you will know where to look for the work of the hundreds of people who built extensions before you, and how to reuse it fairly.
What this part covers
| Chapter | What you learn |
|---|---|
| What an extension is | The folder, the switch that turns it on, and the dozen kinds of things it can add |
| The ladder: user, builder, extension developer, theme developer | The four steps of the ladder and which part of this book belongs to each |
| The tools you need | A terminal, Git, PHP, Composer, an editor, a browser with developer tools |
| Setting up a development installation | One command to a working site that you can break without consequences |
| Your first hour as a developer | A guided hour: switch on debug output, read a template, change a setting, undo it |
| Reading the code you already have | How the installation is laid out, and how Git tells you why a line is there |
| Finding the extensions installed on your site | Setup > Extensions, the About page and the command line |
| The se7enxweb extension catalogue | The 66 extension packages the kernel requires, what each does, where its source is |
| Finding ideas on GitHub | Searching code, reading history, judging whether a project is alive |
| Finding ideas on Packagist | Composer packages of the extension type, versions and dependencies |
| Share Exponential | The community portal: forums, tutorials, books, channels |
| Exponential Projects | The project forge with thousands of historical extensions |
| eZpedia | The free community encyclopedia, its solutions and snippets |
| Learning from the free books | Three books about the code base, two of them under the GNU FDL |
| Reading licenses before you reuse anything | GPL, MIT, GFDL, "all rights reserved" and "no license" |
| Linking versus copying | When to quote, when to link, how to give credit |
| Evaluating an old extension | A checklist before you install or adopt something written years ago |
| Learning from an extension, step by step | Two small real extensions taken apart, file by file |
| Debug output and logs for developers | Seeing what the system does: debug output, template lists, log files |
| Asking the community for help | Where to ask, how to ask so people can answer |
How to read it
Read the chapters in order the first time. Each one ends with Previous and Next links. Every command was run on an Exponential 6 installation before it was written down, and every page names the file or the page where its facts come from, so you can check them yourself.
Tip
Keep a terminal and the administration open side by side while you read. Nearly every chapter asks you to look at something on your own installation; seeing it there is what makes it stick.
After this part
- If you want to change a site without writing PHP, continue with Part 2: The builder.
- If you already change settings and templates comfortably, jump to Part 3: The extension developer.
- If you are a designer, Part 6: Theme developers is your shortcut.
Related pages
- Extension development: the book
- Next: What an extension is
- Develop with Git: grow from user to developer
- Extensions: find, install, configure, build and release
- 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.