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

Part 1: From user to developer

The first part of the extension development book. What an extension is, the tools you need, a development installation, and where to find existing extensions for ideas without breaking anyone's license.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-1-from-user-to-developer/README.md

On this page

Part 1: From user to developer

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

ChapterWhat you learn
What an extension isThe folder, the switch that turns it on, and the dozen kinds of things it can add
The ladder: user, builder, extension developer, theme developerThe four steps of the ladder and which part of this book belongs to each
The tools you needA terminal, Git, PHP, Composer, an editor, a browser with developer tools
Setting up a development installationOne command to a working site that you can break without consequences
Your first hour as a developerA guided hour: switch on debug output, read a template, change a setting, undo it
Reading the code you already haveHow the installation is laid out, and how Git tells you why a line is there
Finding the extensions installed on your siteSetup > Extensions, the About page and the command line
The se7enxweb extension catalogueThe 66 extension packages the kernel requires, what each does, where its source is
Finding ideas on GitHubSearching code, reading history, judging whether a project is alive
Finding ideas on PackagistComposer packages of the extension type, versions and dependencies
Share ExponentialThe community portal: forums, tutorials, books, channels
Exponential ProjectsThe project forge with thousands of historical extensions
eZpediaThe free community encyclopedia, its solutions and snippets
Learning from the free booksThree books about the code base, two of them under the GNU FDL
Reading licenses before you reuse anythingGPL, MIT, GFDL, "all rights reserved" and "no license"
Linking versus copyingWhen to quote, when to link, how to give credit
Evaluating an old extensionA checklist before you install or adopt something written years ago
Learning from an extension, step by stepTwo small real extensions taken apart, file by file
Debug output and logs for developersSeeing what the system does: debug output, template lists, log files
Asking the community for helpWhere 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

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