Projects Export File Format

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search

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": []
    }
  ]
}