-
☆ A M B ☆
- 24,524 Posts
Well, you did ask...
I develop on localhost, and migrate each new or edited feature by hand. I have also created a subdirectory installation on the client's host for development, in the case where the client wants to get more involved with development. But then I still do almost all of my coding with TextWrangler.
My experience has been with smaller clients who don't have overly complex sites. I load MODx, created a temporary template to contain only their home page. I apply the template to a resource which is then set to be the index page and hide it from the menus. In the meantime, if there are any changes to their home page while I am developing the new site, I make them first in the index.html page with TextWrangler or dreamweaver and then copy and paste that code into the MODx template. During this phase there are essentially two home pages— an index.php version that MODx loads when a user navigate to the root of the domain, and an index.html version that is accessed by any pages in the old site that direct to a index.html file.
From there, I just start building the site and populating with resources. While I am developing I'll insert a Robots No Index in the head.
To do everything manually its not possible for us.
I give you a small/medium... example.
Client has 25 templates, 3 cronjobs with auto data from some API's, 1823 users, 12 contexts and thousands of resources.
Now we have to face with a redesign or an update of some API.
What is the best way to do this and not let the client or visitors know we are editing stuff.
It has to be with git i suppose.
-
☆ A M B ☆
- 894 Posts
wiegers for versioning I use
versionx as for your situation I think it would be best to copy the whole site and make a git branch and work on that then merge back into the master branch when done.
Seems like the only way possible without affecting the site, let us know what you end up doing.
Good Luck.
@benmarte I think git is the best way to do so but i struggle with some issues.
1. Database
The client has to edit there resources while we develop on the dev version. If we import the database for the snippets, templates, plugins, etc. the content from the client has to be not affected and the resource we make has to be imported.
2. Files from the client
All the images the client uploads in the meanwhile must not overwritten by the sync.
3. Config files with the paths. (could be in the gitignore so thats not an issue anymore)