Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Won't Fix
Description
Apache Bloodhound is a software development collaboration tool, including issue tracking, wiki and repository browsing (see: http://bloodhound.apache.org). Bloodhound extends Trac (http://trac.edgewall.org/) with multiple product support, advanced search functionality, ticket relations, a simpler installer and sleeker user interface. Apache Bloodhound recently graduated from the Apache Incubator as a stand-alone Apache project.
Problem:
Resource listeners often will watch events for a limited, well-known set of resource realms (e.g. ticket + attachment).
The current dispatching strategy (i.e. match_resource) is mostly content based ( http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern#Message_filtering ). It behaves in O(r * l) order of magnitude. This might lead to a lot of extra (unnecessary) overhead.
Proposed solution:
A performance improvement could be to allow listeners to register to dedicated realm channels (i.e. topic-based filtering [ http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern#Message_filtering ]) , thus turning the dispatch algorithm into O(l) , at least when it is a ok to do so
PS: We shall not loose the current content-based filtering capabilities , so in advance I advocated using a hybrid strategy .
Skills needed:
Bloodhound and Trac are written in Python, so a moderate dose of Python programing skills are required.
References:
Link to the original issue:
https://issues.apache.org/bloodhound/ticket/485
More GSoC-related tasks for Bloodhound:
https://issues.apache.org/bloodhound/query?status=!closed&keywords=~gsoc
Guidelines for contributing to Apache Bloodhound:
https://issues.apache.org/bloodhound/wiki/BloodhoundContributing