# Inserting a Custom Pipeline

This section describes how to modify an existing pipeline or create a new pipeline that takes advantage of the Deployment Template structure.

- About the sample pipelines
  For testing purposes, the Deployment Template includes two sets of pipelines and configuration files.
- Sample pipeline overview
  This section describes the high-level steps that are necessary to integrate a new/existing pipeline with a deployment template.
- Location of pipeline configuration files
  A deployment template's pipeline configuration files should be located on the primary server (i.e., the server on which the deployment template is installed, and usually the server hosting the EAC Central Server).
- Creating a new project
  Once the reference configuration files have been deleted, a new pipeline configuration project can be created.
- Modifying an existing project
  Modifying an existing Developer Studio project to match a new deployment template application is a somewhat tedious task. In fact, it is often easier to simply create a new deployment template application instead.
- Configuring a record specifier
  The deployment includes support for both baseline and partial index updates. In order to support partial updates, an application must include a record specifier, which is a property marked as the unique identifier of records in the index.
- Forge flags
  In order to reduce the amount of configuration required to integrate a pipeline into a deployment template, a standard deployment template application runs the primary and partial update Forge processes with an abbreviated set of flags.
- Input record adapters
  The record adapters load the source data.
- Dimension adapters
  The `--inputDir` flag specified to forge overrides the input URL for dimension adapters.
- Indexer adapters
  Since `--outputPrefix` and `--outputDir` flags are both included, the deployment template will override any values specified for the Indexer Adapter "URL" and "Output prefix" properties.
- Output record adapters
  Output record adapters are often used to generate debug or state information. By default, the location to which this data is written will be overridden by the `--outputDir` flag.
- Dimension servers
  The `--stateDir` flag will override the URL value for all Dimension Server components, and place any autogen state files in the [appdir]/data/state/ directory.
- Common errors
  This section provides troubleshooting information for commonly received errors.