Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 359518

Summary: [api] provide extension point to register alternative task list search implementation
Product: z_Archived Reporter: David Green <greensopinion>
Component: MylynAssignee: David Green <greensopinion>
Status: RESOLVED FIXED QA Contact: Steffen Pingel <steffen.pingel>
Severity: enhancement    
Priority: P3 CC: mik.kersten, steffen.pingel
Version: unspecifiedKeywords: api, contributed, noteworthy, plan
Target Milestone: 3.7   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 359516    
Bug Blocks: 191522, 304104    
Attachments:
Description Flags
mylyn/context/zip
none
screenshot - example of content assist
none
screenshot - example of content assist on field-specific search
none
screenshot showing search scope control
none
screenshot - example of specifying field and logical operators
none
contribution
steffen.pingel: iplog+
mylyn/context/zip none

Description David Green CLA 2011-09-30 02:32:49 EDT
it would be great to provide an internal extension point for task list extensibility that would enable task list search to match against more than just the label.
Comment 1 David Green CLA 2011-09-30 02:44:40 EDT
pushed review http://review.mylyn.org/69
Comment 2 Steffen Pingel CLA 2011-09-30 04:08:51 EDT
Can you provide other examples for implementations of the search handler? I am wondering why we would abstract this through an extension point instead of implementing this directly in the tasks framework or allowing extensions to extend the search syntax rather than the entire filter implementation and UI.
Comment 3 David Green CLA 2011-10-15 00:30:00 EDT
I've updated the contribution with a Lucene-based index.  With this contribution you can do a local, cross-repository search of your entire task list.
Examples of search:

* task*search
* task AND search
* task OR search
* task AND search AND (assignee:david OR person:steffen)
* "task search"

I've kept the extension point (and marked it internal) so that I could add the contribution as separate bundles.  The bundles have a dependency on Lucene, so we may wish to keep them separate.

This contribution also makes it possible to search for local tasks, see related bug 205627
Comment 4 David Green CLA 2011-10-15 00:48:03 EDT
Created attachment 205243 [details]
mylyn/context/zip
Comment 5 Steffen Pingel CLA 2011-10-15 06:30:15 EDT
That's awesome!

(In reply to comment #3)
> This contribution also makes it possible to search for local tasks, see related
> bug 205627

Does it contribute a search page for local tasks?
Comment 6 David Green CLA 2011-10-15 12:18:08 EDT
(In reply to comment #5)
> Does it contribute a search page for local tasks?

No, local search functionality is currently limited to the task list and it's embedded text search field.  A search page could be added with relatively little effort but I haven't added it because it seems somewhat redundant.

My goal was to add deeper search that's as fast and easy to use as the current text search in the task list.
Comment 7 Steffen Pingel CLA 2011-10-15 12:28:37 EDT
Does the scope of the search include the full text of comments (bug 191522)?
Comment 8 David Green CLA 2011-10-15 14:51:03 EDT
(In reply to comment #7)
> Does the scope of the search include the full text of comments (bug 191522)?

yes, it does.  Currently the index retains the following:

* summary
* assignee
* reporter
* person (any of assignee, reporter, watchers, or other person attributes)
* content (summary, description, comments, and status_whiteboard)

As a future enhancement we could look at providing selection of attributes in an advanced preferences area.  I'm not sure if that would be useful or not.
Comment 9 David Green CLA 2011-10-15 14:52:07 EDT
Created attachment 205266 [details]
screenshot - example of content assist
Comment 10 David Green CLA 2011-10-15 14:53:46 EDT
Created attachment 205267 [details]
screenshot - example of content assist on field-specific search
Comment 11 David Green CLA 2011-10-15 14:58:56 EDT
Created attachment 205268 [details]
screenshot showing search scope control
Comment 12 David Green CLA 2011-10-15 15:04:50 EDT
Created attachment 205269 [details]
screenshot - example of specifying field and logical operators
Comment 13 Steffen Pingel CLA 2011-10-17 09:58:20 EDT
Great! Can we track the indexing changes on bug 191522? I'm inclined to put this in the Incubator for now and move it to the tasks framework later.

We can track the extensibility changes on this bug. I plan on taking a look at the code review later this week.(In reply to comment #8)

> (In reply to comment #7)
> * summary
> * assignee
> * reporter
> * person (any of assignee, reporter, watchers, or other person attributes)
> * content (summary, description, comments, and status_whiteboard)

Shouldn't we include all attributes that are defined in the common task schema, i.e. priority, severity etc.?
Comment 14 Steffen Pingel CLA 2011-10-17 09:59:37 EDT
Bug 198497 also suggests an interesting enhancement that would be worth investigation with a search index in place.
Comment 15 David Green CLA 2011-10-17 12:04:19 EDT
I've updated the review http://review.mylyn.org/#change,69 with a new patch set that only addresses the extensibility part (this bug), and I've pushed the new o.e.m.tasks.index.* plug-ins to the incubator on a topic branch "task-359518_task_list_index_search"
The topic branch of course won't compile without the changes on this bug being applied.
Comment 16 Steffen Pingel CLA 2011-10-20 08:24:42 EDT
Thanks! This looks very good. I have left a few comments on the review. Can you address the comments, rebase and update the review? If everything is fixed, feel free to attach a patch here and I'll merge it.
Comment 17 David Green CLA 2011-10-21 23:45:57 EDT
Created attachment 205763 [details]
contribution

This patch should address everything from the review.  Thanks Steffen.
Comment 18 David Green CLA 2011-10-21 23:46:36 EDT
Created attachment 205764 [details]
mylyn/context/zip
Comment 19 Steffen Pingel CLA 2011-10-24 10:12:08 EDT
Great! I have applied the patch.