Hello Alll,
Using this approach, I was able to get master mashup on top but Left side menu bar is not visible, please refer attached snapshot.
Use Case: I have a custom page, where on click of a button I want to Navigate Alarm Events page (under Operations, main menu). I need the consistent navigation.
Please let me know if there is any workaround to have side navigation as well.
Solved! Go to Solution.
Hi Javed
I will udpate the other post with the missing piece once we finally finish making it work. I did some debugging and I'm writing some notes here, I'm currently still in the debugging process.
The top-left "squares" button still appears, and it does bring you back to the main menu. So you should still have access to the menu functionality, but I understand that it can be less appealing than the left panel.
First, how it works in the "normal" way : the menu is in Mashup PTC.FSU.COREUI.MenuConfiguration.MasterContainer_MU, it gets the menu items from service PTC.FSU.CORE.MenuConfiguration.Utils_TG.GetMenuConfigurationSideMenu_MNC, using parameter SolutionName which in this case is "AMU" (and Enabled is set to true).
The process is similar with the custom navigation method : the menu is inside Mashup PTC.FSU.COREUI.MenuConfiguration.ExternalAccessContainer_MU and it should call the same service. The SolutionName parameter comes from a Mashup parameter, so in the Navigation function (when we click on the button), we would need to add the name, in this case it's "AMU". I would need to add this to my solution in the other post. This should work... except it doesn't and I don't know why yet. For a reason I haven't figured out yet, the SolutionName gets removed, even if we set it in the Navigation :
And because the SolutionName is empty, it doesn't get the menu. Note about this : in the Mashup, the service is called on a Validator condition : The GetSideMenuTrigger Validator says that if there is a solution name then it calls the menu service, otherwise it doesn't.
I'll try to reach a more knowledgeable team to see if they can help me with this. But they are very busy this week so it may take longer.
Hi Javed
I will udpate the other post with the missing piece once we finally finish making it work. I did some debugging and I'm writing some notes here, I'm currently still in the debugging process.
The top-left "squares" button still appears, and it does bring you back to the main menu. So you should still have access to the menu functionality, but I understand that it can be less appealing than the left panel.
First, how it works in the "normal" way : the menu is in Mashup PTC.FSU.COREUI.MenuConfiguration.MasterContainer_MU, it gets the menu items from service PTC.FSU.CORE.MenuConfiguration.Utils_TG.GetMenuConfigurationSideMenu_MNC, using parameter SolutionName which in this case is "AMU" (and Enabled is set to true).
The process is similar with the custom navigation method : the menu is inside Mashup PTC.FSU.COREUI.MenuConfiguration.ExternalAccessContainer_MU and it should call the same service. The SolutionName parameter comes from a Mashup parameter, so in the Navigation function (when we click on the button), we would need to add the name, in this case it's "AMU". I would need to add this to my solution in the other post. This should work... except it doesn't and I don't know why yet. For a reason I haven't figured out yet, the SolutionName gets removed, even if we set it in the Navigation :
And because the SolutionName is empty, it doesn't get the menu. Note about this : in the Mashup, the service is called on a Validator condition : The GetSideMenuTrigger Validator says that if there is a solution name then it calls the menu service, otherwise it doesn't.
I'll try to reach a more knowledgeable team to see if they can help me with this. But they are very busy this week so it may take longer.
Thanks @mstarnaud for detailed explanation, it helps in understanding the flow.
I will wait for your final input, meanwhile I will try at my end as well.
The people I reached to, who are more experienced than me in making custom Mashups, have told me that they use the same method as us and run into the same issue of the missing left menu panel. But they ignore the issue, as the top panel is present and the menu is accessible by using the button at the top-left.
I have raised this issue to the software team : PSPT-79894. I will try to update this if/when this gets fixed.
Thanks @mstarnaud for information, however there is one more issue with the navigation.
If we redirect to Alarm page using custom navigation and select top menu to navigate to other pages (such as AMU page), and try to reload the page, it redirects to Alarm page instead of Landing page (which is default behavior in application). Refer the URLs below:
1. Landing Page:
<host>/Thingworx/Runtime/index.html#master=PTC.FSU.COREUI.MenuConfiguration.MasterContainer_MS
&mashup=PTC.FSU.COREUI.MenuConfiguration.MasterContainer_EP
2. Navigate to Alarm Page:
<host>/Thingworx/Runtime/index.html#mashup=PTC.FSU.COREUI.MenuConfiguration.ExternalAccessContainer_MU
&MashupName=PTC.FSU.COREUI.Alarm.Events_EP&SelectedMenuName=Operations&EquipmentIsActive
=false&__nc=4b4b59ec-1e80-4192-83f7-d88c835d05ea
3. Navigate to AMU page and Page reload, it again redirects to Alarm page as earlier:
<host>/Thingworx/Runtime/index.html#master=PTC.FSU.COREUI.MenuConfiguration.MasterContainer_MS
&mashup=PTC.FSU.COREUI.MenuConfiguration.ExternalAccessContainer_MU
&MashupName=PTC.FSU.COREUI.Alarm.Events_EP&SelectedMenuName=Operations&EquipmentIsActive
=false&__applyThemeName=PTC.SCA.SCO.MnfgCommonGlobalUITheme
Also, I can observe some difference in URLs of 2 & 3, in 2, Master Mashup is not there, in 3 &mashup and &MashupName two parameter seems conflicting, not sure, just highlighting.
Yes, this is also a known issue with custom navigation. When we refresh it goes to the last saved URL and normally we don't change the URL so it goes back to the main menu, but for this custom navigation we do change the URL so that's the new Mashup that it remembers. The same situation happens with a few actions in the original system, for example if we go in the Asset Monitoring Dashboard and click on the asset card's button to open Troubleshooter and then do some actions and refresh, it will go back to Troubleshooter with the data pre-selected (also this screen doesn't even have the top menu).
I will mention it to the software team, but I really doubt this part would be "fixed". This seems like the intended behaviour to me.
Thank you for the insights!