What is difference between /configuration/sitecore/pipelines and /configuration/sitecore/processors in Sitecore configuration file.

Abhishek Malaviya
2 min readAug 9, 2019

--

Pipeline is well know topic in Sitecore word. Here we discuss type of pipeline implementation which you can find inside Sitecore.config file.

Sitecore separates the pipelines into two groups:
1. Those defined within the /configuration/sitecore/pipelines- [These pipelines tend to define system processes.]

Examples

<initialize>:Initializes the Sitecore application.
<preprocessRequest>: This is invoked for each HTTP request managed by ASP.NET. It is more common to use the pipeline for request processing logic.

2. Those defined within the /configuration/sitecore/processors – [define pipelines that operate for sitecore client UI requests and can interact with the sitecore logged in user].

They must be executed via Sitecore.Pipelines.PipelineFactory and Sitecore.Pipelines.Pipelineinstead of Sitecore.Pipelines.CorePipeline.

Functionally, the main difference appears to be that these UI pipelines have the ability to suspend while waiting for user input, and resume on Sheer UI postback. The Pipeline class has an IDproperty which is used for storing it in session. Thus the Pipeline itself and its args need to be [Serializable]. You can see some of this suspend/resume logic in Sitecore.Web.UI.Sheer.ClientPage.

Practically, unless you are doing Sheer UI customization, you should stick with use of <pipelines> / CorePipeline.

If you see Sitecore.config Processors classes must have parameterless constructor.

<!-- PROCESSORS
Classes must have parameterless constructor.
Supported attributes:
mode=[on|off]
type=name of class (case-sensitive).
namespace=namespace containing class. If no namespace is included, it is assumed that the namespace is the same as the assembly name.
assembly=name of dll containing the class (case-sensitive)
-->
<processors>
<dispatch>
<!-- This pipeline has been deprecated - try using the CommandManager object instead -->
</dispatch>

Examples- There are few following:

<uiAddFromTemplate>: Add an item based on a data template, branch template or command template.
<uiCopyItems>: Copy an item and its descendants.
<uiCloneItems>: Clone an item and its descendants.
<uiDeleteItems>: Delete an item and its descendants.
<loggingin>: When logging in.
<loggedin>: After login. : Implements logout.
<saveUI>: When a CMS user saves an item. : Upload a media item.

Reference: https://sitecore.stackexchange.com/questions/20330/whats-the-difference-between-configuration-sitecore-processors-and-configurati/20333#20333

Happy reading and learning Sitecore.

Happy reading

--

--

No responses yet