[jira] [Updated] (OFBIZ-6427) Implement FindService record grouping/summarization functionality
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)