User added data in Geocortex Inline [Geocortex Tech Tip] - Geocortex

User added data in Geocortex Inline [Geocortex Tech Tip]

Colin Doak
Colin Doak
Technical Partner Manager
January 29, 2021

User added data in Geocortex Inline [Geocortex Tech Tip]

User added data in Geocortex Inline [Geocortex Tech Tip]

So, you’re able to configure straight-line diagrams and alignment sheets quickly within a graphical interface.

But, now, you’re wondering how to add user added data to Geocortex Inline. What do you do?

The most common way to add data to Geocortex Inline is either as a feature service or a map service layer. This requires your data to be published by ArcGIS Server or through ArcGIS Portal.

A new feature in Geocortex Inline allows you to add data using Geocortex Workflow, which means that you can add data from pretty much any source.

So, if your data is a SQL server or if your data is an Excel or CSV file, you can add it by using Geocortex Workflow, which will pull the data and then present it as a chart in a band in Geocortex Inline.

Watch how this is done in this week’s Geocortex Tech Tip video below.

Watch on YouTube.

Video Transcript

“Hello! I’m Colin Doak. I am a Technical Advisor with the Partners team here at VertiGIS and I’m going to show you how to add user added data to Geocortex Inline. Let’s get started!

The most common way to add data to Geocortex Inline is either as a feature service, or a map service layer. This requires your data to be published by ArcGIS Server or through ArcGIS Portal.

A new feature in Geocortex Inline allows you to add data using Workflow. What this allows you to do is add data from pretty much any source. So if your data is in a sequel server or if your data is an Excel spreadsheet or a CSV file, you can add it by authoring a workflow that pulls the data in and then presents it as a chart within a band in an inline view.

Let’s have a look at that in action. You can see right here; I’ve got some Waze traffic alert data that I’ve published in a chart band in Inline. What I’d like to do is that I’d like to add some additional Waze data that I have local on my machine, stored as a CSV file.

What I’ve done, is that I’ve authored a workflow that allows me to do that.

I publish the workflow as an action for this particular band and the action is called Add CSV Data to Band. What that does is it fires up a workflow which allows me to select a file on my local machine. Once I click Next, what that will do is add an additional band below the original band.

So, here we have original Waze alerts bands, the red one and below that the blue one is a new Waze alerts. You can see that it’s not the same data. This is the data that’s been added from the CSV file.

So, how do we do that? Well, it’s a couple of things. One, of course, you have to author a workflow to do it and then you have to configure the Inline view to use that workflow as an action.

Let’s first look at the Inline configuration. So over here, we can have a look at our actions. You can see that I have that Add CSV Data to Band action right here and you can crack that up.

What I’m doing is I’m using a command called ‘GetDataFromWorkflowinNewBand’ and the inputs have for this command – the only thing that’s really required is the URL, but what I’ve done is I’ve actually included a bunch of parameters because I like to parameterize my workflows. And in this case, actually the workflow that I’m using or the workflows that I’m using are fairly generic. And the reason I did that is I wanted to be able to use the same basic structure for this workflow to be applied to other data sources like Excel XS or perhaps any other flat file. So, by making it generic and parameterizing it, I was able to do that.

There’s a lot of parameters here that perhaps if you were to author your own, you don’t have to really worry about.

We’ve got the URL, which is, of course, is a source, the URL workflow URL. I’ve got another one here called – poorly named – ‘workflowURL’ that’s responsible for presenting the CSV form that you saw. Then I’ve got a ‘datatransferformURL’, which actually transforms this CSV file to a feature set. Some parameters here, the Y-axis field that’s going to be in CSV data that allows me to plot it on the Y axis. I’ve got some other sort of form data here or the CSV. So, this way ‘formTitle’, subtitle description and ‘fileTypes’. If I do this then what I can do is I can have the form generic and of course the delimiter. If a CSV, is we’re doing a comma, but this could be a pipe or tab or whatever.

So, these are my parameters for my workflow. Once I’ve set up the actual action, what I can do is I can go ahead and add it to the band.

Go down here, you can see the band actions, one of them is dated CSV data band. So that’s as simple as that!

Now, a few caveats. You have to be aware of – this Waze data source here. This is coming from the band name, and this chart is coming, the data is wazejam. It’s important and it’s required actually, that in the data source, the measure field and the field that you’re pulling in from your external data, they have to match, otherwise it won’t know how to plot it. So, if you have in a CSV file, you have to make sure that the field that you’re plotting is actually measure. And you can see mine is a measure.

Of course, you could also do this so there could be a different field. And in your actual workflow, you convert the field name from whatever it is. So, this could be, for example, station. And then in your workflow, you could actually programmatically change that to measure so that they match. The take-away is that the fields need to be the same, the field names need to be the same. So that’s the one thing you need to be aware of.

Now, I’m not going to go really deep into the workflow itself, but I’ll just say there’s a few things that you should be aware of. One is, well, first, this is my Inline data source. So, I created in a generic Inline data source workflow. So, this can be a CSV file, an Excel file or whatever. And what it does is it’s got those steps. So, we initialize all of the data. We won’t get into that. But there’s a Get Data Workflow and all this does is it just runs a workflow. That’s that workflow URL that I showed you earlier. And this is what’s responsible for generating the feature set. So, one of the things that one of the outputs is this is an actual set of features. This is basically an array of features and then we create a feature set from it.

So, you can see right here that I’m creating the output of that workflow result features, I’m adding it and creating a feature set. The important thing is for the output for this Inline data source, in order for it Inline to understand how to use it, it has to have an output variable called featureSet cases. It’s case sensitive. And of course, this needs to be a feature set.

So whatever else you do here, how you get the data, how you transform it, any set of operations you do to it is entirely up to you. But the one thing in order for the workflow to be consumed by Inline is those two things. One, the measure values or measure fields need to match and the output variable needs to be feature set and needs to be a feature set.

So, if you can do those two things, you can add data to your Inline as a band and a new band or an existing chart.

That’s how you do it!

I’ll go a little bit into the other parts. So, to Get Data workflow, what that does is it calls this workflow, let me jump into this guy, and what this this does is it goes through and it presents a form. Right here.

So, we can add a file. And what that does is it converts it to that file to Base64 String and calls another workflow, and this is a server-side workflow, because we are having to do some data conversion. It’s very difficult to do that in a web browser, JavaScript. It’s much easier when you’re online. So, I created a server-side workflow. In this case, it’s the CSV feature set. It’s a very simple you get your workflow inputs, which is your Base64 String, then you convert it to Base64 string to bites and then bites the text, and then you convert it to a data table, and then you give her data table to a feature set, and then that’s it, you’re done!

So now you have your features. You can bring that back to your form here. Once you’ve got the data, you’re just basically pushing that back to your Inline data source right here, and then what you do is you want to filter your results, make sure that it fits within the range, and then you’re all done.

Just remembering that was the final output is a feature set and the name of the variable is case sensitive, lowercase F feature, uppercase S set.

Using this technique, you can basically build out any workflow to pull in any kind of data source from pretty much any source you want. So, I’ve done a few, I’ve done Excel, I’ve done CSV. I’ve also I’ve done for JSON web services. I’ve done one where we’ve pulled data in from SQL Server rather than using a feature service. So, you know, the sky’s the limit. You have a lot of flexibility in how you pull data in!”

Liked learning about configuring charts in Geocortex Inline and want to learn more about how it can solve your linear referencing needs? Click the button below for more product information, or to book a demo.

Discover Geocortex Inline


Categories:
Archive
Open: 2021
2021
October 15, 2021

Load Different Layouts on Startup in Geocortex Web [Geocortex Tech Tip]

October 1, 2021

Layout Editing in Geocortex Web [Geocortex Tech Tip]

September 24, 2021

Working with JavaScript Expressions in Geocortex Workflow [Geocortex Tech Tip]

September 17, 2021

How to Configure a Pivot Grid in Geocortex Reporting [Geocortex Tech Tip]

September 3, 2021

Advanced Configuration of KPI Cards in Geocortex Web

August 25, 2021

Eliminating Data Silos: Integrating Enterprise Systems with ArcGIS

August 20, 2021

Best Practices for Building a Workflow that Works in Multiple Environments [Geocortex Tech Tip]

August 13, 2021

Manipulating Charts in Geocortex Web [Geocortex Tech Tip]

August 6, 2021

Deploying the Hosted Widgets [Geocortex Tech Tip]

July 28, 2021

Geocortex products now available as out-of-the-box widgets within Esri’s ArcGIS Online®

July 23, 2021

Using JSON Data Sources to Pass Data to a Report [Geocortex Tech Tip]

July 16, 2021

Deploying an app from Development to Production in Geocortex Web [Geocortex Tech Tip]

July 2, 2021

Using Built-In Geocortex Workflows [Geocortex Tech Tip]

June 18, 2021

Save and Load Projects in Geocortex Web [Geocortex Tech Tip]

June 4, 2021

Integrating Geocortex Workflow with Maximo [Geocortex Tech Tip]

May 16, 2021

Integrate key business systems to enhance your GIS

May 13, 2021

5 Benefits of GIS-integrated content management with ArcGIS and Laserfiche

May 5, 2021

Why Top Asset Managers are Integrating ArcGIS and Maximo

March 31, 2021

Building Next Level Linear Referencing Apps with Geocortex Inline

March 30, 2021

How to run FME processes using Geocortex Workflow

March 22, 2021

Configuring permissions on geoprocessing tasks with Geocortex Access Control

March 12, 2021

Run a report from Survey123 using web hooks in Geocortex Reporting

March 5, 2021

How to debug workflows in Geocortex Mobile [Geocortex Tech Tip]

February 26, 2021

How to find an app item by client ID in Geocortex Item Manager

February 19, 2021

How to compare items in Geocortex Item Manager [Geocortex Tech Tip]

February 12, 2021

How to view and edit the JSON of an item in Geocortex Item Manager [Geocortex Tech Tip]

January 29, 2021

Using Geocortex Printing to run a print from a Geocortex Workflow

January 29, 2021

User added data in Geocortex Inline [Geocortex Tech Tip]

January 15, 2021

How to create mobile map areas in Geocortex Mobile using Geocortex Workflow

January 8, 2021

Mastering geometry editing with Geocortex Mobile [Geocortex Tech Tip]

Open: 2020
2020
December 18, 2020

Configuring multiple charts in a band using Geocortex Inline [Geocortex Tech Tip]

December 4, 2020

Using JavaScript to set advanced permissions in Geocortex Access Control

November 27, 2020

Using SVG images in Geocortex Printing and Geocortex Reporting [Geocortex Tech Tip]

November 20, 2020

Integrating third party maps like Mapillary into Geocortex Web

November 13, 2020

Conditional Chart Symbology in Geocortex Inline [Geocortex Tech Tip]

November 6, 2020

Understanding permission inheritance in Geocortex Access Control [Geocortex Tech Tip]

October 30, 2020

How to use URL routing in Geocortex Printing [Geocortex Tech Tip]

October 23, 2020

Improving suggestions by using the Cast activity with Geocortex Workflow

October 16, 2020

Considerations when migrating from Geocortex Viewer for HTML5 to Geocortex Web [Geocortex Tech Tip]

October 9, 2020

Launching a report from Geocortex Inline [Geocortex Tech Tip]

October 2, 2020

How to include the current map image in a report [Geocortex Tech Tip]

September 25, 2020

Database monitoring in Geocortex Analytics [Geocortex Tech Tip]

September 18, 2020

Efficiently setting field permissions using advanced JavaScript permissions [Geocortex Tech Tip]

September 11, 2020

How to set different user and group permissions on fields and attributes in Geocortex Access Control [Geocortex Tech Tip]

September 4, 2020

Filter expression syntax and operators with Geocortex Access Control [Geocortex Tech Tip]

August 28, 2020

Leveraging attribute filters in Geocortex Access Control [Geocortex Tech Tip]

August 21, 2020

Using layer filter effects in Geocortex Web [Geocortex Tech Tip]

August 14, 2020

Conditional Tips in Geocortex Inline [Geocortex Tech Tip]

August 7, 2020

Configuring KPI cards in Geocortex Web [Geocortex Tech Tip]

July 31, 2020

Find your way around a workflow using the new Navigator component [Geocortex Tech Tip]

July 24, 2020

Working with symbols in Geocortex Workflow (Accessing JavaScript 3.x & 4.x playground etc) [Geocortex Tech Tip]

July 22, 2020

Simplify Pipeline Integrity Management with Geocortex Inline [Webinar]

July 17, 2020

Configuring Geocortex Web Events in Geocortex Web [Geocortex Tech Tip]

July 10, 2020

Creating and configuring launch links in Geocortex Mobile [Geocortex Tech Tip]

July 3, 2020

Using environment variables for application management in Geocortex Web and Geocortex Mobile Designer [Geocortex Tech Tip]

June 26, 2020

Understanding feature actions in the Geocortex Web and Geocortex Mobile Designers [Geocortex Tech Tip]

June 19, 2020

Geocortex Essentials import/export support enhancements in 4.13 [Geocortex Tech Tip]

June 12, 2020

Using Union Geometries in Geocortex Workflow [Geocortex Tech Tip]

June 5, 2020

Removing unneeded applications in Geocortex Web and Geocortex Mobile Designer [Geocortex Tech Tip]

May 29, 2020

A deeper dive on advanced View Designer configuration [Geocortex Tech Tip]

May 22, 2020

Launching a workflow in Geocortex Inline [Geocortex Tech Tip]

May 20, 2020

Geocortex Essentials 4.13: Additional development tools and external widget support let you customize your apps even further

May 15, 2020

Understanding points of interest and station locator [Geocortex Tech Tip]

May 8, 2020

Using the Inline Designer to build linear referencing views [Geocortex Tech Tip]

May 1, 2020

Understanding performance differences between Geocortex Workflow and the workflow capability in Geocortex Essentials [Geocortex Tech Tip]

April 24, 2020

Printing a vector tile layer in Geocortex Printing vs the Printing widget in Geocortex Essentials [Geocortex Tech Tip]

April 17, 2020

Producing layer reports in Geocortex Reporting vs the Reporting widget in Geocortex Essentials [Geocortex Tech Tip]

April 10, 2020

Comparing dynamic forms in Geocortex Workflow vs Geocortex Essentials [Geocortex Tech Tip]

April 7, 2020

Take control of your GIS with Geocortex Access Control [Webinar]

April 3, 2020

Performing field inspections with Geocortex Mobile (OOB Editing) [Geocortex Tech Tip]

March 27, 2020

Working with Conditional Expressions in Geocortex Reporting [Geocortex Tech Tip]

March 20, 2020

Export support and new third party map integration widgets [Geocortex Tech Tip]

March 13, 2020

Configure and Monitor a Web AppBuilder Web Application from Geocortex Analytics [Geocortex Tech Tip]

March 11, 2020

Geocortex Events and COVID-19/Coronavirus

March 6, 2020

Running a batch script from an alarm with Geocortex Analytics [Geocortex Tech Tip]

February 28, 2020

Understand how your users are engaging with the tools in your applications [Geocortex Tech Tip]

February 21, 2020

How to manage alarms in Geocortex Analytics [Geocortex Tech Tip]

Open: 2019
2019
December 18, 2019

Geocortex in 2019, and a glimpse of what's to come

December 5, 2019

Four key benefits to adopting a mobile GIS solution

November 29, 2019

Using Geocortex Mobile to collect survey data [Geocortex Tech Tip]

November 27, 2019

Dive into Geocortex Analytics [Webinar]

November 22, 2019

How to input parameters on prints [Geocortex Tech Tip]

November 15, 2019

How to include feature attachments in reports [Geocortex Tech Tip]

November 14, 2019

Understanding application management in the Designer [Geocortex Tech Tip]

November 14, 2019

How to reference symbology from web maps [Geocortex Tech Tip]

November 14, 2019

How Geocortex Mobile can integrate with other apps [Geocortex Tech Tip]

November 14, 2019

Implementing Arcade Expressions in Geocortex Essentials [Geocortex Tech Tip]

November 14, 2019

Customer Spotlight: Geocortex Mobile

November 14, 2019

How to Format Your Reports [Geocortex Tech Tip]

November 14, 2019

Showing an image in a form after a file picker [Geocortex Tech Tip]

November 14, 2019

Richard Wiegmann Joins VertiGIS as President and CEO

September 27, 2019

Understanding the toolbar in Geocortex Web [Geocortex Tech Tip]

September 20, 2019

Refining Results in Geocortex Web [Geocortex Tech Tip]

September 19, 2019

Charting data using Geocortex Reporting: Honing your charting skills

September 13, 2019

Utilizing the flexibility of layout in Geocortex Web [Geocortex Tech Tip]

September 6, 2019

Creating Geocortex Web applications that move seamlessly between 2D and 3D [Geocortex Tech Tip]

August 28, 2019

Geocortex adds support for Arcade scripting and ArcGIS Online smart mapping

August 23, 2019

How to create sections and groups for your reports [Geocortex Tech Tip]

August 16, 2019

Displaying SQL Server Data in Geocortex Workflow [Geocortex Tech Tip]

August 14, 2019

Customer Spotlight: Geocortex Essentials

August 8, 2019

City of Austin: Spreading floodplain awareness with Geocortex

August 1, 2019

Geocortex Essentials 4.12: Improved integration with ArcGIS® Online

July 25, 2019

Introduction to Geocortex Printing: Learn to build stunning print templates

July 17, 2019

Updates to the Geocortex Product Life Cycle

July 8, 2019

Extending Web AppBuilder for ArcGIS® with Geocortex Essentials [Webinar]

July 4, 2019

City of Bellingham: Using Geocortex to take the stress out of water shut-off

June 27, 2019

Geocortex at the 2019 Esri User Conference

June 14, 2019

Customer Spotlight: Geocortex Workflow

May 17, 2019

Important Notice - Outage Issues & New Support Cases

May 17, 2019

How to build a summary report with aggregations of feature data [Geocortex Tech Tip]

May 16, 2019

Technology Q&A: Geocortex Mobile

May 10, 2019

How to create print templates for Web AppBuilder for ArcGIS®[Geocortex Tech Tip]

May 8, 2019

Dive into Geocortex Printing [Webinar]

May 3, 2019

Using Geocortex Workflow and Geocortex Reporting to produce a multi-layer report [Geocortex Tech Tip]

May 1, 2019

Market-Leading GIS Software and Services Companies Join to Form VertiGIS

May 1, 2019

Introducing VertiGIS

April 18, 2019

Integrating Workflows into Geocortex Mobile [Geocortex Tech Tip]

April 17, 2019

Customer Spotlight: Geocortex Reporting

April 12, 2019

Using Geocortex Go to preview app configurations [Geocortex Tech Tip]

April 10, 2019

How to Address Complex Form Navigation Using Geocortex Workflow

April 5, 2019

Building native, offline IOS, Android and Windows apps with Geocortex Mobile Viewer [Geocortex Tech Tip]

April 3, 2019

Streamlining mobile operations with Geocortex Mobile Viewer [Webinar]

March 29, 2019

A better way to run geoprocessing tasks in Web AppBuilder for ArcGIS [Geocortex Tech Tip]

March 28, 2019

Extend the reach and capabilities of your applications with integrations [eBook]

March 22, 2019

Displaying data from SQL Database when you select features [Geocortex Tech Tip]

March 20, 2019

How Geocortex users are enriching the communities they serve

March 15, 2019

How to Configure a Geocortex Essentials layer report with Geocortex Reporting 5 [Geocortex Tech Tip]

March 14, 2019

Region of Waterloo: How GIS & Geocortex technology helped meet local Source Protection Plan requirements

March 6, 2019

Integrating Business Intelligence and Data Sources with Geocortex Essentials [Webinar]

March 1, 2019

How to quickly add attachments to new features when editing [Geocortex Tech Tip]

February 22, 2019

Generating a report with sub reports from external data sources [Geocortex Tech Tip]

February 20, 2019

Geocortex Essentials 4.11: Saving Time & Increasing Efficiency

February 15, 2019

Accessing Samples and Building your First Workflow [Geocortex Tech Tip]

February 12, 2019

Open Beta of Geocortex Printing 5 Has Begun

February 8, 2019

Different Ways of Creating Selections of Features in Geocortex Viewer for HTML 5 [Geocortex Tech Tip]

February 6, 2019

4 Best Practices to Follow When Using Geocortex Workflow 5

February 1, 2019

Creating a Report that Displays a Screenshot of the Map [Geocortex Tech Tip]

January 28, 2019

Diving Into Geocortex Reporting 5 [Geocortex Tech Tip]

January 24, 2019

How Geocortex is Advancing Water Management Solutions

January 16, 2019

Creating Custom User Experiences with Geocortex Workflow 5 [Webinar]

January 11, 2019

Showing the search results using the item picker in Geocortex Workflow 5 [Geocortex Tech Tip]

January 9, 2019

City of Troy: Using GIS and asset management technologies to manage legislative requirements

January 4, 2019

Using scripting to put attachments in reports in Geocortex Reporting 5 [Geocortex Tech Tip]

Open: 2018
2018
December 21, 2018

Integrating Pictometry, Bing and other 3rd party maps within your Geocortex applications

December 19, 2018

Recapping the Texas Geocortex Regional User Group

December 14, 2018

How to use Geocortex Workflow 5 to populate the Attribute Table in Web AppBuilder for ArcGIS [Geocortex Tech Tip]

December 12, 2018

Finding yourself: Using geolocation in mobile and web applications [Webinar]

December 7, 2018

Enabling real-time user-to-user map collaboration within Geocortex Essentials

December 5, 2018

Reflecting on 2018

November 30, 2018

Creating mailing labels with reports with Geocortex Reporting 5 [Geocortex Tech Tip]

November 29, 2018

Alberta Energy Regulator: Supporting safe and responsible energy resource operations

November 26, 2018

Important update for ArcGIS and Transport Layer Security (TLS) Protocol Support!

November 23, 2018

Using fine-grained security to control access to layers, features, attributes and application functionality [Geocortex Tech Tip]

November 21, 2018

Enhancing Web AppBuilder for ArcGIS® with Geocortex Reporting [Webinar]

November 16, 2018

Using Geocortex Workflow 5 to automatically display a form for editing layer attributes [Geocortex Tech Tip]

November 15, 2018

Geocortex Achieves Esri’s “Release Ready Specialty” Designation

November 14, 2018

Celebrating GIS Day with York Regional Police: How GIS Data Has Mitigated Risk & Increased Efficiency in Crime Prevention

November 9, 2018

How to access a SQL database from a workflow using Geocortex Workflow 5 [Geocortex Tech Tip]

November 2, 2018

How to send an email from a workflow using Geocortex Workflow 5 [Geocortex Tech Tip]

October 26, 2018

How to add and configure charts inside reports with Geocortex Reporting 5 [Geocortex Tech Tip]

October 24, 2018

Geocortex Water Webinar Series

October 19, 2018

Integrating Geocortex Essentials with ArcGIS Online and ArcGIS Enterprise portal [Geocortex Tech Tip]

October 17, 2018

Cross-Platform Development with Xamarin [Webinar]

October 12, 2018

City of Fort Collins: Dynamic flood maps for public awareness, and flood insurance rate saving

October 2, 2018

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

June 27, 2018

Geocortex Essentials 4.10 is here!

June 12, 2018

Geocortex and the GDPR

June 6, 2018

Geocortex at the 2018 Esri User Conference

May 15, 2018

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

April 25, 2018

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

April 18, 2018

Delivering accessible mapping applications for everyone [Geocortex Tech Tip]

April 11, 2018

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

April 5, 2018

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

March 27, 2018

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

March 21, 2018

Using Geocortex Workflow with Web AppBuilder for ArcGIS [Geocortex Tech Tip]

March 15, 2018

Understanding tool usage in your GIS applications [Geocortex Tech Tip]

March 7, 2018

Running Geocortex Essentials workflows from an identify operation [Geocortex Tech Tip]

March 2, 2018

GIS Health Assessment: A new way to think about your system

February 28, 2018

Using the in-app help system in Geocortex Workflow 5 [Geocortex Tech Tip]

February 21, 2018

How to configure a personalized dashboard in Geocortex Analytics [Geocortex Tech Tip]

January 25, 2018

GIS is shifting to SaaS, and it’s a win for everyone


Categories

Popular Tags
Access Control Accessibility ArcGIS ArcGIS Online customer spotlight Customer Story Designer Energy Esri Geocortex Geocortex 5-Series Geocortex Access Control Geocortex Analytics Geocortex Essentials Geocortex Inline geocortex integrations geocortex item manager geocortex mobile Geocortex Mobile Viewer geocortex printing Geocortex Reporting Geocortex Reporting 5 geocortex tech tip Geocortex Tech Tips geocortex training Geocortex Viewer for HTML5 geocortex web Geocortex Web Viewer Geocortex Workflow Geocortex Workflow 5 GIS GIS Day GIS Health gis integrations Integrations mobile gis Pipelines Tech Tip Tech Tips Tip Tips vertigis Web AppBuilder Web GIS Workflow

Contributors