1

サーバー側のアプリ設定の作業を開始しましたが、共有アプリのデフォルトの仕組みは、プロジェクトの範囲全体でアプリの設定を保存することです。そのため、個人がアプリの設定を変更すると、それらの変更は将来のすべてのユーザーに反映されます。これは、私の特定のケースでは理想的な使用方法ではありません。カスタム HTML の個別のインスタンスを追加せずに、ユーザーごとに異なる設定を使用できるようにしたいと考えています。これはサーバー側の設定を使用して可能ですか? または、Cookie を使用して各ユーザーの設定を保存することを検討する必要がありますか?

注: アプリの設定範囲に関するドキュメント ( https://help.rallydev.com/apps/2.0rc1/doc/#!/guide/settings-section-define-scope ) を読みましたが、次のようには表示されません。 「ユーザー」はオプションですが。

ありがとう!

4

2 に答える 2

3

Conner さん、アプリのユーザー レベルの設定について適切な議論をしています。残念ながら、現在はサポートされていません。AppSettingsのsettingsScopeオプションは、アプリ、プロジェクト、またはワークスペースの値のみをサポートします。

ユーザーごとに (個々のダッシュボードなどに) アプリのインスタンスを作成することが、私が考える最良の代替手段です。しかし、あなたが言ったように、これはあなたにとって理想的ではありません.

于 2013-10-10T17:28:05.070 に答える
2

Rally サーバーに保存またはロードする前に、各設定値の先頭にユーザー ObjectID を追加することで、この問題を解決しました。ユーザー設定の set/get 関数のコードは次のとおりです。

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 に答える