Communication can often be a very difficult challenge in a lot of organizations. When it comes to solving these challenges spatially, Geocortex Essentials provides real-time, map-based tools that can streamline the way your processes are being relayed from one user to another, ultimately opening the doors to a more efficient communicative environment.
Our Geocortex Tech Tip explores precisely how this functionality works for both the room administrator and other users in the room. It also shows some of the different ways it can be configured and the various types of user privileges that can be granted.
“Hi, I’m Ian Sutton and I’m a Geocortex developer. Today I’m going to show you collaboration in Geocortex Viewer for HTML5 2.10.
Let’s jump right in!
For this demo I'll be signed in and to viewers to show multiple users collaborating together on the same map. Now the first thing we want to do when we're using collaboration is sign in. You can't use collaboration unless you're signed in. Now, we're going go to our toolbar and open up collaboration.
First thing we're going see is this big empty space where all of our collaboration content will be. At the top we see a list of rooms that we can join and you can join one or more of these rooms at the same time, and all of the messages will be blended together. But for the purposes of this demonstration we are going to create a new room which we can do with this button here.
So we're going choose a name for our room and you can also choose a color if you don't like the randomly assigned one and you can also manage user access here. but we're going leave that for now. Now that we've created our room, it's going to show up in the room list and we're going to automatically join it and we can go and post some text in our room that will only be visible to people who have joined the room and have permissions to see it. Of course, that doesn't mean much unless we have another user in the room. So, let's go ahead and invite my dummy account. Since right now he can't see it. We're going go to the room list and select this room details menu here and then we're going to hit edit and you can see that it looks very similar to the screen that we had when we were creating the room.
So we're going to look up our dummy account here which is called Web EOC and we're going to add him to our room permissions and you can see we can give him no permissions specifically excluding him if we want to be mean, or we can let him just view the room or we can let him edit the room and we're going to let him edit the rooms so we can have a bit of a conversation then we're going to save so that those changes are registered to the server.
Now you see that on our dummy account here we've got a notification that a new room has been added and we can open up and see that we have access to the test room now. So we're going to open that up!
You can see in our room details that the list of active members has been updated and we can see that Web EOC has joined the test room. And now that we have more than one person in the room, we can see each other's messages, we can share a drawing on the map and we can even post images located to specific points on the map which we can open up and view in our browser. And when we leave the room in question drawings are no longer visible and you can see that our dummy user knows that he's now alone in the room.
So that in a nutshell is collaboration. Thanks for watching!”
Interested in leaning more about the collaboration feature of Geocortex Essentials? Click the button below for additional insight or to schedule a demo.
You might recall that 2018 kicked off with a big announcement from Esri. They made the decision – following feedback they received during the 2017 Esri User Conference – to allow ArcGIS Enterprise customers to add Viewers (Level 1 Named Users)at no additional cost. You might not recall that Level 1 users were first introduced in December of 2016, so perhaps it’s fitting, following this annual cadence, that we wrap up 2018 with another big announcement from Esri: the introduction of several new User Types:
Viewer (formerly Level 1);
Field Worker (new);
Creator (formerly Level 2); and
GIS Professional (new).
These continued, iterative licensing improvements are extremely positive for Esri customers looking to right-size their use of the ArcGIS platform, and come alongside our observation of ever-increasing adoption of Web GIS implementations worldwide.Our impression is that Esri is listening to (and understanding) their customers’ needs.
Meanwhile, Geocortex Essentials softwareis in the middle of an evolution, and 2018 has been a big year for the Geocortex Essentials 5-Series, which we introduced with the launch of Geocortex Workflow 5 in mid-2017. This product has enabled our customers to easily automate guided end-user interactions in a SaaS environment. Since then, we’ve been busy building four completely new 5-Series products inspired by capabilities in Geocortex Essentials 4.x:
Geocortex Reporting 5 was released in June, designed to help users create production quality, printable reports using spatial and non-spatial data, maps, and charts.We’re thrilled to see customers worldwide adopting the software in both Geocortex Viewer for HTML5 apps, and within Web AppBuilder for ArcGIS®
Geocortex Printing 5 follows in the footsteps of Geocortex Reporting, and will allow you to generate high-quality, high-resolution map print outputs in all sizes. We’re aiming to release the product in February of 2019
Geocortex Mobile Viewer 5 will fast become the world’s most capable framework for building mobile, offline, native apps on top of the ArcGIS platform, and the public beta is also scheduled for January
What’s really cool about the 5-Series is the new patterns we’re seeing customers take advantage of: from using the software entirely in the cloud SaaS environment at apps.geocortex.comor deploying workflows and reports into Web AppBuilder for ArcGIS (Developer Edition). We’ve even seen one of our Belgian partners, SIGGIS, integrate Geocortex Reporting 5 capabilities into ArcGIS Pro! These opportunities come alongside new Geocortex Essentials commercial offerings, which allow you to pick and choose the components and deployment patterns you need for your business or organization.
With five new products in the 5-Series, two already launched, and three more on the doorstep, we’re thrilled to say that Geocortex Essentials 5 has officially arrived!
Today, over 1,500 customers use Geocortex Essentials across a broad spectrum of industries and use cases, and we continue to serve those applications by improving Geocortex Essentials 4.x and the popular Geocortex Viewer for HTML5. In the summer, we released a significant performance improvement, resulting in a 50% decrease in startup time across all browsers.
Hundreds of customers use Geocortex Analytics to monitor the use of their Geocortex applications and their broader GIS infrastructure. In early 2018, we released a major update to the product to improve reliability and includereporting on specific end-user activity. We’re committed to ensuring that Geocortex Essentials 4.x and Geocortex Analytics remain premium software packages for all our customers, in parallel to developments happening in the Geocortex Essentials 5-Series.
We’ve now drafted our product portfolio strategic plan for 2019: who’s going to work on Project A and Project Band for how long, and when are we going to release FeatureX or Feature Y. This time of the year is exciting because we’re charting out the details of our next chapter on our march towards our long-term product vision. As mentioned, we havethreemajor product releases coming in Q1, and you can expect momentum to continue across all 5-Series products, as well as Geocortex Essentials 4.x and Geocortex Analytics. We’re also scheduling a sixth 5-Series product planned for Q4 –stay tuned for information about that one... for now, we’ll leave you in suspense 😊.
Here’s wishing you a happy holiday season as we wrap up a terrific 2018 and look forward to another fast-paced and action-packed 2019!
The Alberta Energy Regulator (AER) is a regulatory body that’s responsible for overseeing oil, oil sands, natural gas, and coral project lifecycles. Their mandate is to provide safe, orderly and efficient development of energy resources across the province of Alberta.
A few years ago, the AER took on the additional task of regulating reclamation and remediation activities for all of Alberta’s energy resource operations, which was previously managed by the Alberta government ministry, Alberta Environment and Parks (AEP).
Taking on this responsibility came with a backlog of nearly 2,700 upstream oil and gas reclamation certificate applications. The backlog was caused due to a very complex process that required each application to be checked against seven different databases – ultimately leading to a significant amount of manual analysis.
The AER collaborated with the Geocortex Professional Services team to put together a system called OneStop, a program that ensures all criteria for reclamation are properly vetted in a timely fashion by introducing two review levels (one of which is automated) and freeing the AER of resources which could then be allocated towards more high-risk areas.
As soon as OneStop was launched, roughly 80% of the backlog was processed instantly. By utilizing Geocortex Essentials, AER staff were able to extend their ArcGIS functionality with customizable workflows, tools and features, and configurability with other systems, leading to a massive reduction in production time. Additionally, Geocortex Essentials also enabled the AER to integrate with existing enterprise systems quickly and intuitively.
This process has not only allowed the AER to streamline their processes and improve on transparency, but it also led to them receiving an Esri Canada Award of Excellence for leveraging GIS technology to serve a vital part of Alberta’s economy more efficiently.
Geocortex Essentials gives you the ability to tailor your applications to individual users by using fine-grained security to control various elements like layers, features, attributes and other capabilities so users are only seeing the items that you want them to be seeing, and not getting overwhelmed.
In this week’s Geocortex Tech Tip, we take a closer look at the basics of using fine-grained security, and how you can deliver a more personalized experience to your users based on their configured permissions.
“Hi, welcome to Geocortex Tech Tips. My name is Jonathan and today we’re going to be talking about using fine-grained security to control access to layers, features, attributes and application functionality.
Let’s get started!
Here I've got essentials manager open, and I'm going to go to my site and edit its configuration. On the side panel here we can see the permissions tab which is where you go to configure these fine-grained settings. Here you'll see a tree of all of the items included in the site, and each item has a Tri-State check box beside it, which we can turn to deny, allow or inherit, where it will inherit the settings from the item in the tree above it that is set.
Up at the top we'll have a list of the security providers you can configure. For example, ArcGIS online - your organizational account, all users, by group, by organization or organization role. If you pull up one of these, you'll also have to enter the group that you are interested in and there should be a nice dropdown list there. Once you select the group you can go ahead and configure permissions for that particular group.
Let's go back to anonymous here.
First thing - why don't we deny access to the site completely for anonymous users? We'll say you have to be a member of our ArcGIS Online organization to get in. Now there's nothing in this site that secured that would apply the security on its own, but once we have that set in Essentials Manager, now there will be a log in required to view this.
Let's reload our site. We can see the site, but that is because I was automatically signed in, so I'll sign out, and I have to sign in again. There is no way to see this site without being signed in.
Okay so that's pretty basic. Let's look at layers. We can see at the top level under ‘Map,’ we'll have our map service level objects and then under that the layer objects. Now for a feature layer, there's only one layer with the one service level object so it doesn't really matter which you secure. But if you're talking about a dynamic map service you might have more than one layer, so you can choose to secure the whole map service or individual layers, within group layers, etc.
Let’s go back to our heliports layer here, and I'm not going to let the anonymous people see this layer. They can get into the site, but they can't see this layer and you're going to have to be a member of our organization. Don't care who you are, just that you're a member and you're allowed to see it.
Okay, let’s see how that works. So, we'll sign out again now. And now, the site loads up, we can see that that heliports layer is gone, and it is no longer included in the layer list.
Let’s sign in. And it's back!
So, we can also secure the fields on our layer. I might say that all of these fields (there are quite a few fields here) are not necessary for every user to see or maybe you're only going to make them all available to GIS professionals that are in a certain group. So even though we can see this layer as a member of our organization, we're going to turn off some of these fields (in fact we're going to turn off most of them). Notice I don't have to allow the fields that I want to allow, I just have to deny the fields that I want to deny, because these will inherit the allow permission from here. So, let's see that.
First of all, we'll just identify a few of these, just so we can see that all the fields are here right now. And there they are!
Okay so let's reload the site, now we're signed out. There's no layer at all. We'll sign in, the layer is here. But if I identify these features and I take a look only the four fields that I allowed are available. Cool! So what else can you do?
One thing I should point out about fields first before I move on, is that to configure the fields here you do have to first go here, find the layer with the fields on it that you want to configure, and you need to make sure all of the fields have been added here and that they're not just visible because they're configured default visible - they have to be added on this page, and then they will become available on this page to secure.
Let's take a look at some more things that we might deny to anonymous users. We have layer themes, so maybe we don't want them to switch to those layer theme, so we can turn them off. We can also secure print templates and other items that are configured in the site like workflows. Let's see what happens with those layer themes.
Right now if I go in here and I look at my layer list, I am signed in but you can see I have some themes available now. I’ll reload.
Now I do want to be signed out and then if I look, I find that ‘All Available Layers’ is the only theme that I can pick. Were you to turn off the option to show all available layers in the theme settings for this viewer, this drop-box would not be here either. But then when we sign in, we'll find that we again have access to all of the layer themes and we can turn them on like so.
The last thing on the list that I probably should mention is that you can secure individual viewers. You can see I only have one viewer in this site, so I can't turn this one off, or anonymous access will not be allowed at all and it will be like this viewer doesn't exist. Since I don't have any other viewers to load, if I turn that one off for anonymous users then - if they're not already logged in somehow - it's like that viewer no longer exists.
And you can see I couldn't find it. It just loaded the default viewer. So, a little bit of a difference there between securing the viewer and securing the site. If you secure the site, the viewer will still load and give you the opportunity to log in but if you secure viewer there's no way to even load the viewer.
So that is the basics of using fine-grained security. I hope you have fun with this feature and happy hacking on Geocortex!”
Learn how Geocortex Essentials can help your organization solve business challenges. Check out the Discovery Center to get a feel for the product.
We are thrilled to announce that Geocortex has been officially designated by Esri as a Release Ready Specialty partner!
The Release Ready Specialty certification recognizes companies approved by Esri who are constantly keeping pace with their technology, have strong industry expertise, offer solutions, services or content based on the latest Esri software releases, and help users make smarter overall decisions using the ArcGIS® platform.
We want our customers to feel like they’ve made the most of their investment in Esri, and a major part of that is ensuring that they are always aligned and optimized with Esri’s constantly-evolving technology. By working closely with Esri, Geocortex has provided compatible software with every major and minor release of ArcGIS within 10 business days of general availability since the release of ArcGIS 9.3. Further, Geocortex ensures customers can take advantage of new patterns, APIs and platforms that evolve as part of Esri’s development of ArcGIS.
Whether you’ve been building against ArcGIS Server, or you’re just getting your feet wet with ArcGIS online, Geocortex technology is built to enable change, allowing for easy and seamless integration with the ArcGIS platform in its entirety.
In this week’s Geocortex Tech Tip, we take a closer look at the intrinsic nature of web maps, and how Geocortex Essentials can be integrated with ArcGIS online and ArcGIS Enterprise portal.
“Hi, my name’s Drew and I’m the Chief Technology Officer and in this Tech Tip we’re going to explore how Geocortex Essentials can be used alongside ArcGIS online, or your ArcGIS Enterprise portal, so let’s dive in!
So I think we’ll start with some context surrounding how to connect Geocortex Essentials to the ArcGIS platform. For many years, our customers have been able to connect Geocortex Essentials directly with ArcGIS Server. Public services can be connected to directly, or we can use token or Windows authentication to connect Geocortex Essentials sites to ArcGIS Server map services, feature services, tiled services, and other types. Applications produced by Geocortex Essentials can also connect to ArcGIS Server through that same authentication method.
ArcGIS Online, portal introduced Web Maps, and that’s really the central currency in the geoinformation model. When we used Geocortex Essentials with ArcGIS Enterprise or ArcGIS Online, web maps become an intrinsic part of this equation.
Here we can see multiple users or groups of users signing in to a portal. This can be ArcGIS online or an ArcGIS Enterprise portal, and they’re using their ArcGIS identity to do so, and then they can create web maps inside of this organization. Those web maps can be shared and used within apps like Operations Dashboard, Collector, or Web AppBuilder-based applications so that other users can use those apps that consume the web maps.
If we add Geocortex Essentials to this picture, users can sign in with the exact same ArcGIS identity that belongs to their portal (or ArcGIS Online org). Then, when we author a site, the identity’s credentials are used to fetch content, like the web map. So the very same web maps can be referenced inside of a Geocortex Essentials site. Then apps created out of Geocortex Essentials can be shared back in that portal, increasing the use of GIS throughout the organization.
Let’s have a look at this pattern in practice.
Here’s a web map that I want to use in a Geocortex Essentials application. It contains store locations and it’s stored inside of my ArcGIS online organization.
I’m going to sign into Geocortex Essentials using my ArcGIS online account. Once I’ve signed in, I’m brought to a list of sites that I’m able to manage. This time, I want to add a new site, give it the display name “Stores”, and I’m going to reference a web map from ArcGIS Online to create my application.
Now, I can search the public database for content, or I can hit this checkbox and refine the search results to only the web maps that are inside my organization.
Notice the lock icon indicates that this web map isn’t shared with everyone. That means end users of my application are going to have to sign in with their ArcGIS identity to access this app.
Geocortex Essentials makes a reference to the web map and understands all of the content within it. So it has an understanding of all of the map services and layers that are used within this web map, and now I can start to author my application within Geocortex Essentials Manager.
Let’s add a viewer to this application using our HTML5 viewer template. Without making any configuration changes, lets launch this in a new browser window.
Now, transparently and behind the scenes, I was signed in to this application. In the top right corner you can see that I can sign out and that I’m currently signed in using my ArcGIS Online account. The reason I was signed in is because the web map inside this application is protected. If I sign out, I’m prompted to sign in using my ArcGIS identity. If that web map is shared and made available to everyone, the end user is not required to sign in using an ArcGIS identity or otherwise.
Now that I’ve built an application, I can publish this back in to my ArcGIS Online organization and share it with other users or make it one of my favorites. Notice that this have been given an item ID, and if I click on this link, I’m brought to my ArcGIS Online org, where I’ve got my Stores application. Clicking on this will simply launch my application.
For now, I’ll simply add it to my favorites. If I go into My Content, and then click on Favorites, there’s the Stores application that I just published from Geocortex Essentials.
You can see this pattern in action using Geocortex Essentials to build applications, share them back inside of your ArcGIS Online organization, or inside of your portal so that they can be used by more users.
Geocortex Essentials 5-Series applications also integrate with ArcGIS Enterprise and ArcGIS Online. Here we can see three example applications – Printing, Workflow, and Reporting. An ArcGIS identity is used to sign in to the design experience of these apps.
Once we’ve signed in, we can create content in the form of items. With Geocortex Workflow for example, the item type is a workflow, and with Geocortex Reporting 5, the item type is a report template.
These items are stored inside of the ArcGIS Online organization or within the ArcGIS Enterprise portal alongside apps and web maps and other types of content.
Those items can be used by Geocortex apps or within Web AppBuilder for ArcGIS apps so that more Geocortex content can be shared with other users within the organization.
Now, lets explore this pattern. I’m going to sign in to Geocortex Workflow. I’m using my ArcGIS identity to sign in so that I can restore a workflow that I created earlier. In the File menu, I can browse all of my workflows that I’ve authored, workflows that have been shared with me, or - if I have the URL to a workflow the item ID, and the URL to my ArcGIS Online organization - I can open it that way.
The workflow I’m looking for is one that I worked on recently. This workflow is called “StoreFinder” and it does just that; it allows the user to search for stores inside of the map. I’ve got a search form prompting the user to select from a list of store types, and once they select a store type, if they click search, we’re going to query the stores layer based on the center type that the user selected. Then we’re going to get the extent of the results, set the map to that extent, and then simply display the results in a list. It’s a pretty simple workflow.
If I go to the Info tab, you can see that this workflow is stored inside of my ArcGIS Online organization, and it has an item ID. I’ve named my workflow “StoreFinder” and it’s got a unique URL used to discover it.
Now, if I sign into Web AppBuilder using that same ArcGIS identity, I can access that workflow.
Let’s go to the widget tab in the authoring tool, and add a new widget to my application. I’ll use the workflow widget (which I’ve installed earlier), and I’m allowed to browse for any workflow in my organization. I can look for my content, my organization, groups, and even public workflows.
Using the keyword search “StoreFinder”, I was able to discover the workflow I authored earlier.
Now I’m just running through the workflow inside of my Web AppBuilder designer experience. Let’s look for all strip malls on this map.
You can see that the results are highlighted and then the workflow displays an item picker, allowing me to hover on each result and show the corresponding record on the map.
That’s an example of how Geocortex Workflow 5 was used to integrate with an ArcGIS Online organization by storing an item and consuming it inside of a Web AppBuilder for ArcGIS app.
The idea here is that you can deploy Geocortex alongside other ArcGIS applications that you have that are also consuming web maps. Collector, Operations Dashboard and Web AppBuilder can all be used alongside Geocortex Essentials.
We’ve built Geocortex Essentials to allow our customers to enable technology change. Whether you’ve been building directly against ArcGIS Server, or you’ve started to work with ArcGIS Online, or ArcGIS Enterprise, Geocortex Essentials has technology for you to integrate with the entire ArcGIS platform.
Thanks for watching this short Tech Tip. I hope you learned something today.
Bye for now!”
Want to learn more about how Geocortex Essentials can help organizations of any size or industry address business challenges? Check out the Discovery Center to get a feel for the product.
Maps allow you to visualize data in meaningful ways and expose patterns that can’t be seen anywhere else. One of the challenges, though, is that your most important business data typically lives in another system or database. This can become even more challenging when it’s data stored outside your geodatabase.
In this Geocortex Tech Tip, Drew Millen shows you how to search for data in a non-spatial database (such as Oracle or SQL), find the spatial relationship, and display it on a map.
“Hi everybody, I’m Drew with Latitude and in this Tech Tip we’re going to look at searching for non-spatial data. That’s data stored in Oracle or SQL Server… somewhere that’s not in your geodatabase. We’re going to look for that, find the spatial relationship, and display it on a map, so let’s see how we do that with Geocortex.
What we’re looking at here is a very basic Geocortex viewer application that’s been configured with a single layer called “Land Use”. This contains polygons of different types of land uses and what I’m interested in is this “Arts and Recreation” land use polygon, which contains park information for Los Angeles County. I also have a database table - in this case, an Excel spreadsheet of trees. Now notice that I‘ve got records of all the different types of trees that exist, but I don’t have location information for these. In other words, this is a non-spatial database table. This could live in Oracle or SQL Server, but for the sake of this demonstration it’s just an Excel table.
We’ve got a facility that tells us which park this tree belongs to, but we still don’t have its “XY” location on the map. What I want to find out is where I can find certain trees in my county, so, what parks do I have to visit to discover certain types of trees.
Now in this application, I’ve got a data link between my parks layer, or my land use layer, and the tree database. So, if I have a park selected, and I view the additional details for [the park]; I can see the spatial details associated with that park and I can also see the trees that are within that park, but I’m not quite there. What I want to find out is which parks contain which trees... and remember, my trees don’t have “XY” locations.
How do I solve this? Well, I’ve already set it up so that we can do a search against this Excel table. So, if I do a search for the word “macadamia”, for example, I will find search results from that Excel table, but I still don’t have the location on the map where these macadamia nut trees exist. I need to create a “join” between these search results and a spatial layer on the map to find the underlying spatial feature. In other words, the park that the trees live within.
What I can do is come back to Geocortex Essentials Manager where I’ve configured this application. And to connect to this Excel spreadsheet, I’ve established a data connection. You can see the connection string that we’ve used here simply points to the spreadsheet. If you’re connecting to Oracle or SQL Server, there’s different syntax that you would use for your connection string, but the same idea exists.
Now that we have that data connection, we can set up what we call a “Search Table.” And a search table gives us a select clause: in other words, which fields are we interested in returning from that table when the user issues a search. In this case, we want the user to be able to search on the common name of the tree (like my example when I typed in the keyword “macadamia”) and find all the attributes from the LA Parks trees in this database. So that search is set up.
I’ve also got the land-use layer in my site configured with a datalink. This datalink means that the layer is joined to this data connection, so that every time I click on a park on the map, I see the associated records from my Excel spreadsheet. Recall, however, that I want to do the reverse. So, our current datalink makes sure that every time I select a park on the map I’m grabbing the trees and joining it on the facility column. Notice that facility column is the name of the column that we're using in the spreadsheet to represent the park that the tree exists within.
There’s this section down at the bottom, here, that allows me to add a search, so that’s the reverse of what we’re currently doing, and it allows me to use one of the searches that I’ve configured to find these features from the land use layer that match my search criteria from my datalink.
I’m going to give this a display name. We’ll just use “Park Trees Search,” and the search table that I’m searching on is the only one that we’ve configured in our site earlier, so it’s this Park Trees Search table. And then the field that we want to join is called “Facility,” and that maps to the name of the land use polygon. So that’s where we get our many-to-one relationship from. I’ll go ahead and save the site with those configuration changes and then refresh our viewer.
Now I’m going to issue a search for the word “macadamia” like I did before, and I’ll find the same four results from my Excel spreadsheet. But now when I drill into a result, we can see the facility that it belongs to. It exists in two different parks: there’s “Runyon Canyon Park” and “Runyon Canyon Park – MRCA”. If I click on one of those it’s going to take me to the park where I can discover these macadamia trees.
Hopefully this quick Tech Tip has shown you how you can configure a non-spatial data source to be searchable inside your viewer and still return spatial results. Thanks for watching!”
Explore more Geocortex Essentials functionality in the Discovery Center.