WordPress Multiple Developer Setup

Is there a good option for having more than one person developing a WordPress application with a testing site.

The biggest hurdle that I have encountered are path issues when developing locally and integrating to a testing environment.

Read More

Does anyone have a good process for maintaining developer environment(s), keeping working content and links, and the code is maintained in source control?

To clarify, I would like to develop locally, and have a testing environment, and avoid path issues. I am open to other solutions, or ideas.

Related posts

Leave a Reply

3 comments

  1. It comes down to three main concepts

    1. Development environment should be as close to production as possible.
    2. Use Source Control!
    3. Automated Deployment Scripts Take out as much human error when deploying.

    The development enviornment/process I prefer looks like this.

    1. Dev/Local
      • SVN To Check Out Code Locally
      • Virtual Box running Ubuntu as a Solution for LAMP Environment or XAMPP
      • Deploy Scripts (Script Automation e.g. NAnt/Ant) For Staging / QA
      • Module Development
      • Theme Development
      • Etc
    2. QA
      • Initial Content Setup / QA
      • After Initial Development Staging is Used Less
    3. Production
      • Live Content Entry
      • Blogging Etc

    As for path issues after initial content development path issues become less relevant, as most content is performed live. If a backup of production is used to create a dev site, SQL scripts and manually changes can be used as necessary. Also switching to using a Virtual Box solution helps ensure everything is in root. But the answer by FractalizeR does help.

  2. May be I don’t get the problem in a whole, but what is the problem of putting the whole source code of WordPress into version control, check it out to a single test server for tests?

    If you have problems with site names, force your developers to check out to their machines and store it under http://www.yourwpdomain.local (mind the .local part). They can use DNS or simple hosts file to resolve .local domain address into 127.0.0.1. Apache setup is pretty straightforward.

  3. The rule is Separation of Concerns. You should not place your compiled components like DLLs, EXEs, or data of a system in source control. WordPress is included in this context for two reasons: 1. the site is stored in the database. 2. The database and the site had better be on a nightly backup schedule. Would you ever need to restore the db or WP from Git? Heck no! Additionally, any WP customization should be placed in child themes, that will be included in source control. The parent theme? NO WAY! Never customize the parent theme in WP. If you are making changes to your base WordPress site andor parent theme, then you are at risk of losing your customization when WordPress or the theme is updated.