The Sitecore Symposium 2017 was held in The Mirage hotel in Las Vegas from 16th till 19th of October.
A completely different location than last year in New Orleans I must say. It was bigger, had more attendees and the announcements that Sitecore made were a big surprise for everyone.

Most notably off course was the release of Sitecore 9 during the Symposium itself!
Beside that, Horizon and Zenith look very promising enhancements to the platform that they are currently working on.

Since there is so much to tell, I'm splitting this up into 3 parts.
In part 1, I'll go over some of the nice improvements of Sitecore 9.
Part 2 will talk about Headless, SXA and JSS.
And Part 3 will contain information about some new features and what Horizon & Zenith will bring to Sitecore.

Sitecore 9 - Improved xProfile page

In Sitecore 8 you could only search on name or email address. This page has been made more useful by the addition of a filter.
You can now search on all contacts that triggered a specific goal for example!

Sitecore 9 Experience Profile
All contacts in this list are known contacts, just like in Sitecore 8.2 update 3 and upwards. The difference between versions before Sitecore 8.2 update 3 is that all contacts were indexed. Including anonymous ones.

Sitecore 9 - Marketing Automation

The Engagement plans have been rebuild. Say goodbye to Silverlight, the new Marketing automation tool has been built in Sitecore SPEAK 3 which uses AngularJS.
Silverlight gone, hello AngularJS

You can also create your own applications in SPEAK 3. Which is meant for integrating Sitecore-branded Angular applications within the Content Management environment.
Check out the documentation here: https://doc.sitecore.net/speak/speak_3

The editor looks completely different with a canvas on the left and a toolbox on the right side. You can drag and drop elements onto the canvas in specific places.
Sitecore 9 Engagement plans
You always have a start and an end node. The start node defines how your contacts enroll in the engagement plan. This can be triggered by a specific goal, event, outcome or when meeting specific rules.

The toolbox contains the following Automation building blocks:
Automation building blocks

Have a look at the Marketing Automation documentation

Sitecore 9 - Live event detection

Some small new functionality that can be very useful is the
Live event detection.

It enables the tracker to submit event data to the Marketing Automation Engine before the end of a session. This allows the Marketing Automation Engine to progress a contact through a plan without having to wait until the interaction is available in xConnect.

Live event checkbox

The recommendation is to not overuse this feature since it puts some extra workload on the servers.

Sitecore 9 - Forms

Another big announcement is the new Forms module which is OOTB in Sitecore 9. It is part of the core so no separate module needs to be installed.
Note that you can still use WFFM in Sitecore 9. The WFFM module has also been updated to be compatible with Sitecore 9. This means that when you upgrade from Sitecore 8.x to version 9, you can upgrade your existing WFFM forms to the Sitecore 9 WFFM.

Sitecore 9 forms

Features of the new Forms module:

  • New look & feel for the designer
  • Drag & drop interface
  • Ability to have multi page forms (yay!)
  • Improved dropout tracking
  • Create Form templates (improves reusability)
  • Developer friendly so we can extend it more easily
  • Easier to style: drop in additional css and js files in the physical Forms folder for this

One of the drawbacks is that there is no migration tool for WFFM forms (yet).
But this is only the first version of the Forms module, they have a lot of other improvements planned.
Forms further improvements

Sitecore 9 - xConnect

New in Sitecore 9 is xConnect. Which was annouced at the Symposium last year.
Great summary of what xConnect is:
xConnect

Communication must happen over HTTPS and clients must have the appropriate certificate thumbprint.

xConnect consists of 2 services:

  • Collection: SQL Server 2016 is used for this. MongoDB and CosmosDB (formerly DocumentDB) will be supported in a next version.
    The collection is used to ... well collect data.
  • Search: Solr 6.6.1

Since xConnect is provider based, it will be easy to swap out a service.

You use the xConnect Client API to get, create, search, and update contacts and interactions. You can also extend the xConnect model with custom events and facets.

xConnect is OData based and uses RESTful API's.
Nice to know is that xConnect is independant of Sitecore itself. It does not have dependencies on the Sitecore Kernel and exposes a web API end point (no direct access to the databases).

I really recommend to check out the xConnect Client API documentation. It is documented very well and contains all the information to get you started!
Introduction
Getting started documentation

> Continue with part 2 of the Sitecore Symposium recap