specs/models/M_APP_EXPORT_IMPORT

App Export/Import

Overview

The mechanism to export a zip file of an App and import into another destination.

Import Behavior

Imported?Notes
Application
App Name(s)Yes
VariablesYes
LogicYes
TransitionsSee NotesTransitions that include navigating to a separate application will only import successfully if the apps are imported together as an app group. Otherwise, the reference to the external application will show as “Deleted App”.

Transitions internal to the application will import successfully.
Completion DataNo
Version HistoryNo
AnalyticsYes
User ReferencesSee NotesApp logic to send notifications to users will look for a matching user ID (not the plain text name representation). If the user ID does not exist on the target instance, it will not create the user and instead will be highlighted in red in the app showing as “Select a user” (the message is retained).
ApprovalsNo
Users
User TableSee NotesCustom columns in the user table will be imported, but referenced users and table data will not import.
Tables
Table SchemaSee NotesAll tables referenced from an application will import via the following rules. Tables are uniquely identified by an underlying table ID.

If a table with the same ID does not exist, or if a table with the same ID exists but is owned by a different Workspace than the one being imported to, a new table with a matching table schema (including matching table and column IDs) will be created.

If a table with the same ID exists but new columns had been added, columns will be added to the table on the target instance with matching IDs.

If a table with the same ID exists and columns were archived, but they exist in the source instance, they will be restored upon import.
Table DataNoTable data can be exported to CSV and reimported to target instance via standard tooling.
Table AnalyticsYes
Queries/AggregationsSee NotesQueries and aggregations will import but will always import as duplicates.
Table Record PlaceholdersYesSave for Analysis is set to True for all table records as default
Machines
MachinesNoIndividual machines in the library are not imported.
AttributesSee NotesIf an app is imported with a reference to a machine type, any machine attributes added to that machine type will be imported with the application.
TypesSee NotesIf an app is imported with a reference to a machine type, that machine type will be imported with the application.
StatesSee NotesIf an app is imported with a reference to a machine type, any machine states added to that machine type will be imported with the application.
Downtime ReasonsSee NotesIf an app is imported with a reference to a machine type, any machine downtime reasons added to that machine type will be imported with the application.
Activity HistoryNo
Machine AnalyticsSee NotesIf an app is imported with a reference to a machine type, any machine analytics included in the application will be imported.
WidgetsSee NotesWidget will import but will not be linked to a machine.
Connectors
Connectors / Connector FunctionsSee NotesConnectors will import via the following rules. As a note, all connectors will remove authentication details and require re-authentication in the target instance.

If a connector with the same ID does not exist, a new connector and function will be imported

If the connector with the same ID exists but the function does not exist, the function will be created in the connector with the matching name

If the connector with the same ID exists but the function has been deleted, the function will restored in the connector with the matching name.

If the connector with the same ID exists and the function with the same ID exists, no changes will be made to the connector function, even if the body in the source instance has changed.
Shop Floor
DevicesNo
StationsNo
Edge devicesNo
Vision CamerasSee NotesVision Camera Configurations (e.g. virtual cameras, obviously physical cameras cannot be export/imported) will be created if a trigger in the app requires the vision camera. Otherwise, the triggers will be improperly imported and be broken.

Note: For Vision Camera Widgets using a virtual Vision Camera Configuration we do not create a new configuration upon import, unlike triggers.

The import will always create new Vision Camera Configurations and name them after the importing app name, regardless if configurations of the same name exist.
Other
BotsNo
Activity HistoryNo

Tests

IDName
QA-T937App Export/Import : 01 - Running the "Import-Export" app after import
QA-T938App Export/Import : 02 - Widgets are Imported and Function
QA-T939App Export/Import : 03 - Embedded Widgets are Imported and Function

Requirements

IDRequirement
PLAT-8797 (851)Provide portability of configuration and components with full version, audit trail and history information. Ie. models and components can be exported and imported between environments and instances.