2012-02-15 72 views
1

我一直在寻找使用拉力赛API来创建一个应用程序,根据特定的标准做一些简单的自动排名故事(在/请求帮助一对夫妇我们的产品所有者)在拖放工作区中拖动&。使用拉力赛API重新排列多个故事

我通过调整故事序列的“Rank”属性(我确保将排名值保持在与自动重新排序之前相同的整体最小/最大范围内)。我打电话给API来逐个更新每个故事的级别(快速连续)。

测试应用程序时,我发现有时在运行自动排名应用程序后,某些屏幕(如看板板)会告诉我“手动排名工作区禁用拖放重新排名”(和看板将不再让我拖动&,尽管其他屏幕如积压仍然会让我拖动&,并且工作区设置仍然设置为拖动&拖放)。删除故事,或在积压屏幕上重新排序它们会使事情恢复正常。

在试图解决这个问题的几个想法之后,我想如果我正在快速连续地更新许多故事的等级,后端可能会与这些(可能是多个/并发)请求混淆。在每个故事的API调用之间引入延迟似乎可以避免这个问题,并且为了加快速度,只有在前一个故事的等级更新调用了“updateComplete”函数之后,我才会在API中更新故事的等级。

基于后端排名,上面最后一段中的假设是否有意义?是否有任何Javascript API调用一次更新多个故事? (否则我很高兴在先前的API“等级更新”调用返回OK后才调用API“更新等级”的解决方案)。

回答

1

这听起来像你发现后端排名可能存在的问题。你得到的警告源于董事会试图找出你所处的工作空间类型(手动或排名)。由于该设置目前无法通过WSAPI获得,因此该董事会试图根据其数据找出它,有时会出错。

目前没有完全支持/记录的方式来通过WSAPI调整项目的等级。 App SDK中的Card Board组件在更新调用期间使用特殊的rankAbove和rankBelow查询字符串参数(您可以在Firebug或Chrome开发工具中看到这些参数)。

您目前如何设定等级值?

+0

有趣。从JS,我只是在做rallyDataSource.update({“_ ref”:item._ref,“Rank”:newRank},onUpdateComplete,onUpdateError); – user1141827 2012-02-16 18:35:07

+0

为了跟上这一点,我也成功地使用了这种技术很长一段时间,从ruby应用程序per'item.update(:rank => newRank);' (尽管这款ruby app在任何时候都只改变了1个故事的等级,而不是我的新JS应用,改变了多个故事的等级):我有一个模糊的回忆,很久以前,等级字段(根据API文档)可能会已被定义为只读,但我不确定长期以来如何。 – user1141827 2012-02-16 18:55:10