I've been asked to update a client's Joomla! template to have a new header image, but I'd ideally like a way to make the change and display it to a client in a special area, without it compromising their main website until approved.
Is there any way开发者_开发技巧 of doing this without checking out their entire website, installing it as a local development branch, checking it into another development server, and then migrating the change after approval?
I use the term "A/B Development" in the way that "A/B Testing" is used -- ultimately forking small changes to different users, except used on a micro scale (unlike normal A/B Testing, where a small variation is pushed to a wide user base, from which some sense of empirical effectiveness can be tested).
Thanks!
In your Joomla backend duplicate the template and make the changes to it. You can then set your customers user account to use the dev-template, or assign it specific menu items that are hidden (so you can just pass a link, no account and login needed) or match appropriate permissions.
Sure it can be done, but it really depends on how your template is coded. Here are the two most common I can think of -
If your header image is in a module simply create a new module with the new image. Then create a hidden menu item and assign the new header to that page.
If your header image is a background image, then you will need to use the page class suffix to make it work. You'll need to make sure that your template adds the page class suffix to the body tag. Create a hidden menu item and give it a unique page class suffix. Then it is simply a matter of adding the CSS to switch the image on the hidden page.
The correct software engineering approach is to automate your build/deployment processes so that it's trivial for you to deploy to multiple environments. Usually ANT scripts are the glue while TeamCity or Hudson are the project-container frameworks used to package your build processes.
This is all part of a concept called continuous integration, which leads you down the path of automated testing and push-button deployments.
精彩评论