Bug 359518 - [api] provide extension point to register alternative task list search implementation
Summary: [api] provide extension point to register alternative task list search implem...
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 3.7   Edit
Assignee: David Green CLA
QA Contact: Steffen Pingel CLA
URL:
Whiteboard:
Keywords: api, contributed, noteworthy, plan
Depends on: 359516
Blocks: 191522 304104
  Show dependency tree
 
Reported: 2011-09-30 02:32 EDT by David Green CLA
Modified: 2011-10-24 10:12 EDT (History)
2 users (show)

See Also:


Attachments
mylyn/context/zip (16.70 KB, application/octet-stream)
2011-10-15 00:48 EDT, David Green CLA
no flags Details
screenshot - example of content assist (92.71 KB, image/png)
2011-10-15 14:52 EDT, David Green CLA
no flags Details
screenshot - example of content assist on field-specific search (35.75 KB, image/png)
2011-10-15 14:53 EDT, David Green CLA
no flags Details
screenshot showing search scope control (19.87 KB, image/png)
2011-10-15 14:58 EDT, David Green CLA
no flags Details
screenshot - example of specifying field and logical operators (33.86 KB, image/png)
2011-10-15 15:04 EDT, David Green CLA
no flags Details
contribution (21.58 KB, patch)
2011-10-21 23:45 EDT, David Green CLA
steffen.pingel: iplog+
Details | Diff
mylyn/context/zip (69.00 KB, application/octet-stream)
2011-10-21 23:46 EDT, David Green CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.