Exclude `dmx-geomaps` module from standard distro
When the user/admin removes the
dmx-geomaps module from the
deploy folder "Geomap" still appears in the Webclient's "Topicmap Type" selector:
But when trying to create a geomap an error occurs at server-side:
SEVERE: Request "POST /topicmap?name=My+Geomap&topicmap_type_uri=dmx.geomaps.geomap" failed. Responding with 500 (Internal Server Error). The original exception/error is: java.lang.RuntimeException: Creating topicmap "My Geomap" failed, topicmapTypeUri="dmx.geomaps.geomap" at systems.dmx.topicmaps.TopicmapsPlugin.createTopicmap(TopicmapsPlugin.java:100) ... Caused by: java.lang.RuntimeException: Topicmap type "dmx.geomaps.geomap" not registered at systems.dmx.topicmaps.TopicmapsPlugin.getTopicmapType(TopicmapsPlugin.java:694) at systems.dmx.topicmaps.TopicmapsPlugin.createTopicmap(TopicmapsPlugin.java:95) ... 50 more
The reason is that the frontend code of all the standard modules is statically "linked" into the Webclient (as a efficiency measure to reduce number of requests needed to launch the Webclient). So even when the
dmx-geomaps module is undeployed its frontend code still runs, that is the "Geomap" maptype is still registered at client-side (but not at server-side; causing an inconsistent situation).
The suggested solution is to exclude the
dmx-geomaps module from the standard disto, and make it an optional download.