- Print
Export Import Diagram
Below is the entire transfer flow for Tulip Tables, Queries, and Aggregations. This document will provide a detailed explanation of this flow.
Custom User Fields and Machine Activity Tables
The flow described below also applies to how custom user fields tables and machine activity field tables are exported and imported.
Export
During the export process, the exported application or automation will report every table in use within that application. A table is considered in use if any of the following conditions are met:
- Shown in a “Table Record” widget
- Used in an input widget
- Shown in an interactive table
- Used in a trigger
- Used in an automation action
- Used in an automation event block
- Used in a filter for a table query, interactive table, or analysis widget
- Used as an input or output for a custom widget
If a field is archived, it will not be exported. If a field is archived but in use, the export will fail.
Import
Archived table fields will not be exported, and any references to those fields within applications will need to be remapped on import.
Find a same Table
To identify matching tables on import, we look for matching IDs. If a table with the same ID is found, we do not create a new table and rely on the existing one.
If the table in the importing site is archived, it will remain archived.
For Each Table Field
For each table field, we look for a matching field based on the column ID of that respective field.
If the data type of the matching field is different, the import will fail.
If the field is a linked record field, the linked table will be added to the list of dependencies for the import, and this flow will be repeated for that table.
For Each Query
For each query in the imported table, we check if that query exists. If a matching ID is found, we verify that the configuration is identical (limit, sorting, and filtering) between the target and source.
If a matching query cannot be found, a new query will be created. If a matching query is found, but it is not identical to the target instance, a new query will be created with a new name.
Note: This does not apply to custom user fields or machine activity tables.
For Each Aggregation
For each aggregation in the imported table, we check if that query exists. If a matching ID is found, we verify that the configuration is identical (operation, field) between the target and source.
If a matching query cannot be found, a new query will be created. If a matching query is found, but it is not identical to the target instance, a new query will be created with a new name.
Note: This does not apply to custom user fields or machine activity tables.