Skip to content
Alen Pelin edited this page Jul 2, 2015 · 2 revisions

← Developer Center

Overview

Description

Sitecore Instance Manager is a complex project that consists of two major parts:

  • Core (Kernel) is an abstract part that contains all the magic that locates Sitecore instances, installs new ones or deletes existing.
  • Tool (WPF Client) is a set of user interfaces that translate user's input into Core and output Core's information to user.

Code Levels

As it was mentioned, all the code is divided into two groups and levels within each of them. The architecture of both parts is based on CodeLevels concept that means grouping assemblies into levels, where assemblies from high levels can refer to low level ones, but not backwards. So that Pipelines Engine does not know anything about Sitecore Instances or Products, SQL Server or IIS.

Kernel

Level 1
  • SIM.Base.dll - basic functionality that includes logging, file system access, caching, advanced settings.
Level 2
  • SIM.Kernel.Adapters.dll - data access layer to SQL Server and Web Server (IIS).
  • SIM.Kernel.Pipelines.dll - pipeline engine
  • SIM.Kernel.Products.dll - product manager that scans local distributive packages and provides API to access them and their metadata
Level 3
  • SIM.Kernel.Instances.dll - instance manager that allows to manipulate with locally installed Sitecore instances
Level 4
  • SIM.Pipelines.dll - implementation of all basic pipelines used by application: setup, install, reinstall, delete etc.

WPF User Interface

Level 1
  • SIM.Tool.Base.dll - base UI functionality such as helpers, bootstrapping, converters etc.
Level 2
  • SIM.Tool.Wizards.dll - UI wizard library that wrap ups pipelines into user interface
Level 3
  • SIM.Tool.Windows.dll - implementation of all windows and wizards.
  • SIM.Tool.Plugins.*.dll - implementation of bundled plug-ins
Level 4
  • SIM.Tool.dll - is an assembling point that contains logic that prevents several instances of app being run at the same time, automatic updating etc.