mtelligent

View Original

What is Sitecore Foundation?

It's been over 6 months since Sitecore Foundation was open sourced. Since then the framework has continued to evolve, adding features, supporting Sitecore 9 and SxA. Given the change, I thought it was a good point to a step back and talk about what Sitecore Foundation is:

  • A Foundational Solution and Set of Scripts for Creating Helix Based Solutions
  • A Collection of Modules that Solve Common Sitecore Requirements
  • An Incubator for Sitecore Innovation and Tooling
  • Open Source, MIT Licensed

It's also worth noting what Sitecore Foundation is not:

  • A Stand Alone installable Framework
  • A Reference Architecture like Habitat
  • Incompatible with other frameworks
  • A Monolith that requires you to use everything
  • Black Box, Closed Source.
  • Supported by a dedicated product team

Versions of Sitecore Foundation

At this point there are two versions and three branches. Regular Sitecore Foundation consists of:

  • Foundational Helix Solution that can be used for basis of Sitecore Projects 
  • 40+ Feature and Foundational Modules that can be used without dependencies on SxA
  • Has Features that provide similar features to SxA
  • Supports Sitecore 8.2 and Sitecore 9

And Sitecore Foundation for SxA consists of:

Using Sitecore Foundation

While you can look at the code and copy paste what you want, the normal use case is to create your solution based on Sitecore Foundation, remove what you don't need and add what you do. The basic approach is as follows: 

  • Use Sitecore Foundation as the basis of your Helix Solution
  • Remove Modules you don’t need.
  • Use Gulp Scripts for Local Builds and Deployments to promote best practices
  • Use Yeoman Scaffolding Tools to Add Modules
  • Coming Soon: VSTS Build/Release Templates to automate Server based builds.

Innovation

As mentioned, I use Sitecore Foundation as a way to test new ideas and try different approaches. Currently there are several features that are unique to Sitecore Foundation. These include:

  • Handlebar Components - Instead of creating components, or creating multiple variants of components with separate renderings, templates and configuration, you can leverage lightweight handlebar components or our new SxA Variant field to create complex UI with speed and flexibility.
  • Data Exchange Providers - Sitecore’s Data Exchange Framework is a powerful way to build standardized, repeatable import and export processes. Our Providers for Common Data Sources make it easy to configure end to end imports with no code.
  • Unified Analytics - Why choose Sitecore vs. Google Analytics, Web Trends or other tools when you can tag once and send everywhere? With our Client Side Analytics Library, Analytics.JS Plugin and Our Library of Analytics Components you don’t have to choose.

There is actually a lot more of functionality available, and there is still a lot of blog posts I can write to detail how to best take advantage of it. If you're want information, besides the blog, I've spent a decent amount of time on the Wiki