Export Ensemble
This is an open discussion with 59 replies, filed under Extensions.
Search
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 generatedRewriteBase
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.
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:
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?