Thanks Ryan, I have basic knowledge in jQuery and I'm familiarizing with boostrap and jQuery these days as you suggested. It would be great if you can suggest related starter ticket for me to familiarize with the code base
form your ideas and with my thoughts I came up with this, please correct me if need changes or fixes As you said need three components KeywordSuggest suggest keywords in the existing tickets and suggest them in order of the frequency use( or alphabetical order) This need to suggest list of keywords when there is no characters are entered with press of enter key (or any other combination) as new users can get suggestion about the appropriate keywords to use Need to suggest keywords without case sensitivity as no need create new keywords with same name and capital or simple letters. DuplicateTicketSearch This show list of related ticket based on the summary field This suggestion need to have maximum limit (5) It will search related ticket based on the words entered in summary field (if possible need extend this to check with the description field, but need to check the performance) AutocompleteUsers This will be related to the Cc field and Owner fields suggest based on the existing users (I have doubt this need to give list of users without entering any character as users need to know existing users) * KeyowrdSuggest and AutocompleteUsers components need to suggest keywords and users with one character * I think all three components need to retrieve from server side dynamically as need to have common word bases (need to check the performance as this approach will take more time than getting words locally) *All three components need have database access Can I know about the possibility of getting keywords with the frequency of use Is the database struture is same as the trac where I can get more detail about database access and structure of schema On Tue, Mar 4, 2014 at 9:16 PM, Ryan Ollos <[email protected]> wrote: > 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. > -- *Thimal Kempitiya <http://www.facebook.com/thimalk> UndergraduateDepartment of Computer Science and Engineering University of Moratuwa.*
