Site packages: start here
When Exponential is installed, the new site is not built from code alone. It is built from site installer
packages: archives (.ezpkg) that carry content classes, content, settings, roles and install scripts, and that
the setup wizard, the kickstarter and exp:install read from a package server. This section explains all of it,
from the file format to publishing a package of your own.
It is written for administrators who install sites, developers who build or change site packages, hosting companies who choose what a new customer site contains, and designers who ship a site style or a whole starter site. Every setting, file and URL on these pages was checked against the code, the packages and the live package server.
Tip
Built a site package? 7x and the Exponential Foundation strongly encourage you to submit it by pull request to the repository behind the package server, so every installation can offer it: Contribute your site package.
Contents
- The section at a glance
- Where to start
- The short version
- The pages elsewhere that this section builds on
- Related pages
The section at a glance
| Part | What it answers |
|---|---|
| Site package basics | What a site installer package is, the .ezpkg file, package.xml, package types, install items, dependencies, install scripts, and how the setup wizard, the kickstarter and the console use packages |
| The package server | What the package server is, its history, its contents, the index.xml format, browsing it in a browser and on GitHub, its settings, offline installs and mirrors |
| Documentation requirements | The checklist every site package must meet: required package.xml fields, license, changelog, versions, thumbnails, dependencies and validation |
| sevenx_multisite | The default site package of Exponential 6.0.15: what it is made of, what its installer does, and what you have after installing it |
| cjw_multisite | The CJW starter site package: its parts, its installer, its languages, and how it compares with sevenx_multisite |
| Making your own site package | Forking, changing, rebuilding, versioning and publishing your own packages, on your own package server or on the shared one |
| Packages in the administration | Setup > Packages, importing and installing, the package wizard, and the package servers and fetches of ezupdate |
| Contribute your site package | Getting your package into the default distribution through a pull request |
| Glossary | The words of this section in one place |
Where to start
| You want to ... | Read |
|---|---|
| understand what the installer installs | What a site installer package is, then sevenx_multisite |
| see what is on the package server | What is on the package server and Browsing the package server in a browser |
| install without internet access | Offline installs and mirrors |
| change the default site package for your sites | Forking a site package and Changing the installer script |
| run your own package server | Running your own package server and Pointing a site at your package server |
| manage package servers in the administration | Package servers in ezupdate |
| share your package with everyone | Contribute your site package |
The short version
- A package is a folder with a
package.xmland the files it names, shipped as one gzip compressed tar file ending in.ezpkg. A site package is a package of typesite; it requires other packages (content classes, content) and can carry install scripts that set up siteaccesses, extensions, roles and preferences. - The package server is a static HTTPS site,
exponential.packages.exponential.earth, published by GitHub
Pages from se7enxweb/exponential.packages.exponential.earth.
It has one folder per Exponential release with an
index.xmland the.ezpkgfiles. - An installation finds the server through
settings/package.ini [RepositorySettings] RemotePackagesIndexURL(for 6.0.15:https://exponential.packages.exponential.earth/exponential/6.0/6.0.15). Downloaded packages are kept invar/storage/packages/<vendor>/, vendor7x. - The 6.0.15 index offers twelve site packages. The default is sevenx_multisite (7x MultiSite); cjw_multisite is the CJW starter site with an English and a German site.
- The sources of the packages are in their own GitHub repositories
(se7enxweb/sevenx-ezpackage,
se7enxweb/cjw_multisite-ezpackage and others); a build
script turns each folder into an
.ezpkg. - You can make your own versions, publish them on a server of your own and point your installations at it in INI settings or in ezupdate's package servers; or, better for everyone, contribute them to the shared server.
The pages elsewhere that this section builds on
These pages already cover parts of the subject in depth; this section links them instead of repeating them.
| Page | What it covers |
|---|---|
| Packages guide | Setup > Packages page by page: the list, a package's page, upload checks, install, uninstall, removal, permissions |
| Choosing an install method, 4.3 Site packages | Which install front end uses packages how |
| The setup wizard, The kickstarter, The console install | The three install front ends |
| The package wizard | Creating packages in the administration |
| ezpm, the package manager on the command line | ezpm.php |
| The JSON package format | The second storage format of a package |
| ezupdate | Updates, Composer packages and package servers in the administration |
| Site packages for hosts | Choosing a site package per hosting plan |
| Site packages and the themes that ship | The site packages from a website creator's view |
| What an Exponential package is and Site style package | Packages from a designer's view |
| Distribution for designers | Publishing themes and extensions |
| Update with Git | Keeping the code of an installation current |
Related pages
- Contribute your site package
- Glossary
- Hosting companies: start here
- 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.