Sitecore Symposium 2016 - Recap - SUG NL/media/SUGNL/Meetings/Developer track 19 oktober... ·...

Post on 14-Apr-2018

215 views 1 download

Transcript of Sitecore Symposium 2016 - Recap - SUG NL/media/SUGNL/Meetings/Developer track 19 oktober... ·...

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