Review guidelines
After you submit your plugin for review, Qatium team will use this list of guidelines to assess the content, behavior, performance and legal conformance of your plugin before uploading it to the marketplace.
At Qatium we want to ensure the best experience for our community developers, so we will communicate with you and assist as much as possible to help you reproduce and understand any problems we find with your plugin that require an action.
Guidelines
R1 Plugin follows UI and UX principles of the Qatium platform
Application
All plugins.
Description
Plugins should follow the UI and UX principles of other Qatium plugins. UI design should be consistent with the Qatium design guidelines. UX should follow Qatium usability guidelines.
Action on failure
Review Qatium UI and UX guidelines to ensure the plugin follows them.
R2 Calculation results performed by the plugin are correct
Application
Plugins displaying calculation results to the end user or modifying the network model.
Description
Plugins should generate valid results for the calculations being displayed to the end user. Results should be valid in networks with different topologies. Results should be correct when using the international unit system and US customary unit system. Results should be correct for all variations of US customary units. Network changes should generate a valid and simulable network.
Documentation describing plugin calculations and how to test them should be included in the submission form to facilitate review.
Action on failure
In case documentation describing the plugin is not comprehensive enough for Qatium team to validate the calculations, further clarification will be requested.
In case any calculation fails, Qatium team will offer test INP networks and reproduction steps to assist on reproducing exact failures.
R3 Plugin behaviour complies with Qatium Community’s Terms and Conditions
Application
All plugins.
Description
Plugin behavior, assets, calculations and visualizations should always comply with Qatium Community T&C.
Action on failure
Qatium team will report which parts of the plugin are not compliant with the T&C as assistance.
R4 Plugin does not affect performance and behavior of other plugins or the Qatium platform
Application
All plugins.
Description
Plugin behavior and/or calculations do not affect:
- the perceived performance of the application and of other coexisting plugins.
- the behavior of other plugins, including not allowing other plugins to perform calculations or to display data on the map.
Perceived performance should be consistent on networks with different kind of assets, sizes and units.
Action on failure
Since developers might not have access to affected plugins, Qatium team will provide information on the steps causing performance problems, and assistance to reproduce them if required.
R5 Plugins should not rely on using data generated by other plugins
Application
All plugins.
Description
Plugin should be stand-alone and its behavior and/or calculations should not depend on calculation results coming from other plugins. Plugin should be able to work by itself.
Action on failure
Qatium team will provide information on the the steps causing performance problems, and assistance to reproduce them if required.
R6 Plugin should not access the network without explicit permission
Application
Plugins accessing the network through HTTP, WS, WebRTC or any other protocols.
Description
Plugin manifest should contain references to the domain names being accessed in the network, and a description of why is that network connection required to operate the plugin.
Action on failure
Add references to network domains in the manifest.json
file.
R7 Plugin should use the latest Qatium SDK version for submission
Application
All plugins.
Description
Plugin should use the latest Qatium SDK version for submission.
Action on failure
Update the SDK version used by the plugin to the latest available version.
R8 Plugin bundle size should not exceed 2 MB in combined size
Application
All plugins.
Description
Plugin bundle size, including plugin.js
, index.html
, manifest.json
and icon.svg
files should not exceed an uncompressed combined size of 2 MB.
Action on failure
There are many ways to reduce bundle size, like removing unnecessary library dependencies or fetching load large assets dynamically through the network. Qatium team will provide further details if required.
R9 Plugins should have a unique icon
Application
All plugins.
Description
Plugin icon should be different from the default icon (smiling Q face).
Action on failure
Change the icon by a different icon.
R10 Plugins should display an empty state when required data is not available
Application
Plugins requiring optional data.
Description
Plugins requiring optional data such as asset installation dates, materials, SCADA or AMI data, zones, etc, should cleanly handle not having this data available.
Action on failure
Add an empty state as a call to action to help users understand which data they should add to Qatium to use the plugin
R11 Plugin submission should include extensive documentation of its behavior
Application
All plugins
Description
The review team must be provided with documentation on how the plugin behaves, which are the available commands and which output is expected from each user action. This includes which network operations will be performed, which changes in map visuals, and any other changes.
Action on failure
The review team will request details on how the plugin works, and assistance if required.
R12 Plugins making use of values with units should adapt to the network units
Application
Plugins using values with units
Description
When manipulating any value with units, such as hydraulic values (pressure, head, level, flow, etc) or time units (hours, days, seconds), the plugin must adapt to the units configured by the network.
This involves displaying values in the correct units, showing the actual units in the UI, and performing calculations in the appropriate units. Inputs must account for network units, and apply any transformations if required.
Action on failure
The review team will inform of which values must be adapted to conform with the network units.