Edgewall Software

Version 3 (modified by Dave Abrahams <dave@…>, 17 years ago) ( diff )

A Comprehensive Multi-Project Solution

Abstract: we present a comprehensive solution for many of the problems of maintaining or participating in multiple projects under Trac. We briefly analyze some of the other approaches and explain why we're not using them.

This method supports:

  • Cross-project ticket queries. Find out what your most important issues are in one swell foop.
  • Single login. Login once and skip around between Trac instances at will (subject to per-instance permissions, of course).

Caveats:

1) this page is a work in progress. I've solved the technical

issues on my local development server and am composing this page as I port my real Trac instances over to the new system.

2) this method requires the use of

not-yet-released versions of Trac, Genshi, and several plugins, available from those projects' Subversion repositories.

Note: this solution obviously owes much to the work of others, which will be cited as necessary throughout.

Just How Comprehensive Is This Solution, Really?

Ticket #130 contains a long, rambling, and extremely enlightening discussion of what people need from MultiProject support. Anyone who has read that thread, and the other pages proposing different ways to support multiple projects, knows that my solution isn't going to work for everyone. Nonetheless, I think I've hit a "sweet spot" that gives most people most of what they're looking for, and more importantly, can be (relatively) easily set up today by anyone. So while my claim of having a "comprehensive" solution might be seen as grandiose, I think it's supportable.

Motivation

When you host multiple trac projects, its very common to have users that are members of more than one of these projects. If, like me, you're using your Tracs to support multiple customers, you probably need to be a member of each trac instance. Even when using a TRAC_ENV_PARENT_DIR setup, one typically ends up having to log in to three or four Trac instances a day as you review your most active projects. Just having to log in over and over is problematic in itself. Worse, if you're tracking tickets in several projects, there's no way to see them all together in stock Trac. You actually need to log into each project and check your tickets there, and it becomes very likely that you'll miss something really important.

repeating the same configuration steps over and over

It doesn't work to ask our customers to share the same Trac instance. Customers need privacy, and Trac isn't yet up to the task of managing fine-grained permissions on individual resources. Sometimes we're working on proprietary software that must be kept private, but even when we're working on open source, customers generally feel more comfortable when their issues are not exposed to the world.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.