-
Notifications
You must be signed in to change notification settings - Fork 76
API Pipelines
Alen Pelin edited this page Aug 4, 2017
·
2 revisions
Like Sitecore CMS Sitecore Instance Manager uses pipelines idea for all complicated processes, but implements an idea as cascade pipeline processors that are dependent on each other. If the processor fails:
- It prevents running dependent processors (declared as children)
- It prevents running next steps
- It doesn't prevent running any independent processors of the same step
- All failed and skipped processors can be re-run when user manually fixes the problem
// TODO: Expand this
Type: SIM.Pipelines.WizardPipelineManager, SIM.Kernel.Pipelines
// TODO: Expand this
<configuration>
<pipelines>
...
<install title="Installing the {InstanceName} instance">
<step>
<processor type="SIM.Pipelines.Install.CheckPackageIntegrity, SIM.Pipelines" title="Validating install package" />
</step>
<step>
<processor type="SIM.Pipelines.Install.Extract, SIM.Pipelines" title="Extracting files">
<processor type="SIM.Pipelines.Install.MoveData, SIM.Pipelines" vital="true" title="Moving files">
<processor type="SIM.Pipelines.Install.CopyLicense, SIM.Pipelines" title="Copying license" />
<processor type="SIM.Pipelines.Install.SetupWebsite, SIM.Pipelines" title="Configuring IIS website" />
<processor type="SIM.Pipelines.Install.SetDataFolder, SIM.Pipelines" title="Setting data folder" />
<processor type="SIM.Pipelines.Install.AttachDatabases, SIM.Pipelines" title="Attaching databases" />
</processor>
</processor>
<processor type="SIM.Pipelines.Install.UpdateHosts, SIM.Pipelines" title="Updating hosts file" />
</step>
<step>
<processor type="SIM.Pipelines.Install.Modules.InstallActions, SIM.Pipelines" param="archive" title="Modules: installing archive-based modules" />
<processor type="SIM.Pipelines.Install.Modules.CopyAgentFiles, SIM.Pipelines" title="Modules: copying agent files">
<processor type="SIM.Pipelines.Install.Modules.CopyPackages, SIM.Pipelines" title="Modules: copying packages">
<processor type="SIM.Pipelines.Install.Modules.InstallActions, SIM.Pipelines" param="package|before" title="Modules: performing pre-install actions">
<processor type="SIM.Pipelines.Install.Modules.StartInstance, SIM.Pipelines" title="Modules: starting instance">
<processor type="SIM.Pipelines.Install.Modules.InstallPackages, SIM.Pipelines" title="Modules: installing packages">
<processor type="SIM.Pipelines.Install.Modules.PerformPostStepActions, SIM.Pipelines" title="Modules: performing post-step actions">
<processor type="SIM.Pipelines.Install.Modules.InstallActions, SIM.Pipelines" param="package|after" title="Modules: performing post-install actions">
<processor type="SIM.Pipelines.Install.Modules.DeleteAgentPages, SIM.Pipelines" title="Modules: agent files" />
</processor>
</processor>
</processor>
</processor>
</processor>
</processor>
</processor>
</step>
</install>
...
</pipelines>
</configuration>