Changing the Session.custom.prop value using URL Parameter

Hello there,

Scene:

I’ve a dropdown placed at docked header and bind to session.custom.prop (bidirectional). The session.custom.prop is indirectly linked with the tagPath.

Dropdown at docked header —> session.custom.prop —> TagPath.

This is basically the equipment name, so if I select EQP1 at dropdown, session.custom.prop gets EQP1 string and it fetched required data from the tag folder called EQP1. Similarly even if I type directly in the session.custom.prop, say EQP2, it’d automatically change the dropdown.prop.value and point to tags under EQP2.
Hope the scene is clear now.

Requirement:

What I want to do is change the session.custom.prop based on URL value. So I’ll be having a URL say /data1/operator/EQP5 for one session then data1/operator/EQP6 for another session. I’d like to pass that EQPX into the session.custom.prop. Is it possible to do so?

Please let me know the approach. Thanks in advance.

Ignition version. 8.1
Windows 10
Perspective Module

Please read up on the documentation. Essentially, whatever page you are navigating to will need a param configured to receive this value, by specifying the value in the configured URL (/data1/operator/tagPath). The View used for the page should receive a param of the same name (view.param.tagPath). I recommend making this param an in/out param, and then binding the param to the session property.

Please note that full tag paths should be url encoded, otherwise the slashes and square brackets can break the URL. Likewise, you might need to decode the param value. In general, I don’t recommend passing tag paths as part of a url.

Yes I am not passing entire TagPath through URL either. I have multiple equipment UDT tags with each of its name. So when I am passing data1/operator/EQP5, EQP5 is the name of my UDT instance for Equipment 5 and all pages for that session will be pointed at EQP5 tags.

Okay when you are saying make the view parameter in/out, considering my URL parameter is called eqpName and view configured with same name in/out param, please confirm below path:

URL ( data1/operator/EQP5) → viewParam.eqpName (IN: EQP5) session.prop.custom.eqpName (viewParams.eqpName OUT: EQP5) Drop down present at docked header which is linked bi-directionally to session.prop.custom.eqpName (session: EQP5)

Assuming this is how it will work; I have one query in that. As my view.params.eqpName is now in/out and linked with session.props.custom.eqpName, would the session property update when I change eqp from the dropdown located at header? I believe it won’t and I may have to do system.perspective.navigate(modified URL) , but please confirm.

So you want to change the equipment in the dropdown but the url will still stay the same?
That doesnt seems like a good idea, you should trigger a navigate when that dropdown gets a new value

Yep that’s how I’ve implemented it right now. I was just curious on input/output property behavior.