Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.
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.
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.
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.