What is SXA?
SXA Stands for Sitecore eXperience Accelerator. It's a module, by Sitecore, you can install into Sitecore. It has ready made templates and renderings you can use to build a site.
How long has SXA been around?
Quite a while!
Its first incarnation was as "Cognifide Zen Garden". Sitecore acquired this and released it as SXA 1.0 in August 2016. Sitecore have made quarterly releases since then and the latest version is 1.8.
What are the main Features?
Over 80 components
Drag and drop design
Ready made templates
Creative Exchange
Sitemap XML
Partial Designs
Page Designs
Rendering Variants
JSON Data Support
SXA Components
Analytics
Google Analytics
Compliancy
Privacy Warning
Composites
Accordion
Carousel
Flip
Snippet
Tabs
Generic Meta Rendering
HTMLSnippet
JSON
JSON Content
JSON List
JSON Results
Layout Services\JSON
Page layout as JSON
Context
Language Selector
SiteSelector
Engagement
Disqus
Facebook Comments
Livefyre
Events
Event Calendar
Event List
Forms
WFFM Form Wrapper
Maps
Map
Media
File List
Flash
Gallery
Image
Reusable Image
Media Link
Playlist
Video
Navigation
Archive
Breadcrumb
Link
Link List
Navigation
Page Content
Field Editor
Page Content
Page List
Pagination
Plain HTML
Reusable Plain HTML
Promo
RichText
ReusableRichText
Title
Page Structure
Container
Divider
EditModePanel
IFrame
Column Splitter
Row Splitter
Toggle
Search
Checklist Filter
Date Filter
Dropdown Filter
Managed Range Filter
Radius Filter
Range Slider Filter
Facet Slider
Load More
Location Filter
Page Selector
Page Size
Results Count
Results Variant Selector
Search Box
Search Results
Sort Results
Security
Login
Logout
Social Login Wrapper
SiteMetadata
BrowserTitle
CustomMetadata
Favicon
OpenGraphMetaData
SeoMetaData
TwitterMetaData
Viewport
Social
AddThis
Feed
Social Media Share
Twitter
Sticky Notes
StickyNote
Taxonomy
Tag Cloud
Tag List
Drag and Drop Design
The Experience Editor (known before as the "page editor") is a great feature of Sitecore. It allows building pages in a very intuitive way. SXA enables drag and drop design for pages, and partial designs.
Ready Made Templates
SXA provides over 400 templates. Templates exist for presentation components as well as page templates. SXA follows a component-based approach. This means you can use templates without needing to make lots of page templates. If you do make new page templates, they can inherit the SXA base page template without adding any new fields.
The ready-made templates allow you to set up the SXA multi-tenant structure.
Creative Exchange
Creative Exchange is one of the big selling points of SXA. It enables parallelization of the development and content authoring processes.
Users can create and enter content with ready-made templates. Back-end developers can build page layouts and structures with the built-in prototype theme. Once basic layouts are ready, Creative Exchange can export a copy of the site as static HTML and CSS. Front-end developers can use the exported HTML and CSS to create the design theme. Back-end developers import the theme into SXA when complete.
Sitemap XML
This is self-explanatory. Out of the box support for a simple feature used on every website.
Partial Designs
Partial Designs define a sub-section of a page e.g. the components of a header. They reference a set of renderings. The renderings in a partial design do not need to target the same placeholder. A partial design for a PDP could assign components to the head of a page as well as the main content. You edit partial designs with the presentation details dialog. This is the same as for pages or template standard values. A page can consist of more than one partial design.
Page Designs
Page designs are collections of partial designs. There are no placeholder settings on the page design. Partial designs contain the placeholder settings. The page designs folder (<yoursite>/Presentation/Page Designs) maps page designs to templates. This differs from vanilla Sitecore, where template standard values hold the presentation details.
Rendering Variants
Rendering variants are a way of supporting alternative variations of a component. e.g. with a different order or layout of elements, or different background colour. Rendering variants do not need any code; items define the HTML markup element by element. You can change the HTML structure for a component, by creating a new variant. You create a tree of subitems to define the HTML markup.
Grid Layouts
SXA comes with three front-end grid layouts:
Bootstrap
Foundation
960GS
The site settings item (<yoursite>/Settings) contains the field "Grid Mapping". This maps a grid type to the device type e.g. for the"Default" device use "Bootstrap" grid.
You can also incorporate any other grid system by adding your own MVC layout. The definitions for Bootstrap, Foundation and 960GS are under
/sitecore/system/Settings/Feature/Experience Accelerator
Media Library
When you create a new site with SXA you will see that there is a Media folder under your site node. This is for virtual items which point to actual media library folders. This saves editors having to see the entire media library when choosing an image.
Don't put media items here!
Summary
SXA provides a suite of ready-made, tested, proven components.
SXA introduces some new presentation concepts such as:
page designs
partial designs
rendering variants
snippets
SXA allows a rule-based approach for assigning presentation with page designs. e.g.
for site X apply page design Y to template type Z
This means you can share page templates between sites with different presentation.
Conclusion
Should I use SXA?
Yes!
Why should I use SXA?
Moves focus away from building basic components.
Allows you to concentrate on the unique problems/challenges of your client.
Ready made components are easy to use in the experience editor.
How much does it cost?
On some licenses, it's free. Check with your local Sitecore office for pricing.
There's too much stuff to learn :-(
You don't have to utilise all the features of SXA. Pick the features most important for you. Its worth using for page designs and partial designs alone!