6.0.0-git
2021-01-18

[#6875] New Search GUI
Summary New Search GUI
Queue IMP
Queue Version Git master
Type Enhancement
State Resolved
Priority 2. Medium
Owners slusarz (at) horde (dot) org
Requester slusarz (at) horde (dot) org
Created 2008-06-10 (4605 days ago)
Due
Updated 2010-01-13 (4023 days ago)
Assigned
Resolved 2009-09-29 (4129 days ago)
Milestone 5
Patch No

History
2010-01-13 00:11:56 CVS Commit Comment #26 Reply to this comment
2010-01-13 00:11:18 CVS Commit Comment #21 Reply to this comment
Changes have been made in Git for this ticket:

Request #6875: Improved advanced search query interface

  create mode 100644 imp/themes/graphics/calendar.png
  create mode 100644 imp/themes/silver/graphics/calendar.png
  create mode 100644 imp/themes/tango-blue/graphics/calendar.png
http://git.horde.org/diff.php/imp/docs/CHANGES?rt=horde-git&r1=51147560278fa4243f3d3f1fc193b801c6a3e6a8&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/folders.php?rt=horde-git&r1=3584c23312293bfae57881ef5241f9900f8758a1&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/js/search.js?rt=horde-git&r1=342c9c84bd64728e7bb89092616407f773ba688a&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/lib/Search.php?rt=horde-git&r1=cb1b0411da201d83ab0b127a9c2dd0a17442043c&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/lib/UI/Search.php?rt=horde-git&r1=5fa1d924ecaba1a2217720fab3f38453903924f7&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/locale/en_US/help.xml?rt=horde-git&r1=06d51f0a968ad6a0a7e6b72b6b911bd01e560e4c&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/mailbox.php?rt=horde-git&r1=8b0784b43391a35f5e9c10ceb2e943bb56b88536&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/search-basic.php?rt=horde-git&r1=0d65ce0deb9856532a442b3c95a43196ee01c7af&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/search.php?rt=horde-git&r1=619cbf77c784a058a2242af443b927b2c0b8eefc&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/templates/javascript_defs.php?rt=horde-git&r1=f3166e204427acadffb470eb436f625318a110f4&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/templates/search/search.html?rt=horde-git&r1=86c1689104614bdea149d34ea6bc865d9167ccd9&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/graphics/calendar.png?rt=horde-git&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/screen.css?rt=horde-git&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/silver/graphics/calendar.png?rt=horde-git&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/silver/screen.css?rt=horde-git&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/tango-blue/graphics/calendar.png?rt=horde-git&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/tango-blue/screen.css?rt=horde-git&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
2010-01-13 00:10:48 CVS Commit Comment #20 Reply to this comment
Changes have been made in Git for this ticket:

Bug #6875: Implement "basic" search UI

  create mode 100644 imp/lib/UI/Search.php
  create mode 100644 imp/search-basic.php
  create mode 100644 imp/templates/search/search-basic.html
http://git.horde.org/diff.php/imp/ajax.php?rt=horde-git&r1=9cc18d71a7bf73b8fe87c7acb74f16f8b5ff327c&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/docs/CHANGES?rt=horde-git&r1=797abb70ca743e9e9a746c99a3ec28445f801b99&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/js/DimpBase.js?rt=horde-git&r1=7275a83d04049cba07b6ddfc01b5bc8c3eb8be0a&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/lib/Search.php?rt=horde-git&r1=9cc18d71a7bf73b8fe87c7acb74f16f8b5ff327c&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/co.php/imp/lib/UI/Search.php?rt=horde-git&r=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/mailbox.php?rt=horde-git&r1=9cc18d71a7bf73b8fe87c7acb74f16f8b5ff327c&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/co.php/imp/search-basic.php?rt=horde-git&r=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/search.php?rt=horde-git&r1=f0daa2470ea069c3488276d2ecb1f92c6fdc86b3&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/diff.php/imp/templates/javascript_defs_dimp.php?rt=horde-git&r1=d64b29e0885ebaf11f1109bf8d92e1a4c14fe313&r2=cb1b0411da201d83ab0b127a9c2dd0a17442043c
http://git.horde.org/co.php/imp/templates/search/search-basic.html?rt=horde-git&r=cb1b0411da201d83ab0b127a9c2dd0a17442043c
2009-10-21 06:13:44 Michael Slusarz Comment #19 Reply to this comment

[Show Quoted Text - 9 lines]
I've removed the basic search from DIMP and replaced it with quick 
flag filtering.  the advanced screen is sufficient for more complex 
searches.
2009-09-29 19:44:29 Michael Slusarz Comment #18
State ⇒ Resolved
Reply to this comment
OR searching has been implemented.  This ticket is now resolved.
2009-09-17 17:24:56 Michael Slusarz Comment #15 Reply to this comment
11. Link advanced search inside dimp view
For purposes of this ticket, this is done.
12. Auto-upgrade virtual folders from IMP 4.x format (take old UI
array, convert it to new UI array, and pass this new array to
IMP_Search_UI::createQuery())
Done.



Remaining task is implementing OR searches.
2009-09-16 18:26:49 Michael Slusarz Comment #12 Reply to this comment
9. Implement 'SINCE' searches
Completed.
2009-09-16 06:05:34 Michael Slusarz Comment #10 Reply to this comment
11. Link advanced search inside dimp view
This is partially done - queries created via the search interface will 
correctly display in dimp.  Various display UI elements of search 
mailboxes in dimp still needs to be tweaked however.
2009-09-16 05:14:58 Michael Slusarz Comment #8 Reply to this comment
7. Document criteria UI data structure.
10. Implement custom header searches
Done.


2009-09-15 06:00:21 Michael Slusarz Comment #6
Version ⇒ Git master
Reply to this comment
5. Create an 'Advanced' search screen.  This screen will look similar
to the current search screen, except it will be AJAX-y.  Probably
drag/drop.  This search will be linked via the Horde_Menu search icon
in IMP, via the 'Advanced Search...' dropdown option in DIMP, and via
an 'Advanced Mode' link on the basic search screen.  Virtual Folders
can be created from this screen.
First draft done.  No drag/drop yet - it only becomes useful once we 
allow mixed AND/OR sorting.  Not linked in DIMP yet.
6. Optimize internal search storage a bit.  Namely, remove saving the
array of UI data and instead rebuild searches from the contents of the
query object itself.
Done. This still needs to be done via an IMP specific data structure 
rather than the query object, but this structure has been optimized 
for reduced memory/storage.



Additional TODOs:

7. Document criteria UI data structure.

8. Implement or searching (+ drag/drop)

9. Implement 'SINCE' searches

10. Implement custom header searches

11. Link advanced search inside dimp view

12. Auto-upgrade virtual folders from IMP 4.x format (take old UI 
array, convert it to new UI array, and pass this new array to 
IMP_Search_UI::createQuery())
2009-09-15 05:54:42 CVS Commit Comment #5 Reply to this comment
Changes have been made in Git for this ticket:

Request #6875: Improved advanced search query interface

  create mode 100644 imp/themes/graphics/calendar.png
  create mode 100644 imp/themes/silver/graphics/calendar.png
  create mode 100644 imp/themes/tango-blue/graphics/calendar.png
http://git.horde.org/diff.php/imp/docs/CHANGES?rt=horde-hatchery&r1=51147560278fa4243f3d3f1fc193b801c6a3e6a8&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/folders.php?rt=horde-hatchery&r1=3584c23312293bfae57881ef5241f9900f8758a1&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/js/search.js?rt=horde-hatchery&r1=342c9c84bd64728e7bb89092616407f773ba688a&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/lib/Search.php?rt=horde-hatchery&r1=cb1b0411da201d83ab0b127a9c2dd0a17442043c&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/lib/UI/Search.php?rt=horde-hatchery&r1=5fa1d924ecaba1a2217720fab3f38453903924f7&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/locale/en_US/help.xml?rt=horde-hatchery&r1=06d51f0a968ad6a0a7e6b72b6b911bd01e560e4c&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/mailbox.php?rt=horde-hatchery&r1=8b0784b43391a35f5e9c10ceb2e943bb56b88536&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/search-basic.php?rt=horde-hatchery&r1=0d65ce0deb9856532a442b3c95a43196ee01c7af&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/search.php?rt=horde-hatchery&r1=619cbf77c784a058a2242af443b927b2c0b8eefc&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/templates/javascript_defs.php?rt=horde-hatchery&r1=f3166e204427acadffb470eb436f625318a110f4&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/templates/search/search.html?rt=horde-hatchery&r1=86c1689104614bdea149d34ea6bc865d9167ccd9&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/graphics/calendar.png?rt=horde-hatchery&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/screen.css?rt=horde-hatchery&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/silver/graphics/calendar.png?rt=horde-hatchery&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/silver/screen.css?rt=horde-hatchery&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/co.php/imp/themes/tango-blue/graphics/calendar.png?rt=horde-hatchery&r=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
http://git.horde.org/diff.php/imp/themes/tango-blue/screen.css?rt=horde-hatchery&r1=0f24141743db7fbdfde83b456693dbea42724dc3&r2=1ebf9c48801f2b732c1d6ec28b1672cb694ee404
2009-08-25 05:26:08 Michael Slusarz Comment #4 Reply to this comment
4. Create a 'Basic' search screen.  This screen has a single input
for header searches, a single flag dropdown, and a single mailbox
search.  This search will be linked via the search icon in the
mailbox header in IMP and via the 'Basic Search...' dropdown option
in DIMP.  Additionally, this will be the only search available to
non-JS browsers (do they still exist?).  Virtual Folders can not be
created from this screen.
This has been completed.


2009-07-31 05:41:15 Michael Slusarz Comment #3
Assigned to Michael Slusarz
Reply to this comment
The plan (or at least my plan):

1. Add simple search support to MIMP (DONE).



2. Simplify quicksearch in DIMP by removing 2nd menubar with mailbox 
selectiono/search field selection. (DONE)  quicksearch searches the 
current mailbox only



3. Re-add ability to define the field to search using DIMP 
quicksearch, and make this selection sticky across sessions (DONE).



4. Create a 'Basic' search screen.  This screen has a single input for 
header searches, a single flag dropdown, and a single mailbox search.   
This search will be linked via the search icon in the mailbox header 
in IMP and via the 'Basic Search...' dropdown option in DIMP.   
Additionally, this will be the only search available to non-JS 
browsers (do they still exist?).  Virtual Folders can not be created 
from this screen.



5. Create an 'Advanced' search screen.  This screen will look similar 
to the current search screen, except it will be AJAX-y.  Probably 
drag/drop.  This search will be linked via the Horde_Menu search icon 
in IMP, via the 'Advanced Search...' dropdown option in DIMP, and via 
an 'Advanced Mode' link on the basic search screen.  Virtual Folders 
can be created from this screen.



6. Optimize internal search storage a bit.  Namely, remove saving the 
array of UI data and instead rebuild searches from the contents of the 
query object itself.
2009-04-07 22:50:03 Michael Slusarz Comment #2
Priority ⇒ 2. Medium
Reply to this comment
Bump priority. The search screen has to be rewritten for more than 
just UI purposes.  The underlying search object has been changed 
(Horde_Imap_Client_Search_Query) so the code should be refactored 
accordingly.  Additionally, the Select flag menu has been removed from 
the IMP mailbox screen because it is simply an inefficent and 
duplicative way of performing a search that should be instead done on 
the search screen.
2008-06-10 00:01:27 Michael Slusarz Comment #1
Type ⇒ Enhancement
State ⇒ Accepted
Priority ⇒ 1. Low
Summary ⇒ New Search GUI
Queue ⇒ IMP
Milestone ⇒ 5
Patch ⇒ No
Reply to this comment
Idea for new Search GUI:



I do not propose to allow arbitrary nesting/parentheses, as the GUI would

become very complex (drag and drop for some indention pops into my mind).

You pointed this out as well. However, if you have two fixed and,

therefore, only three logical operators, the GUI should not be too

complicated:



Search Criteria (O OR  X AND)

     Criteria 1

     Criteria 2

     Criteria 3



X  Match Criteria AND Flags

O  Match Criteria OR  Flags



Search Flags (O OR  X AND)

     Flag 1

     Flag 2

     Flag 3



(with O unselected and X default option)

Saved Queries