Sitecore Pipelines

Pipelines are one of Sitecore’s essential integration concepts. They are used to extend existing functionality. Pipelines define a sequence of processor that implement different functions such as handling page requests, to uploading files and saving items through the UI. If you have a series of tasks, which need to be performed to accomplish a task, then a pipeline may be the way to go.

What is Pipelines?

Pipelines are used to control most of Sitecore’s functionality. Pipelines are defined in Web.config and in Sitecore patch files.

The following is an example of the pipeline that is responsible for rendering a page:

render-page-pipeline
Sitecore separates the pipelines into two groups: those defined within the /configuration/sitecore/pipelines and /configuration/sitecore/processors elements in the web.config file. In general, those defined within the /configuration/sitecore /processors define pipelines that operate for UI requests and can interact with the user. Those defined with the /configuration/sitecore/pipelines tend to define system processes.

What is processor?

Each step in pipeline is called a ‘processor’. The sequence of processors within a pipeline is defined in web.config file. Each Processor contains a unique operation and all these steps together create a pipeline.

A processor is a .NET class that implements a method. When a pipeline is invoked, the processors are run in order. Processes ranging from authentication to request handling to publishing to indexing are all controlled through pipelines.

Each processor in a pipeline contains a method named Process() that accepts a single argument and returns void. This method should return immediately if the processing context is not relevant to the processor. A processor can abort the pipeline, preventing Sitecore from invoking subsequent processors.

<pipelines /> define system process such as initialize Sitecore application, load content editor warning. <processors /> define UI process such as copy item, delete item, drag item and so on.

List of Sitecore Pipelines

Sitecore includes more than 140 pipelines.  Installing Sitecore modules also results in more pipelines being added.

The following is a list of some of the more commonly used pipelines.

<initialize> 

Runs when the IIS application pool is started. Processors handle initialization tasks that need to run once.

<httpRequestBegin> 

This pipeline handles the HTTP request. This includes tasks such as resolving the context item, device and presentation settings.

<httpRequestBegin> under configuration/sitecore/pipelines in sitecore.config, defines Sitecore context. By default there are 19 processors under <httpRequestBegin> pipeline but it may vary based on different modules you have installed in Sitecore.
For example: If you have installed Sitecore DMS then you will find 21 processors under <httpRequestBegin> pipeline.

<insertRenderings> – Determines the presentation components to include when rendering an item

<renderField> – Runs when the FieldRenderer is used to render a field value.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s