In every project there is a $config branch in which all settings of a project are stored. These include all the views and services on a project. In this guide we'll show you how to make an export of this branch and how to import this on a different project.


1. Displaying the $config branch


By default the $config branch is hidden for the user. To display the $config branch follow these steps:

  1. On the main side bar on the left side of the screen, select the 'Space settings' menu (the cog icon)
  2. Go to the 'Data' submenu
  3. In this menu, scroll down to the box 'Developer mode'
  4. Check the box 'Display config data within the space?'
  5. Return back to the main page by pressing 'Explore' in the side bar


The $config branch should now be visible in the branch list located in the bottom left on the main page.


2. Exporting the $config branch


Make sure you have selected the space for which you want to export the space settings in the space selector at the top of the left panel.


Access the tasks submenu of the Pipelines menu:

If this icon is not visible, this means you do not have the correct rights for this space. In order to see and use the menu you will need to have write access to the space (see this guide on how to get write access to a space)


Once in the menu follow these steps:

  1. Press the '+ Create a task' in the bottom right
  2. (optional) Give any name to the task in the 'Name' field
  3. In the 'Functionality' field select Export > Turtle > Basic
  4. In the 'Branch' field select the $config branch
  5. In the 'Filename' field give a clear filename, for example 'config-export.ttl'
  6. In the 'Prefixes' field, add the following prefixes. NOTE: without these two lines, the data cannot be exported and imported properly
    {
      "xsd": "http://www.w3.org/2001/XMLSchema#",
      "": ""
    }
  7. If done correctly, the task should look like this:  
  8. Press the green 'Create Task' button at the bottom of the space
  9. In the tasks overview table, press the run now button (play button icon in the 'Run Now' column) of the newly created task
  10. Wait for the task to finish, you can now download the config-export.ttl file 


3. Preparations for the import


Go to the space where you want to import the settings, and check of you can see the $config branch. Repeat the steps from the first section of this guide if you do not.


In a new and empty project, the User Interface will add settings to the $config branch by default. Before importing the new ones, these will have to be removed. To do this, follow these steps:

  1. Select the $config branch in the bottom of the left panel
  2. Open the graph console. This can be opened in the bottom right corner of the graph panel, if you do not see the graph console, go to the space settings and in the same box where you enabled the option to see the config branch, check the 'Enable the developer console in the graph view?'
  3. Perform the following query:
    selectOut '*'
    selectIn '*'
  4.  This will display all the data in the config branch on the screen. In the graph view, press shift and drag a box around all the nodes in order to select them all
  5. Right click any of the selected nodes and in the menu select 'Destroy n nodes' and confirm
  6. IMPORTANT: Do not refresh the page after this step, if you do the User Interface will recreate the config branch with the default settings and these steps will have to be repeated


4. Running the import


To import the previously exported file, follow these steps:

  1. Go to the pipelines menu and create a new task as described for the export
  2. In the 'Functionality' field select Import > Turtle
  3. In the 'Branch' field select the $config branch
  4. In the 'File' field upload the previously exported file
  5. Press the green 'Create Task' button at the bottom of the page
  6. In the 'Run Now' column of the newly created task in the tasks table, press the run now button (play icon button)


5. Refresh the page


Once the import task described in the previous section is completed successfully, the User Interface can be refreshed and the space now has the same settings as the space the $config branch was exported from!