<!-- Source: https://docs.squirro.com/en/latest/technical/templates/project-configuration.html -->
# Project Configuration

Project configuration allows you to specify settings within a project.

Between different environments, some of the settings will change. For example, you may need to connect to different databases in each environment.

Project configuration enables you to separate these configurations from the rest of the project.

Note: Project configuration is part of the Configuration Service. See [Configuration Service](../admin/configuration/config-service.md#admin-config-service) for further details.

## How To Modify Project Configuration

To modify the project configuration of a Squirro project, follow the steps below:

1. Open your Squirro project in your browser.
2. Navigate to the Setup space using the Spaces Navigation menu in the top-right of the page.
3. Click the Settings tab.
4. Click Project Configuration from the left sidebar menu.

At this stage, you are presented with a list of all built-in and (if set up) custom project configuration settings, as shown in the example screenshot below:

[![image1](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666364996.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666364996.png)

Use the plus icon (top right) to add new configuration keys.

Then fill the form with a configuration _name_, which is later used to refer to this _value_, a _data type_ and a _value_.

Example: See below:

[![image2](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666135649.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666135649.png)

This example provides a new configuration value `https://my-atlassian-instance.net/` . The value is retrieved specifying the key `connectors.confluence.hostname`, for example, in a data connector to connect to the Atlassian instance.

A configuration name must follow specific rules as described below the field in the UI or in the Configuration Service’s [Naming Keys](../admin/configuration/config-service.md#config-service-naming).

Note the following:

- All settings are editable.
- Custom settings can also be deleted.
- It is not possible to delete built-in settings, though you can reset them to their default value.

[![image3](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666430533.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666430533.png)

## Usage

Project configuration can be used in two ways. You can either:

- Edit built-in settings, or
- Apply configuration interpolation.

### Editing Built-In Settings

You can edit built-in project configurations to modify the behavior of features implemented on the Squirro platform, e.g., how popular queries work.

### Using Configuration Interpolation

The project configuration implements the configuration interpolation feature. It allows injecting the configured values in the [UI Data Loader](../data-loading/ui.md#data-loading-ui), [pipelet](../pipelets/index.md#pipelets) and [KEE](../kee/index.md#kee) configurations.

The syntax to access configuration values is: `${key}`.

Reference: See [Configuration Interpolation](../admin/configuration/config-interpolation.md#admin-config-interpolation) for more details.

## Examples

### Example Data Loader

When creating a new source using a data loader plugin, inject the configuration value instead of passing a hard-coded value.

[![image4](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666233996.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666233996.png)

### Example Pipelet

The interpolation can also be used when setting up a [pipelet](../pipelets/index.md#pipelets). Inject the configured values in the pipelet configuration:

[![image5](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666201201.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666201201.png)

### Example Known Entity Extraction

Project configuration values can be injected when setting up the [Known Entity Extraction](../kee/index.md#kee). In this case, inject the value in the JSON config file.

[![image6](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666102939.png)](https://s3.amazonaws.com/download.squirro.net/docs/migrated-attachments/227442733/2666102939.png)

## Import / Export

Project configuration can be imported or exported using the Import/Export Project functionality.

Reference: See [Project Export & Import](import-export.md#project-templates-import-export) for further details.
