1

パネル同士のコミュニケーションの方法を考え出されていることは承知しています。それまでは、好みのオブジェクトを使って基本的なコミュニケーションができると思っていました。

しかし、アプリが存在するダッシュボードの一意の ID を見つけるにはどうすればよいでしょうか?

設定オブジェクトを介して情報を共有するよりも良い解決策があるかもしれない場合に備えて、解決したい特定の問題について説明しましょう: プロジェクト構造内の特定のプロジェクトは、「メトリクス ダッシュボード」を表示したい「プログラム」を表しています。そのダッシュボードは、共有ダッシュボード上の複数のアプリで構成されます。しかし、プログラムはラリープロジェクトの階層の中で一貫したレベルにあるわけではなく、多くのラリープロジェクトを抱えているにもかかわらず、プログラムは 4 つほどしかありません。

このため、このコード メトリクス ダッシュボードを Rally の 1 つのページにして、さまざまなプログラムを簡単に切り替えることができるようにしたいと考えています。プロジェクト階層を使用してこれを行うことは避けたいと思います。なぜなら、私たちは多くのプロジェクトを抱えており、プログラムを見つけて選択するのに時間がかかり、扱いにくいからです。

4

1 に答える 1

2

サンプルをハッキングして、2 つのパネル間でイベントを渡すことができるアプリの例を作成しました。これは現時点ではサポートされておらず、いつでも警告なしに中断する権利を留保します。

そうは言っても、アプリ ID を取得するための現在サポートされていない方法を確認できます。このアプリのコピーを 2 つ作成すると、グローバル Rally メッセージ バスで通信するアプリの結果をコンソールで確認できます。

ここでその要点を見つけることができます

<!DOCTYPE html>
<html>
<head>
    <title>My Custom App</title>

    <!--Include SDK-->
    <script type="text/javascript" src="/apps/2.0p/sdk.js"></script>

    <!--App code-->
    <script type="text/javascript">

        Rally.onReady(function() {

            Ext.define('CustomApp', {
                extend: 'Rally.app.App',
                componentCls: 'app',
                mixins:['Rally.Messageable'],
                launch: function() {
                    var brokenInTheFutureIdThatWillWorkForNow =   Ext.Object.fromQueryString(window.location.href);
                    window.parent.Rally.Messages.subscribe("test",function(){console.error(brokenInTheFutureIdThatWillWorkForNow.panelOid,arguments);});
                    window.parent.Rally.Messages.publish("test",brokenInTheFutureIdThatWillWorkForNow.panelOid);
                    //Write app code here
                }
            });

            Rally.launchApp('CustomApp', {
                name: 'My Custom App'
            });

        });

    </script>

    <!--App styles-->
    <style type="text/css">

        .app {
            /* Add app styles here */
        }

    </style>

</head>
<body class="myApp">
</body>
</html>
于 2012-05-31T21:35:01.213 に答える