Friday, April 29, 2011

Mediawiki + Bugzilla + SVN + SCMBug + Tweaks = Software Manager's recipe

It was fun trying to integrate SVN, Bugzilla and Mediawiki using SCMBug and BugzillaReports. The integrated system is really an efficiency booster and considering how easy it was to set up the value/effort ratio was well worth it. I am listing the steps needed to set this system up on Windows here which makes things very interesting sometimes. Linux install is similar and simpler.
  1. The first step was installing Apache, PHP and Active Perl on Windows. This is straightforward and well documented.
  2. Install MySQL
  3. Install Bugzilla. This is straightforward as well. Bugzilla uses Perl.
  4. Install Mediawiki.
    1. Turn off caching in Mediawiki. With caching on, you get stale data on bugs which can lead you to make wrong decisions.
  5. Install the Mediawiki - BugzillaReports Addon. This gives the ability to write short scripts in mediawiki which query bugzilla and present data on a web page as a reports. This itself takes you from zero to fifty.
  6. Set up backup scripts for MySQL.
  7. Install SVN
    1. Collabnet worked out pretty well.
    2. Set up Backup scripts for SVN
  8. Create custom fields in Bugzilla for recording code change list
  9. Install SCMBug
  10. Customize code in SCMBug. This will help:
    1. Format the regular expression for parsing out the bug ID from the comments.
    2. Change code to post changes to custom field instead of comments. SCMBug by default posts changes to Bugzilla comments which can be very annoying to users.

5 comments:

Greg said...

Medhavi,
I have to ask, is there some additional documentation to the SCMBUG integration for Collabnet Subversion/Bugzilla other than the PDF document within the scmbug/share/doc/scmbug-doc/manual folder? I ask because I am currently in process of setting up same and I've gotten past the SCM Daemon and scmbug_install_glue.pl steps, but am having difficulty finding documentation on next steps.
Thank you in advance for your time.
Greg T.

Medhavi said...

Greg,

The only documentation I remember was the PDF. I set the whole system up on Windows/Apache but Linux is basically the same. After you install a GLUE instance using scmbug_install_glue.pl, a repository name and Bugzilla product you are 90% done. The final 10% of the work is split between two config files: one installed in the Subversion Hooks directory for the GLUE and the other used by the SCMBug server. If you have any questions, I can certainly look at how I configured it locally.

Greg said...

Medhavi,

This tells me what I needed to know thus far, I'm going in the right direction. I kind of figured the issue was in the config file glue.conf (location=\repository folder location\hooks\etc\scmbug), but just to ensure I'm looking at both correct files, when you say "the other used by the SCMBug server", which particular config file are you referring to? I just want to ensure I'm looking at correct files.

Medhavi said...

C:\Program Files\Scmbug\etc\scmbug\daemon.conf and C:\\hooks\etc\scmbug\glue.conf are the two files. Note that I am taking these out of windows but Unix paths should be easy to map to

Anonymous said...

Hi Medhavi,
I'm a bit new to perl.
Could you post the files names you changed in order for scmbug to post the changes to the custom field you created.

Thanks in advnace.
Jonathan.