BMO/Hacking

From MozillaWiki
Jump to navigation Jump to search

Hacking On BMO

Overview

BMO is running a customised version of Bugzilla, currently (3rd July 2014) sitting on top of Bugzilla version 4.2, but with many features and fixes backported from the master and 4.4 branches.

All source is maintained in [git http://git.mozilla.org/?p=webtools/bmo/bugzilla.git;a=summary] and is mirrored (read-only) to [GitHub https://github.com/mozilla/webtools-bmo-bugzilla]. New development is done in the master branch, which is regularly synced to our staging server, https://bugzilla.allizom.org, and, generally on a weekly basis, pushed out to production. The development branch is synced to our development server, https://bugzilla-dev.allizom.org, generally when we are experimenting with new features.

We use Apache's web server, and MySQL's database.

Setting up a development environment

  • Follow the instructions to install Bugzilla 4.2: http://www.bugzilla.org/docs/4.2/en/html/installing-bugzilla.html
    • For section 2.1.4, check the source out of bzr://bzr.mozilla.org/bmo/4.2 instead of the upstream repository
    • Setting up an environment is basically a matter of:
      1. Check out the source
      2. Configure Apache HTTPd (I suggest you use mod_cgi not mod_perl)
      3. Create an empty database in MySQL, and create a MySQL account with appropriate grants
      4. Run checksetup.pl and follow the instructions
  • Once installed, in addition to the normal parameters (urlbase, email, ...) configure the following parameters via the web UI:
    • allow_attachment_display => 1,
    • defaultpriority => '--',
    • defaultseverity => 'normal',
    • specific_search_allow_empty_words => 0,
    • timetrackinggroup => ,
    • upgrade_notification => 'disabled',
    • usebugaliases => 1,
    • useclassification => 1,
    • useqacontact => 1,
    • user_info_class => 'BrowserID,CGI',
    • usestatuswhiteboard => 1,
    • usetargetmilestone => 1,

Obtaining a copy of the BMO database

You can request a sanitised copy of the BMO database, which makes developing and testing significantly easier, by going to download a copy of the latest (January 2013) public database. This is temporarily kept here:

http://people.mozilla.org/~mhoye/bugzilla/

Security and confidential bugs are removed from this version.

Developer vagrant box

We also provide a ready-to-use developer box using vagrant.