Search

For the record, I'm not necessarily fixated on the order of the tables. I don't know if this is just me, but there seems to be a few areas where this extension has been a little broken:

  • The install template currently does not match the code being used for the Symphony installer. So the ensemble install file will have the same error as reported here.
  • Since adding preferences for the core Email Gateway API, the Export Ensemble extension has not been updated to make sure these configuration preferences do not get stored in an ensemble
  • There has been a long standing issue that the Export Ensemble extension has had a list of tables hard-coded into the extension for creating the SQL dump files, preventing the ability to include tables created by extensions

I have made some updates to the extension to address each of these issues. I am now able to create an ensemble that includes extension tables without creating my own branch of the Export Ensemble extension to include the tables required for each ensemble. It should now be possible to create an ensemble using the Members extension and the Forum extension.

In fact, I did. I need to take some time to clean out some sensitive information. But I just tested the install, and it appears to be working beautifully. Who wants a working Members ensemble?

Who wants a working Members ensemble?

Me :-)

+1, please :)

Ehh, if your generosity extends that far ... count on me as well.

Thanks for the interest, guys. I am working on the ensemble.

To make this process a little easier, I've updated the Export Ensemble extension again to be able to add the ability to choose between downloading a ZIP archive and saving/overwriting the install.php, install.sql and workspace/install.sql files. This really makes managing a git repository of an ensemble a piece of cake.

I´m having a problem when trying to export a essemble in a localhost instalation, i get a file downloaded but it is always currupted.

Any ideas?

I´m having a problem when trying to export a essemble in a localhost instalation, i get a file downloaded but it is always currupted.

Make sure the correct write permissions for manifest/tmp are in place.

That's been a common complaint. The extension should check whether the manifest/tmp directory is writable.

if (!is_writable(DOCROOT . '/manifest/tmp')) {
    Administration::instance()->Page->pageAlert(__('Check permissions for the /manifest/tmp directory.'), Alert::ERROR);
}

I modified my experimental branch to test for this.

Well it can´t be permissions to me, i´m working in localhost using WAMP2.0.

Export Ensemble 1.15

The official Export Ensemble extension was updated to version 1.15 on May 22. It pulls in my experimental changes.

I've been working with it for a while and haven't noticed any glaring problems. But if you notice any issues, please note them here, until it is possible to submit them to the official repository (it looks as though the repo is not currently accepting issues). Thanks.

@duhpc, I haven't done any testing in Windows. Are you trying to download a ZIP archive? Or are you overwriting the install files?

Known Issue

Note, I've noticed that the extension will only overwrite existing files. For now, copy the original install files from the Symphony installer or create empty files with the same file names and make sure they are writable by PHP. I'll figure out a fix to make sure that people are able to create the files if they don't already exist.

For those of us who don't have the PHP ZIP classes enabled, could this extension get a checkbox to export unzipped into one containing directory, or does that poses problems with permissions when deploying?

Pull from master, 1.15 doesn't require Zip thanks to @bauhouse

Pull Request for version 1.16

I realized after the release of 1.15 that it was not possible to save the install files if they did not already exist. Plus, the try catch blocks did not seem to be doing anything. So, I took a look at what Nils was doing with the Dump DB extension.

Now, instead of testing whether the files are writable before attempting to save the files, the extension will attempt to save each file and display an error if there is an issue. If all files save successfully, the success message will be displayed.

The README file has also been updated for version 1.16 and I have added tags for versions 1.15 and 1.16.

A pull request has been sent.

I got a really big site containing an image folder with 1600 pictures (about 750mb),
So i was expecting some memory problems :)
I get this message when creating the ensemble:
'Fatal error: Maximum execution time of 30 seconds exceeded in /home/.../extensions/export_ensemble/extension.driver.php on line 348'
'Fatal error: Maximum execution time of 30 seconds exceeded in Unknown on line 0'
Is there a way to extend the timeout?
Or is it possible to exclude the image folder while creating the ensemble? So they can be uploaded later by ftp?

Thanks

-EDIT:

@ Bauhouse:

Moving the imagefolder temporary and then creating an ensemble works!
Then i migrated the ensemble to new server and uploaded the image folder afterwards.
Next i had some memory problems running the install, forgot to really look at the error log though... So i just did the manual migrate, which did just fine.

That's a lot of data to ZIP. The ensemble will automatically iterate through all the directories contained within the workspace directory with the __addFolderToArchive method.

If you are able to temporarily move the image folder outside of the workspace directory, that might work (assuming that this is not a live site).

Otherwise, you'd probably be better off going with a manually created ensemble. Follow the directions in the README file to Manually Create an Ensemble.

A discussion started in the Language Redirect extension thread seemed more appropriate to the Export Ensemble extension thread.

@crstlx said

I have a big problem when I export an ensemble with this extension enabled. The problem is that the .htaccess file does not contain the redirect ruleset after the ensamble is installed. I use symphony-cms 2.2.1. Is there any solution for this problem or is a symphony bug?

@bauhouse replied

@crstix, I wouldn't say that your issue is something that has to do with the Language Redirect extension. That issue has more to do with the limitations of exporting an ensemble. An ensemble uses the Symphony installer to create files on the server. The .htaccess file is written to the server from the included installer template. If you have made changes to the .htaccess file, these changes will not be included in the ensemble.

Currently, the .htaccess file is assumed to be the same for every Symphony installation, except for the dynamically generated RewriteBase value.

For sites where I have made some major changes to the Symphony .htaccess file, I maintain a private Git repository to track those changes. At the moment, this or manually copying the file is the only way to preserve the .htaccess settings.

And @klaftertief asked:

How does the Export Ensemble extension handle the settings in 'config.php'? If it preserves custom settings the Language Redirect extension could look for the language setting during installation and create the '.htaccess' rules then.

@klaftertief:

The Export Ensemble extension grabs the configuration settings array from the Symphony config.php file and explicitly excludes some sensitive information from the export by removing them from the array. The remaining settings are saved to the ensemble install.php file based on the format specified by the installer template. The generated install.php file is added to the ZIP archive when the ensemble is exported. But the .htaccess file is created on install by the Symphony core.

As a possible solution if you wanted to be able to preserve the .htaccess settings when exporting, the Export Ensemble extension could have an option to include the .htaccess file, but the core installation process would then need to have a way of testing whether the .htaccess already existed and be able to dynamically replace the RewriteBase value.

So an extension that modifies the .htaccess (like Language Redirect does) should be able do recreate the changes when it's installed/activated in an Ensemble, without the need to actually have the modified .htaccess in the Ensemble.

That sounds to me like it should work.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details