Global Office Directory
More Products
Share this page
Home > Community > Technical Blogs > John West Sitecore Blog > All About Pipelines in the Sitecore ASP.NET CMS
This blog post contains or links to everything I could find about processing pipelines in the Sitecore ASP.NET CMS.
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. Once you start implementing features with pipelines, you wonder how you ever configured enterprise systems without them. For information about choosing between events, pipelines, the rules engine and validation, see my blog post Intercepting Item Updates with Sitecore.
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.
The type of the argument to the Process() method may be of a type specific to the pipeline or the default 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. Your processor can inherit from an existing processor, and you can add, remove, replace and rearrange processors in the pipelines to suit your requirements.
You can use the configuration factory to define parameters for pipeline processors. For more information about the configuration factory, see my blog post The Sitecore ASP.NET CMS Configuration Factory.
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.
For descriptions and examples of some of the pipelines, see my blog post Important Pipelines in the Sitecore ASP.NET CMS.
Optional modules introduce additional pipelines through web.config include files. For information about how the Sitecore Digital Marketing System (DMS, formerly DMS) affects the default pipelines, see my blog post Important Pipelines in the Sitecore Digital Marketing System. For more information about web.config include files, see my blog post All About web config Include Files with the Sitecore ASP.NET CMS.
For information about creating and invoking pipelines, see Creating and running custom pipelines in Sitecore by Alistair Deneys.
If you have any questions about pipelines or information or resources to share about pipelines, please comment on this blog post.
More posts All About the Sitecore ASP.NET CMS.
Tags: API, Architecture, Infrastructure, Integration
- John West April 30, 2012 at 12:57 PM
- John West June 19, 2012 at 10:15 AM
- Brian Pedersen July 13, 2012 at 12:40 AM
- John West October 09, 2012 at 11:56 AM
- John West March 11, 2013 at 9:07 AM
- John West April 29, 2013 at 1:41 PM
- John West May 20, 2013 at 2:20 PM
John has over ten years of experience in the CMS industry. His areas of focus include the Sitecore community, Web industry research, Sitecore technical documentation, and product management.
This website is designed to be fully functional with scripts disabled in browser. Please contact the webmaster for any suggestions