Sitecore 8 gave us all sorts of handy new tools, including the ability to group pipelines, like so:
<pipelines>
...
<group groupName="mygroup" name="mygroup">
<pipelines>
...
</pipelines>
</group>
...
</pipelines>
What I am trying to determine is whether or not the ability to group pipelines is just (super useful) syntactical sugar, meant to make organizing and maintaining custom pipelines (e.g. for modules), or if there is a specific time when grouping pipelines adds the ability to do something that one wouldn't otherwise be able to do.
One of the things that has been throwing me is the fact that the Sitecore API refers to the name of the pipeline group as the pipelineDomain
. When I think of "domains", I think of domains in Sitecore, I think of security domains. Looking at the Sitecore code-base, I see that in DefaultCorePipelineManager
Sitecore actually resolves the pipeline by combining the pipelineName
and pipelineDomain
like so:
string str = pipelineGroup + "\\" + pipelineName
CorePipeline pipeline = (CorePipeline) this.pipelines[(object) str];
To me, this actually looks like it is used somewhat like a security domain. I understand the namespacing construct doesn't directly provide much beyond some additional flexibility in naming, but it occurs to me that this could be used for things like creating tenant or site-specific pipelines, and beyond.
My question is: when is it best to use a pipeline group, and should I be using it for things like tenant or site-specific pipelines?