From Sitecore documentation:
Pipelines define a sequence of processors that implement a function, such as defining the Sitecore context for an HTTP request or generating a list of messages in the Content Editor. Pipelines assist with encapsulation, flexible configuration, separation of concerns, testability and other objectives.
Each processor in a pipeline contains a method named Process() that accepts a single argument and returns void. A processor can abort the pipeline, preventing Sitecore from invoking subsequent processors.
The argument that is passed to the Process() method must be of a type that is specific to the pipeline or be the default argument —Sitecore.Pipelines.PipelineArgs. To create a pipeline processor, create a class that implements a method named Process() with the same signature as the other processors in the pipeline. This processor can inherit from an existing processor, and you can add, remove, replace, and rearrange processors in the pipelines to suit your requirements.
Read more in Sitecore Pipelines document. It's for Sitecore 6.5 but the concept is still the same.
EDIT
Both <processors>
and <pipelines>
nodes in Sitecore configuration are used for defining pipelines.
There are few differences I know about:
Processors
processors should have parameterless constructors
- When defining a processor inside
<processors>
node, you can specify method name different from Process
, e.g.:
<processors>
<uiAddFromTemplate>
<processor mode="on" type="Sitecore.Shell.Framework.Pipelines.AddFromTemplate,Sitecore.Kernel"
method="GetTemplate" />
<processor mode="on" type="Sitecore.Shell.Framework.Pipelines.AddFromTemplate,Sitecore.Kernel"
method="Execute" />
</uiAddFromTemplate>
</processors>
- When defining
<pipelines>
pipeline, you can group pipelines (see second <pipelines>
tag inside the group), e.g.:
<pipelines>
<group name="itemProvider" groupName="itemProvider">
<pipelines>
<addFromTemplate help="Processors should derive from Sitecore.Pipelines.ItemProvider.AddFromTemplate.AddFromTemplateProcessor.">
</addFromTemplate>
</pipelines>
</group>
</pipelines>
In background Sitecore uses different methods for creation of the pipelines defined in <processors>
and in <pipelines>
config nodes.
It looks like <processors>
are mostly used for UI
related stuff.
I would recommend to use always <pipelines>
if you want to build any custom funcionality for consistency and transparency.
<processors>
Sitecore configuration. I misunderstood the question at first and thought it's about what a pipeline was.