Issue 77677

Summary: Implement Excel 2007 style multi-string value filter
Product: Calc Reporter: kyoshida
Component: codeAssignee: AOO issues mailing list <issues>
Status: ACCEPTED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues, kamataki, kami911, leiw, niklas.nebel, online, openoffice, pagalmes.lists, pescetti, thomas.benisch, weigel
Version: 680m211   
Target Milestone: 4.0.0   
Hardware: All   
OS: All   
URL: http://wiki.services.openoffice.org/wiki/Calc/Features/multi-selection_filter_extension
Issue Type: PATCH Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on: 110133, 27745, 35579, 100619    
Issue Blocks:    
Attachments:
Description Flags
patch for offapi module
none
patch for sc module
none
updated patch for sc module
none
This one is the right one. The previous patch doesn't build.
none
updated patch to use new UNO API instead of modifying existing API
none
forget the last patch. This one is the correct one.
none
set of patches none

Description kyoshida 2007-05-22 14:33:56 UTC
We need to implement the Excel 2007 style multi-string value filter in order to
import XLSX cleanly.

In Excel 2007, when you turn on autofilter, the autofilter list box shows a list
of values found in that column with a checkbox next to each value.  You can then
check only the items you want to show.

In the file format, this is given as a list of string items that need to be
displayed.

We need to a new filter of this type in Calc to correctly import this from XLSX.
 I have a draft implementation of this.  After cleaning it up a bit, I will
submit a patch.

Kohei
Comment 1 kyoshida 2007-05-23 01:21:40 UTC
adding jody.
Comment 2 kyoshida 2007-05-23 16:24:16 UTC
Created attachment 45351 [details]
patch for offapi module
Comment 3 kyoshida 2007-05-23 16:24:52 UTC
Created attachment 45352 [details]
patch for sc module
Comment 4 kyoshida 2007-05-23 16:28:59 UTC
This is just an internal, non-UI part of the implementation.  I propose we
integrate this first as part of the on-going OOXML importer, and the implement
the UI at a later time.

The patch should be easily applied in the xmlfilter02 CWS.

Kohei
Comment 5 daniel.rentz 2007-05-23 17:25:48 UTC
P1 is for build breakers ;-)
Comment 6 kyoshida 2007-05-24 20:13:43 UTC
Created attachment 45376 [details]
updated patch for sc module
Comment 7 kyoshida 2007-05-24 20:20:49 UTC
Created attachment 45377 [details]
This one is the right one.  The previous patch doesn't build.
Comment 8 niklas.nebel 2007-06-05 17:46:48 UTC
Apart from the subject of file format, published API structs can't be changed.
This would break existing components/programs that use the API.
Comment 9 kyoshida 2007-06-13 16:05:23 UTC
removing jody as I don't think he would appreciates more spam coming in his way. :-)
Comment 10 kyoshida 2007-06-15 20:48:41 UTC
Created attachment 45973 [details]
updated patch to use new UNO API instead of modifying existing API
Comment 11 kyoshida 2007-06-15 20:56:24 UTC
Created attachment 45974 [details]
forget the last patch.  This one is the correct one.
Comment 12 kyoshida 2007-06-15 21:35:04 UTC
This new patch implements the same functionality as the original patch, but uses
new UNO API instead of modifying an existing, published API.

One note.  Two new UNO APIs provided in this patch (TableMultiStringFilterField
and XExtendedSheetFilterDescriptor) are meant to be *un*-published.  But because
I could not compile SheetFilterDescriptor.idl without making them published, I
had to mark them "published".

It is likely that the XExtendedSheetFilterDescriptor interface to be further
extended in future, as we introduce a new filter type, it is important that this
interface will stay unpublished (if that's even possible).  Also, because I had
to import filters of different types, I designed XExtendedSheetFilterDescriptor
interface to follow SQL transactional style API, where you call begin() to
initiate transactions and commit() to commit all filter items when done.
Comment 13 kyoshida 2007-07-19 19:04:29 UTC
Created attachment 46924 [details]
set of patches
Comment 14 kyoshida 2007-07-19 19:10:04 UTC
I've justed posted the latest set of patches for this functionality.

It implements proper import and export of the extra multi-string type filter
adhering to the change proposed (and later accepted) to the ODF v1.2[1].

Since this work is becoming a little too large to be contained in patch form, I
will soon create a CWS for this.  But I'd like us to discuss and agree upon the
UNO API that this functionality will introduce before going further.

[1]
http://wiki.oasis-open.org/office/OpenDocument_v1.2_Action_Items#head-4854119a1f3d7df4f22fc453bb50e8c6e5b0acd7
Comment 15 kyoshida 2007-07-19 19:24:46 UTC
>I will soon create a CWS for this.

The better strategy would be to put this change into xmlfilter02, since the
OOXML importer code is written with this change in mind.  This code is in good
shape, and ready to be committed (some testing is of course needed).  Since the
UI part is not implemented, we don't need to be concerned about the
specification or feature mail.  That will be handled at a later time.

Please advise.
Comment 16 kyoshida 2007-08-14 03:24:16 UTC
I have created autofilter01 CWS to implement this further.  So far, the draft
UNO API has been implemented (not complete yet), and the ODF import filter has
been modified to allow importing this new multi-selection filter items.

autofilter01 CWS information
http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fautofilter01

My plan is to finish up the UNO API, the ODF import/export, then work on the UI.
Comment 17 kyoshida 2007-08-14 03:25:16 UTC
I'm taking this issue.
Comment 18 kyoshida 2007-08-14 03:25:35 UTC
started
Comment 20 thomas.benisch 2007-12-19 09:43:57 UTC
cc tbe
Comment 21 sucotronic 2009-04-07 16:36:49 UTC
I don't understand if this issue refers to this functionality:
http://h30187.www3.hp.com/tutorials/viewHowTo/p/courseId/14171/Microsoft_Excel_2007_filter_data.htm

But if it is... why is it stalled? It's very useful when working with a lot of
data. 
Comment 22 kyoshida 2009-04-07 16:52:43 UTC
>why is it stalled?

Well, my initial idea was to wait for Issue 35579 to be resolved & change
integrated since the two features touch on the same parts of Calc's code.  I
made that decision two years ago.

But Issue 35579 has been taking a lot longer than I had anticipated, and it's
not integrated yet even today....  That's the reason for stall.
Comment 23 sucotronic 2009-04-07 17:15:58 UTC
Thanks for the update  kohei. Perhaps it will be helpful to contact maoyg to
know what is the status of the actual patch, or when she plan to have a final
version.
Comment 24 thomas.benisch 2009-04-08 08:47:13 UTC
I will review the patch for issue 35579 after my Easter vacation.
The patch is quite large and had a lot of reviews in the past, but I hope to get
this feature integrated in the near future.
Comment 25 kyoshida 2009-04-08 15:19:53 UTC
@tbe: thank you for volunteering that.  Just to make sure one thing, I didn't
mean to finger-point anybody for the delay.  It sometimes happens; people get
busy and some things get pushed aside and be forgotten...
Comment 26 sucotronic 2009-04-09 08:59:06 UTC
kohei -> also thanks to you  :D
Comment 27 sucotronic 2009-06-17 16:01:56 UTC
At least issue 35579 has been fixed!!! Thanks tbe!!
Now, what is the next step?  wait for the integration with the main tree?
(Sorry for being impatient, but for me is a very exciting feature)
Comment 28 thomas.benisch 2009-06-17 16:34:37 UTC
sucotronic: In principal you have to thank gaozm, lvyue and maoyg. I did only
the review.
Even if you're impatient, if you don't want to build an OOo version yourself,
you have to
wait until this childworkspace is integrated in the master.
Comment 29 kyoshida 2009-06-18 17:18:12 UTC
We need to re-use the new DataPilot filter popup window for this, hence the
dependency.
Comment 30 kyoshida 2009-12-01 13:35:53 UTC
*** Issue 107351 has been marked as a duplicate of this issue. ***
Comment 31 Stefan Weigel 2010-03-15 12:50:16 UTC
By resolving this one, please consider resolution of issue #110133.
Comment 32 Rob Weir 2013-03-11 15:00:12 UTC
I'm adding this comment to all open issues with Issue Type == PATCH.  We have 220 such issues, many of them quite old.  I apologize for that.  

We need your help in prioritizing which patches should be integrated into our next release, Apache OpenOffice 4.0.

If you have submitted a patch and think it is applicable for AOO 4.0, please respond with a comment to let us know.

On the other hand, if the patch is no longer relevant, please let us know that as well.

If you have any general questions or want to discuss this further, please send a note to our dev mailing list:  dev@openoffice.apache.org

Thanks!

-Rob
Comment 33 Rob Weir 2013-07-30 02:42:01 UTC
Reset assignee on issues not touched by assignee in more than 1000 days.
Comment 34 online 2013-09-01 11:21:05 UTC
This issues is running for 6! years and even while patch was almost ready, it is being ignored.

feature was long added is essential to be able to use Excel Work Flows and was also long added to LO.

If a document structure is designed with this feature in mind, it lack in makes user productivity drop in a major way causing user to routinely reject AOO as viable alternative.

Please consider raising the priority. While it was "nice to have" in 2007, by prevalence of 2007+ Office these days as well as inclusion in LO 3.5+ it has become essential in 2013.