Skip to content
Alen Pelin edited this page Jun 6, 2017 · 1 revision

Sitecore Instance Manager 2.0 aka SIM 2.0

Our brand: SIM is the only tool you need to manage Sitecore!

Conceptual Overview, No Source Yet

This page and this repository are only a conceptual overview and collaboration point, designed to share the vision, contacting the team and posting global ideas and user stories.

Please go ahead and post your ideas in the issues tracker to get the community into discussion. Suggest your technical improvements or implementation practices here (code is welcome). https://bitbucket.org/sitecore/sitecore-instance-manager/issues

Index

  1. Overview
  2. New Features prior to SIM 1.4
  3. Imporvements prior to SIM 1.4
  4. Methodologies
  5. Platform
  6. Processes

1. Overview

SIM 2.0 is an open-source brand new product for Sitecore development and deployment which provides you full range of supporting features such as:

  • installing Sitecore CMS, Sitecore Modules and Demo Sites, Marketplace Modules and Configuration Packages.
  • replacing databases, editing configuration, comparing with Sitecore defaults
  • tracking current Sitecore state, reviewing log files, rebuilding indexes
  • and much more

2. New Features prior to SIM 1.4

New UI

Development

  • Several Sitecore instances can be grouped into Project
  • Master instance is for configuration changes and development
  • Other instances are created by deploying master instance to local machine or remote servers with necessary configuration changes on the fly
  • User can see last created/changed/deleted items and serialized them, and during checkout user will be prompted to choose which items to deserialize and what to do with conflicts (not confirmed)
  • Reflector integration - when downloading Sitecore version, all its dlls are added to the Reflector as an "Assembly List"

Deployment

  • This feature is an analog of Sitecore Azure for local environment
  • Deploy Sitecore instance with Conent-Management (CM) role, Content-Delivery (CD) role, Publishing (PUB) role, Aggregation (AGG) role
  • Deploy Sitecore instance to the local machine or remote servers
  • Deploy databases to remote databases servers (e.g. core and master to DbSrv1, web and analytics to DbSrv2)
  • Deploy to a testing or a production environment
  • Deploy to AWS, Azure IaaS
  • Manage deployed instances the same way as they are local ones

Manage instance

  • Database management allows manipulating connection strings and corresponding databases via GUI
  • Hosts bindings manipulations via GUI
  • Embedded configurations editor
  • Embedded real-time log viewer

3. Improvements prior to SIM 1.4

General

  • Pipelines now support parallel operations that speed up execution

Installation

  • User doesn't have to download Sitecore distributives prior to install, it will be done automatically as a part of installation process, and all Sitecore products and versions are available out of the box
  • Automatic backups can be enabled to back solution up before installing any modules and packages, and any modifications
  • Manifests support PowerShell-based custom installation actions
  • During installation user is not prompted to input any additional data, all the data is collected beforehand (all conflicts, modules settings etc.)
  • Break the conventions, change name and location of Website, Data and Databases folders
  • Detailed package installation progress (percentage of items already installed)
  • Reworked Backup/Restore functionality aka Backup Center that stores backup data separate which allows restoring from backup deleted instances
  • Same format for Backup and Export - you can export your backup now, and backup contains IIS metadata
  • Rich UI which allows to backup or restore specific databases, folders, IIS Site settings
  • Backup only contains files that differ from the default installation

Development

  • Brand new level of Visual Studio integration - each project has its own .sln file where you can attach several external projects
  • NuGet integration - you can see all NuGet packages installed onto instance and have nuget console available in SIM
  • Updated Visual Studio templates
  • Out-of-website Visual Studio Project support
  • Embedded Sitecore NuGet Package Server based on sitecore-nuget-packages-generator

4. Methodologies and Processes

  • Open Source
  • Component model (big app contains of small separate projects)
  • IoC
  • DRY
  • KISS
  • TDD with 100% code coverage
  • SOLID
  • Static analysis

5. Platform

  • Visual Studio 2013 (we will switch to 2015 and C# 6.0 when released and stable)
  • .NET 4.5
  • Git
  • BitBucket as Wiki / Issues
  • AppVeyor as CI
  • Fody

6. Processes

Releases

2.0.0 Platform (no windows, configuration engine)

2.0.1 App (empty main window, components/plugins engine)

2.0.2 Instances (main window contains instances list, iis/instances engine)

  • instances list
  • instances have lazy-load properties like root folder, current state or showconfig
  • instances have prefetched/cached properties with auto cache updating engine

2.0.3 Projects

2.0.4 Databases

2.0.5 Environments and Deployments

  • 2.0.5 instances in environments
  • 2.0.6 databases in environments
  • 2.0.7 deployments to environments
  • 2.0.8 solr in environments

Facts

  • SIM is distributed both as ClickOnce app and as a zip.
  • SIM does not come with any configuration file out of the box, instead default configuration is an Embedded Resource and all user's modifications must go through configuration-merging concept.
  • SIM goes with bundled tools, files of those are Embedded Resources and are to be extracted to %APPDATA%\Sitecore\Sitecore Instance Manager\Bundles\<app-name>\ folder while initialization and used from there.
  • SIM uses in-memory and out-of-proc caches to boost performance
  • SIM controls IIS via RESTFul service (just an idea, needs implementation)
  • SIM checks all necessary subsystems before using them e.g. IIS installed, SQL Server is installed locally etc.