Hi,

(I've got a mail from Itai Zukerman asking me about the status of 
TracCrossReferences, so I take the opportunity to share my current 
thoughts about this with the list.)

Itai Zukerman wrote:
> Looks like the trac-xref tree in sandbox has been stagnant for a
> while.  

Yes, this effort has unfortunately been neglected; it's not abandoned 
though and I have plans to revive it, though I can't tell when...

> Anything I can do to get that going again, so it gets merged
> in the trunk?  

Well, reviving discussion about it is a first step, that's why I moved 
the present discussion to trac-dev ;)

The current implementation was not accepted for being merged in the trunk.
It would be too long to go through the reasons, but you can read through 
the ML archives [1] [2]

The plan is to turn that into a plugin, and first provide the necessary 
infrastructure into the core:
 1. provide uniform change notifications for all resources
 2. provide a minimalistic resource locator and object-oriented view 
over resources (fka. TracObject)
 3. provide a way to extend the context navigation / page mode [3].

1. This would be a superset of the existing ChangeListener interfaces, 
and there could be compatibility adapters for keeping the existing hooks 
in place. Implementing this could be coupled to the Journaling idea (a 
central place for recording only once the timestamp/user info of any 
change), but doesn't need to be. That can always be refactored later.

2. Having some kind of common ancestor for all Trac model classes would 
be one possibility (that was the TracObject idea). But there are other 
options, like a Resource class hierarchy, implementing only a minimal 
set of methods (type, id, title, css_class, this kind of things) and 
eventually a model() method returning the underlying model object if 
there's one.

3. The plugin would ideally create an additional "Cross-Refs" tab for 
all Trac resources (similar to the ''History'' tab or ''Discussion'' tab 
in the proposal [3]).


The "crux" of the problem is to be able to offer to the 
TracCrossReferences plugin an uniform view over all "wiki texts" 
changes. Currently, this is very different, from a wiki page change, a 
ticket description change and a commit message change (ok, the latter 
don't change for now... ;) ), but this doesn't need to be. Ideally, a 
more uniform data layer would simplify things (see [4]), but until then, 
we can try to provide at least an uniform API for the changes.

> I need it for a project...

If you are on a rush, using the TracCrossReferences is probably not your 
best bet, otherwise help would be greatly appreciated, from testing to 
code contributions to waving ideas around ;)

-- Christian

[1] - 
http://news.gmane.org/gmane.comp.version-control.subversion.trac.general
[2] - http://news.gmane.org/gmane.comp.version-control.subversion.trac.devel
[3] - http://trac.edgewall.org/wiki/TracProject/UiGuidelines
[4] - http://trac.edgewall.org/wiki/TracDev/Proposals/DataModel
 

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"Trac Development" group.
To post to this group, send email to trac-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to