Confused about Quick Start navigation scheme

I’m trying to follow the logic in the navigations scheme for the “Ignition-101” page of the Quick Start project. I’m missing something, and I’m sure its simple.

The navigation section view is located at:


This view has an Accordion object that hosts 2 views: one for “Perspective Features” and one for “Application”. These views are located at:


Each view contains a MenuTree, and each MenuTree contains a list of items that point to various views that are meant to be displayed. EG the “Bindings” item of the MenuTree in the Perspective-Features view has a target of:


I thought this should point to the “bindings” view that contains the content describing bindings in ignition. But it doesn’t. The actual content is located at:


The content of the page itself is displayed via the view located at:


This view contains an embedded view called “mainView” whose contents is loaded from a path that is formulated from two parameters on the landing-page view:

"ignition-101/feature-views/" + {view.params.folder} + "/" + {view.params.featureView}

So in order to display the content from the “bindings” view, these parameters would need to be set as:


Resulting in the path that matches the actual location of the content:


But this is where I am confused. How does clicking on the menu item populate the parameters on the mainView object? I can’t seem to find the missing link between the two components.

And what is the relationship between the target in the MenuTree item and the actual path to the content?

I haven’t looked at the 101 project, but it’s not using a message handler is it?

I have seen message passing[1] in one of the other examples in the same project. But in that case I saw an obvious message generation in a button click event performing a “send message” call. I also could trace the message to the recipient. In this particular case I haven’t been able to see any obvious mechanism.

[1] Even though I did trace the origin and recipient of that message, I’m still confused about how the actual system worked. Personally I think it would be great to have a matching design document that explains things like the navigation process, because there is no direct, explicit linear path from click A to display B. And having access to the source doesn’t help if you don’t know which particular rock you should be looking under on a beach full of rocks, and even what you should be looking for when you turn over a rock. Let alone that there are rocks under other rocks, and that them themselves are also under even more rocks.

Answering my own question because I just realized the missing piece.

What I was missing was that in the Perspective project Page Configuration was this entry:


When the user clicks on the MenuTree item, the Perspective system takes the Target from the MenuTree and maps it into the above page configuration.


This mapping does an effective URL re-write by splitting on the “/” and applying the parts as:

"ignition-101" => /ignition-101/landing-page [target view object]
"perspective-features" => folder="perspective-features" [folder parameter on landing-page view object]
"bindings" => featureView="bindings" [featureView parameter on landing-page view object]

With the parameters now filled out, this loads the content from the expected location. It all makes sense now!