Rally Software

 View Only
  • 1.  Filtered Grid by milestone not working now

    Posted Jul 15, 2019 09:37 AM
    I started with a Filtered Grid Example and added the ability to filter by Milestone from a dropdown - so that I can track both US's and Defects that are expected for an upcoming milestone. The app used to work perfectly and now seems to be stuck pulling the milestones to populate the dropdown.

    <!DOCTYPE html><!DOCTYPE html>
    <html>
    <head>
        <title>Milestone Filtered Items</title>
        <script type="text/javascript" src="/apps/2.0/sdk.js"></script>
        <script type="text/javascript">
            Rally.onReady(function() {
                Ext.define('Rally.example.FilteredGrid', {
                    extend: 'Rally.app.App',
                    componentCls: 'app',
                                launch: function() {
                        this.add({
                            xtype: 'rallymilestonecombobox',
                            itemId: 'milestonesComboBox',
                            fieldLabel: 'Filter by Milestone:',
                            models: ['userstory','defect','portfolioItem/feature'],
                            field: 'Milestones',
                            listeners: {
                                select: this._onSelect,
                                ready: this._onLoad,
                                scope: this
                            }
                        });
                    },
                                _onLoad: function() {
                        this.add({
                            xtype: 'rallygrid',
                            columnCfgs: [
                            'Project',
                                'FormattedID',
                                'Name',
                                'ScheduleState',
                                'State',
                                'StoryType'
                            ],
                            enableEditing: false,
                            showRowActionsColumn: false,
                            context: this.getContext(),
                            storeConfig: {
                                models: ['userstory','defect','portfolioItem/feature'],
                                sorters: [
                                   {
                                   property: 'Project',
                                   direction: 'ASC'
                                   },
                                   {
                                   property: 'FormattedID',
                                   direction: 'DESC'
                                   }
                                ],
                                filters: [
                                      {
                                      property: 'Milestones',
                                      operator: '=',
                                      value: this.down('#milestonesComboBox').getValue()
                                      },
                                      {
                                      property: 'ScheduleState',
                                      operator: '!=',
                                      value: 'Accepted'
                                      }
                                ]
                            }
                        });
                    },
                                
                    _onSelect: function() {
                        var filter = null;
                        var grid = this.down('rallygrid'),
                            store = grid.getStore();
                                      store.clearFilter(true);
                        var filter = Ext.create('Rally.data.QueryFilter', {
                                property: 'Milestones',
                                operator: '=',
                                value: this.down('#milestonesComboBox').getValue()
                            });
                        filter = filter.and({
                                property: 'ScheduleState',
                                operator: '!=',
                                value: 'Accepted'
                            });
                        store.filter([filter]);
                    }
                });
                Rally.launchApp('Rally.example.FilteredGrid', {
                  name: 'Filtered Grid Example'
                });
            });
        </script>
        <style type="text/css">
        </style>
    </head>
    <body></body>
    </html>


    ------------------------------
    Benefitfocus.com, Inc
    ------------------------------


  • 2.  RE: Filtered Grid by milestone not working now

    Broadcom Employee
    Posted Jul 16, 2019 10:02 AM
    Hi Greg,

    I tested the code you provided. It's working fine, loading the milestones drop-down and seems to behave well. Did you try it in more than just one browser? 
    You may want to try in another browser. If working in another, then you may want to try deleting all cookies and cache in your original browser and see if that helps. Make sure to delete full history.

    If can't get it to work in any browser and the full history cache delete isn't helping, then please get us more details as to what is happening, perhaps a screenshot (we may need more).

    Let us know.

    Thanks,
    Sagi


  • 3.  RE: Filtered Grid by milestone not working now

    Posted Jul 16, 2019 12:15 PM
    Re-posting - not sure if my last made it
    Chrome Version 75.0.3770.142 (Official Build) (64-bit) on Mac takes > 1 min, and sometimes never loads.
    Firefox 8.0 (64-bit) on Mac takes 3 seconds
    Safari Version 12.1.1 (14607.2.6.1.1) on Mac takes about 1 minute, but does't hang

    Removing cache, cookies and history made Chrome take about 1 min, not seen it hang yet.

    Is this possibly related to the 2 Milestone app on a dashboard issue reported earlier? I'm running 2 copies of this app, the first is as described above, and the second uses "State != Closed" as the filter criteria.

    ------------------------------
    Benefitfocus.com, Inc
    ------------------------------



  • 4.  RE: Filtered Grid by milestone not working now

    Broadcom Employee
    Posted Jul 16, 2019 12:20 PM
    Hi Greg,

    The dashboards would load all its apps every time you enter the page, so the busier it is, the longer it will take to load. Considering you already suggest there are performance latency, then I'd recommend you try the app that is in question here (the one you posted that used to work and now is struggling) in a custom HTML page. You can set up the custom page to include just this one app and then run it in isolation. It shall give you more confidence with the benchmarks you're getting.

    Can you try that and let us know if in this mode it's working more consistently?

    Thanks,
    Sagi


  • 5.  RE: Filtered Grid by milestone not working now

    Posted Jul 16, 2019 12:46 PM
    It doesn't appear to be a contention thing, as a new dashboard with just 1 HTML app (the one posted and not the other or any other standard or HTML apps) still takes the same amount of time - a minute plus.

    ------------------------------
    Benefitfocus.com, Inc
    ------------------------------



  • 6.  RE: Filtered Grid by milestone not working now
    Best Answer

    Broadcom Employee
    Posted Jul 16, 2019 01:17 PM
    Thanks Greg.

    To be sure:
    Are you saying the data is loading up and the app is functional but only poorly performing for that the load it taking more than 1 min?  OR, are you saying the app is not loading at all and not functional?

    The original post suggested it's not working, but your recent elaborations suggest it's working but performing poorly. If performing, but poorly, is it just the grid load that's taking so long? is it happening with every selection on the drop-down or just the initial one?

    How are milestones performing for you outside this app, better or same?

    If this is going down a performing troubleshoot then I think it be best if you opened a support case, cause it's going to require bench-markings, perhaps a few runs etc...   I thought it was something that just didn't function, that's why now asking you to clarify, but if it's working, just poorly performing, then I'd start by examining milestones in general and see if you have a larger problem than just this app, then work with support.

    Sagi






  • 7.  RE: Filtered Grid by milestone not working now

    Posted Jul 16, 2019 01:30 PM
    The app takes 1+ minute for the dropdown to be populated with milestones to pick. Without the dropdown populated, there is nothing to render in the grid. Once the dropdown is populated, then the app functions normally and is very responsive.

    What's weird is that the dashboard is already milestone filtered (for other apps that can't or haven't been modified to filter by milestone internally) and the page milestone is populated immediately. When I tested this on the test page (single app, no milestone filtering) - the performance was the same within the app.
    Not sure if the page and app are using the same process to collect milestones.

    ------------------------------
    Benefitfocus.com, Inc
    ------------------------------