CMS developers: start here
This section of the help is for developers who build websites and content applications on Exponential: agency and in-house developers, freelancers, and developers who arrive from WordPress, Drupal, TYPO3, eZ Platform or Ibexa and need to be productive fast. It explains the content model, site building, delivery and project work from the developer's side, and links into the extension development book and the designers' help where those go deeper.
Every fact on these pages was checked against the code, the settings or the existing documentation of Exponential 6. When the software changes, the pages change with it: every page has Edit on GitHub.
Contents
- What you find here
- Your first day
- The pages of this section
- The rules every project keeps
- Pages from other audiences you will use
- Finding these pages again
What you find here
| Kind of page | What it gives you |
|---|---|
| Orientation | what Exponential is, reading paths, and comparisons for developers coming from other systems |
| Explanations | the content model, templates, view modes, caching, siteaccesses, layouts, APIs |
| Tasks | designing a content model, creating a class, writing templates, importing, deploying |
| Checklists | content model review, security, project launch |
| Reference | an FAQ and a glossary |
Your first day
- The overview (20 minutes): Exponential for CMS developers.
- If you know another CMS (20 minutes): the page for it under Comparisons.
- An installation of your own (40 minutes): Development environment.
- The model (45 minutes): The content model and Objects, nodes and locations.
- The presentation (45 minutes): Templates and overrides for CMS developers.
- Caches (20 minutes): Caching for CMS developers.
Then follow a path in Reading paths for CMS developers.
The pages of this section
Getting oriented
Comparisons
The content model
- The content model, Objects, nodes and locations
- Content classes and attributes, Choosing datatypes
- Designing a content model, Creating a content class
- Relations and embeds, Rich text, Images and image aliases
- Versions, drafts and publishing, Translations and languages
- Sections, roles and policies, Users and registration
- Choosing a ready-made content class, Fixed IDs and numeric codes
Building the site
- Siteaccesses and multisite, URL aliases and routing
- Templates and overrides for CMS developers, View modes
- Fetching content in templates, Layouts for CMS developers
- Search, Forms and information collection, The built-in shop
- Workflows and triggers, Cronjobs
- Settings and INI for CMS developers, Extensions you will write
Content and delivery
- Content from PHP, Importing content
- The REST API, Headless delivery
- Caching for CMS developers, Performance
Project work
- Development environment, Deploying a site, Site packages and installers
- Security checklist, Accessibility, SEO basics
- Project launch checklist, Content model review checklist
- CMS developer FAQ, Glossary for CMS developers
The rules every project keeps
- Never edit shipped files. The kernel,
design/standardandsettings/*.iniare replaced on update; your work lives in your extensions and in override settings (Extensions you will write). - Model first. Classes and the tree decide templates, permissions and URLs; review the model before building (Content model review checklist).
- Change content through the kernel. Fetch functions in templates, the kernel API in PHP; never SQL on content tables (Content from PHP).
- Know your caches. Clear the cache that follows a change, after the server runs the new code (Caching for CMS developers).
- Keep templates clean and safe. Wash output; no inline CSS or JavaScript; CSS from stylesheets with tokens (Templates and overrides for CMS developers).
- No real people in tests. Test accounts and mail use
example.invalid; no copies of live personal data on development machines. - Use the right names. The product is Exponential; 7x is the company that leads it; the Exponential Foundation is the nonprofit (Who is 7x?).
Pages from other audiences you will use
| Page | Why a CMS developer reads it |
|---|---|
| Extension development: the book | modules, operators, datatypes, workflows and releasing, in depth |
| Reading paths through the book | the builder path and the PHP developer path |
| Setting up a development installation | the detailed version of your first install |
| Designers: start here | how your designers work: themes, tokens, dark mode, accessibility |
| Designers' template pages | every template topic with examples |
| The template language and Template operators | the language reference |
| The layouts editor and Two ways to build | what editors do with Layouts, and how code and the editor meet |
| Site packages | the installers and packages in depth |
| Developers course | the same ground as a course with exercises |
| Guides | step-by-step guides for administrators: caches, workflows, languages, REST |
| Features of 6.0 | what each feature of the 6.0 line does |
| The installation guide | installing, upgrading and migrating |
| Application creators: start here | applications on Exponential beyond websites |
Finding these pages again
- In the Help center, use the audience filter CMS Developers or the category of this section, or open All
pages and the folder
cms-developers. - Every page has Edit on GitHub: if a step changed or a fact is wrong, fix it for every developer after you.
Related pages
- Reading paths for CMS developers
- CMS developer FAQ
- Who is 7x? and Who is the Exponential Foundation?
- 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.