Perspective Menu Icon in Bottom Right

Hello,

I have a project, using Ignition 8 Perspective Browser, that runs on Google Chrome Bits on TVs approx. 20 feet in the air without any user interaction.

The project cycles through a set of display screens provided by a database to the Carousel component, and is solely just for visibility, there is no interactions that happen between a user and these displays.

The problem I am having is the small menu arrow in the bottom right hand corner of the screen when in a Perspective Browser client. Is there a way to hide this arrow or disable it?

Currently it is just a bit of an eyesore on these screens, since the functionality is not able to be used.

Thanks for any help!

1 Like

Try adding CSS of display:None; for the class: “app-bar bar-closed”

2 Likes

Note: this is unsupported and discouraged.

Is there a supported method?

1 Like

No, because it's not designed to be removed:

Basically, you've discovered a workaround, and we can't stop you from doing it (because the web is inherently a lot more flexible than, say, a Java Swing application). However, by not showing that bar you're locking out the one piece of UI that we don't let you customize - which means you're pretty much on your own if something in your project breaks and you want to, say, log in or log out. Or see gateway status information. Or anything else that's in that bar. For putting a session onto a TV, it's probably not a big deal - but changing CSS files to hide it will affect all projects, so it's not something you should do lightly.

Again - we can't stop you, but we're also not going to support you if you do decide to start hiding first-party UI elements.

Understood. Feel free to remove my comment to stop others doing so.

Like you say, in this specific situation it’s not a big deal. I imagine for a customer/public facing dashboard people may question what the icon is. I certainly wouldn’t be hiding it for any other reason.

I was going to ask the same question about removing it.

We give our clients access to some restricted pages. But from that popup they are able to get into our gateway and see a lot more stuff then we want them too. To the point where we may have to stop giving them access which is kind of the reason we are using this software in the first place.

I think initially ignition was a in house scada system, now with the perspective web based modules we are able to expand on that and let clients see progress on their projects etc, couple that with the rise in IOT devices and MQTT etc some people see it as black magic, but by letting them see the gateway, modules and more info etc its kind of giving some of our secrets away. They cant see the URL as we direct that to our domain.

Even if you were to let us hide it on a couple views/pages in the project it would be a great help or let use some kind of authorization to lock it ?

There are so many ways to cross project boundaries that using Ignition for multiple tenants is just crazy. IMNSHO. v8.0 is a big improvement, but it is still an insane setup.

Just imagine policing what a customer will see if they install the react dev tools in their browser.

I understand what your saying, We are trying to give clients access to production data etc and having them access a page within in ignition that shows a dashboard based on their project. The page they get directed to is controlled by their login and from that page there is no way to navigate anywhere else.

Your knowledge of ignition is far far greater then mine so you know all the workarounds etc, the people we are giving access to will have the same knowledge as me. If letting people outside the company access a page or view then maybe I could create a separate project for them, or will they still be able to work around that also?

Is any system safe when giving external people access to systems? We have no PLC’s or any automated equipment connected to ignition. Its being used almost like a MES. If everything is bypassable whats the point in user log ins and authorization on buttons etc, anyone within the company could gain access to data beyond their authorization?

We could give our a clients a ipad for example with the app on, that’s keeps them away from the browser side to it. Or we could design a webpage that pulls the information from the database. Our clients are are all big oil and gas companies/contractors and access is given to higher management in those companies, hopefully no one that will want to start ‘bypassing’ our security. I’m also looking into tying in a MAC address or IP address into the login to stop anyone giving their log in details to someone else but then if they know the URL and can get to the log in page it can all be bypassed anyway ? We could also create a report on a drop box link and just update on a time base if its decided the risk is too high to let them have access to the project.

Not everything is bypassable, but Ignition's core has much that is global to the server. Once authenticated at all, some global information is visible to all. Historically, some global information has been visible without any authentication at all. The global nature of much of the client interface was such a huge hole in the Vision module that major parts had to be re-architected (but with legacy compatibility overrides). Perspective appears to be much easier to contain, as user- or even designer-level code never runs on the client, but there's still shared resources. Until/unless someone audits all of the connections and message traffic a perspective client makes, these things are just unknowns.

As for multiple tenants with designer access: just don't go there.

Thankyou. I guess we will have to monitor and see what happens.

It is a single project page they have access to, no designer access.

HI guys, I’m resurrecting this for a moment. I don’t want to hide or disable the app bar, since I like the idea of having it there, but would we have an option at some point to resize the minimized state?

Curious what you picture that looking like - isn't it already pretty small? Could you do a mockup or show what you're looking for?

This is on a Pi. It is pretty unobtrusive, but I was thinking maybe half the size when minimized.

I won’t ask for an auto-hide feature until 8.1 :grin:

1 Like

I think a thing we might do (this seems the most plausible to me) would be a ‘presentation’ mode or some similar project-level toggle that disables the app bar, but maybe disables other functionality to compensate (can’t be used in mobile apps?). I don’t know exactly what that would look like, and I definitely don’t make the plans around here, but that would be a worthwhile ideas post :slight_smile:

2 Likes

Done and done.

2 Likes

This thread never got updated, but newer releases contain a page.props.appBarVisible property, which allows for removing the AppBar Toggle on a per-page basis.

You could consider using self.page.props.appbarVisible = False in View onStartup scripts.

6 Likes

Slight refinement: There are actually two properties added:
session.appBar.togglePosition lets you change the small floating ‘show’ button to display on the right side (default), the left side, or hidden, meaning, well, that it won’t be visible at all.

If you do choose to hide it, you can then manually write to page.appBarVisible to show the actual full-width ‘app bar’ that clicking the small toggle button would normally pop up. You can also read that property if you want to change the layout of something when the app bar is actually visible.

15 Likes