Geocortex Web allows developers to add visibility filters to application components. By using visibility filters, developers can control which users and groups have access to specific application features, allowing them to serve a wider audience with a single application. Additionally, using visibility filters to provide users with access to only the app components that are beneficial to them, can help to provide enriched user experiences.
This Geocortex Tech Tip demonstrates how to add visibility filters to applications components. Further, it provides an overview of how application views can change based on the applied filters and explains the benefits to using visibility filters for both development teams and end-users.
What’s up, everybody? My name is Aaron Oxley and I’m a Technical Sales Specialist. In this Tech Tip we’ll be looking at configuring visibility filters in Geocortex Web.
Visibility filters control which users and groups can or cannot see certain components of your applications. The idea is that you can serve a wider audience with a single app. Less apps to manage and maintain means less time building the boring stuff and more time for building out cool new functionalities for your users. Let’s check it out!
This is a brand-new app. I’ve started with the default WebGIS template, and I haven’t made any changes yet, I’ve just given it a name and saved it. We have a lot of components already included in this app from the template and they all have visibility filters settings available. I can go into any one of these components and expand the “Visibility Filter” section and configure the filters.
I can set components to be “Visible To” or “Hidden From” certain “Users” or “Groups”, and this taps into whatever identity stores are available. In this case I’m signed in with an ArcGIS portal identity, so this lists all the users from my portal and groups. If I were instead signed in via ArcGIS online, this would be populated from my ArcGIS online organization.
Under “Groups” up at the top here, you’ll see “All Users”, “Anonymous Users” and “Authenticated Users”. These three built in groups can be really helpful in managing the bulk of permissions. Often enough you’ll want to start by just showing certain components only to users who have signed in as authenticated users or by hiding components from anonymous users.
In this case, we’re looking at the “Toolbar”. It’s probably not practical to limit who can see the toolbar, it could be, but probably not. Within this toolbar though, we may want to apply visibility filters to some of these individual “Menu Items”. We may want visibility filters if there’s a custom tool – something based on a Geocortex workflow that might be very powerful. For example, if we have a workflow that gives users the ability to edit data, or to access information from other systems, we wouldn’t want that to be available to everyone.
So, let’s try it out! If I click “Add Menu Item”, then go to the “Workflows” tab, we can see this “Very Powerful Workflow” that I’ve already put together. Let’s pick that one and then let’s set up a visibility filter. So again, down at the bottom here, we’ll expand this “Visibility Filters” section and let’s set it to be visible to “Aaron Oxley”, or myself. So, now I should be the only person who can see this tool in this application. Let’s “Save” it and go check it out.
Over here in this other tab I have my portal content and there’s our app. Let’s open it and click “View Application”. That will load the app in a new tab. Now when the app first loads, we won’t see that “Very Powerful Workflow” tool in the toolbar because we’re not signed in.
Let’s sign in. And there we go. There’s that “Very Powerful Workflow” tool. We can run it, and it works. It’s not actually that powerful but that’s the gist of it.
Now, some things to consider. We’re just hiding this Geocortex workflow in this toolbar. This shouldn’t be used as a substitute for security. Let me explain.
Here’s our “Very Powerful Workflow” here in the portal. I can see that this is shared with the public so anybody can access it. If somebody knows where to find it, they can come in and access this workflow. It’s important to keep in mind that visibility filters are not security. On the flip side, let’s look at what happens if we have a workflow that isn’t shared with the public. Let’s share our workflow with just the owner, which is myself, Aaron Oxley.
Let’s go back to our app and remove the visibility filter and “Save” that. Now if I come back and sign out of the app, I can still see our “Very Powerful Workflow” in the toolbar. The visibility filter is gone but we know that the underlying workflow is still available to the Aaron Oxley user. I’m not currently signed in as that user so if I come and click on this workflow, I get prompted to “Sign In”. I’ll say “OK”. I don’t want to sign in as Aaron Oxley because that’s the user that does have access, so I’ll sign in with another account, let’s go with John Doe. I can’t run the workflow as that user. As a user I don’t know why, it just makes for a poor user experience.
Adding visibility filters give us the option to avoid that poor user experience by hiding tools from users who don’t have access to the underlying workflow, report, print template etc. Overall, visibility filters help to avoid the confusion or frustration that comes from those negative user experiences. So, the takeaway is to always take sharing into consideration when you’re applying visibility filters.
Back in the Designer, another important thing to consider is that “Hidden From” filters will always override “Visible To” filters. For example, let’s make our workflow “Hidden From” a “Group” that I’m a member of and we’ll apply this “Visible To” filter to myself. Let’s “Save” that and I’ll refresh our app. Now we can see that even though I am currently signed in as Aaron Oxley, I can’t see our “Very Powerful Workflow” in my toolbar. That’s because that hidden filter overrides the visible filter.
That’s about it for configuring visibility filters in Geocortex Web. If you want to know more, just let us know, email email@example.com. If this video was helpful for you, please like, share, subscribe and check out our other videos. Thanks for watching!
Want to learn more about the capabilities of Geocortex Web? Click the button below for more information on what is possible with Geocortex Web.