After an interesting discussion on twitter with @curtismchale, @ericmann, @mikeschenkel, and @rarst I have decided its time to have another look at “local development”.
The basics so far have been the following downloads:
Tortoise SVN and Git are for the version control aspects of this project; WampServer (since I am testing on a Windows PC) is for the “local” environment; and PhpStorm is a recently discovered IDE that ties all of these together.
The next step was choosing a plugin and theme as well as setting up WordPress, my preferred CMS for development. I chose to go with the Nightly Builds version of WordPress, keeping it up to date via the core subversion access.
The plugin and theme are respectively ‘BNS Theme Add-Ins’ and ‘NoNa’. The first, a new WordPress plugin I recently released; and the second, one of my WordPress Themes due to be updated. To test the version control aspects these are now being maintained via github.
Although it has been a bit of a stumbling, grumbling affair I am finding the mix of these tools to have some interesting potential. I have been doing most of my current development work on “live” test servers (all I need is access to the Internet) and have always found everything goes quite well.
Transferring an existing project into the new process goes along these lines:
- Download existing project via FTP into the local environment folder.
- Share the new plugin/theme with GitHub.
- Develop and test in local environment.
- Deploy to a test server for online testing.
- Commit/push changes to GitHub.
- Repeat steps 3 through 5 as needed.
- Release to the appropriate WordPress repository.
Starting a new project would work in a similar fashion … maybe.
The discussions on twitter gave me reason to reconsider local development so I will give this some time, namely the 30 day demonstration period attached to PhpStorm. If all works out I may just spend the $99 for the application and make this my new workflow.
2 Responses
2 Pingbacks
[…] would have to say, doing the development across three PC’s was interesting but as I described my “new” workflow previously it was actually a lot easier to adapt to than I […]
[…] the same I am putting each plugin through my new workflow method and tools as part of the general compatibility […]