2012-02-15 35 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