Hello Andrej, On 4/10/2013 2:36 PM, Andrej Golcov wrote: > Hi everyone, > > We are implementing a free-text search plugin as a part > of Apache™ Bloodhound. The approach we use is based on AdvancedSearch > [1] and uses similar approach as TracAdvancedSearchPlugin [2] > and FullTextSearchPlugin [3] plugins. In short: listening for > ITicketChangeListener events and updating nonDb free-text-search index.
Interesting indeed. > However, there is a problem common for such plugins - renaming of a > ticket related entity such as Version, Component Type, Severity etc. is > not covered by the event and the plugin cannot reflect this change in > its nonDb free-text-search index. > > As a part of Apache™ Bloodhound Trac fork, we added a > new IResourceChangeListener interface, which is common for all > resources (see full code in attached patch). The main idea of > the IResourceChangeListener interface is that it is similar to existing > I*ChangeListener interfaces (existing interfaces are working as before), > it is common for all resources (resource is sent as parameter) and that > there is no need to introduce interfaces such as IVersionChangeListener, > IComponentChangeListener etc. Listener may specificy resource types for > which it has to be notified via method get_subscribed_resources. What do > you think about such approach? Yes, it's nice. The "context" however in the IResourceChangeListener can be confused with a RenderingContext which is often passed as "context" as well. Maybe changecontext? or changeinfo? > > The IResourceChangeListener implementation was tested > in Apache™ Bloodhound for a couple of months and it looks like it is > stable enough and covers, at least, our requirements. I think that > support of the IResourceChangeListener interface in Trac can be useful > for Trac community and would like to suggest this patch for Trac. Please > find the attached patch rebased against the Trac trunk. > Is the Trac community interested in applying something > like IResourceChangeListener into the Trac codebase? Very much, thanks for thinking about contributing this one back. You should open a ticket with that patch (against 1.1.2), so that we can follow the progress of the integration, and discuss this further if needed (discussion here on trac-dev is welcome as well). -- Christian -- You received this message because you are subscribed to the Google Groups "Trac Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/trac-dev?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
