sitecore habitat (user group nl, february 11th 2016)
TRANSCRIPT
![Page 1: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/1.jpg)
Sitecore HabitatSitecore User Group, Evident
11 februari 2016
Ruud van Falier, ParTech [email protected]
![Page 2: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/2.jpg)
“Habitat is a Sitecore solution example built on a modular architecture.”
“Habitat is a Sitecore solution framework focused on streamlining the development process and optimizing productivity.”
![Page 3: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/3.jpg)
Open SourceGebaseerd op open standaardenFocus op architectuur
![Page 4: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/4.jpg)
Focus op architectuur:SimplicityFlexibilityExtensibility
![Page 5: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/5.jpg)
Web applicaties zijn onstabiel
![Page 6: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/6.jpg)
![Page 7: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/7.jpg)
![Page 8: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/8.jpg)
![Page 9: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/9.jpg)
![Page 10: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/10.jpg)
![Page 11: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/11.jpg)
![Page 12: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/12.jpg)
![Page 13: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/13.jpg)
FOUN
DATI
ONFE
ATUR
ESPR
OJEC
TS
Content & Presentation
Solution specific features
Foundational features
![Page 14: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/14.jpg)
FOUN
DATI
ONFE
ATUR
ESPR
OJEC
TS
Website
Cont
ent
Indexing
Design
Navi
gatio
n
Sear
ch
Secu
rity
Prod
ucts
Site
map
Form
s
Cart
Taxonomy Assets Extensions
Dependencies
Dependencies
![Page 15: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/15.jpg)
Sitecore 8.1 ASP.NET MVC DynamicPlaceholders Unicorn 3.1 Bootstrap jQuery Sass Gulp
Technology stack:
Assets Indexing Installer MultiSite Serialization SitecoreExtensions
Foundation
Accounts Identity Language Media Metadata Navigation News PageContent Person Search Social Teasers
Features
Website Design
Project
![Page 16: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/16.jpg)
Demo: Habitat in Visual Studio
![Page 17: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/17.jpg)
Modules
Alles is een module Elke module heeft één doel (geen “Helper” of
“Utility” modules) Modules blijven zoveel mogelijk gescheiden (High
Cohesion/Low Coupling) Een module is “self contained” Een module is zo “stabiel” mogelijk
![Page 18: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/18.jpg)
Modules
What belongs together is maintained and released together Een module bevat alle type data dat van toepassing is op de module:
Code Configuration Templates Renderings Items
“The granule of reuse is the granule of release”https://en.wikipedia.org/wiki/Package_principles
![Page 19: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/19.jpg)
Modules
Definieer wat bij één module hoort. Minimaliseer de kans dat een change invloed heeft op de module Zonder dit is de architectuur zinloos
Features bevatten symantic HTML Design en presentatie hoort in de Project layer Include alleen files die bij de solution horen, niet files van Sitecore of
andere dependencies
“Classes that change together, belong together”https://en.wikipedia.org/wiki/Package_principles
![Page 20: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/20.jpg)
Demo: Opbouw van een module
![Page 21: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/21.jpg)
Layers
Niveaus van stabiliteit Hoe dichter bij de onderste laag, hoe stabieler Hoe stabieler de module, hoe abstracter deze is
binnen de solution
![Page 22: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/22.jpg)
Layers“The abstractness of a package should be in proportion to its stability”https://en.wikipedia.org/wiki/Package_principles
![Page 23: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/23.jpg)
Layers“Depend in the direction of stability”https://en.wikipedia.org/wiki/Package_principles
Project Layer -> Features Layer -> Foundation Layer Veranderingen in een lager niveau hebben meer impact en vereisen
meer tests Voor productiviteit moeten we kunnen vertrouwen op de Foundation layer!
![Page 24: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/24.jpg)
LayersProject Layer modules Alleen Website
modules Zeer concreet en
specifiek voor de solution
Kan meerdere website bevatten
Geen functionele Javascripts in het design project (hoort bij de feature)
Geen business logic!
Features Layer modules Geen references
naar Project layer Voorkom
references naar andere Features layer modules
Geen CSS of design Javascript
Semantic HTML Config specifiek
voor de module
Foundation Layer modules API only Zeer abstract en
generiek Geen references
naar Features of Project layer
Geen renderings
Hou het simpel!
![Page 25: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/25.jpg)
Mijn mening
![Page 26: Sitecore Habitat (User Group NL, February 11th 2016)](https://reader035.vdocuments.net/reader035/viewer/2022070509/58a008bd1a28abd40b8b64fb/html5/thumbnails/26.jpg)
Thanks to: Thomas Eldblom, Sitecore
Sitecore Habitat Architecture 1 – Introduction: https://www.youtube.com/watch?v=2CELqflPhm0
Sitecore Habitat Architecture 2 – Modules:https://www.youtube.com/watch?v=DgPrikqFe4s
Sitecore Habitat Architecture 3 – Layers:https://www.youtube.com/watch?v=XKLpTMuQT4Y
Anders Laub, Pentia http://laubplusco.net/the-groundbreaking-sitecore-habitat http://laubplusco.net/layers-in-sitecore-modular-architecture
Download Habitat: https://github.com/Sitecore/Habitat