Skip to content

Selective Export and Import ​

Last updated

Selective export writes chosen kinds of configuration to a JSON file; selective import loads such a file into another (or the same) appliance with a preview and a conflict rule. Use it to copy a line's devices, dashboards and alarm rules from a template appliance, without replacing users or anything else. Admin only; both cards are on the Backup page.

What can be exported ​

GroupTypes
Core ConfigDevices, Tag Subscriptions, Expression Tags, Tag UDTs, Dashboards, Workflows, Scripts (with libraries), Custom Pages, Alarm Rules
ManufacturingRecipes, Work Instructions, Shifts, Downtime Reasons, Quality Reasons, OEE Configs, Labor Standards
AdvancedSPC Charts, Andon Configs, Sparkplug, Custom Tables (data tables), Ladder Logic
SystemSystem Config (except feature.*, license.* and cloud.* keys)

Not exportable this way: users, notification groups, security levels, alarm pipelines, reports, work orders, secrets, files, and history.

Export ​

  1. In Selective Export, tick the types you need. Types another selected type depends on are ticked automatically and marked Required dependency (for example Alarm Rules need Tag Subscriptions, which need Devices).
  2. Optionally narrow a type to specific items.
  3. Tick Exclude sensitive data (passwords, credentials) if the file will leave the plant. This blanks the passwords, tokens and keys inside device driver settings (the rest of each device's settings is kept), and Sparkplug passwords and certificates. Re-enter those passwords on the imported devices.
  4. Click Download Export (N types). The file is scadaink-partial-YYYY-MM-DDTHH-MM-SS.json.

Import ​

  1. In Selective Import, drop the .json file or click Browse Files. The file is validated (Validating file...).
  2. Review the preview: Source: (the exporting appliance), Exported:, any warnings, and per type the Total, New and Conflicts counts with example names.
  3. Choose On conflict: — Skip existing (default) or Overwrite existing.
  4. Untick types you do not want.
  5. Click Import N Types and confirm.
  6. The result lists Inserted, Skipped and Overwritten per type, plus any row errors.

How matching and ids work:

  • A row conflicts when an existing row has the same identity: name for most types; slug for dashboards and custom pages; device + tag path for tag subscriptions; device for OEE configs; part number + device for labor standards; table name for data tables; key for system config.
  • Ids are renumbered on import, and references between imported items (a tag's device, an alarm rule's tag, ids inside dashboard widget JSON) are rewritten to the new ids.
  • "Created by" fields are cleared, so imported items have no creator.
  • The whole import runs in one database transaction.
  • Files exported by a newer Scada.Ink version are refused (Export file version N is not supported by this instance).

Note: An import takes effect right away, with no restart: alarm rules, workflows, expression tags, ladder tasks, OEE, SPC, Sparkplug device maps and the OPC-UA server reload, and new enabled devices connect. A device that was overwritten keeps its current connection until you disconnect and reconnect it. An imported ladder task is not started for you.

Example: roll out Line 4 from Line 3 ​

  1. On Line 3, export Devices, Tag Subscriptions, Dashboards and Alarm Rules, with Exclude sensitive data off (same network credentials).
  2. On Line 4, import with Skip existing. Check the preview shows only New rows.
  3. Change each device's IP address on the Devices page.

Troubleshooting ​

MessageCauseFix
Only .json files are acceptedA .db backup was dropped hereUse Import Backup for .db files
Not a Scada.Ink export file / Invalid JSON fileWrong or edited fileExport again
Export file is missing a valid _entityTypes listHand-edited or truncated fileExport again
This file does not match the one that was previewed. Preview it again before importing.The file changed between preview and import (API callers)Preview the same file again
…: ignored unknown column(s) … in the resultsThe file came from a version with extra columnsHarmless for those columns; check the items
Imported devices do not connectSensitive data was excluded, or the device was overwritten while connectedRe-enter the passwords; disconnect and reconnect the device
MethodEndpointPurpose
GET/api/admin/partial-export/schemaExportable types, groups and dependencies
POST/api/admin/partial-export{ "entityTypes": [...], "excludeSensitive": true, "entityIds": {...} } → JSON file
POST/api/admin/partial-export/previewMultipart field partial, ?conflictMode=skip
POST/api/admin/partial-export/importMultipart partial plus options = {"conflictMode":"overwrite","entityTypes":[...]}

For scripted provisioning with API tokens, the Configuration API offers the same bundle format; see Configuration Bundles.

See also ​

Scada.Ink Help Center