Experimental Trac multi-project support
Description
Still developing this concept.
Note: What is in subversion is currently useable (though only tested by a few people), but there isn't (yet) any documentation. If you would like to try this out you try finding me on #trac (I am usually on as coderanger).
An alternate(in idled/stalled/rethinking development) implementation of the same idea, and with the same name (great minds etc etc), is at http://tracforge.net.
Known Issues
In order to add projects right now, create a prototype containing only DoNothing. You still need to make the Trac environment and other things the normal way for now.
Instructions
As a stand in for better instructions pending more completed features:
First designate one env to be the master. This will manage SSO, and hold the central roles and permissions. This is also commonly the aggregate trac if you are using the data subscription system, but it doesn't need to be. On each Trac, including the master, set the master_path option (under [tracforge]) to the full filesystem path to the master env. On the master env, activate these components: tracforge.* = enabled tracforge.linker.* = disabled tracforge.linker.auth.tracforgecookiemunger = enabled tracforge.subscriptions.* = disabled On each client env activate these: trac.web.auth.loginmodule = disabled tracforge.admin.perm.* = enabled tracforge.linker.auth.* = enabled For all envs set this in [trac]: permission_store = TracForgePermissionModule That should be all config changes you need. If you want to use the data subscription system, just enable tracforge.subscriptions.* on all envs. To setup the tracforge system, go into WebAdmin on the master, and there should be a TracForge Project Admin screen. In there add each of your projects. For now TracForge cannot actually create the projects, so make them the normal way and then just enter them into TracForge. Once that is done you should be able to add central roles and permissions. Permissions work exactly the same way as normal, with the central ones combined with the per-project permissions. Roles show up as groups, so you can do something like give the group "member" the permission WIKI_MODIFY, and then add some users as members to a project. The "*" project on the roles screen means that user will have the given role on all projects (very handy for configuring global admin accounts). There isn't much configuration to the subscription system. It should autodetect all sibling envs (envs sharing the same enclosing folder), and let you add subscriptions from one env to another. Changesets work very well, and tickets are mostly working (though there is no support for attachments yet).
Bugs/Feature Requests
Existing bugs and feature requests for TracForgePlugin are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from here.
Source
You can check out TracForgePlugin from here using Subversion, or browse the source with Trac.
Example
Nothing yet.
Recent Changes
[1615] by coderanger on 12/01/06 14:49:01
Adding a null prototype step.
[1572] by coderanger on 11/16/06 05:32:51
New tempfile-based system for capturing creation output. Works with subprocesses too.
[1570] by coderanger on 11/16/06 03:51:53
Checkpointing because this is a dumb way to do it.
Author/Contributors
Author: coderanger
Contributors: