MeSca
The MeSca project stands for MEVISYS SCADA, meaning it is a program designed for creating SCADA dashboards. Put simply, it serves as a utility application for building visualizations that will subsequently be rendered on the server.
Since this is an internal application, the primary criterion for choosing the programming language was development speed. For this reason, the project is built as a Python application using the PySide GUI library. This is a path we have relied on for a long time, and it is well-tested in our workflow. The application’s main task is to display a symbolic preview of the layout of UI components on the screen, rather than a pixel-perfect replica of the final output.
Application preview:
The layout design is based on the proven concept of dividing the screen with a grid of adjustable density. New elements are then added by selecting a rectangular area and inserting the new UI component into that space.
To make layout manipulation effortless, existing elements can be cut, saved to the clipboard, and pasted back onto the canvas once a new location is selected. The clipboard also allows elements to be duplicated with ease.
Existing elements can also be edited or deleted. Using this step-by-step process, the entire layout of display components is placed onto the screen, one element at a time.
The visualization project needs to be properly configured so that the resulting HTML page, to which the visualization is exported, loads correctly when rendered on the server.
Projects are managed in the standard way, allowing you to create, open, save, close, and configure them.
The exported HTML pages must be manually uploaded to the server to be displayed. Consequently, the layout in a web browser will logically differ from the editor preview. This mismatch suggests that it might ultimately be better to handle visualization building directly on the server, ensuring full adherence to the WYSIWYG principle.
Furthermore, moving this application directly into the server solution would allow customers to modify their dashboards on their own, removing the need to rely on us. This would likely make our server solution far more appealing, especially for on-premise installations on the customer’s hardware.