sitecore habitat (user group nl, february 11th 2016)

Post on 12-Feb-2017

629 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sitecore HabitatSitecore User Group, Evident

11 februari 2016

Ruud van Falier, ParTech ITruud@partechit.nl

“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.”

Open SourceGebaseerd op open standaardenFocus op architectuur

Focus op architectuur:SimplicityFlexibilityExtensibility

Web applicaties zijn onstabiel

FOUN

DATI

ONFE

ATUR

ESPR

OJEC

TS

Content & Presentation

Solution specific features

Foundational features

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

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

Demo: Habitat in Visual Studio

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

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

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

Demo: Opbouw van een module

Layers

Niveaus van stabiliteit Hoe dichter bij de onderste laag, hoe stabieler Hoe stabieler de module, hoe abstracter deze is

binnen de solution

Layers“The abstractness of a package should be in proportion to its stability”https://en.wikipedia.org/wiki/Package_principles

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!

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!

Mijn mening

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

top related