A Christmas gift - TicketDep plugin

13 views
Skip to first unread message

Risto Kankkunen

unread,
Dec 24, 2008, 8:36:04 AM12/24/08
to Trac Development
Our team uses Trac to manage our sprint backlogs. We find it useful to
split bigger tasks into subtasks and use MasterTicketsPlugin to track
the dependencies. However, it is currently not easy to see those
dependencies. The Graphviz diagrams require effort to see and are not
even very informative.

I made a plugin called TicketDep that shows the dependencies as
indented tables. After using the plugin for some time I find that it
helps to see the context of a particular ticket and also makes it
easier to find the right parent for new subtickets. The plugin is
available in

http://iki.fi/risto.kankkunen/trac/ticketdep

I'd like to hear if people find this useful and if someone has already
done something similar.

However, the main reason I'm writing about this plugin is that I'd
like to find a maintainer for it. I don't really have time to take
care of it. I hope it is useful for other people already now, but on
the other hand I don't want to offer it without any support; I have
been bitten too many times taking some plugin from trac-hacks into use
and later having found out it was not maintained, stopped working when
a new Trac version came out etc.

While making this and some other plugins, I found myself wanting to
chain plugins together in a pipeline. Even in TicketDep I ended up
calling some internal functions of TicketQuery. I would have preferred
to do something akin to [[TicketQuery | TicketDep]]. I've also seen
some other plugins where I liked the way plugin A displayed its
results, but liked more how plugin B calculated them. But since I
couldn't choose A's display and B's logic, I had to make my own plugin
C... It would have helped if A was actually [[Acalc | Adisplay]] and B
was [[Bcalc | Bdisplay]] so I could do [[Bcalc | Adisplay]].

Has anyone given any thought of how plugins could be made composable?

Risto

Noah Kantrowitz

unread,
Dec 24, 2008, 7:47:00 PM12/24/08
to trac...@googlegroups.com
Such a thing could be added to mastertickets directly, however you
have chosen to license it under the GPLv3, which is incompatible the
BSD license used by my plugins.

--Noah

rupert....@gmail.com

unread,
Jan 1, 2009, 10:44:05 AM1/1/09
to Trac Development
On Dec 24 2008, 2:36 pm, Risto Kankkunen <risto.kankku...@gmail.com>
wrote:
> Our team uses Trac to manage our sprint backlogs. We find it useful to
> split bigger tasks into subtasks and use MasterTicketsPlugin to track
> the dependencies. However, it is currently not easy to see those
> dependencies. The Graphviz diagrams require effort to see and are not
> even very informative.
>
> I made a plugin calledTicketDepthat shows the dependencies as
> indented tables. After using the plugin for some time I find that it
> helps to see the context of a particular ticket and also makes it
> easier to find the right parent for new subtickets. The plugin is
> available in
>
>  http://iki.fi/risto.kankkunen/trac/ticketdep
>
> I'd like to hear if people find this useful and if someone has already
> done something similar.

could you maybe put the source code so one could do an easy_install
with it in a python-2.5 environment?

gctrekker

unread,
Jan 20, 2009, 10:19:07 AM1/20/09
to Trac Development
I recently installed MasterTicketsPlugin but have not installed
Graphviz. I also do not find the graphs to be very informative. I do
like what TicketDep describes but I have not been successful in
getting it to run.

I have the TracTicketDep-0.11_20081224-py2.4.egg file installed in our
Trac plugins directory but I cannot get it to function.

Do I need to add something into the trac.ini [components]?
I tried adding "tracticketdep.* = enabled" and "ticketdep.* = enabled"
but neither of these helped.
I did stop and start our apache2 server when trying each entry.

Here is our environment:
Trac: 0.11.2
Python: 2.5.1 (r251:54863, Sep 21 2007, 22:46:31) [GCC 4.2.1 (SUSE
Linux)]
setuptools: 0.6c8
MySQL: server: "5.0.67-community", client: "5.0.67", thread-safe: 0
MySQLdb: 1.2.2
Genshi: 0.5.1
mod_python: 3.3.1
Subversion: 1.5.5 (r34862)
jQuery: 1.2.6

Thank you.



On Dec 24 2008, 7:36 am, Risto Kankkunen <risto.kankku...@gmail.com>
wrote:
> Our team uses Trac to manage our sprint backlogs. We find it useful to
> split bigger tasks into subtasks and use MasterTicketsPlugin to track
> the dependencies. However, it is currently not easy to see those
> dependencies. The Graphviz diagrams require effort to see and are not
> even very informative.
>
> I made a plugin calledTicketDepthat shows the dependencies as
> indented tables. After using the plugin for some time I find that it
> helps to see the context of a particular ticket and also makes it
> easier to find the right parent for new subtickets. The plugin is
> available in
>
> http://iki.fi/risto.kankkunen/trac/ticketdep
>
> I'd like to hear if people find this useful and if someone has already
> done something similar.
>
> However, the main reason I'm writing about this plugin is that I'd
> like to find a maintainer for it. I don't really have time to take
> care of it. I hope it is useful for other people already now, but on
> the other hand I don't want to offer it without any support; I have
> been bitten too many times taking some plugin from trac-hacks into use
> and later having found out it was not maintained, stopped working when
> a new Trac version came out etc.
>
> While making this and some other plugins, I found myself wanting to
> chain plugins together in a pipeline. Even inTicketDepI ended up

rupert....@gmail.com

unread,
Jan 25, 2009, 10:53:56 AM1/25/09
to Trac Development
how did you get to run? the description says the download is for
python-2.4? ie. how would one migrate it to 2.5, just unpack and
repack?

rupert.

gctrekker

unread,
Feb 2, 2009, 11:20:16 AM2/2/09
to Trac Development
I renamed the file from 2.4 to 2.5 and it worked with adding
'ticketdep.* = enabled' to trac.ini file. I liked what it does,
except it was appearing on all tickets even if they do not have
dependencies. This may be configurable but I did not see how. It
should work like "depgraph" - it is only available when a dependency
is in a ticket. I also decided to not use it since the source is not
available and the author does not want to maintain it. I would not
like our team to get dependent on something that may not work down the
road.


On Jan 25, 9:53 am, "rupert.thur...@gmail.com"

Jeffrey

unread,
Feb 4, 2009, 3:09:58 AM2/4/09
to Trac Development
I would really appreciate if TicketDep could be integrated with
MasterTickets as Noah suggested. While plug-ins are a great way to
extend Trac, having plug-ins dependent on other plug-ins can be
fragile.

I would guess that 99.99% of all users that need MasterTickets, would
also love to have TicketDep integrated with it. I have installed both
plug-ins, but I have a queezy feeling that they will stop working with
each other one day.

*Please* clear up the licensing issue somehow. Let's try to move Trac
forward and the only way I can see that happening is:

1. good quality code
2. liberal licencing

That is my 2 cents.

Jeffrey


> Such a thing could be added to mastertickets directly, however you  
> have chosen to license it under the GPLv3, which is incompatible the  
> BSD license used by my plugins.
>
> --Noah
>
> On Dec 24, 2008, at 5:36 AM, Risto Kankkunen wrote:
>
> .
> .

gctrekker

unread,
Mar 13, 2009, 10:00:55 AM3/13/09
to Trac Development
I have installed the TicketDepPlugin and find it to be useful.
I have a question about the macros.

TicketBlockers(tid1, tid2, ..., query=querystr, combined=0|1, cols=f1|
f2|f3...)
TicketBlockees(tid1, tid2, ..., query=querystr, cols=f1|f2|f3...)

The TicketDepPlugin page says "The macros operate by first creating a
list of tickets by combining ticket numbers mentioned explicitly
(tid1, tid2, ...) with ticket numbers produced by running the query
querystr as understood by the TicketQuery macro."

I would like to see an example of the syntax for the
"query=querystr"? I have tried several things but keep getting
errors. It would be helpful for the TicketDep page to have an example
for the query.

Also, the TicketBlockees appears to only see the tid1 entries (I have
entered a list "400, 800, 1018") but it only shows "400" information,
whereas the TicketBlockers works with the list.

I would like to replace a hard coded list in the macros to use the
query=querystr but I need to see an example of how to use it.

I would also like to see the licensing issue be cleared up so this can
be supported by the community.

Thanks in advance!
Dale
Reply all
Reply to author
Forward
0 new messages