[Trac] Re: Pluggable Modules

Brad Anderson brad at dsource.org
Wed Jan 12 11:46:00 EST 2005


On Tuesday 11 January 2005 8:09 pm, Justus Pendleton wrote:
> Is no one from edgewall really working on trac anymore?

It appears not.  I would like to stick in long enough to get the 
PluggableModules work done, and assist Christopher Lenz as much as possible.  
Then I can write my own modules and share them with others that are 
interested and we won't necessarily need commit access.

I would plan on making the following plugins, based on some mails in the list 
recently and our organization's own requirements, as well as a multiple 
projects site that I host...

1.  AuthzDBPlugin - This would be different from basic Trac authorization 
because it would keep a table of users and a table of groups/users.  (I've 
already seen some of it in Chris's latest tarball.)  The ticket plugin would 
use this as well to choose to assign tickets from the list of users.  I 
imagine it could be written in a way to allow database independence as well 
as LDAP integration, although it may not be hard to separate LDAP into its 
own plugin if required.

2.  TicketPlugin - again, with a few more features than the basic Trac ticket 
module.  I'm not terribly interested in the ticket workflow discussion that 
has been going around, but will probably be, once we convert from Bugzilla to 
Trac.  The biggest change here is to support my alternate ticket data model.  
It allows multiple ticket attributes to be assigned to a ticket at once.  
I.E.  this is a problem in v 0.8, 0.8.1, 0.9 and was fixed for milestone 1.0.  
It also has no distinction between standard ticket attributes and custom 
ticket attributes.  It's very easy to do the types of estimating and actual 
timings discussed in the past few days, because it's just a new type of 
ticket attribute.  If I'm the only one who uses this type of Ticket plugin 
because it's too complicated of a data model, I have no problem with that.  
Others, including Greg's students, could eliminate code from plugins and make 
a very streamlined "basic Trac" setup that would serve the masses nicely.

3.  ForumPlugin - I've begun work on forums code so that each project in the 
multiple projects site I host will be able to have its own forums.  
Currently, populated tables are displaying, but posts can't be made.  
Multiple forums are allowed, each forum has multiple topics, and each topic 
has multiple posts.  I'd like to have this be like phpBB but with the ability 
to view threads like in other mail/news clients.  This mailing list could go 
away, if I add email notifications.  And especially the discussion on 
PluggableModules would be a lot better than reading WikiDoc history to see 
who said what and who responded in what way.

Each of these plugins, plus (hopefully) all of the other standard Trac plugins 
that exist now will be database-independent.  I'll be using PostgreSQL, but 
hope to make MySQL and SQLite work seamlessly.

PluggableModules are the key to keeping Trac simple for people who want it 
simple, and if, given some protracted use of the product, want it to do more, 
hopefully there will be a module for that...  If you want SVN to have 
multiple projects in one repos, use the appropriate plugin.  If you want a 
one-to-one, use the other plugin...

BA


More information about the Trac mailing list