建立一个“功能 - 故事映射与发布作为泳道” - 如何处理发布?

时间:2016-04-17 15:39:49

标签: rally

我想建立一个应用程序显示跟随板。sample board

所以我创建了一个自定义的html应用程序,这里列出了源代码。

<!DOCTYPE html>
<html>
<head>
    <title>StoryMap</title>

    <script type="text/javascript" src="/apps/2.0/sdk-debug.js"></script>

    <script type="text/javascript">
        Rally.onReady(function () {
                Ext.define('mycardcolumnheader', {
    extend:  Rally.ui.cardboard.ColumnHeader,
    alias: 'widget.mycardcolumnheader',

});

Ext.define('CustomApp', {
    extend: 'Rally.app.App',
    componentCls: 'app',
    launch: function() {

        //Fetch tree of items
    //  a) starting from item type in picker
    //  b) subject to a filter

    //The number of columns is related to the number of lowest level PI type items that are found
    //The header must show the top level (from the picker) and all the children
    //The user stories are shown in a vertical line below
    //Might want to introduce the concept of timebox in the vertical direction (for user stories)
    //The cards for the PIs should show the progress bars

    var ch = Ext.create( 'Ext.Container', {
    });

    var dTab = Ext.create('Ext.Container', {
         items: [{
             xtype: 'rallycardboard',
             types: ['HierarchicalRequirement'],
//             columnConfig: { xtype: 'mycardcolumn', displayField: 'feat', valueField: 'fest' },
//             attribute: 'ScheduleState'
            attribute: 'Feature',
            rowConfig: { field: 'Release', sortDirection: 'ASC' },
            enableDragAndDrop: true
         }]
      });

    this.add(dTab);

    }
});


            Rally.launchApp('CustomApp', {
                name:"StoryMap",
           parentRepos:""
            });

        });
    </script>



    <style type="text/css">
        .app {
  /* Add app styles here */
}

    </style>
</head>
<body>
</body>
</html>

它与我想要的非常相似,但仍然有一个小bug,我不知道如何解决它。错误是如果我选择父项目,董事会将在多个泳道中显示相同的版本。这是一个例子。 real case example

这可能是因为每个Rally项目都有自己的版本,并且应用程序不够智能,无法识别它们在逻辑上都是相同的版本。
如果在父项目级别创建版本1并将版本级联到子项目,则Rally实际上为每个项目创建3个版本... 1。我们的应用程序碰巧知道如果版本名称,开始日期和结束日期匹配,则应将它们视为单个版本。看来应用程序中没有包含此逻辑。

但是如何解决呢?谁有人可以看看?

1 个答案:

答案 0 :(得分:0)

这是一种预期的行为,主要是因为我们从来没有把董事会的能力建立在&#34;桶&#34;类似的东西会释放到它的行或列中。

您可能需要覆盖Rally.ui.cardboard.row.Row上的isMatchingRecord方法以便能够存储行:

 //add this at the top of your app
 Ext.define('Rally.ui.cardboard.row.RowFix', {
     override: 'Rally.ui.cardboard.row.Row',

     isMatchingRecord: function(record) {
         return this.callParent(arguments) ||
             this.getValue().Name === (record.get('Release') && record.get('Release').Name);
    }
 });