Skip to the content
Documentation
Manuals

Learning from the free books

Three books about the code base, kept on GitHub by se7enxweb, two under the GNU FDL: what each covers, how to read them against Exponential 6, and how to reuse them.

  • Topic type: Concept
  • For: Visitors Developers Designers Application creators
  • doc.help.extension-development.part-1-from-user-to-developer.learning-f-9255fe7a
  • Last changed
  • JSON
On this page

Part 1, chapter 14. Several books were written about the code base Exponential continues, when it was still called eZ Publish. Three of them are kept in repositories of the se7enxweb organization. They teach the concepts that have not changed (content classes and objects, the node tree, templates, overrides, siteaccesses, extensions) in the long, patient form only a book allows.

The three books

RepositoryWhat it isLicense (as stated in the repository)
Book-Learning-eZPublish"Learning eZ Publish", described as the first book published about the system. A PDF and its sourcesGNU Free Documentation License 1.3 (LICENSE.md, COPYRIGHT.md, AUTHORS.md in the repository)
Book-Building-An-eZPublish-Site"Building a eZ Publish Site", building a complete site step by step. SourcesGNU Free Documentation License 1.3 (LICENSE.md, COPYRIGHT.md, AUTHORS.md)
Book-eZPublish-Basics-GuideBook"eZ Publish Basics (Guide)", a mini book. A PDFThe repository description says it was released under the GNU FDL, but the repository holds no license file. Link to it; do not copy from it.

The Share Exponential portal also links a books page from its Learn menu (Share Exponential).

Reading them against Exponential 6

The books describe older releases. Read them for concepts and keep this table at hand:

In the booksIn Exponential 6In this book
Installing from a tarball and a web wizardcomposer, Git clones, exp:install, the kickstarter or the setup wizardSetting up a development installation
Editing settings/override/site.ini.append.php by handStill possible; ./console exp:ini does it with a backup and a diffChanging settings with exp:ini
The design/ folders, the override systemUnchanged in principle; more designs (admin4, admin4l)Part 2
Extensions with include_once() of kernel filesAutoloadingAutoloads and class naming
PHP 4 and PHP 5 examplesPHP 8.0 to 8.5 (PHP 7.4 usable without support)Part 4
JavaScript in templatesScript files only, under a Content Security PolicyContent Security Policy for extension authors

The chapters of the Learning book, rewritten for Exponential 6, are in Learning Exponential, and the tutorial Building a site is in Building a site step by step.

Reusing their text

The two books under the GNU FDL 1.3 may be quoted, translated and adapted, under the same license, with credit. The same license covers this help, so a passage of those books can become part of a help page if you:

  1. keep the GNU FDL 1.3 notice (this help's notice already is one),
  2. name the book and link its repository,
  3. say what you changed (for example "updated for Exponential 6"),
  4. keep the authors' copyright lines; AUTHORS.md and COPYRIGHT.md in each repository name them.

The details of what the GNU FDL asks are on gnu.org and in this help's Free documentation page. When in doubt, link instead; see Linking versus copying.

Bringing a book up to date

A book under a free documentation license can be improved by anyone. If you find a chapter whose example no longer works, a pull request to the book's repository with the Exponential 6 version is a welcome contribution, and a fine first pull request for a new contributor (see Contributing back with pull requests).

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.

Was this helpful?

Only your answer is kept, not who you are.

Something wrong on this page? Report an error