It’s now been a few months since we officially launched Geocortex Workflow 5, and it’s great to see our users building some innovative apps with Geocortex and Web AppBuilder for ArcGIS®!
One thing that we’ve been hearing, though, is that developers want the ability to apply their own code in the workflows they’re building.
As of version 5.2 (released a few weeks ago), Geocortex Workflow 5 now offers a software development kit (SDK) for building custom workflow activities. The SDK is TypeScript-based, allowing you to write your own custom code to run in workflows, with your builds producing the JavaScript required to execute the activities at runtime.
So, what are “activities”? In the simplest terms, they’re the building blocks of a workflow – each activity represents a unit of work. Geocortex Workflow 5 offers more than 150 pre-built activities that chain together to automate almost any task. Activities such as geocode, query layer, set the map extent, get user info, calculate distance, buffer geometry, run geoprocessing, and so many more allow you to streamline even the most complex GIS and business tasks.
Flex your development chops and write activities to perform tasks that weren’t previously possible – or were extremely complex to assemble with pre-built activities. You can combine your programming skills with Geocortex Workflow’s intuitive, activity-based design to build powerful applications.
Custom activities can be built for yourself, or for others in your organization; even non-developers can work with activities as they would any others in Geocortex Workflow Designer. And granted that your technology of choice supports the functionality you’re building, custom activities can be consumed in Geocortex and/or Web AppBuilder for ArcGIS applications.
Take Geocortex Workflow 5 even further
While most tasks can be automated with the pre-built, out-of-the-box (OOTB) activities offered with Geocortex Workflow 5, you can now build anything you want with the SDK. Custom integrations, talking to custom web services, connecting with 3rd party APIs, and interfacing with custom code in your existing apps are now all possible.
Here are a few examples of what you can do with custom activities:
- Perhaps you want to integrate with a 3rd party system like SAP®. While this is possible with pre-built activities, you’ll be manually assembling workflow logic to make the web requests, parse the responses, and execute your business logic. With the latest updates, you can achieve a result that’s more clean, efficient, and consumable by wrapping the logic in a few simple custom activities.
- Many common tasks are time-consuming to build – maybe you find yourself using the same pattern over and over in one workflow. Instead of following this repetitive pattern, you can bundle all the logic within a single custom activity. An example might be sorting map features by multiple columns. Pre-built activities are available that will sort data by one column, but it’s more efficient to write a custom activity to sort by multiple columns than it is to link activity after activity – especially if you need to perform these tasks across multiple applications and workflows.
- At the more complex end of the spectrum, you can build custom user interfaces using React (a leading JavaScript library for building user interfaces). This is the most challenging to achieve, but if you’re up for the challenge, it provides complete flexibility. If you’re thinking of doing this, we recommend chatting with us beforehand – we want to help make sure you’re on the right path.
Set a standard
Unless your organization follows strict guidelines for building custom apps and widgets, there is always the risk that developers will use different patterns and approaches to develop custom code. This makes it difficult for others to maintain or update the code; it can be a bit like the wild west.
This can be mitigated with Geocortex Workflow 5’s custom activities. All activities have the same, simple signature of inputs, outputs, and an execute method. Following the activity-based pattern ensures you have a standard practice for building custom logic.
With activities, you are implementing a unit of work rather than a large, rigid solution. This promotes reusability and your code will be easier to write, interpret, test, and maintain. Any developer will be able to pick up your custom activities and understand how to work with them.
You can also control how custom activities are presented to other users in the browser-based Geocortex Workflow Designer. They can be configured to look like the existing OOTB activities, helping ensure a consistent pattern across your apps.
Custom activities in Web AppBuilder for ArcGIS®
At Latitude Geographics, we’ve always built complementary technology to help our customers accomplish even more with Esri’s ArcGIS platform. With Geocortex Workflow 5, we’ve taken this to a new level by allowing you to build workflows that run inside Web AppBuilder for ArcGIS.
If you’re using Web AppBuilder for ArcGIS, creating custom activities with Geocortex Workflow 5 is still the preferred alternative to writing a bunch of custom widgets. Initial deployment will require a similar amount of effort, but ongoing maintenance and modifications of custom activities require significantly less time (and pain!).
If you write a custom widget for Web AppBuilder for ArcGIS and want to deploy it to multiple apps, you need to edit the source code in all the applications using that widget each time a modification is required. With Geocortex Workflow 5, the custom code is packaged in an activity, and you only need to modify the source activity for changes to be applied across all your applications.
Learn more about deploying workflows inside Web AppBuilder for ArcGIS in the Geocortex Workflow Discovery Center.
Start building today
You can access the SDK in our Documentation Center. Just look for the .zip file that contains all the necessary instructions you need to get started.
Let us know how it goes
As you get going with the new SDK, we want to hear your feedback. If you have questions, comments, or concerns, please get in touch with us to let us know.
We’d also love it if you share what you’re building with us and other users in the Geocortex Workflow Community. This is a great place to connect with other users – everyone benefits from sharing tips, tricks, and sample workflows.
Happy building!