Hi Champs,

Here is a second blog, where you guys will find almost all the new features for Sitecore 9 which are described by most of the Sitecore MVP’s. This blog will take little more time for readers but will give almost total idea for Sitecore 9.

SITECORE CORTEX – MACHINE LEARNING

Leveraging the abundance of customer data that Sitecore collects, this update introduces Sitecore Cortex, a machine learning engine woven throughout the Sitecore Experience Cloud. Cortex’ advanced algorithms deliver real-time insights across both native and third-party customer data. Customer behavior, decisions, interactions, and outcomes are continuously processed and optimized to unveil new customer segments and revenue opportunities, giving brands a competitive advantage.

Marketers not only benefit from a rich, holistic customer view, but can now act on intelligent insights to generate omnichannel experiences that are highly personalized for each individual.

The Sitecore team has taken numerous steps to minimize work by frontend devs, to give marketing teams more control over the platform. The update allows users with little Sitecore or .NET experience to deliver exceptional experiences, efficiently.

SITECORE FORMS UI

In another area, Sitecore Forms (a new product to replace basic web forms) has been completely redesigned for today’s marketers with a drag and drop UI to create forms and new features to ensure that more quality customer data can be captured and acted upon with ease. The analytics and reporting capabilities of the Sitecore Forms application enable marketers to evaluate the effectiveness of their forms instantly.

On the Performance Tab, you can see an overview of the performance of your form and make quick decisions where necessary. For example, marketers can now identify points of user friction instantly by viewing form abandonment instances. This is incredibly useful during A/B testing and provides quantitative data to impact CRO.

SITECORE XCONNECT

Sitecore has also built in a new feature, Sitecore xConnect, which improves xDB by allowing the collection and interchange of customer data across channels and with external applications, at scale.

xConnect is a framework of rich APIs and services that allows users to integrate customer interaction data collected by Sitecore with customer data from nearly any third-party CRM system or channel. xConnect allows marketers to understand exactly what the customer or prospect has been doing. Golden information that supports marketer to tailor comms to delight targets.

A lot of work has also gone into PII and GDPR compliance, also known as, “the right to be forgotten”. Using xConnect, it will be possible to create various modules to comply with the legislation which will come into force in 2018.

MARKETING AUTOMATION

Another new tool in Version 9 is an incredibly slick and easy to use drag and drop user interface to create automated marketing campaigns. This is a replacement for Engagement Automation plans.

Marketing Automation will allow you to set up some complex campaigns, enabling marketers to set up triggers to enter a contact into the plan and effectively track them throughout their journey. The drag and drop functionality makes it simple to set up conditions and rules allowing marketers to validate campaign decisions on numerous data points gleaning demographic data, device detection, list membership, personas, campaign and goal triggers, allowing marketers to deliver a deeply personalized online experience.

Hello SQL Server (again)

Support for a lot of things has been beefed up and updated:
• Windows Server 2016 and Windows 10
• SQL Server 2016 and SQL Azure
• .Net Frameworks 4.6.2
• xDB support for SQL Server 2016 and Cosmos DB

That’s right, you can deploy to a Microsoft only platform, which means you can spin up an entire instance just in Azure. MongoDB is not a requirement and SQL Server has been added as a provider. This should hopefully make it easier for those who did not take the leap due to extra support worries.

Search

Goodbye Lucene! Sitecore no longer supports Lucene so you must use SOLR or Azure Search. This was already necessary for PaaS deployments but now it is across the platform.

There have also been some changes to the Search API which adds support for features such as SOLR Spellcheck, Suggester, Highlight, More Like This. This should help make search more central to your content platform for your end users.

The underlying code has also been refactored in several places allowing it to be more customizable.

Clarification: You can still use Lucene if you are running CMS-only mode (i.e. no Analytics/xDB). If you are running multi-server, multi-CD set up then best practice recommendation has been to use SOLR/Azure for a while now anyway

Sitecore Installation Framework (SIF)

Not to be confused with Cif or Sith.

Sitecore has introduced a new framework to allow you to install and configure your installation. The new framework provides an automated framework built on PowerShell that can deploy and configure a standard preset server architecture.

The framework can be extended by creating your own custom PowerShell functions, or add your own extensions to further customize your specific installation.

This should make DevOps tasks and server automation easier in the long run. It should also be interesting to see the kind of modules the community develops and shares over time.

Rule-based Configuration

Some big change to the way that configuration patching now works, making it drastically easier to

  • Ability to configure an server for a particular role by setting a single setting in config. You no longer need follow the long server setup guide and crazy excel spreadsheets.
  • Additional patch folders allowing you to keep your custom patch files separate from default Sitecore and Modules configurations
  • Ability to control the load order of config file and folders
  • Ability to easily switch search provider by changing a single setting similar to how you configure server role

Be sure to read my follow up post which goes into a lot more detail and the available configuration options.

Federated Authentication

Now you can OWIN the Experience too

The latest release of the core platform introduces support for OWIN authentication middleware enabling users to log in via standard Microsoft OWIN authentication providers. This allows authentication against a number of different Identity provider and can be used as a replacement for the AD module.

Current OWIN middleware’s available include:

  • OpenId Connect (AzureAD, identity server)
  • Microsoft Account
  • Google
  • Facebook
  • Twitter
  • WsFederation
  • OAuth
  • SAML

It is also possible to write a custom OWIN middleware. Logins can be either Virtual Users or Persisted Users in the membership database. This means that the authentication can be used to both log into the CMS or for your frontend website, allowing you to identify and collect rich data about your users whilst making it easier for them to use Single Sign On.

Dynamic Placeholders

This is the most requested feature on the Sitecore Developer Uservoice and Sitecore Community Uservoice. Pretty long running already. Most of us have probably been using a variant of Dynamic Placeholders that Nick Wesselman wrote way back in 2011 but we finally have DyanamicPlacwholder support built right into the platform!

MVC only… So no love for those still using Webforms (but any new project should be using MVC imo).

1

2

3

@Html.Sitecore().DynamicPlaceholder(string placeholderName, int count = 1, intmaxCount = 0, int seed = 0)

 

@Html.Sitecore().DynamicPlaceholder(string placeholderName, Func<HtmlString, DynamicPlaceholderRenderContext, HtmlString>outputModifier, int count = 1, intmaxCount = 0, int seed = 0)

The implementation is more feature rich than some of the past community versions, allowing your editors to customize using Rendering Parameters. This allows your editors to specify the number of placeholders for example.

You can pass in a “placeholder template”, which allows for the dynamic generation of the markup for the placeholders. Since the markup is passed in using a lambda function it allows you to override the logic of the markup generation, which can be useful in scenarios when you need to add a CSS Class which causes the row to break onto a new line every 4th placeholder for example.

OData Item Service

a.k.a. Sitecore Services Client (SSC)

Much of this services underpins the Sitecore Client and SPEAK, providing read only Odata Content via REST services. It’s continuously receiving updates every release and you should check it out. The latest release adds improves CORS handling and new API key management features allowing individual Web APIs to have multiple configurations. Both great additions to allow external services and apps to consume Sitecore data in a secure way.

SPEAK 3

Another version of SPEAK! I know right. But this time they have listened to the community and moved away from using a proprietary framework and use something a little more industry standard: Angular. This is great news and should make it much easier to learn, better community support and also hopefully make it easier for front-end developers to get involved with. Along with JSS this opens but the platform to an even greater set of developers.

The Marketing Automation application is built using SPEAK 3 so you can already see some of the functionality which you can achieve and hopefully this will allow for some nice UI to be developed in the future with nice drag & drop functionality for example.

You can read more about SPEAK 3 in the documentation.

Forms

WFFM is dead, long live Forms!

Well, not quite. A new Experience Forms module has finally been released. Sitecore announced at SUGCON EU 2016 that they were beginning work on a new module, which is a complete revamp ground up rebuild of the module.

New feature include:

  • Completely resigned UI with a heavy focus on the UX to make it easier for marketers!
  • Finally a Form builder with drag and drop functionality
  • Multi-page forms – no more hacks to mimic this to work and adds in some features for conditional scenarios, such showing a different page based on users selection.
  • Ability to create form templates, allowing you quickly create a form and making it re-usable as a template and then extend for the specific need.
  • MVC only again! If you haven’t jumped the Webforms ship, the writing is on the wall…

The existing WFFM module has also been updated to work with Sitecore 9.0 so it should make immediate upgrade easier and mean you do not have to rework all your existing forms, fields, save actions and other customizations immediately, but expect support for this to be dropped in a future release.

JavaScript Services (JSS)

Headless seems to be the industry buzzword at the moment! It’s always been possible to go headless with Sitecore, there was even a blog post by Lars Nielsen, one of the founders of Sitecore, which goes into why Sitecore has always supported this to some degree. Short answer: separation of content from presentation. We’ve also had the ItemService and the RESTful API for the ItemService or the possiblity to use Sitecore Services Client (SSC) to create a service layer for custom data-driven appplications. We even has the Sitecore Item Web API if you go back long enough.

So what’s new?

This was first demo’d at SUGCON EU 2017 by Alex Shyba and Adam Weber, and it was just as exciting seeing this time round at Symposium. So Sitecore “could already do headless” so actually what’s new? The old services were a little heavy, provided too much data (making it less clean for frontenders to use exclusively), did not provide Experience Editor support or personalisation support.

Finally JSS has been released to the rest of the world, albeit in Tech Preview mode, adding an SDK which allows developers to build full-fledged modern solutions using Sitecore and JavaScript. This initial version adds support for ReactJS but future releases should also add Angular support. It should also be possible to develop using .Net Core as well since the engine runs in a separate service layer. All the full Sitecore capabilities are still maintained, such as personalisation, analytics and experience editor capabilities.

The technical parts are all well and good, but one of the more important aspects is that this will allow your frontend developers to actively lead the development of your site, making it less daunting/more familiar for them to get involved in the full lifecycle and also allows your team to use the technology stack that best works for them.

Have a read through the documentation, it’s very thorough and the samples in Github will help you get started. Provide feedback to TeamX in what works, what doesn’t, how you think the module culd be better – the more feedback you provide now the better it will shape the module to match real world usage.

Breaking Changes

As you would expect with a major release there are bound to be a number of breaking changes, so obviously thoroughly test everything. Top ones that jumped out at me:

  • Major code clean up! You did not update your old code that referenced code marked obsolete, they have been removed. You’ll need to update all this.
  • R.I.P. sheerUI ribbon  This has now been deleted from the Experience Editor most things have been SPEAK driven for a while anyway.
  • httpRequestBegin pipeline now fires from OnPostAuthentication HTTP module event. This was previously from OnBegin event, so you should be able to access authenticated user information in the pipeline now. Depending on the customizations you may have already made to httpRequestBegin pipeline (and this is a very common one to patch into) it may impact your code if it is sensitive to HTTP module event timing.
  • Goodbye Silverlight! I don’t think anybody is going to miss this.

Data Exchange Framework 

The DEF provides another way to use S4S. This middleware is designed to allow flexible mapping between endpoints, in this case, Sitecore and Salesforce. Typically it is used for synching data items between one system and another, with one nominated as the source, or master.

The S4S DEF package will allow selected Salesforce fields to be mapped to either the Sitecore content tree items or to Sitecore contact facets in xDB. Mapping in the opposite direction is also possible.

In general, data is copied by a scheduled task at regular intervals as often as the Salesforce API count allows. The DEF provides features such as:

  • Map Salesforce lead and contact fields to xDB facets
  • Use Sitecore rules to personalize Sitecore controls
  • Filter and map Salesforce records to Sitecore items
  • Add Sitecore items to Salesforce records

Once DEF is installed, there is value in being able to configure the mapped endpoints on the fly, without needing to involve developers or restart the Sitecore production web server.

EXM Support

S4S List Builder pulls report and campaign members from Salesforce and adds them to a Sitecore contact list. Once the list has been created, it can then be added to a Sitecore email campaign and dispatched.

The S4S List Builder and the EXM module will be extended to allow the selection of multiple Salesforce instances. We are seeing a growing number of companies that have more than one Salesforce Org they need to communicate with.

We are adding Salesforce lead and contact field data to Sitecore contact facets in xDB. This will allow Sitecore users to better filter lists that originate from Salesforce.

Persistent Caching

When using Salesforce APIs some things we need to consider are:

  • Number of API calls to Salesforce
  • End-to-end response to the Salesforce cloud
  • Data recency requirements

M4S is an advanced caching engine and data store created to mitigate these constraints. M4S equates to a super cache of Salesforce data on, or adjacent to, your Sitecore servers:

  • Significantly reduces the number of API calls to Salesforce
  • Improves performance as the data is local
  • Configurable for real time synchronization
  • Provides offline storage for Salesforce
  • Transparently handles custom objects and fields

Works with, or without, S4S

Thanks for reading !!