Projects Export File Format: Difference between revisions
Jump to navigation
Jump to search
(Created page with "This article describes the projects export file format (file extension .json). == Spec == The outmost level is a json object with '''Project''' property containing array of #Project objects: === Project === The Project objects have following properties: ** '''Name''' (String): String representing the project name. (Required) ** '''Description''' (String): String describing the project. ** '''Configuration''' (Object): Project configuration object. === Data...") |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This | This page describes the projects export file format (file extension .json). Projects can be exported and imported using this file format. | ||
== | == Specification == | ||
The | The project file format is a UTF-8 formatted text file containing json. The topmost level is a json object with '''Projects''' property containing an array of [[#Project|project]] objects: | ||
=== Project === | === Project === | ||
Project objects have following properties: | |||
* '''Name''' (String): Project name. (Required) | |||
* '''Description''' (String): Project description text. | |||
* '''Configuration''' (Object): Project configuration object. | |||
* '''DataTables''' (Datatable*): Array of [[#Datatable|datatable]] objects for the project's datatables. | |||
* '''Models''' (Model*): Array of [[#Model|nodel]] objects for the project's models. | |||
* '''Dashboards''' (Dashboard*): Array of [[#Dashboard|dashboard]] objects for the project's dashboards. | |||
* '''Scripts''' (Script*): Array of [[#Script|script]] objects for the project's scripts. | |||
=== Datatable === | === Datatable === | ||
Datatable objects has following properties: | Datatable objects has following properties: | ||
* '''Name''' (String): Datatble name. (required) | |||
* '''Description''' (String): Datatable description text. | |||
* '''Configuration''' (Object): Datatable configuration object. | |||
=== Model === | === Model === | ||
Model objects has following properties: | Model objects has following properties: | ||
* '''Name''' (String): Model name. (required) | |||
* '''Description''' (String): Model description text. | |||
* '''Configuration''' (Object): Model configuration object. | |||
* '''Attributes''' (ModelAttribute*): Array of [[#Model_attribute|model attribute]] objects describing the model's attributes. | |||
=== Model attribute === | === Model attribute === | ||
Model attribute objects has following properties: | Model attributes are currently used to store the [[Design_Diagram|design diagrams]] of the model. Model attribute objects has following properties: | ||
* '''Type''' (String): Attribute type. The only supported value is '''Diagram'''. (required) | |||
* '''Name''' (String): Attribute name (diagram name). (required) | |||
* '''Description''' (String): Attribute description text. | |||
* '''Content''' (Object): Attribute content. (required) | |||
=== Dashboard === | === Dashboard === | ||
Dashboard objects has following properties: | Dashboard objects has following properties: | ||
* '''Name''' (String): Dashboard name. (required) | |||
* '''Description''' (String): Dashboard description text. | |||
* '''Identifier''' (String): Dashboard identifier. | |||
* '''Content''' (Object): Dashboard content as object. (required) | |||
=== Script === | === Script === | ||
Script objects has following properties: | Script objects has following properties: | ||
* '''Name''' (String): Script name. (required) | |||
* '''Description''' (String): Script description text. | |||
* '''Code''' (String): Script code. | |||
* '''Language''' (String): Script language, either '''Expression''' or '''SQL'''. (required) | |||
== Examples == | == Examples == | ||
Project connected to a Snowflake database and schema, and project doesn't have any content: | |||
<syntaxhighlight lang="json" line> | |||
{ | |||
"Projects": [ | |||
{ | |||
"Name": "My project", | |||
"Configuration": { | |||
"DefaultLocationInDataSource": { | |||
"Database": "My Snowflake database", | |||
"Schema": "My Snowflake schema" | |||
} | |||
}, | |||
"DataTables": [], | |||
"Models": [], | |||
"Dashboards": [], | |||
"Scripts": [] | |||
} | |||
] | |||
} | |||
</syntaxhighlight> |
Latest revision as of 17:11, 10 May 2025
This page describes the projects export file format (file extension .json). Projects can be exported and imported using this file format.
Specification
The project file format is a UTF-8 formatted text file containing json. The topmost level is a json object with Projects property containing an array of project objects:
Project
Project objects have following properties:
- Name (String): Project name. (Required)
- Description (String): Project description text.
- Configuration (Object): Project configuration object.
- DataTables (Datatable*): Array of datatable objects for the project's datatables.
- Models (Model*): Array of nodel objects for the project's models.
- Dashboards (Dashboard*): Array of dashboard objects for the project's dashboards.
- Scripts (Script*): Array of script objects for the project's scripts.
Datatable
Datatable objects has following properties:
- Name (String): Datatble name. (required)
- Description (String): Datatable description text.
- Configuration (Object): Datatable configuration object.
Model
Model objects has following properties:
- Name (String): Model name. (required)
- Description (String): Model description text.
- Configuration (Object): Model configuration object.
- Attributes (ModelAttribute*): Array of model attribute objects describing the model's attributes.
Model attribute
Model attributes are currently used to store the design diagrams of the model. Model attribute objects has following properties:
- Type (String): Attribute type. The only supported value is Diagram. (required)
- Name (String): Attribute name (diagram name). (required)
- Description (String): Attribute description text.
- Content (Object): Attribute content. (required)
Dashboard
Dashboard objects has following properties:
- Name (String): Dashboard name. (required)
- Description (String): Dashboard description text.
- Identifier (String): Dashboard identifier.
- Content (Object): Dashboard content as object. (required)
Script
Script objects has following properties:
- Name (String): Script name. (required)
- Description (String): Script description text.
- Code (String): Script code.
- Language (String): Script language, either Expression or SQL. (required)
Examples
Project connected to a Snowflake database and schema, and project doesn't have any content:
{
"Projects": [
{
"Name": "My project",
"Configuration": {
"DefaultLocationInDataSource": {
"Database": "My Snowflake database",
"Schema": "My Snowflake schema"
}
},
"DataTables": [],
"Models": [],
"Dashboards": [],
"Scripts": []
}
]
}