Helix Bugzilla - GForge Integration

Helix Bugzilla - GForge Integration

In 2004, Helix Bugzilla was integrated with GForge to replace the GForge bug tracker module. With some work, Helix Bugzilla can be integrated with GForge versions 3.2 and 4.5, and perhaps others.

Helix Bugzilla was integrated with GForge in the Helix Community for several reasons:

  • RealNetworks was already using Bugzilla for internal bug tracking,
  • The GForge bug tracker was insufficient for the needs of the community, and
  • There existed expertise to modify Bugzilla and GForge for the integration.

Helix Bugzilla shoulders most of the burden of integration. GForge needs only to alter its tracker links to point to Helix Bugzilla, and to provide postgres access and it's session serial number (an ID unique to each installation of GForge).

Helix Bugzilla passively synchronizes users, projects and permissions directly from a GForge postgres database. It does this via a cron job run once or twice an hour. When a user accesses Helix Bugzilla, the user and any missing projects are automatically created, providing the user with a mostly seamless experience.

Helix Bugzilla also defers to GForge for user authentication. While Helix Bugzilla can support up to two authentication methods, it is often easier to store authentication in only one database, namely the GForge database. Helix Bugzilla uses the cookies set by GForge (requiring a domain cookie, a technical detail required for integration) to obtain the user's GForge cookie. That cookie is decoded (which requires the GForge session serial number), and then compared with information in the GForge database. If the user has logged into GForge, then Helix Bugzilla will also grant access using the same verification mechanism GForge itself uses. At no time does Helix Bugzilla handle the password: users must first log into GForge to access Helix Bugzilla.

Broken links? Please e-mail: bugzilla-dev@helixcommunity.org
CVS version: $Id: helix_integration.html,v 1.2 2006/12/07 15:54:20 damon Exp $