4. SUG Bangalore Log out | Kamruz Jaman
Overview
• Prerequisites and Requirements
• Sitecore Installation Framework (SIF)
• Search
• Configuration
• Authentication & SSO
• Dynamic Placeholders
• xConnect
• Forms
• Marketing Automation
• JavaScript Services (JSS)
5. SUG Bangalore Log out | Kamruz Jaman
Requirements
• Windows Server 2016 / 2012 R2 (64-bit)
• Windows 10 / 8.1 (32/64-bit)
• IIS 8.5 / 10
• .Net Framework 4.6.2
• SQL Server 2016 SP1
• (SQL Server 2014 SP2 for XM/CMS-only mode)
• MongoDB + CosmosDB for xDB coming soon
• SOLR 6.6.1
• (Lucene for XM/CMS-only mode)
• Azure Search
6. SUG Bangalore Log out | Kamruz Jaman
Secure By Default
• HTTPS communication across platform
Web Servers (CD, CM, Reporting, Processing)
xConnect
SOLR
• Encrypted
• Data-at-rest
• Data-in-motion
• Must obtain SSL certifications
• Local => Self Signed Certificates
7. SUG Bangalore Log out | Kamruz Jaman
Sitecore Installation Framework (SIF)
• Goodbye SIM, for now
New Framework!
• PowerShell based module
• Script => CM, CDs, Windows services, and more
• Configurable, Extendible Framework
• Integrate with your own deployment processes
9. SUG Bangalore Log out | Kamruz Jaman
Search
• SOLR or Azure Search
• required for xConnect
• Search API
• Spellcheck
• Suggester
• Highlight
• “More Like This”
10. SUG Bangalore Log out | Kamruz Jaman
Configuration
• Current:
• Server role set-up complicated
• Enable/disable multiple files
• Make deploy process more complex
• Switching Search Providers
11. SUG Bangalore Log out | Kamruz Jaman
Rules-based Configuration
• Super simple server configuration!
• Configure server for role using single config setting
• Additional patch folder locations
• Sitecore
• Modules
• Custom
• Environment
• Control Load Order
• Easily switch Search provider
14. SUG Bangalore Log out | Kamruz Jaman
Config Load Order
• Layers.config
15. SUG Bangalore Log out | Kamruz Jaman
Custom Roles
web.config
custom.config
16. SUG Bangalore Log out | Kamruz Jaman
Federated Authentication
• Authentication using OWIN middlewares:
• OpenId Connect (AzureAD)
• Microsoft Account
• Google
• Facebook
• Twitter
• WsFederation
• OAuth
• SAML
• custom OWIN middleware
• Virtual Users or Persisted Users in membership database
17. SUG Bangalore Log out | Kamruz Jaman
Federated Authentication
• Blog post by Bas Lijten
http://blog.baslijten.com/enable-federated-authentication-and-configure-auth0-as-an-identity-
provider-in-sitecore-9-0/
18. SUG Bangalore Log out | Kamruz Jaman
Dynamic Placeholders
• Number 1 requested feature!
19. SUG Bangalore Log out | Kamruz Jaman
Dynamic Placeholders
• Support in core product
• Feature Rich implementation
• Experience Editor Support
• Pipeline based key generation
• MVC Only
• Blogs
• Post on my site
• Richard Seal: https://www.sitecorenutsbolts.net/2017/10/17/Sitecore-9-Upgrading-to-
Dynamic-Placeholders/
23. SUG Bangalore Log out | Kamruz Jaman
xConnect
• Standalone Service Layer
• .Net Core 2.0
• Collect and analyse data from everywhere
• oData protocol for RESTful APIs
• Provider based modular architecture
• Support for GDPR / Right to be forgotten
• See posts from Jason Wilkerson
https://citizensitecore.com/tag/xconnect/
24. SUG Bangalore Log out | Kamruz Jaman
xConnect Hosting
• Extra site in folders
• Extra site in IIS
• More databases
26. SUG Bangalore Log out | Kamruz Jaman
Forms
• Brand new Forms module
• Completely re-written
• Modern interface
• Multi-page forms!
• Part of core platform
• This is not WFFM
• WFFM supported until
Sitecore 9.1
27. SUG Bangalore Log out | Kamruz Jaman
Analyzing Form Performance
Form
Performance
Field
Performance
29. SUG Bangalore Log out | Kamruz Jaman
Marketing Automation
• No more Silverlight!
• Replaces Engagement Automation
• Intuitive, easy to use, drag & drop interface
• SPEAK 3 – Angular JS based
• Extensive out-of-the-box conditions
• Fully integrated with xConnect
• Live Events!
30. SUG Bangalore Log out | Kamruz Jaman
JavaScript Services (JSS)
• Built for front-end developers
• Headless development
• Any IDE, any OS, disconnected from Sitecore
• Code-first approach (optional)
• Personalization!
• Tech Preview => provide feedback!
• Gotcha
• Requires consumption license
=> speak to your account manager
40. SUG Bangalore Log out | Kamruz Jaman
Much Features
Questions?
Such Wow
Thanks! Bye!
Editor's Notes
Release announced during Symposium 2017 in Las Vegas
Mongo and CosmosDB/DocumentDB coming soon
Uses provider based model
SOLR 6.6.2 seems more stable
Full Microsoft stack
Allows Azure only deployment
Enforcing best practice in the modern web
Does not require SSL but best practice =>browser “not secure” warnings
GDPR – Right to be forgotten (General Data Protection Regulation)
data-in-rest/motion important for compliance
Personally Identifiable Information (PII)
SIF = new framework to install + configure your installation
provides automated framework built on PowerShell that can deploy and configure a standard preset server architecture
can be extended by creating custom PowerShell functions, or add own extensions to further customize your specific installation.
should make DevOps tasks and server automation easier in the long run.
Should also be interesting to see the kind of modules the community develops and shares over time.
SIF requires Windows 10 Anniversary Update
PowerShell 5.1
Web Platform Installer 5.0
Web Deploy 3.6 for Hosting Servers
URL Rewrite 2.1
Microsoft SQL Server Data-Tier Application Framework (DAC Fx) version 17.1
Microsoft SQL Server Transact-SQL ScriptDom
Latest SQL Server Management Studio 17 installs the DAC Fx
New API for supporting the SOLR Spellcheck, Suggester, Highlight, MoreLikeThis features has been introduced
Make search more central on your content platform to your users
Current process complicated and cumbersome
Replicating and debugging production issues
You no longer need follow the long server setup guide and crazy excel spreadsheets.
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
Roles
Server + Search
Grouping
OR, AND, GROUP, NOT
What came first, chicken or egg?
Files currently loaded alphabetically then folders
More specifically with Helix, Foundation or Feature?
Alphabetical load issues
Use 1, 2, 3
Layers
Specify folder load order, e.g. Sitecore
File load order
Disable config loading => mode=“off”
Can add custom layer by adding above
Possible to create custom roles for your own purpose
Remember to set the namespace to match your variable
core platform introduces support for OWIN authentication middleware enabling users to log in via standard Microsoft OWIN authentication providers.
allows authentication against a number of different Identity provider
can be used as a replacement for the AD module.
Many OWIN middlewares can be used OOTB
Flexible, easy to extend and create own middleware, pipeline based registration
can be used to both log into the CMS or for your frontend website
allows you to identify and collect rich data about your users whilst making it easier for them to use Single Sign On.
Bas Lijten => Auth0 Identity broker - connect multiple identity providers via a single connection
Very little code
Most using variant of Dynamic Placeholders that Nick Wesselman wrote way back in 2011
Allows editors to specify count + extra params
Allows placeholder templating via TagBuilder + custom function
Useful to inject logic, e.g. CSS class
See post by Richard Seal on SPE migration
DEMO
In xDB everything centres around a user, or Contact, that is interacting with you.
A Contact had multiple Interactions and those interactions held a collection of Pages that had been visited.
Those pages then held any Page Events, Goals or Outcomes that had been triggered.
Offline interactions required fake Pages to hold these, to add the interaction.
xDB => Contact > Interaction > Page > Page Event
xConnect => Contact > Interaction > Event
Reliance on Sitecore + Kernel
many pieces of the Sitecore platform that depended directly on the Collections database
Everything routed through Sitecore Kernel
No longer just web centric.
xConnect abstracts the storage architecture and internal services used by xDB away from any client, including Sitecore itself
xConnect is the service layer that sits in between the xDB and any trusted client, device, or interface that wants to read, write, or search xDB data.
Communication must happen over HTTPS and clients must have the appropriate certificate thumbprint.
No system has direct access to the collection database or search indexes.
Systems that are internal to the xDB, such as Processing/Reporting servers, must also use xConnect API to access xDB data.
Any data flowing in to and out of xDB now flows through xConnect!
Standalone, lightweight, PaaS
Built with .Net Core 2.0
No reliance on Sitecore.Kernel
Any client can search, retrieve or insert data in xDB via API
IoT devices, console applications, kiosk applications, beacons, mobile apps
any type of 3rd party data from any type of client.
enables truly-native, omni-channel data collection at scale
xConnect and xDB are not interchangeable terms - they are two parts of the platform that work together.
Storage architecture allows for different storage providers – SQL / Mongo / CosmosDB
xConnect is brand new, from ground up
Individually scalable
GDPR – Right to be forgotten (General Data Protection Regulation)
PII + Sensitive data can be easily removed
“Secure by default”
oData = Open Data Protocol = set of standards for building and consuming RESTful APIs
Modular => SOLR or Azure, SQL or Mongo
SalesForce / Dynamics / anything else
Separate xConnect site
More SQL databases
Cost implications, shifted from MongoDB
Drag & Drop form builder
Responsive
Collect form + field metrics
Form templates
MVC Only
Docs: https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/sitecore_forms
Form level and field level
Can be disabled
Built on SPEAK 3
Marketing Automation provides new way to create automated online campaigns in Sitecore. With a user friendly drag-and-drop interface, Marketing Automation provides an extendible set of tools that enable marketing actions against individual contacts
Replaces Engagement Automation,
deprecated in Sitecore 9.0
no direct relationship with old Engagement Automation plans
so no data conversion tools will be made available
Advanced entry conditions available via the Rule Set Editor
Extensible design that enables developers to create new actions, listeners and evaluation conditions
built for front-end developers who
use JavaScript and along with modern UI libraries
want to build full-fledged apps in their environment with their tools and favorite libraries and frameworks.
frameworks, such as React.js, Angular, Vue.js
Headless the current buzzword!
Lots of documentation and quick start samples
Angular, Vue, even .Net Core support may come
Recommend reading these 2 sections for good overview:
https://jss.sitecore.net/#/intro?id=intro
https://jss.sitecore.net/#/sitecore-net-dev?id=for-sitecore-net-developers
Notes:
While content APIs are important, there is one important aspect that should be considered - content (component) composition into something that presentable on the screen, whether it is HTML or native device code. Without the content (component) composition facilities, you have to do this assembly of content fragments yourself, and will most likely do it in code or invent your own engine. This will make it much more difficult if not impossible for your marketing folks to maintain control over this aspect without developers involved.
Consider these 4 main parts of JSS:
JSS library
via an npm package (sitecore-jss-react)
brings sprinkles of Sitecore layouting capabilities into the native JS environment
package contains
- Placeholder component, similar to MVC.
- UI components to facilitate rendering of Sitecore fields such as Image
Sitecore Layout Service
provides the "glue" between JSS app and Sitecore and is delivering the item's layout details in a serialized JSON format.
Allows service to provide physical decoupled of rendering from Content Delivery.
This means that instead of delivering final output as usual (HTML), Sitecore CD servers will output Sitecore item's presentation details in JSON.
The actual rendering is expected to happen via your JavaScript UI library of choice and will be facilitated by the JSS library.
Server-side JavaScript rendering with Sitecore
currently enabled by node.js and ASP.NET Core NodeServices as well as a custom MVC JS View Engine.
Useful to not deal with routing, but have FEDs do development
App import library
enables the code-first approach to development
distributed in sitecore-jss-import-react package
application's JS source code along with initial content files are analysed, manifest created, used to generate all Sitecore artifacts automatically
Code clean up: Obsoletes have been removed
Sitecore 8.2 xEditor load: 254 http requests.
9.0: 72 http requests.
0.5mb less weight
No more Sheer ribbon
Lazy loading of ribbon tabs when user clicks tab
httpRequestBegin pipeline now fires from OnPostAuthentication HTTP module event - previously from OnBegin event
Slated for release in Q1 2018
More data = more insights
A marketers dream in the making,
Sitecore Cortex is a Machine Learning engine for generating real-time insights across native and third party customer data.
Plumbed in to xDB and Sitecore’s rules engine
Cortex can be used to
discover new audience segments
score content tests
run continuous multi-variant testing
soon automate personalisation
do our laundry
Niels Handberg, Director of User Experience
Horizon will change the way marketers can design pages.
drag and drop functioning
device-specific previews
New way to create content hierarchy
Heat maps to test how well your users interact
Analytics
real-time tips and updates as you create and publish content
Zenith will act as the central headless tool in Sitecore 9.1, providing a platform for dynamic changes under one interface.
Commerce:
.Net Core 2.0
PaaS Support
Module plugin based model
Integrates with Rules Engine + Marketing Automation
New dashboard
Business User Experience Manager
SPEAK 3
Storefront:
Commerce specific components
Multi-tenant
Helix based