Generalized Ticket Links
The work started on this topic by bootstrapped by the patch contributed by Joachim Hoessler on that ticket.
The approach from this patch was preferred over the ones from existing plugins (TH:MasterTicketsPlugin, TH:SubticketsPlugin, TH:ChildTicketsPlugin) as none was providing a really extensible starting point, in the spirit of #31. The first two use a specific table dedicated to the relation they're dealing with (respectively mastertickets(source, dest), subtickets(parent,child)), and the latter is using a parent custom field. That is not to say there are no interesting ideas to lift from there ;-)
The initial data model ticket_links(source, type, destination) is quite close in spirit to the one proposed in TracRelations, but is focusing on the tickets. This is a good thing, as previous attempts at creating tables for storing relations between any resources are difficult to push through. Second, storing the relations while being centered on a particular resources are also in line with my recent updates to the GenericTrac proposal (see GenericTrac#Relations), so this approach can be seen as a practical test ground for those ideas.