2.2.1releasedExport Ensemble

Export your Symphony website as an installer package.

Clone URLhttps://github.com/symphonycms/export_ensemble.git

Add as a submodulegit submodule add https://github.com/symphonycms/export_ensemble.git extensions/export_ensemble --recursive


1.2No1. Soon?


Export Ensemble

This extension exports your Symphony website. It is part of the Symphony core download package.


This extension will create an installable version of your Symphony install useful for distribution. The resultant archive contains an install directory with a install/includes/config_default.php, install/includes/install.sql and workspace/install.sql files. This is how official Symphony releases are created.

The ZIP module of PHP is utilised, and is memory efficient, allowing for larger sites to be exported without the need for increasing PHP's memory limit.

This extension adds "Save Install Files" and "Download ZIP" buttons to the preferences page.

Installation & Updating

Information about installing and updating extensions can be found in the Symphony documentation at http://getsymphony.com/learn/.


The Export Ensemble extension is able to save all tables needed to recreate the entire site, excluding sensitive author data and cache data. There are two options for creating ensembles: Save Install Files or Download ZIP. If you don't have the ZipArchive module enabled for PHP, it would still be possible to manually create an ensemble.

Symphony 2.3 introduces the install directory, and because of the complexity of the new installer, it is a requirement that a complete install directory exist to use the Export Ensemble extension. Pull the official Git repository or download the official ZIP file for the Symphony 2.3 release if you don't already have an install directory.

Save Install Files

Click on the Save Install Files on the System > Preferences page to update and overwrite the following files in your Symphony install:

  • install/includes/config_default.php
  • install/includes/install.sql
  • workspace/install.sql

By saving your install files it is possible to manually create an ensemble or manage an installable Git repository of your Symphony site. A Git workflow could involve updating and committing the install files to the repository every time there are changes to the structure or data. Or when the site is completed, the install files could be saved to prepare the site to deploy to the production server, for sharing with a development team or for open source distribution, for example. (If deploying to a server, use in combination with the Dump DB extension if you would like to include author data with your project repository, as Symphony author data will not be included in an ensemble.)

Download ZIP

Click on the Download ZIP button to export an ensemble as a ZIP archive. All tables with the table prefix specified in the configuration settings for Symphony (see the value for the sym_prefix property of the database array in manifest/config.php) will be included in the SQL dump, excluding the following tables:

Excluded Database Tables

  • sym_authors
  • tbl_cache
  • tbl_forgotpass
  • tbl_sessions

Excluded Configuration Settings

  • symphony
    • build
    • cookie_prefix
  • general
    • useragent
  • file
    • write_mode
  • directory
    • write_mode
  • database
    • host
    • port
    • user
    • password
    • db
    • sym_prefix
  • region
    • timezone
  • email
    • default_gateway
  • email_sendmail
    • from_name
    • from_address
  • email_smtp
    • from_name
    • from_address
    • host
    • port
    • secure
    • auth
    • username
    • password

Excluded Files and Directories

  • .git
  • .gitignore
  • .gitmodules
  • .htaccess
  • install-log.txt
  • manifest

Manually Create an Ensemble

To manually create an ensemble:

  1. Click on the Save Install Files button
  2. Copy the /install directory
  3. Remove all files in the Excluded Files and Directories list above
  4. Create an archive of the /install directory
  5. Share your ensemble

Note: If you are using the Members extension, be sure to delete all entries in that section before saving the install files or you may be inadvertently sharing sensitive user information with your ensemble. It's up to you whether you want to share the Git repositories, but be careful that you don't include repositories that include sensitive information. Keep in mind that the workspace and each extension may also include hidden files for managing Git repositories.

Version history

Symphony 2.6.0 to 2.6.x

  • Updated Russian translation

Symphony 2.6.0 to 2.6.x

  • Add support for the vendor folder.
  • Drop support of older Symphony version 2.5.x and less

Symphony 2.4 to 2.6.x

  • Mark Symphony 2.6+ compatibility

Symphony 2.4 to 2.5.x

  • Mark Symphony 2.5+ compatibility

Symphony 2.4 to 2.5

  • Mark Symphony 2.4+ compatibility
  • #19 Fix error when exporting from Symphony 2.4

Symphony 2.3 to 2.3.x

  • Added Finnish translation
  • Update links to getsymphony.com

Requires Symphony 2.3

  • Updated Russian language
  • Fix some PHP notices
  • Replace database prefix in the SQL comments

Requires Symphony 2.3

  • Fix bug where table prefix could not be overridden
  • Prevent the installation logs from being added to the ensemble

Requires Symphony 2.3

  • Update extension for Symphony 2.3 (breaks compatibility with previous versions of Symphony)
  • The extension now overwrites the install/includes/config_default.php and install/includes/install.sql files
  • Requires a complete install directory
  • Add a test to ensure the install directory exists (the responsibility to ensure the directory is complete is the developer's)
  • Add extension.meta.xml file

Symphony 2.2 to 2.2.x

  • Enable creation of install files if they do not already exist

Requires Symphony 2.2

  • Dump all tables with sym_prefix
  • Exclude email configuration settings
  • Save install files (for Git repositories or for manually creating ensembles)
  • ZipArchive class is no longer required for install
  • Update README with usage instructions

Requires Symphony 2.2

  • Dump the sym_sessions table structure

Requires Symphony 2.2

  • Use the current Symphony install configuration values instead of always using the defaults
  • Export Ensemble is now dynamic and uses the the current Symphony version instead of being hardcoded

Requires Symphony 2.2

  • Compatibility changes for 2.2
  • Fix markup bug

Requires Symphony 2.0.7

  • Compatibility changes for 2.0.7RC2

Requires Symphony 2.0.1

  • Added localisation files for Dutch, German, Portuguese (Brazil) and Russian

Requires Symphony 2.0.1

  • Misc code cleanup
  • Minor changes to ensure compatibility with PHP v5.3.x

Requires Symphony 2.0.1

  • Any file that matches /README.* will be added to the archive along with /README if it exists.

Requires Symphony 2.0.1

  • Fixed order in which items are added to the zip so the new workspace/install.sql file overrides any existing one

Requires Symphony 2.0.1

  • Creates separate SQL files. install.sql and workspace/install.sql

Requires Symphony 2.0.1

  • README and LICENCE are correctly added to the archives

Requires Symphony 2.0.1

Requires Symphony 2.0.1

  • Changed call to pageAlert to make easier to translate and conform with 2.0.1 guidelines

Requires Symphony 2.0

  • install() function properly checks for the ZipArchive class and returns true if found, allowing installation

Requires Symphony 2.0

  • Moved installer.tpl, found in the main S2 repository, into the /lib folder