2
votes

I've always found developing joomla extensions a pain when it comes to organizing your workflow so I'm looking for a good strategy for using svn for joomla extension development (and deployment). I've scoured the web for ideas, but haven't found anything good. Specifically I'm looking for a smart way to install components using svn export (for deployment to production site) or checkout (for development site) and some scripting magic. Anyone have any experience with this that they would like to share? Any ideas is much appreciated. Thanks!

2
Thanks for the tip. I've been meaning to look into git for a while now, time to get cracking.Hank Denijm

2 Answers

3
votes

I use PHPEclipse and Subclipse and here is what I do (I'm assuming your production box is already setup with svn):

  1. Install Joomla locally or check out an instance from your repo, and create a new Eclipse project -> from existing source code. Dump your server's db locally as well.
  2. Create a simple component with the bare minimum of files, namely the xml and yourcomponent.php file, zip it, and install it, both locally and on the production box. This will register the component / module in the db tables. Alternatively, instead of installing on the server, you could just add a row to your db to register the component.
  3. Delete the component's folder that was created on the server (without using svn del), if you had installed it.
  4. Start developing locally and commit your changes. Eclipse does a nice job of keeping track of changes and representing files with changes visually (>), and commiting changes / resolving conflicts is real easy. Now just run svn update on the server, and your code changes should reflect on the server.

With the latest version of Joomla!, you don't need to record new files you create in the xml, but you will manually have to add any tables you create / alter on the server.

If you ever plan on distributing the component, you would have to properly create the db install scripts, etc.

If someone has a cleaner method, I'm interested in knowing as well.

2
votes

Netbeans seems to be the recent favorite, though many developers use Eclipse.

For videos just google Netbeans Joomla http://vimeo.com/13045800 or http://vimeo.com/11981229 are two examples - or Netbeans drupal http://www.youtube.com/watch?v=egvfbMfZ9-8 (this one seems to be best at explaining local install