1

我已经开始使用服务器端应用程序设置,共享应用程序的默认机制似乎是在整个项目范围内保存应用程序设置;因此,如果个人对应用程序设置进行了更改,这些更改将反映给所有未来的用户。在我的具体情况下,这不是理想的用途。如果我可以为每个用户设置不同的设置,而不是每个用户都添加我的自定义 HTML 的单独实例,我会很高兴。这是否可以使用服务器端设置,还是我需要考虑使用 cookie 来保存每个用户的设置?

注意:我已阅读有关应用程序设置范围的文档(https://help.rallydev.com/apps/2.0rc1/doc/#!/guide/settings-section-define-scope),但它没有显示为虽然“用户”是一个选项。

谢谢!

4

2 回答 2

3

Conner,您为应用程序的用户级设置提出了很好的论据。不幸的是,我们目前不支持。AppSettings 中的settingsScope选项仅支持值 app、project 或 workspace。

为每个用户创建应用程序实例(例如在他们的个人仪表板上)是我能想到的最佳选择。但正如你所提到的,这对你来说并不理想。

于 2013-10-10T17:28:05.070 回答
2

我通过在从 Rally 服务器保存或加载每个设置值之前将用户 ObjectID 附加到每个设置值来解决了这个问题。这是我的用户设置设置/获取功能的代码:

setUserSetting : function(settingName, settingValue, callback) {
    var settings = {};
    settings[App.getContext().getUser().ObjectID + settingName] = settingValue;
    App.updateSettingsValues({
        settings : settings,
        success  : function() {
            App.setSettings(Ext.Object.merge(App.getSettings(), settings));
            callback();
        }
    });
},

getUserSetting : function(settingName) {
    return App.getSetting(App.getContext().getUser().ObjectID + settingName);
}

顺便说一句,我必须以我的方式保存设置似乎有点奇怪。“updateSettingsValues”函数设置应用程序下一次加载时的设置,“setSettings”函数设置应用程序当前运行时的设置。这是一种奇怪的方式,但它确实有效。

于 2013-10-10T17:38:35.637 回答