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

Site packages and installers

For CMS developers, how Exponential sites are installed from packages and how a project can be shipped the same way. It covers packages and site packages, the package server, the three installers, the default…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/site-packages-and-installers.md

On this page

Site packages and installers

This page is for developers who want a site that can be installed again: on a colleague's machine, on staging, for the next customer. Exponential installs sites from packages, and a project can use the same mechanism for its own classes and starter content, so a new installation is built from files instead of clicks.

Contents

  1. Packages in one paragraph
  2. The three installers
  3. The default site package
  4. Packages in your project
  5. A site package of your own
  6. Testing
  7. What packages do not carry

Packages in one paragraph

A package is a folder with a package.xml and the files it names, shipped as one .ezpkg archive. Types include contentclass, contentobject, extension, sitestyle and site. A site package (type site) requires other packages and can carry install scripts that set up siteaccesses, extensions, roles and preferences. Installations find packages on a package server (settings/package.ini [RepositorySettings] RemotePackagesIndexURL) and keep downloaded ones in var/storage/packages/ (Site packages: start here, Package types).

The three installers

InstallerUse it for
./console exp:install --applydevelopment and scripted installs; SQLite and sevenx_multisite by default (The console install)
The kickstarter (bin/php/kickstarter.php, kickstart.ini)unattended installs driven by a settings file (Kickstarter)
The setup wizard in the browserinstalls on hosting without a shell (Setup wizard)

All three read the same packages (How the kickstarter and console use packages).

The default site package

sevenx_multisite is the default of Exponential 6.0.15. It creates the classes, demo content for two sites, the siteaccesses (public sites, languages, admin, editor), roles, and the layouts of Exponential Layouts from the theme extension's data (sevenx_multisite, What you have after installing). Studying it is the fastest way to see a complete, production-style setup. Start a project from it, remove what you do not need, and reuse its classes where they fit (The sevenx classes).

Packages in your project

Even without a site package, put the database-side parts of your project into packages in your repository:

PartPackageHow
Your classescontentclassSetup > Packages > Create new package > content class export, or ezpm.php
Starter content (folders, a front page, demo items)contentobjectcontent object export
Your extension, for othersextensionextension export, or Composer (Packages (.ezpkg))

ezpm.php builds packages from a shell, so the same command runs for every release (Creating packages with ezpm); the wizard is described in The package wizard.

A site package of your own

A site package of your own pays off when you install the same kind of site many times (an agency's starter, a franchise, training labs) or must rebuild an installation exactly. The path: fork an existing site package, change its classes, content and installer script, rebuild the archives, version them, publish them on a package server, and point installations at it (Making your own site package). The documentation requirements a published package must meet are in The requirements checklist, and a package useful to others can be contributed to the shared server (Contribute your site package).

Testing

Test a package where nothing can be lost: a separate checkout with its own SQLite database, a dry run, a full install, a look at the result, then remove the sandbox (Testing in a sandbox). Never run an installer against a database that holds anything you care about; the console install empties the database it is given.

What packages do not carry

  • Layouts. Layouts and their rules travel with exp:layouts export and import, or in a theme extension's data files (Layouts for CMS developers, Layouts data and share DBA).
  • Machine settings. settings/override/ is written per machine.
  • Your code. Extensions come from Composer or Git, not from content packages.

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