Technology Q&A: Geocortex Workflow 5 “Behind the Firewall”

Geocortex Workflow 5 celebrated its first birthday in August 2018. As part of growing up, it’s learning some exciting new tricks! Until now, Geocortex Workflow 5 has been available exclusively as a SaaS offering, and workflows authored by administrators are run entirely inside of a browser, typically within Geocortex Viewer for HTML5 or Web AppBuilder for ArcGIS®.

As of now, customers can choose to install Geocortex Workflow 5 on-premises and build workflows that run on the server. We sat down with Drew Millen, Chief Technology Officer for Geocortex, to learn more about what this means for organizations using Geocortex Workflow 5.


Let’s start at the top: What is Geocortex Workflow 5 and how is it currently offered?

Drew Millen [DM]: Geocortex Workflow 5 is the first standalone product in the Geocortex Essentials 5-series: a next-generation suite of products, inspired by Geocortex Essentials 4, that provides unique and powerful capabilities to organizations using Esri’s ArcGIS® software.

You may hear us mention “the 5-series” when referring to our future-generation Geocortex Essentials products, and a “5-series workflow” is a workflow authored using Geocortex Workflow 5.

Geocortex Workflow 5 addresses the ability to easily automate custom business requirements by chaining together pre-built activities, and providing users with simple, guided interactions without programming. Workflows built by administrators can be deployed in Geocortex viewers and within Web AppBuilder for ArcGIS.

Until now, Geocortex Workflow 5 was built exclusively on a JavaScript engine, and it runs in the browser instead of the server. It has also been offered exclusively as a SaaS product – there’s a Workflow Designer that’s hosted online at where users go to build their workflows - so there’s no infrastructure or maintenance requirements for customers to take advantage of its value.

If Geocortex Workflow 5 has only been offered as a SaaS product until now, how have you supported organizations that can’t use cloud software, or need to run on-premises?

[DM]: It’s true: some organizations simply aren’t ready for cloud software or can’t use SaaS offerings for one reason or another. Typically, this has to do with where sensitive data is stored at rest. With Geocortex Workflow 5, you can be assured that even though you are signing into a cloud-hosted designer application, you can still store your workflows inside your on-premises ArcGIS Enterprise portal, and run them within Geocortex viewers or Web AppBuilder apps that are deployed on internal, on-premises web servers. The only thing that’s really served from the cloud is the Workflow Designer application, which doesn’t store anything on cloud servers, so we haven’t encountered any customers who are unable to access Geocortex Workflow 5 in its current deployment.

OK, so you’re saying that even though Geocortex Workflow 5 is a SaaS product, it can effectively be run on-premises anyway – so why did you decide to release an on-premises edition and what makes it any different?

[DM]: There are some advantages to being able to physically install Geocortex Workflow Designer on-premises, rather than signing into the SaaS edition. For example: when on-premises, you can give the application your own virtual directory name, and thus your own custom URL. You can also deploy multiple instances of Geocortex Workflow 5, which might be useful if you ever had the need to simultaneously run multiple versions (for example).

But the real reason we’ve created an on-premises edition is far more significant. Since Geocortex Workflow 5 was built on JavaScript and targets the browser, there have been limitations on what you can do with workflows. For example, you can’t open a database connection, or write a file to disk in the server’s filesystem from within a browser. These represent important activities that could enable workflows to automate more impactful business processes. We mirrored the JavaScript runtime and built a runtime in Microsoft .NET, which can run workflows in a server context.

The on-premises edition of Geocortex Workflow 5, therefore, includes the .NET runtime and a web service that accepts HTTP requests to run server-side workflows.

What can you do with a server-side workflow?

[DM]: There are a couple of patterns we see emerging. The first is a simple server-side automation task that doesn’t involve an end-user. In this pattern, a workflow running on a server could perform data migration or extraction tasks, nightly QA/QC on data changing throughout the day, or produce meaningful information products (such as .PDF reports) scheduled for delivery into email inboxes in the morning.

The other pattern involves integration with workflows running in a browser. In this case, the workflow starts in the browser using the JavaScript runtime, with a user invoking the workflow in a Geocortex viewer or Web AppBuilder. The JavaScript workflow runtime can prompt the user for inputs using a form – and perform logic in the browser – before sending a request to the server-side web service used to invoke the server-side workflow. There, the server-side workflow can input records into a database or perform a SQL query, send emails to colleagues, or write files to the disk before it returns a response back to the client.

Is there a new Workflow Designer to support server-side workflows?

[DM]: No. Geocortex Workflow Designer supports authors who wish to create client-side workflows and server-side workflows. In the Info panel for any given workflow, the author can choose if they are building a Client Workflow or a Server Workflow. This decision will filter the list of workflow activities to those appropriate for the client or server environment. Also, if the workflow already has an activity in it that is exclusively available in the client or the server, choosing a workflow type that doesn’t support that activity will produce a warning showing the author that the workflow won’t correctly execute. For example, if your workflow has a browser alert activity and you specify that it’s a server workflow, or if your workflow has a SQL activity and you specify that it’s a client workflow, you will see a warning.

Do I need to license the Geocortex Workflow on-premises edition separately from the SaaS edition?

[DM]: Since the SaaS edition of Geocortex Workflow 5 is the only edition that has been available to date, we have entitled all licensees of Geocortex Workflow or Geocortex Essentials to the SaaS edition. With the introduction of the on-premises deployment option, we’re providing access to more capabilities, and we’re being more specific about the entitlement that comes with your license.

More specifically, organizations who have purchased a perpetual license of Geocortex Workflow 5 or Geocortex Essentials (any edition) will be entitled to use Geocortex Workflow 5 on-premises. Organizations who have a subscription license to Geocortex Workflow 5 or Geocortex Essentials (any edition) will be entitled to use Geocortex Workflow 5 on-premises or in the cloud via the SaaS offering.

Note that organizations using the SaaS offering won’t lose any of their workflows if they decide to use the on-premises edition – the workflows are still stored in the same place (either an ArcGIS Enterprise portal or ArcGIS Online).

This sounds exciting. What’s next for Geocortex Workflow 5 now that the on-premises edition has been released?

[DM]: Since the initial release in August of 2017 we’ve had several releases of Geocortex Workflow 5, each of which has introduced compelling new functionality. We plan to keep this cadence up and provide more activities and improvements for authors and end-users.

One of the development projects we’re excited about is the upcoming Geocortex Mobile Viewer 5, which is a framework for building native, mobile, offline mapping apps on iOS, Android and Windows devices. Geocortex Mobile Viewer can run workflows built with Geocortex Workflow 5, and even some of the out-of-the-box features are authored using workflows.

You can also be sure that Geocortex Workflow 5 will be shipping with an activity to integrate with our upcoming Geocortex Printing 5 product, scheduled for release in Q1 2019. It’s really rewarding to see the 5-series products working together and helping organizations build terrific apps!+

Ready to get started with Geocortex Workflow 5? Learn more and sign up for a trial here

Geocortex Essentials 4.10 is here!

While we’ve been hard at work on the Geocortex Essentials 5-Series (with Geocortex Reporting 5 now in its open beta phase!), we certainly haven’t slowed down on adding improvements to Geocortex Essentials. We are pleased to announce that Geocortex Essentials 4.10 (alongside Geocortex Viewer for HTML5 2.11) is now available for download. You can learn more about the latest releases on the product release page, or download the new versions in the Geocortex Support Center. 


Improvements to our unparalleled results table 

The last major release of Geocortex Essentials (version 4.9) introduced a redesigned results table that dramatically improved performance, introduced infinite scrolling, and the ability to perform actions on specific results within the table. 

Geocortex Essentials 4.10 improves results table efficienciesincluding in-table attribute editing, results filtering capabilities, and the ability to remove unneeded columns. 

Save time with startup performance improvements in Geocortex Viewer for HTML5

Geocortex Viewer for HTML5 2.11 applications now load faster than ever before. Our updates have been tested across browsers and we are seeing a dramatic improvement in startup performance: our tests have shown an average reduction in loading time of around 50%! And speaking of startup, you can launch workflows built with Geocortex Workflow 5 from the jump, too! 

Experience a new report designer 

Geocortex Reporting 5 will be arriving very soon, and with it comes a powerful new report design experience.  

One of the key highlights of Geocortex Essentials 4.10 is that it can be configured to run reports created with Geocortex Reporting 5This puts our new reporting tools in the hands of current Geocortex Essentials licensees… for fans of the existing Geocortex Essentials report designer, there’s no need to fear, as you can continue to create your reports that way if you prefer! 

Geocortex and the GDPR

On May 25, 2018, the General Data Protection Regulation (GDPR) went into effect for all businesses that operate in the European Union (EU), regardless of where they’re located. The introduction of this legislation means that there is now one set of data protection rules for the entire EU.

The goal of the GDPR is to give people more power over their personal data and ensure all businesses benefit from a level playing field. With recent issues around the world involving personal data, many suggest that this the most important data privacy regulation in the last 20 years. 


Personal data is defined as information that relates to a living individual, not legal entities. The GDPR lays out detailed rules that organizations must abide by when dealing with personal data. There are different rules for organizations that collect personal data as a core business activity, and for those that do not.

At Latitude Geographics, we do not collect personal data as a core business activity. We only collect personal data that is required by law and necessary to help deliver the best experience possible to our customers. We have always followed a minimalist approach when it comes to personal data collection.

How we comply with the GDPR

Privacy Policy

We updated our Privacy Policy, with all changes taking effect on May 25, 2018. The changes emphasize our commitment to protect personal information and request explicit consent when necessary. They also detail why we collect personal information, your rights to personal information, and how international data is stored and transferred.

All personal data collected by Latitude Geographics is stored and transferred by Privacy Data Shield certified companies, as provided by the European Commission on the adequacy of the EU-US Privacy Shield.

You can review our updated Privacy Policy here.

Master License Agreement

Our Master License Agreement, which governs the use of all Geocortex products, has also been reviewed and updated to comply with the GDPR.

The main revision was in “Article 6 Privacy”, where we removed the obligation of licensees to consent to Latitude’s Privacy Policy. Under the GDPR, consent cannot be bundled with terms and conditions.

You can find the updated version of our Master License Agreement here.


Based on our previous compliance work for Canada’s Anti-Spam Legislation (CASL) in 2014, Latitude already had in place industry standard protocols for customers to subscribe and unsubscribe, review preferences for receiving marketing materials and newsletters, and to access and update their preferences. We always ensure that we track consent, and monitor unsubscribe requests automatically.

If you’d like to opt-out of receiving communications, or learn more about what you’ve subscribed to, you can contact us at or visit our email preferences center.

As we continue to release new Geocortex Essentials 5-series products (most of which have SaaS offerings and require some level of personal data to access the products), we’ll continue to review our processes to determine situations where explicit opt-in consent may be required.

The Geocortex reseller network

While there are some customers we work and communicate with directly, most of the communication with our customers in Europe is managed by our network of Geocortex resellers.

We’re lucky to have amazing local knowledge throughout the European Union to help deliver an exceptional experience with Geocortex products and services; like us, each of our resellers has been working to comply with the new legislation.

Here’s some places you can find more information about our resellers in Europe, and how they manage personal data to comply with the GDPR:

  • 1Spatial: Headquartered in Cambridge, 1Spatial represents Geocortex products and services in the United Kingdom and Ireland. In a detailed update to their Privacy Policy, 1Spatial added information about how they manage your information when you use their website, submit an enquiry via their website, download a document or resource, register for an event, and when you sign up to receive a newsletter.
  • Esri Nederland: Esri Nederland manages the sales, delivery, and support of Geocortex products in the Netherlands, and resells Esri technology in the region. You can find details about how Esri Nederland collects and manages personal data in their Privacy Policy, which was updated in May 2018.
  • SIGGIS: SIGGIS serves Geocortex customers in Belgium and France. You can learn more about SIGGIS’s policies around personal data collection and management in their disclaimers and privacy policies (Belgium, France).
  • Geoinfo: Geoinfo works with clients in Denmark to deliver Geocortex products and services. To learn how Geoinfo manages personal data, you can read more here or send questions to  
  • Esri Portugal: Esri Portgual acts as the reseller for both Geocortex and Esri products in Portugal. To learn more about how Esri Portugal collects, stores, and manages personal data, you can find all of their contact details here.
  • Geodata: Geodata delivers Geocortex products and services in Norway. You can find information about how Geodata collects and uses information about users of their website and services in their Privacy Statement.
  • Vitkovice: Vitkovice supplies Geocortex to customers in the Czech Republic, Slovakia, and Poland. You can find Vitkovice’s information on processing personal data here, last updated on May 23, 2018.

What’s next

At Latitude Geographics, we’re committed to protecting your data and only collecting what’s necessary to operate our business and provide you with the best experience possible. Over the coming months, we’ll continue to monitor the GDPR and review our data collection and management processes to ensure they remain compliant with emerging regulations.

If you have any questions about the GDPR or how we handle personal data, please contact us at

Geocortex at the 2018 Esri User Conference

We’re a little over a month away from the 2018 Esri User Conference in beautiful San Diego, California. The Esri UC is always our biggest, most anticipated event of the year, and 2018 is expected to be no different.

The conference brings together tens of thousands of members of the Esri community, from every corner of the globe. It’s our best opportunity to connect with our customers and partners, meet new people, and share the exciting work we’ve been doing with Geocortex. 


In the last year we’ve seen a lot of transition and innovation in the Esri ecosystem, and we have some exciting, related developments in the Geocortex world that we can’t wait to share with you. Here’s what you can expect to see and hear about from us at this year’s Esri UC.

Geocortex and Web AppBuilder for ArcGIS®

Last year’s release of Geocortex Workflow 5 was a major milestone for Geocortex technology. We expanded our offerings to not only add value alongside ArcGIS, but also the ability to leverage Geocortex functionality inside Esri applications.

Our guiding principle has always been helping Esri customers accomplish even more with their investment in ArcGIS. With the introduction of Web AppBuilder for ArcGIS, we saw an opportunity to continue to provide powerful functionality to help Esri users build better apps, but with more deployment flexibility.

Geocortex Workflow 5 represents the first product in the Geocortex Essentials 5-series, a collection of capability-based products that will feature an edition specifically for use within Web AppBuilder for ArcGIS.

This year, we’re excited to be showcasing the second Geocortex Essentials 5-series product: Geocortex Reporting 5. Reports that organizations need come in all shapes and sizes – from basic mailing label reports to inspection compliance reports for governing bodies like FEMA – and they can range substantially in terms of complexity. Geocortex Reporting 5 simplifies the often-manual process of gathering, organizing, and sharing important data in reports.

Geocortex Reporting 5 designer

Geocortex Reporting 5 Designer

Application administrators can add the Geocortex Reporting 5 widget to apps built with Web AppBuilder, allowing their users to generate reports from ready-made templates they’ve designed in the intuitive, web-based report designer.

Later this year and into 2019, we’ll continue to release Geocortex Essentials 5-series products, with new viewer technologies and Geocortex Printing 5 coming next. Be sure to keep an eye on our website, blog, social channels, and communities to stay up-to-date on what’s coming.

The evolution Geocortex Essentials

With all this talk about Geocortex and Web AppBuilder, you may be wondering what this means for existing Geocortex customers. We are actively developing new products based on the Geocortex Essentials capabilities our customers know and love and are excited to offer them to Geocortex customers as part of their Geocortex Essentials maintenance program.

The introduction of the 5-series means we’ll see Geocortex Essentials evolve from a large framework to a collection of powerful, standalone products that work together to provide the same configurability, power, and value that customers are used to today. Down the road, the 5-series will even include brand-new viewer frameworks!

Geocortex Solutions: Crime Forecasting and Inline

We’re also excited to be showcasing two new solutions at this year’s event.

Inline: Inline transforms how you manage, visualize, and interact with linear asset data inside your GIS. Data is presented with intuitive charts and data linked to the relative position of a linear feature and provides configuration options for symbolization and summary of attributes.Inline interface

Inline being used inside Geocortex Viewer for HTML5

Inline enhances productivity and allows organizations to tap into powerful decision making, processing, and integration tools to enhance their investment in linear referenced data. We’re seeing considerable interest in Inline from pipeline operators and transportation organizations, and implementations are currently underway with several customers.

Crime Forecasting: Crime Forecasting is a predictive policing tool that uses machine learning to turn simple, historic crime data into actionable crime forecasts. Forecasts are precise; they predict within a 300’X 300’ block and a 2-hour time window where a particular type of crime might occur. Only three pieces of information are needed: location, data/time, and crime type. No personal or sensitive data is required.

The Vancouver Police Department (VPD) ran a successful pilot in 2016, where they were able to reduce property crimes by as much as 27% in some areas. By looking at what took place in the field against predictions made for the same day, VPD estimated that the system predicted with up to 80% accuracy. You can learn more about VPD’s success with Crime Forecasting on our blog.

Where to find us

There are plenty of opportunities to connect with the Geocortex team during your time in San Diego. Here’s where you can find us:

  • We’ll be in booth #101 all week! Members of the Geocortex team from Sales, Partners, Support, Products, and Marketing will be available to chat with anyone who’s interested in learning more about the work we’re doing. We’ll have dedicated sections of the booth for you to explore different Geocortex capabilities.

  • Our annual Geocortex Technology Update is taking place on Tuesday, July 10 from 10:30-11:30 AM in room 12 of the San Diego Convention Center.

  • Two dedicated Geocortex demos will be happening in our booth. These fast-paced, hands-on demonstrations are a great opportunity to get a feel for our technology and see the latest developments in Geocortex technology. Join us at booth #101 on Tuesday, July 10 or Wednesday, July 11 at 5:00 PM.

  • As always, we’ll be hosting our annual Geocortex Picnic to show our appreciation to the Geocortex community! Join us on Wednesday, May 11 at 12:00 PM in Embarcadero Marina Park South to get out of the exhibit hall, relax in the California sunshine, and enjoy some awesome food from Phil’s BBQ. To attend the picnic, you must register here and pick up your admission sticker in booth #101 before Wednesday.

Technology Q&A: The evolution of Geocortex and Web AppBuilder for ArcGIS

If you’ve been following our blog, social channels, or have chatted with us in recent months, you’ve probably heard us talk a lot about our Geocortex Essentials 5-Series. Geocortex Workflow 5 was the first product in the series, and for the first time, Geocortex was able to be used inside (not just alongside) Esri applications.

This represents a major shift in Geocortex technology, with a commitment to continuing to offer products that can be used by a broader Esri audience. We sat down with Drew Millen, Director of Products at Latitude Geographics, to learn more about the Geocortex Essentials 5-Series, and what it means for Geocortex and Esri customers.


Latitude released Geocortex Workflow 5 in 2017. Can you tell us a little bit about this product?

Drew Millen [DM]: Geocortex Workflow 5 is the first standalone product in the Geocortex Essentials 5-Series: a next-generation suite of products inspired by popular capabilities in Geocortex Essentials 4. Workflows help organizations turn even the most sophisticated business processes into a set of simple, guided end-user interactions.

Not only does Geocortex Workflow 5 transform how organizations approach process automation inside their GIS, it helps organizations avoid re-writing applications for new versions of Esri technology. We worry about compatibility with upcoming versions, so you can stay focused on what you need to get done.

As you alluded to, a major evolution in Geocortex Workflow 5 when compared to previous Geocortex products is that organizations can choose to deploy workflows in multiple viewer frameworks. Workflows can be deployed to both your Geocortex and Web AppBuilder for ArcGIS® applications.

What’s been the reaction from customers so far?

[DM]: It’s been great! Since our beta launch in August 2017, we’ve seen nearly 1,500 unique users sign into the Geocortex Workflow Designer, which represents nearly as many unique organizations. More than 25% of those users have been power users, logging in more than 10 times. These are great signs for a product that’s still in its infancy - we can’t wait to see the workflows they’re building!

We recently conducted a survey of Geocortex Workflow 5 users and found that most are using the product to simplify the user interface in their applications. This is achieved by providing step-by-step interactions to your end-users, instead of presenting them with complex interfaces containing unnecessary tools.

It’s also great to see that customers are deploying workflows in Geocortex and Web AppBuilder for ArcGIS apps.

Can you tell us about the decision to offer products that can be run inside Esri applications?

[DM]: Over time, the Geocortex brand has become largely associated with our viewer technology, and for good reason: we offer world class viewers that leverage the latest Esri technology. But our customers know that Geocortex also provides a rich array of capabilities that add power and functionality to those viewers.

While Geocortex viewers are ideal for many applications (especially those that require sophisticated functionality or need to be maintained for a long duration), we recognize that Web AppBuilder for ArcGIS is a popular, lightweight framework that’s ideal for many types of applications.

Our guiding principle has always been about enabling organizations to get even more out of their ArcGIS investment, and by providing powerful capabilities that extend Web AppBuilder we’re able to do that for more customers and more application types.

We saw an excellent opportunity to provide the powerful functionality Geocortex customers know and love to the broader Esri community, without requiring the substantial investment required to adopt a new viewer framework.

What does Geocortex Workflow 5 allow Web AppBuilder for ArcGIS users to do?

[DM]: Geocortex Workflow 5 is focused on helping organizations improve efficiency and end-user success. Our experience shows that when organizations reach the limits of Web AppBuilder for ArcGIS, they typically start building custom widgets.

With Geocortex Workflow 5, instead of writing code to build widgets that satisfy complex application requirements, you can choose from 175 pre-built activities that chain together to automate virtually any task. The library of pre-built activities even includes specific activities for working with Web AppBuilder for ArcGIS, such as activating and passing data between widgets, and working with Arcade, map layers, and other elements of your apps.

Geocortex Workflow 5 also offers dynamic forms that allow you to deliver a better experience for the users of your applications. Forms don’t just capture user inputs; often certain elements must hide or appear based on user interactions. Cascading dropdowns and an advanced event-based system make it easy to deliver forms that engage your users with extraordinary flexibility.

If I’m a Web AppBuilder user, why would I choose Geocortex Workflow 5 instead of building my own custom widgets?

[DM]: One way to think about Geocortex Workflow 5 is as a “widget builder”. It provides GIS administrators a way to build widgets without any programming, and without deploying code onto the server. Workflows make it simple to rapidly prototype, iterate, and test functionality in your Web AppBuilder for ArcGIS applications.

One of the benefits our customers enjoy with Geocortex Workflow 5 is that once a workflow is authored, it becomes a self-documenting, visual representation of the task or business process being automated. This makes it easy for others to understand and work with your workflows.

A key consideration when we were building Geocortex Workflow 5 was ensuring it would help customers “future-proof” their applications. More specifically, we built Geocortex Workflow 5 to work with both of Esri’s existing JavaScript APIs (ArcGIS API for JavaScript 3.x and 4.x). So, when Web AppBuilder is released using the 4.x API, custom widgets will need to be re-written, but workflows will continue to function seamlessly.

Ultimately, when you compare building workflows to developing custom widgets and functionality, it’s about saving time and resources. Organizations that leverage workflows to deliver custom functionality save a ton of time during development and ongoing application maintenance.

Does Latitude have plans to offer more products for Web AppBuilder for ArcGIS users? What’s next from Geocortex?

[DM]: Yes, we have big plans - Geocortex Workflow 5 is just the first link in the chain. In July 2018, we’ll release Geocortex Reporting 5, which enables Geocortex and Web AppBuilder for ArcGIS users to design and deploy production-ready, printable reports inside their applications. It simplifies the often-manual process of gathering, organizing, and sharing important GIS data in reports.

Application administrators can add the Geocortex Reporting 5 widget to apps built with Web AppBuilder for ArcGIS and allow their users to generate reports from ready-made templates they’ve designed in the web-based report designer.

In our experience, reports that organizations need come in all shapes and sizes – from basic mailing label reports to inspection compliance reports for governing bodies like FEMA – and they can range substantially in terms of complexity. It’s typically difficult to design reports for every need in an organization, expose them inside your apps, and allow them to be populated with data dynamically. Geocortex Reporting 5 makes this task incredibly easy.

We’ll also be unveiling Geocortex Printing 5 in early 2019, which offers a high-quality, easy-to-design map printing solution for Web AppBuilder for ArcGIS. The focus will be on enabling large format, high-resolution -- and overall great-looking -- print outputs.

Geocortex Essentials customers have benefitted from these capabilities for years, and we’re excited for Web AppBuilder for ArcGIS users to discover their power. To make things easy, we’re introducing an edition of Geocortex Essentials specifically for Web AppBuilder for ArcGIS that will allow organizations to purchase Geocortex Workflow 5, Geocortex Reporting 5, and Geocortex Printing 5 under one affordable license.

Do you envision offering Geocortex products that run in other ArcGIS products, such as ArcGIS Pro?

[DM]: One day. Our current focus is on building great products for Geocortex viewers and Web AppBuilder for ArcGIS, but at the same time we’re engineering the underlying APIs to be portable for use in environments like ArcGIS Pro in the future.

We’re currently exploring the types of markets and customers that would benefit from these capabilities in other ArcGIS apps.

What does the introduction of capability-based, 5-series products mean for Geocortex Essentials customers in the near future?

[DM]: We believe It means great things for existing Geocortex Essentials customers. First, we’re committed to continuing our investment in existing Geocortex Essentials components, such as Geocortex Essentials 4.x and Geocortex Viewer for HTML5.

Second, customers of Geocortex Essentials will be entitled to use Geocortex Workflow 5, Geocortex Reporting 5, and Geocortex Printing 5 in their Geocortex Viewer for HTML5 apps. They’ll also receive an entitlement to our new Geocortex Web Viewer, which will be released later this year and is built from the ground up on top of the ArcGIS API for JavaScript 4.x, enabling extremely fast, light-weight apps and 3D scene viewing capabilities.

These “entitlements” mean that Geocortex Essentials effectively becomes a collection of the standalone capabilities, and organizations can license the collection based on how they plan to use it: in Geocortex viewers, in Web AppBuilder for ArcGIS, or in both.

Before we finish up, where can people go to learn more?

[DM]: There’s a ton of places you can go. A good starting point is, where you’ll find details about all of our products, solutions, services, and customers.

Beyond that, our blog is always being updated with relevant information, our YouTube channel is continually showcasing new Tech Tip videos and webinars, and we attend lots of events around the world that can be found on our events page.

How to manage data collected from Geocortex Workflow 5 forms [Geocortex Tech Tip]

Forms don’t just capture user inputs; often certain elements must hide or appear based upon user interactions. Geocortex Workflow 5 forms let you re-imagine the user experience by using cascading drop downs and an advanced event-based system to engage users with extraordinary versatility.

In a Geocortex Tech Tip from a few weeks ago, Ryan showed you how to get started with forms in Geocortex Workflow 5. In this week’s follow-up Tech Tip, Ryan shows you how to manage the data you collect with forms, and pull it into your workflows so you can execute your business logic.

Watch on YouTube 


Video Transcript

"Hi, my name is Ryan Cooney, I'm the Product Owner for Geocortex Workflow 5. Today we're going to have a look at how you can extract user data from Geocortex [Workflow] forms. Let's take a look.

In Geocortex Workflow 5, the “displayform” activity is the primary mechanism for creating a user interface and presenting something to end-users. Typically, what we’re trying to do is ask the users questions, or prompt them to supply some values so we can take that information and go on to perform some business process that’s going to meet their needs.

If we look at this “displayform” activity here, it’s composed of form elements and we can just drag-and-drop various elements out of the toolbox onto the design surface. So here I have a text box, called “textbox1” - just a simple form.

Let’s take a quick look at actually running this really simple one. If I run it, all we’re going to get is a text box. The user can type anything they like into it, click submit, and the workflow ends. So, we haven’t done anything useful with the data in this form yet.

To get at that data we need to follow the “displayform” activity with another activity that reaches into that form and pulls a value out. I’m going to use the “alert” activity. The “alert” activity is expecting some text input, and we can provide an expression that controls where that text input is coming from. If I just hit “=” I’m going to get code completion that suggests some values for me. Right here, it’s suggesting “$Form1” as a value, which is referring to the “displayform” activity that we’ve already used.

So, I pick “$Form1”, and we’re dotting into the objects. There’s JavaScript for drilling into the objects. I can pick the state, which represents the current state of the form, and the state is holding onto each of the form elements. So, a header, a footer, and “textbox1” - that’s the input that we’re interested in.

And on “textbox1”, it has a number of properties on it, and the interesting one for us at the moment is the value. With a JavaScript expression like this, we’re drilling into “$Form1”, we’re getting the text box input and the value of that.

OkK so if I just save that and go back to my sandbox to run the workflow again, I get the same input, click submit, and now I’m getting an alert that’s presenting that value [I entered].

That’s a simple case of drilling into a very simple form element and reading off the text value, but if we look at some of the other form elements that we have available to us, they can be more interesting. [For example], dropdown lists with different types of values they could return. We have geometry pickers that allow the users to capture one or more geometries. So, the value we’re pulling out of those inputs can get much more complicated than just a text string.

There’s other simple ones like a checkbox, that if you want to make a decision based on whether a user has ticked a box, it would be a “checkbox.checked” property, for example.

So, we have lots of different options available to us, but the flow is basically going to be the same: layout your form element, and then use an expression to drill into the specific input you’re after, and then access a property of that input. And that’s how we get data out of the form and into the workflow where we can run all our business logic where we’re making decisions about how we process what the user provided.

Hopefully that gives you a quick overview of how you can get data out of a form.”

Want to see how Geocortex Workflow can help you extend your Web AppBuilder applications and streamline inefficient processes? Check out the Discovery Center to get a feel for the product.

Let's go

Delivering accessible mapping applications for everyone [Geocortex Tech Tip]

Accessibility has become a top-of-mind topic for businesses, government agencies, and developers of technology in recent years; U.S. legislation like Section 508, which requires inclusivity for end-users of all abilities, has emerged in recent years and historic exemptions for web mapping have been eliminated.

Since 2015, Geocortex Viewer for HTML5 has been accessible out-of-the-box and meets the criteria to be Web Content Accessibility Guideline (WCAG) AA compliant, without requiring administrators to undertake complicated and onerous configuration or development. In this week’s Tech Tip, Garrett takes a closer look at screen reader support, keyboard navigation, and other accessibility features that ship with Geocortex Viewer for HTML5.

Watch on YouTube


Video Transcription

“Hi my name is Garrett, I work on the Product Experience Design team here at Geocortex. Today we’re going to take a look at some of the accessibility features included in our viewers. You don’t need to do anything to configure these – they’re all included out-of-the-box with every viewer implementation.

Geocortex Viewer for HTML5 is accessible and meets WCAG AA standards. This has taken a lot of work on our part to look at many different things, from color contrast to screen reader support to keyboard navigation.

Let me show you how keyboard navigation works in [Geocortex Viewer for HTML5]. First, we have skip links. When you first come to our viewer and use the tab key to navigate throughout the application, the first time you hit “tab” you’ll be presented with what we call skip links. This gives you quick shortcuts to jump to popular portions of our viewer.

The skip links allow you to jump to other regions in our application without having to tab through each individual, clickable item. If we wanted to jump straight to the tool bar, we just tab over and hit enter. Now once the toolbar is open, we can navigate through the different tabs on the toolbar to find an individual tool that we want to use.

Let’s try drawing a polygon on the map. When we activate the drawing tools with keyboards, we have activated “accessibility drawing mode”. Once we’ve activated the polygon drawing tool, our focus is now on the map, as indicated by the purple line around the map. We can now draw on the map using the keyboard.

Hitting Enter will drop a marker in the center of the map extent, and we can control the position using the arrow keys on the keyboard. Hitting Enter will drop a vertex on the map, from which now we can move our cursor around with the keyboard. Hitting Enter again will drop another vertex. If you find that the increments with which the keyboard moves around is too large, you can hold the Alt key and you get a more fine-grained control over where you want to drop the vertex.

Hitting Enter again will complete the shape, and now we can edit this shape using the keyboard shortcut “V”: we can cycle through all the vertices, which we can move. Holding Shift+V will cycle the vertices in reverse order. Between each vertex, another handle will get added that we can then drag out to edit the shape, which will add more handles that we can edit. When we’re done drawing the shape, hit Enter again to complete the shape. And now your shape is drawn on the map. If you hit Enter again, you can draw a second shape. And that’s how you draw on the map with the keyboard.

Another great accessibility feature in our viewers is screen reader support. Geocortex Viewer for HTML5 supports the combination of Firefox with the NVDA screen reader. The screen reader will read aloud changes in the application, links, text, map location, those sorts of things.

In combination with some of the keyboard support, we can navigate through the viewer and the visually impaired will have the benefit of a screen reader reading out the context and instructions to them. Let’s try a couple examples here.

[Screen reader reading results]

Now know that we can perform a search because the screen reader has read out those instructions for us. So, let’s perform a simple search.

[Screen reader reading results]

After we perform the search, the screen reader read out that we’ve closed the home panel and opened the search results panel. We can tab through here to hear other instructions.

[Screen reader reading results]

As you could hear, as we zoom to all the features in the feature collection, the screen reader read out the coordinates and extent change on the map to keep users centered with where the map is now located.

To learn more about accessibility with our viewers, you can visit our Documentation Center at Just search for “accessibility” and you can read all about accessibility in our viewers, including a detailed list of all the keyboard shortcuts to help you navigate through applications with just the keyboard.”

​You can learn more about Geocortex Essentials accessibility features in our 2017 webinar, which is available on YouTube here.

How to search for data in a non-spatial database [Geocortex Tech Tip]

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. 

Watch on YouTube


Video Transcription

“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.

Discover Geocortex

Configuring Geocortex Analytics to monitor a new Portal for ArcGIS instance [Geocortex Tech Tip]

Geocortex Analytics helps you get a complete picture of your GIS infrastructure; you can ensure peak performance, keep your users happy, and avoid interruptions. For many of us, Portal for ArcGIS is a critical piece of the GIS environment, and one that we want to monitor.

In this Geocortex Tech Tip, Aaron Oxley shows you how to configure Geocortex Analytics to monitor a new Portal for ArcGIS instance.

Watch on YouTube


Video Transcript

“Hi, my name is Aaron Oxley. I’m a Product Support Analyst at Latitude Geographics and in this video I’ll be explaining how to configure Geocortex Analytics to monitor your Portal for ArcGIS.

Once you're logged in and looking at the summary page in your Geocortex Analytics reports, click the “configuration” link in the top right corner. And that will take us to the configuration overview page, and we can see to add a new resource, we need to click “add resource” in the bottom of the resource list. Let’s go there.

Portal for ArcGIS is what we’re after. As you can see, there’s not a lot of configuration required. The first thing that we need is a name. This is what’s going to show up in reports, alarm emails, and texts. I like to use the name of the server where the portal is hosted, even if you only have one portal, it’s a good naming convention in case your environment grows in the future.

In the next field, you’ll need the URL to your Portal for ArcGIS. You can see there’s an example here; the default URL is “servername/arcgis”, but if you aren’t sure about what to put here you can confirm the correct URL by testing in a browser.

I’d like to do that, so let’s open a new tab and load up our portal. We can see this is our portal, so we know the URL is correct. Let’s copy it and take note of the protocol. We can see here that it is HTTPS. We’ll paste the URL and toggle the protocol field to HTTPs.

Now lastly, because your Portal for ArcGIS is secured, you need to enter credentials, and they need to be from an administrator account. There’s five options here. First one is token, and if your portal uses token authentication it’s very straightforward: just enter a username and password for an administrator and click save.

The next option -- OAUTH2 -- is certainly the most common, and it’s also Esri’s recommended methodology for user sign in. We see a message here that we’re going to need an app that has this redirect URI. We’re also going to need an app ID, an app secret, and lastly, we see a message letting us know that we are still going to need to provide administrative credentials.

So, let’s go and get this app created: come over to your portal and click “content” in the top. Under my content, click on “add item” and select an application. In here, we’ll select an application again and enter a title, and some tags. If we click “add item” that will create our application, and we can see it there.

Under the “settings” tab, near the bottom, there’s a registered info button. If we click that button, and then click the update” button, we can enter a redirect URI. If you remember from the configuration page here, we have the redirect URI specified. We can copy that and paste into here. Click the “add” button and it shows up in the list below, click the “update” button and it’s all set.

Now lastly, before we go back to the configuration in Geocortex Analytics, we need the app ID and app secret. Go ahead and copy the app ID, paste into the corresponding field in Geocortex Analytics. Same thing with the app secret. That’s all there is to it. We can now click “save” and we should be prompted to sign into ArcGIS Enterprise.

So, this has now taken us to Portal for ArcGIS. These are administrative credentials for portal, so this is an account that has administrator access. “Sign in” brings us up to “Save Successful” and we can see that it was saved successfully.

The third option for authentication types is good old Windows authentication, and it really is as simple as entering username, password, domain, and clicking save. As with the other types, this does need to have full administrative access.

And the last two options are just combinations of the previous three in case your portal is configured with two layers of security. But the procedure is the same. Just follow the exact same steps as for these ones above. And that’s all there is to it.

Once again, my name is Aaron Oxley, I hope this video was helpful. Thanks for watching!”

To learn more about how Geocortex Analytics can help you get a better understanding of the performance of your GIS, please get in touch and we'd be happy to take you on a tour of the product.

Getting started with forms in Geocortex Workflow 5 [Geocortex Tech Tip]

You hear us talk a lot about the importance of keeping your end-users in mind when developing GIS tools and applications; we built Geocortex Workflow 5 to help you improve user experience by allowing you to guide end-users through complex business processes in simple, intuitive ways, which is largely achieved through forms for capturing user inputs.

The improved forms offered with Geocortex Workflow 5 go beyond just simple text inputs; you can present users with checkboxes, dropdown menus, and geometry and file pickers. In this Geocortex Tech Tip, Ryan shows you how to get started and build your first form for deployment inside Geocortex or Web AppBuilder for ArcGIS.

Watch on YouTube


Video Transcript

“Hi, I’m Ryan, and I’m a Product Manager at Latitude. Today I’m going to show you how to get started and build your first form with Geocortex Workflow 5. Let’s get started.

One of the main uses of [Geocortex] Workflow is to create an experience that guides the end-user through some sort of business process. Typically, what that means is that we are presenting forms to the user so that we can capture inputs from them, then pass on to the rest of our workflow, which actually executes the business logic based on the data the user provided. So, an indispensable tool in [Geocortex] Workflow is the “display form” activity, available here in the tool box.

To get started, just drag [the “display form” activity] onto the design area and connect it to the flow chart. Now we have a workflow that contains one “display form” activity. If I double click that activity, it opens the form designer experience. We can see here that I have a header that contains my title, and a footer that’s got some buttons in it for “submit” and “cancel”. So that’s what we have by default.

I can change the title of the form if I want to "My form". And if I wanted to, I could change the buttons around to “back” and “next” instead of “submit” and “cancel” or add and remove buttons as needed.

And then we’ve got a selection of form inputs that we can choose from, depending on what type of information we need to capture. So, just starting with something simple, a textbox, we can drag that onto the [design area]. And let’s say that we wanted to create an address entry form. I can change that textbox’s title to just be “address”. And if I want a little description underneath that, I could put something like “enter an address” in there and it shows up.

There’s even some cool things that we can support, like markdown, to make it have some improved formatting. If I wanted bold or italics, or things like that, that’s available. And I can supply a value.

Okay, so that’s sort of a basic input that we’ve fleshed out. There’s also all kinds of other things that we can add. If I wanted radio groups or check box groups, dropdown lists, all sorts of things are possible in here. And even things like a geometry picker is going to allow the end-user to draw a shape or multiple shapes on the map. File pickers can [also be used to] capture pictures from phones and things like that. All these different items are available in here.

So now what we do is, I’m going to hit “Ctrl+S” to save this and am going to demonstrate this form running in our sandbox application. So, we can see this workflow running with various Esri APIs - in this case just a 2D map. Here’s the form showing up, as it was designed. There’s my text input, I’ve got radio buttons that we didn’t bother to configure, I’ve got a geometry picker that’s going to allow me to draw a shape on the map. All that information is available just from that, the simple clicks that set-up that form.

And the last thing I’ll show here is a couple real applications. This is just a sandbox for testing, but if we were to look at WebApp Builder [for ArcGIS], I can connect to a widget that’s going to run that workflow.

Here’s that exact same form running from the workflow I just edited, available here. That’s a 2D Web AppBuilder for ArcGIS application, and then here’s a 3D one that runs a completely different viewer and a completely different layout that’s being used, but it runs just the same, so we can get our forms rendered and we can start capturing input.

That [should be] enough to get you started. Stay tuned for future [Tech Tips] where we look at how we can get this data out of the form and pass it on to our workflow process.”