Projects Export File Format: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
This article describes the projects export file format (file extension .json).
This page describes the projects export file format (file extension .json). Projects can be exported and imported using this file format.


== Spec ==
== Specification ==
The outmost level is a json object with '''Project''' property containing array of [[Project|#Project]] objects:
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 ===
The Project objects have following properties:
Project objects have following properties:
* '''Name''' (String): String representing the project name. (Required)
* '''Name''' (String): Project name. (Required)
* '''Description''' (String): String describing the project.
* '''Description''' (String): Project description text.
* '''Configuration''' (Object): Project configuration object.
* '''Configuration''' (Object): Project configuration object.
* '''Datatables''' (Datatable*): Array of [[#Datatable|datatable]] objects describing the project's datatables.
* '''DataTables''' (Datatable*): Array of [[#Datatable|datatable]] objects for the project's datatables.
* '''Models''' (Model*): Array of [[#Model|nodel]] objects describing the project's models.
* '''Models''' (Model*): Array of [[#Model|nodel]] objects for the project's models.
* '''Dashboards''' (Dashboard*): Array of [[#Dashboard|dashboard]] objects describing the project's dashboards.
* '''Dashboards''' (Dashboard*): Array of [[#Dashboard|dashboard]] objects for the project's dashboards.
* '''Scripts''' (Script*): Array of [[#Script|ccript]] objects describing the project's scripts.
* '''Scripts''' (Script*): Array of [[#Script|script]] objects for the project's scripts.


=== Datatable ===
=== Datatable ===
Line 25: Line 25:
* '''Description''' (String): Model description text.
* '''Description''' (String): Model description text.
* '''Configuration''' (Object): Model configuration object.
* '''Configuration''' (Object): Model configuration object.
* '''Attributes''' (ModelAttribute*): Array of [[model attribute|#Model_attribute]] objects describing the model's attributes.
* '''Attributes''' (ModelAttribute*): Array of [[#Model_attribute|model attribute]] objects describing the model's attributes.


=== Model attribute ===
=== Model attribute ===
Line 49: Line 49:


== Examples ==
== Examples ==
<syntaxhighlight lang="typescript" line>
Project connected to a Snowflake database and schema, and project doesn't have any content:
let result = ScriptById(123).Run(#{
<syntaxhighlight lang="json" line>
   "parameter1": "value1",
{
  "parameter2": false,
   "Projects": [
  "parameter2": 123.45
    {
})
      "Name": "My project",
      "Configuration": {
        "DefaultLocationInDataSource": {
          "Database": "My Snowflake database",
          "Schema": "My Snowflake schema"
        }
      },
      "DataTables": [],
      "Models": [],
      "Dashboards": [],
      "Scripts": []
    }
  ]
}
</syntaxhighlight>
</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": []
    }
  ]
}