Alert System for Portal Maps

For providers of data services, it’s critical to not only deliver quality data, but to make it easy for their customers to find out about the changes in that data that are most meaningful to them.  To help address this need, Gulf Publishing, a premium provider of in-depth data describing energy industry assets, had provided their users with a web mapping application that included simple tooling to opt into alerts notifying them of all changes within one predefined dataset.  However, users wanted to be able to receive alerts from the datasets of their choosing and only within the geographic areas of most interest to them.  This was well beyond the capabilities of the existing solution.

Our Approach

Our team at dymaptic understands that making the most of in-place software investments is critical to our clients’ success.  With Gulf Publishing and their users satisfied with the experience offered by their web application outside of the alert-subscription capabilities, we trained our expertise on addressing their need for additional functionality while leveraging their existing infrastructure to the maximum extent possible. 

Our Solution

Gulf Publishing’s web application had been built using ArcGIS Web AppBuilder, and the existing alert system consisted of a custom alert subscription widget paired with an FME model to detect changes in the back-end geodatabase and broadcast alerts.  Given our decades of experience with Esri’s many GIS technologies and web-based software development, we immediately recognized that we could easily offer a more fulsome user-facing alert configuration experience by building out the existing widget using the ArcGIS API for JavaScript.  And drawing from our deep knowledge of database and server programming and administration, we could see that FME, while extraordinarily useful data integration and automation software, was not a great fit for this particular purpose.  Instead, we concluded we could best provide the flexibility of change detection needed by employing Geodatabase Archiving and SQL Triggers, along with a Python script for sending alerts.  Moreover, this architecture would allow us to provide our client with a human-readable JSON configuration file for specifying the datasets on which to enable alert subscription.

With the scope of our task in place, we rebuilt the alert subscription widget to with an easy-to-use UI enabling users to specify which datasets they wished to receive alerts for, select what types of changes they wanted to be notified of, and draw the geographic areas on the map within which to be notified of changes.  To monitor changes in the data, we updated the database configuration to add archiving and triggers that would respond to these changes.  And to couple the user-specified alert subscriptions with any detected data-changes, we implemented a set of Python scripts to negotiate the alert settings and the database changes and send the appropriate alerts to users.  We then devised a simple JSON configuration file to specify which datasets to allow users to receive alerts for and incorporated this into both the alert subscription widget and the alert generation Python script.  And finally, we drafted detailed documentation for system administrators.

The Bottom Line

With our perspective on the importance of intelligently leveraging existing investments as much as possible paired with our broad knowledge of GIS, web, server, and database technologies, we at dymaptic were able to rapidly identify and implement a narrowly targeted solution that not only delivered the capabilities that Gulf Publishing and their users were seeking, but also exceeded our client’s expectations by seamlessly replacing a cumbersome and ill-suited component of the previous solution with one that was technologically appropriate and provided administrators with an easy-to-use configuration pathway.   The internal and external users of these components find our solution useful, usable, and flexible to this day.



Gulf Publishing


July 2019


Web AppBuilder, Python, JavaScript, ArcSDE, infomaptic