sitecore symposium 2016 - recap - sug nl/media/sugnl/meetings/developer track 19 oktober... ·...
TRANSCRIPT
Sitecore Symposium 2016 - Recap
1SUGNL - Developer track - Achmea 19 October 2016
About me
2
• Robbert Hock (Kayee)
• Freelance Sitecore Architect/Developer
• 7x Sitecore MVP (2010-2016)
• Co-founder of Sitecore UG Netherlands (SUGNL)
• Co-organizer of SUGCON
• Website: http://www.kayee.nl
• Twitter: @kayeeNL
SUGNL - Developer track - Achmea 19 October 2016
Agenda – Day 1
• Developer keynote
• Dreams achieved: xConnect will drive your brand’s next digital revolution
• Better Together: Sitecore on Azure
• In the Fast Lane: SXA for Sitecore Developers
3SUGNL - Developer track - Achmea 19 October 2016
Agenda – Day 2
• Path Analyzer X-Files: How we built the ultimate xDB forensic tool
• Keeping Hackers Out: Secure Application Development for Sitecore
• Sitecore Habitat: Make it your home
• Now in Top Gear: How we turbocharged Sitecore Publishing with .NET
Core
4SUGNL - Developer track - Achmea 19 October 2016
Keynote and panel video’s
• http://players.brightcove.net/1640544109001/default_default/index.html
?videoId=5159878761001
• http://players.brightcove.net/1640544109001/default_default/index.html
?videoId=5166355692001
• http://players.brightcove.net/1640544109001/default_default/index.html
?videoId=5169747331001
5SUGNL - Developer track - Achmea 19 October 2016
Developer Keynote – Lars Floe Nielsen
6SUGNL - Developer track - Achmea 19 October 2016
Developer Keynote - Highlights
• Adoption of popular tools and frameworks
• Standardization
• Micro-services
• Better tools and API’s for integration
• Easier upgrades
• Open Source Ecosystem
7SUGNL - Developer track - Achmea 19 October 2016
NuGet support
• NuGet V3 feed URL (Visual Studio 2015+)
• https://sitecore.myget.org/F/sc-packages/api/v3/index.json
• NuGet V2 feed URL (Visual Studio 2012+)
• https://sitecore.myget.org/F/sc-packages/
• Browse packages
• https://sitecore.myget.org/gallery/sc-packages
8SUGNL - Developer track - Achmea 19 October 2016
Nuget packages
• Sitecore packages: (NoReferences and default with ref)
• 7.2 and updates – 8.2
• Modules packages:
• EXM, WFFM, Data Exchange Framework, Sitecore provider for DEF & Dynamics CRM
Provider for DEF
9SUGNL - Developer track - Achmea 19 October 2016
Sitecore® Helix is a set of official guidelines and recommended practices for Sitecore
Development.
10SUGNL - Developer track - Achmea 19 October 2016
Standardization
Why Helix?
• Set of architecture conventions and guidelines that describe how to apply
recommended technical design principles to a Sitecore project.
• Secure implementations in a future-proof way by architecting them as
maintainable and extensible business-centric modules
• Development process recommendations to make it as easy as
possible to build, test, extend, and maintain Sitecore
implementations
11SUGNL - Developer track - Achmea 19 October 2016
Helix Architecture
12SUGNL - Developer track - Achmea 19 October 2016
Habitat is an example project that follows the Helix principles and recommended practices.
13SUGNL - Developer track - Achmea 19 October 2016
Helix vs Habitat
More info:
• Documentation:
• http://helix.sitecore.net/
• Helix Workshop on YouTube:
• https://www.youtube.com/playlist?list=PL1jJVFm_lGnz0XzXU5uNJSgTGMxNFsOky
• Habitat YouTube playlist:
• https://www.youtube.com/playlist?list=PLPUlWLfr_qcTrch4j1XYNnT6PI-tW3sur
• Habitat website: http://habitat.sitecore.net/
• https://github.com/Sitecore/Habitat
• Demo website: http://legal.demo.sitecore.net/
• https://github.com/sitecore/sitecore.demo
14SUGNL - Developer track - Achmea 19 October 2016
15SUGNL - Developer track - Achmea 19 October 2016
Sitecore feedback
16SUGNL - Developer track - Achmea 19 October 2016
Sitecore feedback
Sitecore feedback channel:
• https://sitecore.uservoice.com/ -> new feedback channel
• https://sitecorecommunity.uservoice.com/ -> old feedback channel
17SUGNL - Developer track - Achmea 19 October 2016
The Community
18SUGNL - Developer track - Achmea 19 October 2016
XConnect – Todd Mitchell
19SUGNL - Developer track - Achmea 19 October 2016
Collect and act on any information about any individual – from any channel at any
time
20SUGNL - Developer track - Achmea 19 October 2016
What is the meaning of Xconnect?
XConnect – Channels
21SUGNL - Developer track - Achmea 19 October 2016
XConnect – Architecture
22SUGNL - Developer track - Achmea 19 October 2016
23SUGNL - Developer track - Achmea 19 October 2016
Sitecore on Azure
24SUGNL - Developer track - Achmea 19 October 2016
Sitecore on Azure
25SUGNL - Developer track - Achmea 19 October 2016
Redis Cache
26SUGNL - Developer track - Achmea 19 October 2016
Application Insights
27SUGNL - Developer track - Achmea 19 October 2016
Alerts
28SUGNL - Developer track - Achmea 19 October 2016
Azure Search
29SUGNL - Developer track - Achmea 19 October 2016
Azure Resource Manager templates (ARM)
30SUGNL - Developer track - Achmea 19 October 2016
Azure Scaling
Sitecore Azure conclusion:
• Up and Running with Minimal Complexities: Azure Marketplace
• Total Control: ARM Templates
• Everything is Done For Me: Managed Services (when available)
• XDB-enable Existing Deployment w/ Minimal Hassle: XDB Cloud
• Check out:
• http://sitecore.robhabraken.nl/index.php/2407/an-introduction-to-sitecore-on-azure-
web-apps/
31SUGNL - Developer track - Achmea 19 October 2016
SXA – Sitecore Experience Accelerator
32SUGNL - Developer track - Achmea 19 October 2016
SXA – Impact
33SUGNL - Developer track - Achmea 19 October 2016
Why SXA?
34SUGNL - Developer track - Achmea 19 October 2016
What’s in SXA?
35SUGNL - Developer track - Achmea 19 October 2016
SXA – Architecture
36SUGNL - Developer track - Achmea 19 October 2016
SXA – Concepts
37SUGNL - Developer track - Achmea 19 October 2016
• Toolbox
• Grid and column layout
• Pluggable themes
• Page designs and partial designs
• Creative Exchange
• Assets Optimizer
SXA – PowerShell driven
• Tenant – Business Unit
• Site
• Content structure
• Configuration
• Site theme
• Media Library folders
• Tenant templates
38SUGNL - Developer track - Achmea 19 October 2016
SXA – Create a Tenant
39SUGNL - Developer track - Achmea 19 October 2016
SXA – Create a Site 1/2
40SUGNL - Developer track - Achmea 19 October 2016
SXA – Create a Site 2/2
41SUGNL - Developer track - Achmea 19 October 2016
SXA – Designing in the Experience Editor
42SUGNL - Developer track - Achmea 19 October 2016
SXA – Grid en columns
43SUGNL - Developer track - Achmea 19 October 2016
SXA – Page & Partial Designs
44SUGNL - Developer track - Achmea 19 October 2016
SXA – Rendering variants
45SUGNL - Developer track - Achmea 19 October 2016
SXA – Page & Partial Designs
46SUGNL - Developer track - Achmea 19 October 2016
SXA – Creative Exchange
47SUGNL - Developer track - Achmea 19 October 2016
SXA – Create your own SXA compatible renderings
48SUGNL - Developer track - Achmea 19 October 2016
Path Analyzer X-Files
49SUGNL - Developer track - Achmea 19 October 2016
What is the Path Analyzer?
• Forensic tool for Digital Data analysts
• Focus on sequence analysis of xDB data
• Data engine + 2 visual apps
• Available since Sitecore 8
50SUGNL - Developer track - Achmea 19 October 2016
Path Analyzer - Interactions
51SUGNL - Developer track - Achmea 19 October 2016
Path Analyzer – How it works
52SUGNL - Developer track - Achmea 19 October 2016
What’s new in Path Analyzer 8.2?
• Removed Silverlight!
• New Front-end
• Reworked UX
• Marketing funnels
• New dashboard
• New visualizations
• New Filters
53SUGNL - Developer track - Achmea 19 October 2016
54SUGNL - Developer track - Achmea 19 October 2016
55SUGNL - Developer track - Achmea 19 October 2016
56SUGNL - Developer track - Achmea 19 October 2016
57SUGNL - Developer track - Achmea 19 October 2016
How they build it?
• 100% JavaScript
• Standalone product
• New technology
• React
• Redux
• D3.js -> visualizations
• Webpack
58SUGNL - Developer track - Achmea 19 October 2016
Next steps?
59SUGNL - Developer track - Achmea 19 October 2016
60SUGNL - Developer track - Achmea 19 October 2016
61SUGNL - Developer track - Achmea 19 October 2016
Sitecore Habitat – Sean Holmesby
Habitat is an example project that follows the Helix principles and recommended practices.
62SUGNL - Developer track - Achmea 19 October 2016
Repeat! Helix vs Habitat
63SUGNL - Developer track - Achmea 19 October 2016
Habitat is an example website
64SUGNL - Developer track - Achmea 19 October 2016
“My site is on Habitat”
Habitat example
• https://github.com/Sitecore/Habitat
• The architecture and methodology focuses on:
• Simplicity - A consistent and discoverable architecture
• Flexibility - Change and add quickly and without worry
• Extensibility - Simply add new features without steep learning curve
65SUGNL - Developer track - Achmea 19 October 2016
66SUGNL - Developer track - Achmea 19 October 2016
Habitat Layers (actually Helix layers)
Habitat vs the Sitecore landscape
• ORM’s (Glass, Synthesis, Fortis)
• Other serialization tools then Unicorn (TDS)
• Other Code practices (Dependency Injection, NuGet)
• Other implementations (Coveo, SOLR, etc.)
67SUGNL - Developer track - Achmea 19 October 2016
68SUGNL - Developer track - Achmea 19 October 2016
Habitat with TDS
Habitat NuGet
• Unicorn and Glass don’t support V3 yet, only V2
• Use V2 of the official NuGet for now!
• Use the Sitecore official NuGet feed, NoReferences
69SUGNL - Developer track - Achmea 19 October 2016
Habitat Glass, Coveo & FXCop rules
• Sean showed Habitat branches with Glass and Coveo
• Soon on his github account: https://github.com/SaintSkeeta/Habitat
70SUGNL - Developer track - Achmea 19 October 2016
Habitat and DI and using DI in 8.2
• Habitat Dependency Injection with Sitecore 8.2
• http://www.sitecorenutsbolts.net/2016/09/17/Habitat-Dependency-Injection-with-Sitecore-8-
2/ -> Richard Seal
• DI in Sitecore 8.2
• http://kamsar.net/index.php/2016/08/Dependency-Injection-in-Sitecore-8-2/ -> Kam Figy
• http://www.akshaysura.com/2016/09/15/microsoft-extensions-dependency-injection-di-with-
sitecore-8-2-sample-project/ -> Akshay Sura
• DI configuration Page
• /sitecore/admin/ShowServicesConfig.aspx
71SUGNL - Developer track - Achmea 19 October 2016
Sitecore Publishing with .NET Core
72SUGNL - Developer track - Achmea 19 October 2016
What is it and why?
• New stand alone ASP.NET CORE service
• Aligns with Sitecore .NET Core strategy
• Old publishing mechanism 10 years old
• Slow with many items
• Latency on Geo Located targets
• Integration module adds SPEAK dialogs to the Sitecore instance
73SUGNL - Developer track - Achmea 19 October 2016
Why was it so slow?
• Reads per item 8 different publish restriction fields
• (Publish from, Publish until, Never publish, Valid To, Valid From, Workflow state,
Publishing targets, Hide Version)
• For each field check the standard values (iterate through base templates)
• Workflow check
• Walk through the ancestors (bubble up to the parents)
• Check item for more languages (repeat the above process)
• Multiple publishing targets? Repeat the whole process per target
• Related items?
74SUGNL - Developer track - Achmea 19 October 2016
75SUGNL - Developer track - Achmea 19 October 2016
What they come up with?
• Modular architecture – Separate Publishing Service
• Bulk operations
• Read & Write in configurable amounts
• Read items and their fields in bulk
• Read all languages for that publish at once
• New publishing dashboard
76SUGNL - Developer track - Achmea 19 October 2016
77SUGNL - Developer track - Achmea 19 October 2016
78SUGNL - Developer track - Achmea 19 October 2016
79SUGNL - Developer track - Achmea 19 October 2016
More info on Publishing Service
• Documentation
• https://dev.sitecore.net/Downloads/Sitecore_Publishing_Service.aspx
• Sitecore Publishing Service (blogpost by Jonathan Robbins)
• https://jonathanrobbins.co.uk/2016/09/02/setting-up-sitecore-publishing-service/
80SUGNL - Developer track - Achmea 19 October 2016
Data Exchange Framework
Sitecore Data Exchange Framework is designed to facilitate the transfer of
data between systems. It allows you to define the logic needed to read data
from a source system, transform that data into a format that is compatible
with a target system, and write the transformed data into a target system
• Documentation:
http://integrationsdn.sitecore.net/DataExchangeFramework/v1.1/
• Download:
https://dev.sitecore.net/Downloads/Data_Exchange_Framework.aspx
81SUGNL - Developer track - Achmea 19 October 2016
Yeoman Sitecore Helix Generator
• generator-prodigious-helix
• https://www.npmjs.com/package/generator-prodigious-helix
• yo prodigious-helix -> create the initial scaffolding to start Sitecore-ing following
Helix principles
• yo prodigious-helix:feature -> configure your feature based on yeoman questions
• yo prodigious-helix:feature-tds -> Adds and configures TDS projects to the feature
• yo prodigious-helix:foundation -> Adds foundation
• yo prodigious-helix:foundation-tds -> Adds and configures TDS project to the
foundation
82SUGNL - Developer track - Achmea 19 October 2016
Sitecore Symposium 2017
83SUGNL - Developer track - Achmea 19 October 2016
Q & A
84SUGNL - Developer track - Achmea 19 October 2016
Thank you Achmea!
85SUGNL - Developer track - Achmea 19 October 2016