cornelissenja edited this page Sep 6, 2018 · 15 revisions

Design module/data module

The design module now consists of 2 modules

They are combined because of similarities in heavy use of the database and case/variant management.

Design module

The design module consists of 4 parts that work together to visualize geo information in a case and its variants. It can also be used to show graphs of district wide data.

Technical structure

The part the user interacts with is the web client. There is a user manual for the web client part.

Data module

The data module binds the database to the other modules over the IMB network. It also handles the case/variant management in the database, controlled by the dashboard. The second function is data retrieval/updating. For that a dynamic set of queries are executed per request to form a JSON reply with the requested data.

For debugging data module requests a debugger is created to show all messages over the IMB framework related to this module. It is a Windows executable without any dependencies that connects to the default server and logs, both in a console and a file, all JSON string IMB messages on the relevant channels.

Event names

A calculation module publishes to "dashboard" to send events to the dashboard. A calculation module subscribes to "modules" to receive module events. A calculation module publishes to "data" to send events to the data module; if you do not specify the property "eventId" in your request to the data module the answer is published on the "data-to-dashboard" event.

To create a module specific event to receive the answer to getData request on:

The IMB client has a property privateEventName that you can subscribe to like

TEventEntry privateEvent = connection.subscribe(connection.privateEventName, false);

Notice the last parameter is “false” because the event name is already prefixed.

Pass privateEvent.eventName to the "eventId" property of your getData request and the answer will be send to your private event.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.