[Trac] Trac tags users?
Muness Alrubaie
muness at gmail.com
Thu Aug 25 07:17:43 CDT 2005
Christian,
I like the idea of semantic relationships, but frankly, think it's
overkill. BackLinks on the other hand, are just not explicit and
hence can be misleading. Tags are simple enough, but have enough
discrimination to be far more useful than BackLinks. See how I used
tags to implement the course material. For example:
http://dev.muness.textdriven.com/trac.cgi/wiki/COMP313/Week10 .
Tagging some content as COMP313/Week10 seems ok to me, whereas
introducing a link back to COMP313/Week10, does not. The latter seems
to pollute content with - transient - metadata.
Again, I think that this clean separation of content from relationship
information is yet another reason to use del.icio.us as a repo to
extract tag information from, rather than to do everything inside
Trac.
BTW, I do like the BackLinks macro, but I think it's use is a very
different one than TagIt. (I actually use it mostly while I am
refactoring wiki entries, and find it quote useful for that
application.)
Anyway, to answer your question, TagList implements the intersection
operation.
It seems to be the most useful, though I did want to implement other
operators as you suggest -- union. Never saw a compelling need, and
if I've learned anything from agile development is not to implement
things until you need them -- not just because I am lazy, but also
because implementing a feature without actually needing it seems to
introduce feature creep and the code often goes stale. But I digress.
Thanks,
Muness
On 8/25/05, Christian Boos <cboos at neuf.fr> wrote:
> Muness Alrubaie wrote:
>
> >Hi,
> >
> >I was thinking of some major feature enhancements to the tags
> >implementation for Trac
> >(http://dev.muness.textdriven.com/trac.cgi/wiki/tags). I wanted to
> >chat to at a couple of users to ask for feedback on the idea. It
> >involves much tighter integration with mainstream tagging systems
> >(specifically del.icio.us).
> >
> >
> I'm not really a tags users, but...
>
> You may also want to have a look at the TracCrossReferences
> experimental branch, which I hope will make it for Trac 1.0.
>
> As the name says, it provides a generic cross-reference facility,
> and maintains for every Trac object the set of other Trac objects
> that are referring to it (as well as a fragment of the text in which
> the reference was made, for being able to quickly grasp the
> context of the reference).
>
> In contrast with the tags approach, you don't have to use any explicit
> markup for creating the backlink. This can be seen as an advantage
> (you have the possibility to retrieve *all* the back links) but also
> as an inconvenient (you possibly end up with too much information).
>
> In addition to backlinks, the TracCrossReferences branch implements
> relations between Trac objects: a relation is simply a link plus a specific
> semantic.
> That semantic is usually created explicitely by the code, e.g. in the code
> dealing with ticket dependencies, the 'depends-on' semantic
> will be attached to the link between two dependent tickets.
>
> I nevertheless see the interest of having the possibility for the user
> to be able to add explicitely any semantic to a reference
> (that would be similar to the act of tagging with [[TagIt()]] macro).
>
> This can be achieved by extending the Wiki formatting syntax.
> That would open a lot of possibilities (one might even find that scary :)
> Among them, the possibility to implement tags, if one uses the
> 'tag' semantic...
>
> In the past, I experimented with different kinds of special syntax, e.g.:
> * --tag--> ToDo
> (ok, maybe I watch too many ASCII art movies :)
> * or [tag ToDo]
> (might be not easy to differentiate from regular links)
> * or <<tag>> ToDo
> (I like this one; it can be nicely rendered in HTML using «
> and »)
> * or <<tag ToDo, WildIdeas>>, <<depends-on #1242>>
> (better for linking the current object to more than one object)
>
> There's something I really like about the TagList() macro,
> it's the possibility to specify the tags to list from... (by the way, is it
> the union or the intersection of tags?)
> I don't have that currently in the BackLinks() macro, which serves
> a similar purpose, but I should add it.
>
> An even better idea would be to provide some kind of query language :
> e.g. [[BackLinks(<<tag ToDo>> /\ <<tag WildIdeas>> \/ <<depends-on
> #1242>>)]]
> Of course, this query language should blend with the ticket query language
> and the advanced search queries (oops, there's no 3.0 milestone yet :) )
>
> -- Christian
More information about the Trac
mailing list