Native Staging Sites (Optional) In Subdomain Only
NEW: For the past several weeks, SlickStack has been testing our new Staging Site feature and it is now live on all SlickStack installations. If you use another staging service or simply don’t use staging at all and wish to disable staging sites, simply change your ss-config options to be STAGING_SITE=”false” and it will later remove the staging site from your server (along with related tables in MySQL database).
BELOW INFO IS OUTDATED… THIS PAGE WILL BE REVISED… STAGING SITES NOW SUPPORTED AS SUBDOMAINS ONLY!!! 🙂
==
This is a feature that is going to need a lot of feedback from the community so that we can establish best practices, safer deployment scripts, and make it very easy to use.
Specifically it is the /var/www/ss-sync script that syncs your production files and database to the staging site under the /staging/ subdirectory and staging_ tables in MySQL database (the same database as your production site… the staging_ prefix is hardcoded for stability reasons).
https://github.com/littlebizzy/slickstack/blob/master/ss-sync.txt
One of the big drawbacks to our ss-sync script currently is that it does not properly sync serialized data… so items like Menus or Widgets might not sync correctly. This is an ongoing known issue when working between database copies in WordPress, and it will require a complex solution that for now, we don’t have time to address.
In any case, the purpose of our staging feature is for brief and temporary testing of new features, code snippets, plugins, or themes, and not long-term web design. If your designer wants a place to design your new homepage for the next 6 months (or etc, for example) then he/she should follow best practices and maintain a separate “dev” site for that, which could be either an online web server or a local server. In the future we might end up supporting “dev” sites too (which would not sync data).
Keep in mind that SlickStack does not aim to be an all-in-one sort of solution for WordPress features. We want to be as flexible as possible, within our established best practices… this means that if you have other staging site plugins you prefer for WordPress we want to honor and respect that and support as much as possible.