November 14, 2016
There have been several technology advancements for Sitecore that where showcased at Sitecore Symposium this year. As a Sitecore developer, it's an exciting time to be a part of the community and see these take shape. I'll be covering six key advancements from Sitecore Symposium that I feel are fundamental to how we architect and build Sitecore experiences in the future.
Helix and Habitat
If you have been researching Sitecore development recently you have most likely come across the buzz words "Helix" and "Habitat". These two terms have been used interchangeably but they are in fact two different entities that serve two completely different purposes. Sitecore set out to more clearly define the difference between Helix and Habitat at Sitecore Symposium. So, what is Helix and Habitat?
Helix is a set of overall design principles and conventions for Sitecore development. Helix describes the overall architecture of your Sitecore solution and thus communicates some guidelines and conventions which should be durable and flexible enough to be applied to any Sitecore project or business. The architecture pattern described by Helix is often referred to as Component-based Architecture or Modular Architecture.
So why is Helix important? Having a set of well defined, documented, and tested guidelines improves efficiency / consistency and ensures we are all “Speaking the Same Language”. This applies to Customers, Partners, and even Sitecore as well. As you can imagine, if we all followed similar guidelines and principals, moving from one solution to the next becomes easier for not only developers, but also for Sitecore support as well. More importantly however it safeguards against architecting and coding a solution that doesn't adhere to best practices.
Habitat is a real Sitecore project implemented on the Sitecore Experience Platform using Helix. It is an example that allows developers to see how Helix is applied and lets developers experience a project based on these principles. It also provides an excellent basis on which to develop additional modules and extend existing ones. In addition, it saves the developer from having to create these modules from scratch.
The great news is that both Helix and Habitat are available today! I highly encourage checking out both Helix and Habitat. For more information, check out the following:
Sitecore Experience Accelerator (SXA)
Just prior to Sitecore Symposium, the Sitecore Experience Accelerator, or SXA, was announced. During Sitecore Symposium, Sitecore took the opportunity to further showcase what SXA is and why you may decide to purchase it. So, what is SXA?
The Sitecore Experience Accelerator (SXA) is development framework for Sitecore that contains pre-built components, scaffolding, template structures, multisite management, and theming capabilities to accelerate Sitecore development. SXA also separates structure from design, so that front-end designers, creative designers, content authors, and developers can work in parallel and you can deploy and maintain multiple sites quickly and cost effectively.
Admittedly, the Sitecore Experience Accelerator isn't for every project. It excels at more traditional content focused websites and their management. It is less ideal for projects that involve deep integrations, heavy customization, or single page applications.
The Sitecore Experience Accelerator is available today starting with Sitecore 8.2. For more information, check out the following:
Azure Web Apps
One of the interesting advancements for Sitecore is finally adding support for Azure Web Apps. Unfamiliar with Azure Web Apps?
App Service Web Apps is a fully managed compute platform that is optimized for hosting websites and web applications. This platform-as-a-service (PaaS) offering of Microsoft Azure lets you focus on your business logic while Azure takes care of the infrastructure to run and scale your apps.
Sitecore had to, and still is, overcoming the hurdles of transitioning more traditional server installation software to a platform-as-a-service (PaaS) model. This includes, but not limited to, how session state is managed, monitoring the health of the application, how DevOps works, MongoDB, Sitecore log storage, and search.
Currently slated to be released with Sitecore 8.2 Update 1 in a limited capacity. It will most certainly be worth keeping an eye on.
We heard about xConnect about a year ago at the MVP Summit in New Orleans. It's a missing piece of the puzzle specifically for the Sitecore xDB. So, what is xConnect?
Sitecore's xConnect is a client API that exposes the Sitecore xDB. Through the use of OData, this will open up data flow that is locked in the Sitecore xDB. Sitecore's xConnect is a critical advancement in the xDB. It allows the interaction data within the xDB to be accessible for reporting and analysis. It also opens the door for integrating other data sources with the xDB.
This API promises to open a door between the Sitecore xDB and other systems to create the holistic view of a customer's interactions be it online or offline. Currently slated to be available with Sitecore 8.3. Certainly, more information is to come.
Introduced as an add-on for Sitecore version 8.2, the new Sitecore Publishing Service promises to help solve some long-standing issues with publishing content with Sitecore. So, what's it all about.The new Sitecore Publishing Service is a separate instance solely dedicated to publishing Sitecore items. Built using the .NET Core, it was designed to increase the throughput of the existing publishing process. It's ideal for Sitecore instances that have a large number of items, language versions, or need the ability to reliably publish items geographically.
Available now in Sitecore version 8.2. For more information, check out the following:
Data Exchange Framework
The Sitecore Data Exchange Framework is somewhat new and while there wasn't a session at Sitecore Symposium, I thought it warranted mentioning because it we did cover it at the Sitecore MVP Summit.
If you are familiar with ETL (extract, transform, and load) processes, the Data Exchange Framework is an ETL layer for Sitecore. The parts of a synchronization process map directly to ETL functions.
- Extract - reading data from a source system
- Transform - converting the data that was read into a format that is compatible with a target system
- Load - writing the data to the target system
The Data Exchange Framework is used to model and run synchronization processes. Sitecore items are used to model a process. Sitecore templates can be built to accommodate any kind of data. Content Editor offers a rich UI for creating / editing data and using Sitecore items means that Sitecore platform features such as security, versioning, workflow and localization are available.
It's important because it helps facilitate importing and exporting data from external systems and Sitecore. An example of this would be reading contacts from a CRM and creating contacts in the xDB or vice versa. Another use case could be to create Sitecore items for a product catalog pulled from a Product Information Management (PIM) platform.
The Data Exchange Framework is available today. For more information, check out the following:
Lastly, the announcement was made that Sitecore Symposium will be a yearly event! Next year's Symposium is in Las Vegas on October 16-19. Mark your calendars now and plan because this year's event was sold out!
No model set
at Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression`1 field, Expression`1 standardOutput, T model, Object parameters, Context context, Database database, TextWriter writer) in c:\TeamCity\buildAgent\work\8567e2ba106d3992\Source\Glass.Mapper.Sc\GlassHtml.cs:line 589