Page "Proposals/BEP-0013" was changed by thimal
Diff URL: 
<https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0013?action=diff&version=9>
Revision 9
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: Proposals/BEP-0013
=========================================================================
--- Proposals/BEP-0013 (version: 8)
+++ Proposals/BEP-0013 (version: 9)
@@ -18,7 +18,7 @@
 
 == Abstract #abstract
 
-Ticket system need to assist users when creating and modifying ticket to 
reduce potential errors and to minimize the amount need to type by the users by 
auto completing the fields.
+Ticket system need to assist users when creating and modifying ticket to 
reduce potential errors and to minimize the amount need to type by the users by 
auto completing the fields. When creating tickets suggest duplicate tickets to 
avoid the creation of duplicate tickets. This also help when using custom query 
in keywords, owner, Cc fields.
 
 == Proposal #proposal
 
@@ -31,19 +31,19 @@
 Autocomplete the Owner and Cc fields from a list of valid users.
 Autocomplete the keywords from list of keywords that have been user to date
 Search for duplicate tickets as the ticket summary is entered 
-Project will have two distinct parts plugin component in server side and 
client side impementation in ajax, javascript (jQuery and bootstrap)
+Project will have two distinct parts plugin components in server side and 
client side implementation in ajax, javascript (jQuery and bootstrap)
 
 Deliverables
 
-Main aim of this project is to develop a module that can assist the users in 
the ticket creating and modifying process by auto-completing the field values. 
Project will deliver three main components
+Main aim of this project is to develop a module that can assist the users in 
the ticket creating and modifying process by auto-completing the field values. 
Project will deliver three main plugins that are under the Bloodhound Theme 
plugin.
 
 Keyword Suggest Component
 
-This component will suggest keywords in the existing tickets and suggest them 
in order of the frequency of usage ( or alphabetical order) and according to 
the combination of characters entered by the users. Keywords list will be 
suggest by only pressing the enter key according to the frequency of usage. 
Suggest these keywords without case sensitivity of user entered characters.
+This component will suggest keywords in the existing tickets and suggest them 
in order of the frequency of usage  and according to the combination of 
characters entered by the users. Keywords list will be suggested when focus on 
the field according to the frequency of usage. Suggest these keywords without 
case sensitivity of user entered characters.
 
 Duplicate Ticket Search  Component
 
-This will show list of related tickets based on the summary field and if 
possible with description field (need to check the performance) on the relevant 
product. Suggest list have maximum limit (limit need to decide with discussion 
with community).
+This will show list of related tickets based on the summary field and if 
possible with description field on the relevant product. When user is not 
selected a product then show possible duplicate tickets in all products. 
Suggest list have maximum limit (max limit for ticket page is 15 and max limit 
in popup ticket create component is 5). When there is more possible duplicate 
tickets than this show link to search all duplicate tickets.
 
  
 
@@ -57,11 +57,11 @@
 
 Proposed solution will be work as a part of the BloodhoundThemePlugin with 3 
components. So the users can enable or disable features as they need.
 
-One alternative to this is build these fractures as separate plugin 
bloodhound, but as these are basic features, no need to clutter the bloodhound 
project with another plugin. Also as part of BloodhoundThemePlugin it can 
provide all the features provided as a separate plugin (enabling and disabling 
features). So the best way to do this is as a part of BloodhoundThemePlugin as 
discussed in the developer mailing list. (But this may be changed according to 
the discussion with the bloodhound community)
+One alternative to this is build these fractures as separate plugin 
bloodhound, but as these are basic features, no need to clutter the bloodhound 
project with another plugin. Also as part of BloodhoundThemePlugin it can 
provide all the features provided as a separate plugin (enabling and disabling 
features). So the best way to do this is as a part of BloodhoundThemePlugin as 
discussed in the developer mailing list.
 
 == Approach #Approach
 
-Existing autocomplete plugin of trac give good insight about the structure 
(keyword Suggestion Plugin, Duplicate Ticket Plugin , Autocomplete User 
Plugin). for the basic structure I used the same structure in these plugin.
+Existing autocomplete plugins of trac give good insight about the structure 
(keyword Suggestion Plugin, Duplicate Ticket Plugin , Autocomplete User 
Plugin). for the basic structure I used the same structure in these plugin.
 
 Here is rough description about what I'm going to do,
 
@@ -73,7 +73,7 @@
 
 Back end part need to access the database of the existing ticket to get detail 
about the keywords and need to keep track of the frequency of each keyword used 
irrespective of the case sensitivity of characters.
 
-Getting data from database related to keywords may be a problem with the 
performance. As solution to this I hope to use a plain text list of keywords 
and to keep track of frequency of each keyword. So the keywords can directly 
can be get from list and need to populate dynamically the list when user added 
new keyword. Also need to populate the list for the first time when starting 
the plugin.
+Getting data from database related to keywords have done using direct sql 
query. To avoid the performance issue rertiive all the keywords from database 
at one time and send it to the page as JSON object.
 
 In front end need to create a better output for the keyword entering and 
display available keyword for the ticket.
 
@@ -86,7 +86,8 @@
 This has two approaches first is to use the Ticket Query API, other one is to 
use  the BloodhoundSearch API. 
 But to give more support to users to find the duplicate ticket it need to 
search whole phrase typed in the summary field, part of the phrase typed in 
summary field and significant words typed in summary field. To search all these 
at once it is better to use BloodhoundSearch API. As the Ticket Query API 
search only the exact phrase or word provide to it. (but need to check the 
performance)
 For this it need to use the BloodhoundSearch API, But due to the complexity in 
powerfulness of BloodhoundSearch API I hope to start with the TracSearch API 
and get the component to work with the TracSearch API and then move into the 
BloodhoundSearch API, as a incremental development.
-
+Even though there TracSearch and BloodhoundSearch APIs available used method 
for search of duplicate tickets is direct sql query which is based on the 
TracSearch. This method is used as it is fast compare to BloodhoundSearch API 
(it only search for duplicate tickets and other overheads are low), also 
partial combinations of the phrase entered need to search to find potential 
duplicate tickets. 
+This may be changed to use Solr search in future. 
  
 
 AutocompleteUsers
@@ -141,9 +142,9 @@
 == References #references
 
 
-  1. Keyword Suggest Plugin :http://trac-hacks.org/wiki/KeywordSuggestPlugin 
-  2. Autocomplete User Plugin :http://trac-hacks.org/wiki/KeywordSuggestPlugin 
-  3. Duplicate Search Plugin : http://trac-hacks.org/wiki/KeywordSuggestPlugin 
+  1. Keyword Suggest Plugin: http://trac-hacks.org/wiki/KeywordSuggestPlugin 
+  2. Autocomplete User Plugin: 
https://trac-hacks.org/wiki/AutocompleteUsersPlugin 
+  3. Duplicate Search Plugin: 
https://trac-hacks.org/wiki/DuplicateTicketSearchPlugin
 
  
 == Copyright #copyright
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0013>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0013' page.
If it was not you, please report to .

Reply via email to