Whenever we post updates of CaseTalk on social media, some experts take these a step further. I love seeing those kinds of responses, for they are making me think outside the box, and add unique new features I never dreamed about. One of these comments was placed at a post about integrating the webbrowser in CaseTalk to integrate the web into the modeling workbench.

This specific comment suggested integrating Google Maps into the model. It would allow example population, to be plotted onto a map, or have custom attribute annotations to indicate where the model element occurred.

After having given this idea enough time to ripen, I decided to combine the so-called complex type and Google Maps into one. Let me explain.

Complex Type

CaseTalk supports Label Types. Simply put, these represent datatypes in business terminology. Instead of stating a name is stored in a database as a varchar(32), we simply allow this to be named "city name". These are more relatable and readable for domein experts.

Some label types however are a combination of a set of label types. For instance, the geo-coordinates for latitude and longitude. They are always used in pairs to indicate a spot on the globe. Therefor, we would need a set of label types, but still treat them as a single label type. They are no different from "city name", as it simply represents something to be stored in a database. And many database management systems now support for instance geo-related datatypes.

This population used in such a complex type (being the long lat) can then be plotted on a Google Maps. The screenshot renders both the complex type and a window overlaying the population onto the Google Maps.

LatLong ComplexType

The graphical rendering of a complex type closely resembles both label types as object types. Simply put, they are modeled like object types, but to have CaseTalk detect them as complex types, requirements dictate the following:

  • it should contain more than a single role
  • it should have no fact type expressions
  • it should not have any soft semantics in its object type expressions

Google Maps

Naturally, this feature has not yet matured into a release just yet, but the preliminary drawing of those structures will be introduced into CaseTalk 14.1. Once people will start using it more and more, I will add more effort into the code base to support complex types in various artifacts such as database scripts, transforming these elements during GLR (or not)., etc.

The plotting of the population onto a Google Map window can be relatively easy, but the detection of such elements containing the lat-long may need some work. Perhaps when more users start using the feature, once released, the options to add more geo-related shapes could be a good idea.

Nevertheless, the suggested feature is inspiring and shows how a mix of concrete examples and modeling elements can be neatly integrated with the web in ways only a few (or none) tools have delivered so far. And it illustrates there's no such thing as a dumb comment or question. Stay curious!

CaseTalk

We make IT better. Together!
 

Get your copy of the Book:

 just the facts