/
Build your own Habitat T Build your own Habitat T

Build your own Habitat T - PowerPoint Presentation

debby-jeon
debby-jeon . @debby-jeon
Follow
367 views
Uploaded On 2018-03-11

Build your own Habitat T - PPT Presentation

he story of my Helix implementations Presentation Discussion My experience with Helix Multisite with H elix architecture using Unicorn H abitat module for Sitecore Hackathlon ID: 646989

unicorn helix tds feature helix unicorn feature tds deploy code project items sitecore projects foundation sync architecture selected build

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Build your own Habitat T" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Build your own Habitat

The story of my Helix implementations

Presentation

DiscussionSlide2

My experience

with Helix

Multisite with Helix architecture using Unicorn

Habitat module for Sitecore Hackathlon 2016

made

for

funMultisite with Helix & TDS built according to best practicesSitecore marketplace module using Helix architecture

which didn’t go well (standard n-tier application with habitat build process)Slide3

Number of d

ependencies vs Effort

What is Helix ArchitectureSlide4

Smart approach to create complex websites

Helix ArchitectureSlide5

First decission

: TDS or Unicorn?

Usually:

In Helix:

It’s

customer (budget) driven anyway

>>

>Slide6

Helix

on Unicorn

Hint which item belongs to which project is great

Projects dependencies in configuration works (and can be checked globally on unicorn.aspx page)Slide7

Helix

on Unicorn

Convenient deployment on

local machine with Habitat gulp scripts (deploy selected layer, auto-

deploy

CSS,

cshtml…) Can deploy selected configuration (like only features of particular website) using unicorn.aspx.

Rainbow

Code

Generation

is not as straightforward

as TDS

M

emory

issues

in

build script, if syncing whole solution with huge numer of items:

Change scripts/unicorn.js:var syncScript

=__dirname + "/Unicorn/./Sync.ps1 -secret " + secret + " -url

" + url;var options = { cwd: __

dirname

+ "/

Unicorn

/",

maxBuffer

: 1024 * 400

};

Orphant

items

in

sync

directorySlide8

Helix

on TDS

Even more projects - XXX.Feature.YYY, XXX.Feature.YYY.Master

, XXX.Feature.YYY.Core)Project dependencies can’t be displayed in single location (

you don’t want to open every project

)Not easy to sync selected layers or projects (only one or all). TdsGlobal.config + Deploy Solution

Sync

all

TDS

Projects

using

HistorySlide9

Helix

on TDS

Deployment is slow

. Hedhehog has solution for this - use one TDS project with rules http://www.hhog.com/blog/sitecore-helix-fxcop-rules) Problems with namespaces in code generation

U

se your own .

tt files. Header Transform File: using GlassMapper.Sc.Fields;

using

Sitecore.Data

….

using

SmartSitecore.Foundation.PageBase.Models

; //

location

of

GlassBase

class

Github sample without code gen and it’s not as supported as Unicorn code. No gulp

tasks usage – need to modify the one for Unicorn

. Anyway works surprisingly good Slide10

CI/CD deployment of

Helix with

Unicorn

CodeStandard way with Web Deploy

or

Octopus. If you keep the convention easy to deploy single site

only

in

multisite

solution

(

because

of

folders

separation).Items via Unicorn

Copy .yml from selected folders to synchronization directory on the server (possible via nuget package, or Octopus)Automatic sync of selected configuration

(layer or project) with Octopus script

: https://www.sitecorenutsbolts.net/2016/03/14/Octopus-Deploy-Step-for-Unicorn-Sync/ Slide11

CI/CD deployment of

Helix with TDS

Code

Same as UnicornItems via TDS

Aggregation project to improve performance and remove

not

needed content items. It will create single .update package file.

Deploy as usual with Sitecore Package Deployer or Sitecore.Ship

Nuget package with items:Slide12

Developer/

Architect’s

Helix ConcernsSlide13

Is

it a

Feature or Foundation?

If you know all

the

details

at startup, plan it.If not don’t care too much,

it

can

be

refactored

easily

. Slide14

Component =

Feature?

Feature

may be something bigger than single componentSlide15

But

if…

Feature

depends on another feature

Split

it

,

instead

of

moving

whole

feature to foundation layer

,

just because other features have reference to it

.Slide16

More

tips

Avoid too atomic features – you

will end with hundreds of .csprojIf you place too much code in Foundation

,

it become Feature

(remember: Foundation = stable code)Document your projects (after 3 months you may not remember what is your 58th

project about)

All official samples are without

Solr

,

Glass.Mapper

and auto-

generated

model

classesSlide17

Other Benefits

of Helix

architecture

Code merging (for fans of merging TDS .csproj with hundreds of items)Build your

VS

templates

for your projects or use https://marketplace.visualstudio.com/items?itemName=AndersLaublaubplusco.SitecoreHelixVisualStudioTemplatesArchitecture is well

known

,

easier

onboarding

proces for

new

developersSlide18

Implementing

helixed

sitecore module

Architecture is great for thisSingle Feature or Foundation .

csproj

= Module

Looks good on your github  Slide19

Thanks!

Tomasz Juranekhttp://smartsitecore.com

https://www.linkedin.com/in/tjuranek