Question

I've developed WP sites and themes before, but mostly independently, and mostly live via FTP.

This seems to be frowned upon, and it also seems like a stupid way to continue if I want to start with preprocessors, which look amazingly useful and fun.

So local development makes sense, with MAMP for the WordPress requirements, and something like codekit because I am no terminal ninja. But I'm also going to working within a team -- so, test server that everyone can access?

I used Logmein to get into someone else's system years ago, but I can't imagine that's standard practice.

This seems like a basic thing, and I'm sure there's knowledge that I'm missing, but how do people set something like this up? What are best practices for team projects?

Was it helpful?

Solution

Working with WP is tough on a team. I can explain what I typically do when working within a team:

Git
USE IT!! This is especially when two or more people are working on the same project. Once you start using it, you will use it even when it is just you working on a project.

A team I freelance with uses Bitbucket as it provides free private repos, and a program called Sourcetree (made by the Bitbucket team), which is a decent git GUI. The GitHub app is pretty decent as well, however Sourcetree has a few more options.

Wordpress Workflow
Each team member works locally using MAMP, because using CodeKit or Grunt and LiveReload just makes the world a better place, and load repsonse times are way shorter.

Just the WP theme folder that is being developed is pushed with git to the repo.

We include a sql export folder (named 'db') within the theme folder, typically structured like this:

THEME FOLDER
|-(theme files and folders)
|
|-db
|-/-local
|-|-/-team_member_name_1
|-|-|-/-(local sql exports)
|-|-/-team_member_name_2
|-|-|-/-(local sql exports)
|-|-dev
|-|-/-(sql exports from development site)
|-|-production
|-|-/-(sql exports from production site)

The local folder has a folder for each team member to put their exports in. These can then be merged as needed for the dev site. (Note: The db folder is never put on the production server-it's just used to pass sql exports back and forth with git)

It seems like no matter what, importing and exporting sql databases are the only hurdle in a streamlined workflow. We just try to keep doing it to a minimum.

So our basic flow of a project is:

  1. Setup and install a WP dev site (www.devcompanyurl.com/wpdevsite)and database
  2. Setup and copy of the site locally using MAMP
  3. Connect theme files to CodeKit/Grunt
  4. Establish project repo, use git to push a master set of theme files that the rest of the team will download and work from.

Then it's just a matter of pushing, pulling, and merging files, and doing the occasional .sql import.

Hope this helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top