[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-05-28 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Issue Type: Improvement  (was: Bug)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-01 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: OFBIZ-6427_poc.patch

This patch is still a work in process and provided as a proof of concept.  As 
of right now the grouping functionality is only supported for TextFindFields 
and needs to be extended to the other find fields including drop downs which 
are the only find type field that may not be used as find so the xsd should 
probably be extended to indicate when a dropdown should be used as a find field 
or not.

The patch adds the multi sort functionality of OFBIZ-6428 upon which the 
grouping is dependent.  OFBIZ-6428 may be patched separately and extracted from 
this patch.

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427_poc.patch
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-01 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: screen2.png
screen1.png

Attached are some screenshots of the POC patch.

Multi-sort capability was provided with sort sequence dropdown where lowest 
number indicates first sort.  A sort direction dropdown was also provided with 
the sort sequence which is ascending by default.  If a sort sequence isn't 
chosen then the field is ignored.

If a sort sequence is chosen then it activates the group checking 
functionality.  Fields are set to be grouped with the group style dropdown and 
"group-row" is the only 1 available so far.  

Group functions are listed as table rows at the end of each find field row and 
have sequence dropdowns that activate the group function and specify the order 
in which they should appear in the group's summary field.  Function expression 
text boxes are provided for each group function sequence dropdowns so that 
end-users can control what appears for each specific grouping function.  By the 
expression text is " ${functionValue}".  ${functionValue} is 
replaced with whatever is calculated during the find service.

Right now the grouping functionality is integrated into 
FindServices.performFindList but may be provided as a separate function.

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427_poc.patch, screen1.png, screen2.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-01 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: (was: OFBIZ-6427_poc.patch)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: screen1.png, screen2.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-01 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: OFBIZ-6427_poc.patch

Resubmitting patch because it was missing the theme and widget enhancements.  
Hopefully I'm not too out-of-sync with the trunk that the patch can't be easily 
applied and tested.

Again, this is a starting point and still needs a decent amount of work.  I'm 
not sure it its worthy of a separate branch while being developed.

Any feedback is appreciated.

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427_poc.patch, screen1.png, screen2.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: (was: OFBIZ-6427_poc.patch)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: screen2.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: (was: screen1.png)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: screen2.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: (was: screen2.png)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: OFBIZ-6427.patch

This patch enhances the last.  All find field types are now support by 
extending FieldInfo to handle sort/group functionality.  A interface or 
abstract class like FindField was considered to eliminate sort/group 
functionality code redundancy for all find fields but found too difficult to 
implement with the existing framework so FieldInfo was used as the simplest 
solution.  

 was also enhanced to support "find-sort" for showing sort 
fields and "find-sort-group" for showing sort and group fields as extensions of 
default-field-type="find".

SubmitField was also enhanced to support a showDetails drop down to control the 
display of group details for group rows.

There is still more to be done but it seems more than 1/2 complete now with 
much of the most difficult logic in place.  Remaining enhancements include 
supporting , cleaning up the UI now that it gets extremely 
cluttered with all sort and group fields displayed, and replacing the hard 
coded English with uiLabelMap translations.

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427.patch
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: Screenshot3.png
Screenshot2.png
Screenshot1.png

These new screen shots demonstrate how it is used.

Screenshot1 shows that orderId sortSeq is set to 0 and group style set to 
"group-row".

Screenshot2 shows that the quantity field has group functions set:
sum sequence is set to 0 and the default expression value that will appear in 
the group row or the field.  Avg is also set but not scrolled to view.

Screenshot3 shows the showDetails button that is now supported for SubmitButton 
and the results of the performFindList sort/group functionality.

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427.patch, Screenshot1.png, Screenshot2.png, 
> Screenshot3.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: OFBIZ-6427-testforms.txt

The testforms attachement is the widget form definitions on which the 
screenshots are based.  

Notice:
* FindOrderItem  default-field-type="find-sort-group".
* FindOrderItem submit hide-show-details="false"
* ListOrderItem list-name="groupedList"
* ListOrderItem override-list-size="true" - this is a hack for performFindList 
to allow the list to be paged greater than page 0
* ListOrderItem performFindList result-list-map="groupedList"

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427-testforms.txt, OFBIZ-6427.patch, 
> Screenshot1.png, Screenshot2.png, Screenshot3.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: OFBIZ-6427-testforms.txt

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427-testforms.txt, OFBIZ-6427.patch, 
> Screenshot1.png, Screenshot2.png, Screenshot3.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality

2015-06-04 Thread Christian Carlow (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Carlow updated OFBIZ-6427:

Attachment: (was: OFBIZ-6427-testforms.txt)

> Implement FindService record grouping/summarization functionality
> -
>
> Key: OFBIZ-6427
> URL: https://issues.apache.org/jira/browse/OFBIZ-6427
> Project: OFBiz
>  Issue Type: Improvement
>  Components: framework
>Affects Versions: Trunk
>Reporter: Christian Carlow
> Attachments: OFBIZ-6427-testforms.txt, OFBIZ-6427.patch, 
> Screenshot1.png, Screenshot2.png, Screenshot3.png
>
>
> Just as sortSeq and sortDir will be added to find fields like ignoreCase is 
> available, groupBy check box would also enhance user query capabilities.  
> FindService would have to be extended to process the list and create 
> group/summary records.
> For example, if a grid/form lists customer orders and the user wants to 
> determine the total quantity and price of products ordered between a date 
> range, then check marking the groupBy for productId would insert a grouping 
> record before the details containing totals.
> This issue is primarily meant to handle reports for which pagination isn't 
> used because all records are displayed.  For these reports queries, group 
> totals can simply be calculated by looping each detail record.  But if 
> pagination is used, the method of calculating totals for grouping records 
> becomes more complicated because if detail records exist outside of the 
> current page but are part of a group being summarized then they will be 
> excluded from the group total unless implemented some other way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)