On Tue, Mar 4, 2014 at 4:37 AM, Thimal Kempitiya <[email protected]>wrote:
> Thanks Ryan, > I checked the plugins in trac-hacks and the trac component architecture. > so what we expect from this project is a plugin for bloodhound which can do > auto completion in ticket fields or is it a internal part of bloodhound > that can do the auto completion. > Yeah, you have the right idea. My initial thought is that the proposed features can be added to the BloodhoundThemePlugin. I wouldn't entirely rule out having the features be standalone plugins until we have considered all the aspects in more detail. Probably though, we don't want to clutter the Bloodhound project with another plugin for basic features like this. If the features are implemented in the BloodhoundThemePlugin, the user will still be able to enable/disable each feature provided each feature is implemented as an individual component. A reason I think it will work well to integrate the features into BloodhoundThemePlugin is that you can add the client-side functionality (i.e. the JavaScript parts) directly in the ticket templates. The server side request handling can be handled in individual Components within the BloodhoundThemePlugin. I'm imagining we have 3 components: KeywordSuggest, DuplicateTicketSearch, AutocompleteUsers (you don't necessarily need to use those names though). If you've tested out the KeywordSuggestPlugin, then you may have a good idea of what that particular feature might look like. Good next steps would be to sketch out what the architecture might look like, such as how the request handling would be done. Familiarize yourself with Bootstrap and jQuery. jQuery has some great demos on their pages. You could draft some requirements for each feature, such as: - The keywords field will suggest entries that are used in existing tickets. That would get you thinking about things such as, how many characters should the user type before a keyword is suggested. Should the matching be case-sensitive?: perhaps that should be driven by a configuration option. How would the user see suggested entries without typing any characters?: perhaps pressing the down key would bring up an alphabetical list of entries that the user can scroll through. Will all of the possible suggestions be retrieved on page load like the KeywordSuggestPlugin does? What might that impact performance with thousands of keywords? Or should the suggestions be stored dynamically retrieved server-side? What would be the performance implications of that approach?: there is sure to be some latency in retrieving the possible keywords. I'll hunt around the issue tracker today and see if there is a good "starter" ticket that you might work on.
