Exponential 6 as the base of a bundle
This page is for bundlers who build on the plain Exponential 6 package. It tells you what you get "for free" before you add your own parts, so you neither ship something twice nor miss something you thought was there.
Contents
- What the root package brings
- Read the list for your version
- Required versus suggested
- What the installers add
- What it does not bring
What the root package brings
composer.json of se7enxweb/exponential "decides which extensions arrive with composer create-project"
(The default extension distribution):
| Part | What | Source |
|---|---|---|
| The kernel | kernel/, lib/, bin/php/, design/, settings/, share/ | the repository |
| Kernel-shipped extensions | ezjscore, ezoe, ezformtoken, expservices | 3.2 A |
| Required extensions | every se7enxweb/* package under require, each its own Composer package | composer.json |
| Velocity | se7enxweb/exponential-velocity ~0.0.4.57 (through se7enxweb/exponential-php-floor, on PHP 8.0 and later) is required since 6.0.15 | Velocity engines |
| The default theme | se7enxweb/sevenx_themes_simple, required since 6.0.10 "so the default theme is always distributed" | Default extension distribution |
| The Oracle driver | se7enxweb/ezoracle, required, so it is present in every installation | Database support |
| The documentation | doc/, this help included | the repository |
Read the list for your version
The list grows from release to release. Read it from the exact version you bundle, never from memory:
grep -n '"se7enxweb/' composer.json"The first block of the output is suggest, the second require"
(The default extension distribution).
After composer install, composer show lists what was really installed, with versions.
Required versus suggested
requireis installed with the product. Leaving a required package out of your bundle means changingcomposer.json; record why (Adding and removing extensions).suggest"is only a hint printed by Composer; you install a suggested package yourself withcomposer require se7enxweb/<name>". Examples fromcomposer.json:se7enxweb/ezfind(Solr search),se7enxweb/sevenx_valkey_cache(Redis/Valkey caches),se7enxweb/ezauthorize.- The PHP extensions in
suggest(for exampleext-sqlite3,ext-pgsql,ext-mysqli,ext-gd) are the ones the databases and image handling need. Your runtime decides which of them you ship (Chapter 2.3 PHP extensions).
What the installers add
The installers build the site from a site package. The package index of 6.0.15 offers twelve site packages; the
default of exp:install --package is sevenx_multisite, with sevenx_multisite_clean as the same site without demo
content (4.3 Site packages).
A site package activates its own extensions in settings/override/site.ini.append.php. Your bundle chooses the
package; see Site packages in a bundle.
What it does not bring
| Not included | Who provides it |
|---|---|
| PHP and its extensions | the operating system or your image |
| A database server (PostgreSQL, MariaDB ...) | you or the recipient; SQLite needs none |
| A web server other than Velocity | the operating system or your image |
A composer.lock | you: the lock file "is not part of the repository" (3.2 A) |
Cron scheduling of runcronjobs.php | your image or panel (Cron jobs) |
| Backups and monitoring | your bundle or the recipient |
Related pages
- Choosing the base
- Composer-based bundles
- Chapter 3: Getting the code
- 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.