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.

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.