Skip to content
We're currently creating a lot of content. Sign up to get notified when it's ready.

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.

R1 Plugin follows UI and UX principles of the Qatium platform

Section titled “R1 Plugin follows UI and UX principles of the Qatium platform”

All plugins.

  • 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.
  • Plugin copy should be available in English, Spanish and Portuguese.

Review Qatium UI and UX guidelines to ensure the plugin follows them.

R2 Calculation results performed by the plugin are correct

Section titled “R2 Calculation results performed by the plugin are correct”

Plugins displaying calculation results to the end user or modifying the network model.

  • 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.

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

Section titled “R3 Plugin behaviour complies with Qatium Community’s Terms and Conditions”

All plugins.

Plugin behavior, assets, calculations and visualizations should always comply with Qatium Community T&C.

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

Section titled “R4 Plugin does not affect performance and behavior of other plugins or the Qatium platform”

All plugins.

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.

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

Section titled “R5 Plugins should not rely on using data generated by other plugins”

All plugins.

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.

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

Section titled “R6 Plugin should not access the network without explicit permission”

Plugins accessing the network through HTTP, WS, WebRTC or any other protocols.

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.

Add references to network domains in the manifest.json file.

R7 Plugin should use the latest Qatium SDK version for submission

Section titled “R7 Plugin should use the latest Qatium SDK version for submission”

All plugins.

Plugin should use the latest Qatium SDK version for submission.

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

Section titled “R8 Plugin bundle size should not exceed 2 MB in combined size”

All plugins.

Plugin bundle size, including plugin.js, index.html, manifest.json and icon.svg files should not exceed an uncompressed combined size of 2 MB.

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.

All plugins.

Plugin icon should be different from the default icon (smiling Q face).

Change the icon by a different icon.

R10 Plugins should display an empty state when required data is not available

Section titled “R10 Plugins should display an empty state when required data is not available”

Plugins requiring optional data.

Plugins requiring optional data such as asset installation dates, materials, SCADA or AMI data, zones, etc, should cleanly handle not having this data available.

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

Section titled “R11 Plugin submission should include extensive documentation of its behavior”

All plugins

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.

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

Section titled “R12 Plugins making use of values with units should adapt to the network units”

Plugins using values with units

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.

The review team will inform of which values must be adapted to conform with the network units.