I realize you are coming up with a way for panels to communicate. Until that time, I was thinking I could get some basic communication going with a preference object.
But how do I find a unique ID for the dashboard where an app resides?
In case there might be a better solution than sharing info via a preference object, let me describe the specific problem we want to solve: Certain projects within our project structure represent “programs” for which we want to display a “metrics dashboard”– that dashboard would consist of multiple apps on a shared dashboard. But programs are not at consistent levels in the rally project hierarchy, and we only have about four programs though we have many many rally projects.
Because of this, I’d like this code metrics dashboard to be one page in Rally, which can easily switch between the various programs we have. I would prefer not to use the project hierarchy to do this, because we have a lot of projects, and its time consuming and tricky to find and select the programs.
I hacked at the sample to create an example of an app that can pass events between two panels.
This is very unsupported at this time and we reserve the right to break it whenever we want without any warning.
That being said you can see the current unsupported way to get an Apps ID and if you make two copies of this App you can see in your console the results of the Apps communicating on the global Rally message bus.
You can find the gist of it here