SlideShare a Scribd company logo
JSS & Helix principles
in a real project
Our first
Sitecore Headless website is Live!
26.03.2019Sitecore User Group Belarus
JSS & Helix principles
in a real project
Our first
Sitecore Headless website is Live!
26.03.2019Sitecore User Group Belarus
Who am I
Valiantsin Shendzerau
Sitecore developer
7,5 years of Sitecore experience
Sitecore User Group Belarus 26.03.2019
What be will be here today
• A bit of JSS & Helix theory
• How we’ve started our first JSS project
• Which directions were chosen
• How to combine JSS & Helix
• JSS customizations
• Tips & tricks
Sitecore User Group Belarus 26.03.2019
What you will not hear today
• Front-end tips and tricks
• JSS and GraphQL support
• JSS and Azure deployments
• JSS and Personalization
• JSS and Analytics
Sitecore User Group Belarus 26.03.2019
What is Headless CMS?
A headless content management system, or headless CMS, is a back-end
only content management system (CMS) built from the ground up as a
content repository that makes content accessible via a RESTful API for
display on any device.
Sitecore User Group Belarus 26.03.2019
What are the benefits of Headless CMS
• Future-proofs your website implementation, letting you redesign the site
without re-implementing the CMS itself
• Sets frontend developers free from the conventions and structures of the
backend
• Performance: depending on your site's requirements, a headless CMS can
export static HTML to any number of servers. For more dynamic sites, your
servers don't have to manage template/layout work and your front-end code
can do more of the heavy lifting for making the pages more dynamic.
• In the most advanced cases, your website can be packaged and bundled as a
Progressive Web Application (PWA), which can run as a mobile app right from a
user’s home screen
• Technical agnosticism: in theory if you put all the work in place to completely
decouple all of the layers of your applications, you could even drop in a new
CMS and not have to touch any of your client applications. In theory.
Sitecore User Group Belarus 26.03.2019
What is Sitecore JSS?
Sitecore JavaScript Services (JSS) is a complete SDK for JavaScript developers
that enables you to build full-fledged solutions using Sitecore and modern
JavaScript UI libraries and frameworks.
Sitecore User Group Belarus 26.03.2019
JSS Elements
Sitecore User Group Belarus 26.03.2019
Sitecore Integration and Data Flow
Sitecore User Group Belarus 26.03.2019
JSS Development workflows
• Code-first
• Sitecore-first
Sitecore User Group Belarus 26.03.2019
JSS Development workflows
• Code-first
• Sitecore-first / Contract-first
Sitecore User Group Belarus 26.03.2019
JSS application modes
• Disconnected developer mode
• Connected developer mode
• Integrated mode
• Headless server-side rendering mode
• API-Only Mode
Sitecore User Group Belarus 26.03.2019
Sitecore Helix
Sitecore Helix is a set of official guidelines and recommended practices for
Sitecore Development
With the introduction of Helix, Sitecore now provides a set of architecture
conventions and guidelines that describe how to apply recommended
technical design principles to a Sitecore project
The purpose is to secure implementations in a future-proof way by
architecting them as maintainable and extensible business-centric modules
Sitecore User Group Belarus 26.03.2019
Sitecore Helix
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
New We are you website
• Sitecore 9.0.2
• JSS 11.0
• Sitecore/contract-first
• Headless server-side rendering mode
• React
• Helix principles
Sitecore User Group Belarus 26.03.2019
Sitecore & JSS versions
• Sitecore 9.0.2
• JSS TP 4
• Sitecore 9.0.2
• JSS 11.0
Sitecore User Group Belarus 26.03.2019
Latest versions
• Sitecore 9.1
• JSS 11.0.2
Sitecore User Group Belarus 26.03.2019
Choosing the right JavaScript framework
Sitecore User Group Belarus 26.03.2019
How to organize source code
Sitecore User Group Belarus 26.03.2019
How we’ve organize
source code
• Same repo
• Different folders for React app and
Visual studio solution
Code-first or Contact-first
Sitecore User Group Belarus 26.03.2019
Code-first
Sitecore User Group Belarus 26.03.2019
• Early prototyping of a design, where a Sitecore instance may not be
available to deploy to
• The primary developers on the team are JavaScript developers
• Frontend developers will not have their own Sitecore instances
• The needs of the app are relatively simple from a content perspective
• Hiring an external frontend agency to build a JSS app that will later be
integrated to Sitecore
Code-first
Sitecore User Group Belarus 26.03.2019
Contract-first
Sitecore User Group Belarus 26.03.2019
• The project is led by experienced Sitecore developers who prefer to work in
Sitecore
• Complex content or backend architectural demands. (e.g. adding a JSS site
into an existing Sitecore instance)
• Sitecore developers are also implementing the JavaScript application.
• JSS apps will be deployed and versioned using the same deployment
process. (e.g. same source repository and CI process)
Our Contract-first approach
Sitecore User Group Belarus 26.03.2019
• Front-end & back-end developers agrees on component data structure
• Front-end developers are preparing React components via React Storybook
with static JSON data placed in data.json file
• Back-end developers are preparing JSS Json renderings via Content
Resolvers generating same JSON structure
Sitecore User Group Belarus 26.03.2019
So what are Rendering Content Resolvers?
Sitecore User Group Belarus 26.03.2019
• By default, when serializing a rendering to JSON, the Layout Service will
populate the rendering contents with the fields of the rendering's
datasource item
• JSS allows you to configure a Rendering Contents Resolver on each
rendering, which determines how a rendering and its associated data are
serialized
Rendering Content Resolvers from the box
Sitecore User Group Belarus 26.03.2019
• Datasource Resolver - The default behavior, serializes the rendering's
datasource item
• Datasource Item Children Resolver - Serializes the children of the
datasource item
• Context Item Resolver - Serializes the context item instead of the
datasource item
• Context Item Children Resolver - Serializes the children of the context item
• Folder Filter Resolver - Serializes the descendents of the datasource item,
excluding folders
Customizing Rendering Content Resolvers
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
So what was our choice
Sitecore User Group Belarus 26.03.2019
• Custom Rendering Content Resolvers for both Dataources & Rendering
Parameters
• Convert GlassMapper models to JSON via AutoMapper
What are the benefits
Sitecore User Group Belarus 26.03.2019
• Full control over Layout Service response per rendering
• Inject of 3rd party dependencies, e.g. API calls while generating JSON
response
• Helix-adoptable
Extending Context Data Returned by the
Layout Service
Sitecore User Group Belarus 26.03.2019
• In addition to returning the name, fields, and placeholders/renderings of
the requested item, the Layout Service output also contains a context
property. Like Sitecore.Context in .NET-based Sitecore development, this
property can be used to provide data on cross-cutting concerns and other
information derived from the HTTP Context, such as the current site context
and page mode
• The JSS base class gives you the ability to configure the Layout Service
configuration, JSS app(s), and JSS route(s) for which the processor should
execute
Sitecore User Group Belarus 26.03.2019
How to optimize Layout Service response
Sitecore User Group Belarus 26.03.2019
• Remove context item fields from response
• Remove rendering parameters from response
• Optimize JSON serialization
Sitecore User Group Belarus 26.03.2019
Injecting JSS into Helix-based project
Sitecore User Group Belarus 26.03.2019
• One Foundation module for global customizations
• Placing Custom Rendering Content Resolvers & Layout Service Extensions
on Feature module level
Sitecore User Group Belarus 26.03.2019
Tips & tricks: be careful with Proxy mode
Sitecore User Group Belarus 26.03.2019
• Seems to be the most unstable part of JSS right now
• E.g. 2 major issue was found by our Team during last weeks
Tips & tricks: be careful with Proxy mode
Sitecore User Group Belarus 26.03.2019
Tips & tricks: customize you component
factory JavaScript
Sitecore User Group Belarus 26.03.2019
Tips & tricks: install JSS server via SIF
Sitecore User Group Belarus 26.03.2019
Tips & tricks: install JSS via SIF
Sitecore User Group Belarus 26.03.2019
Tips & tricks: front-end developer can connect
his app to Test environment layout service
Sitecore User Group Belarus 26.03.2019
Tips & tricks: use NuGet
Sitecore User Group Belarus 26.03.2019
Tips & tricks: use NuGet
Sitecore User Group Belarus 26.03.2019
sitecore.myget.org
JSS docs
jss.sitecore.com
JSS in Slack
sitecorechat.slack.com
#JSS
Kam Figy
• kamsar.net
• twitter.com/kamsar
Corey Smith
• www.coreysmith.co
• twitter.com/sitecorey
Anton Kuryan
• dobryak.org
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019

More Related Content

What's hot

Automating your AWS Security Operations
Automating your AWS Security OperationsAutomating your AWS Security Operations
Automating your AWS Security Operations
Amazon Web Services
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
AWSKRUG - AWS한국사용자모임
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
tsukasamannen
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
Masaki Misawa
 
Container Security
Container SecurityContainer Security
Container Security
Amazon Web Services
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
Amazon Web Services
 
Advanced Container Security
Advanced Container Security Advanced Container Security
Advanced Container Security
Amazon Web Services
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Amazon Web Services
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Amazon Web Services
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
Amazon Web Services
 
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
Amazon Web Services
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
 
Protecting Your Data With AWS KMS and AWS CloudHSM
Protecting Your Data With AWS KMS and AWS CloudHSM Protecting Your Data With AWS KMS and AWS CloudHSM
Protecting Your Data With AWS KMS and AWS CloudHSM
Amazon Web Services
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..
Siddharth Joshi
 
(ISM305) Framework: Create Cloud Strategy & Accelerate Results
(ISM305) Framework: Create Cloud Strategy & Accelerate Results(ISM305) Framework: Create Cloud Strategy & Accelerate Results
(ISM305) Framework: Create Cloud Strategy & Accelerate Results
Amazon Web Services
 
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Amazon Web Services
 
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
Amazon Web Services Japan
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data
Craig Milroy
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
gjuljo
 

What's hot (20)

Automating your AWS Security Operations
Automating your AWS Security OperationsAutomating your AWS Security Operations
Automating your AWS Security Operations
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
 
Container Security
Container SecurityContainer Security
Container Security
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Advanced Container Security
Advanced Container Security Advanced Container Security
Advanced Container Security
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
Protecting Your Data With AWS KMS and AWS CloudHSM
Protecting Your Data With AWS KMS and AWS CloudHSM Protecting Your Data With AWS KMS and AWS CloudHSM
Protecting Your Data With AWS KMS and AWS CloudHSM
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..
 
(ISM305) Framework: Create Cloud Strategy & Accelerate Results
(ISM305) Framework: Create Cloud Strategy & Accelerate Results(ISM305) Framework: Create Cloud Strategy & Accelerate Results
(ISM305) Framework: Create Cloud Strategy & Accelerate Results
 
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
 
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 

Similar to Sitecore JSS & Helix principles in a real project

Sug bangalore - headless jss
Sug bangalore - headless jssSug bangalore - headless jss
Sug bangalore - headless jss
Anindita Bhattacharya
 
Sitecore 9 - What's new?
Sitecore 9 - What's new?Sitecore 9 - What's new?
Sitecore 9 - What's new?
Adrian IORGU
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
jinto77
 
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
Vadzim Papko
 
What's new in Sitecore 9.3
What's new in Sitecore 9.3What's new in Sitecore 9.3
What's new in Sitecore 9.3
Pieter Brinkman
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Peter Procházka
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
VarunNehra
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Peter Procházka
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
Edureka!
 
React JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptxReact JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptx
Ellocent Labs
 
Building Microtrends With React
Building Microtrends With ReactBuilding Microtrends With React
Building Microtrends With React
Nisheed Jagadish
 
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdfAre Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Peter Procházka
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Jitendra Soni
 
Headless CMS. Sitecore JSS getting started, tips and tricks
Headless CMS. Sitecore JSS getting started, tips and tricksHeadless CMS. Sitecore JSS getting started, tips and tricks
Headless CMS. Sitecore JSS getting started, tips and tricks
Artsem Prashkovich
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Peter Procházka
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
How to automate Sitecore deployment to Azure
How to automate Sitecore deployment to AzureHow to automate Sitecore deployment to Azure
How to automate Sitecore deployment to Azure
Robert Senktas
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain
 
Best Practices with Sitecore
Best Practices with SitecoreBest Practices with Sitecore
Best Practices with Sitecore
Anant Corporation
 

Similar to Sitecore JSS & Helix principles in a real project (20)

Sug bangalore - headless jss
Sug bangalore - headless jssSug bangalore - headless jss
Sug bangalore - headless jss
 
Sitecore 9 - What's new?
Sitecore 9 - What's new?Sitecore 9 - What's new?
Sitecore 9 - What's new?
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
 
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
 
What's new in Sitecore 9.3
What's new in Sitecore 9.3What's new in Sitecore 9.3
What's new in Sitecore 9.3
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
React JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptxReact JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptx
 
Building Microtrends With React
Building Microtrends With ReactBuilding Microtrends With React
Building Microtrends With React
 
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdfAre Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
 
Headless CMS. Sitecore JSS getting started, tips and tricks
Headless CMS. Sitecore JSS getting started, tips and tricksHeadless CMS. Sitecore JSS getting started, tips and tricks
Headless CMS. Sitecore JSS getting started, tips and tricks
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
How to automate Sitecore deployment to Azure
How to automate Sitecore deployment to AzureHow to automate Sitecore deployment to Azure
How to automate Sitecore deployment to Azure
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Best Practices with Sitecore
Best Practices with SitecoreBest Practices with Sitecore
Best Practices with Sitecore
 

Recently uploaded

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 

Recently uploaded (20)

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 

Sitecore JSS & Helix principles in a real project

  • 1. JSS & Helix principles in a real project Our first Sitecore Headless website is Live! 26.03.2019Sitecore User Group Belarus
  • 2. JSS & Helix principles in a real project Our first Sitecore Headless website is Live! 26.03.2019Sitecore User Group Belarus
  • 3. Who am I Valiantsin Shendzerau Sitecore developer 7,5 years of Sitecore experience Sitecore User Group Belarus 26.03.2019
  • 4. What be will be here today • A bit of JSS & Helix theory • How we’ve started our first JSS project • Which directions were chosen • How to combine JSS & Helix • JSS customizations • Tips & tricks Sitecore User Group Belarus 26.03.2019
  • 5. What you will not hear today • Front-end tips and tricks • JSS and GraphQL support • JSS and Azure deployments • JSS and Personalization • JSS and Analytics Sitecore User Group Belarus 26.03.2019
  • 6. What is Headless CMS? A headless content management system, or headless CMS, is a back-end only content management system (CMS) built from the ground up as a content repository that makes content accessible via a RESTful API for display on any device. Sitecore User Group Belarus 26.03.2019
  • 7. What are the benefits of Headless CMS • Future-proofs your website implementation, letting you redesign the site without re-implementing the CMS itself • Sets frontend developers free from the conventions and structures of the backend • Performance: depending on your site's requirements, a headless CMS can export static HTML to any number of servers. For more dynamic sites, your servers don't have to manage template/layout work and your front-end code can do more of the heavy lifting for making the pages more dynamic. • In the most advanced cases, your website can be packaged and bundled as a Progressive Web Application (PWA), which can run as a mobile app right from a user’s home screen • Technical agnosticism: in theory if you put all the work in place to completely decouple all of the layers of your applications, you could even drop in a new CMS and not have to touch any of your client applications. In theory. Sitecore User Group Belarus 26.03.2019
  • 8. What is Sitecore JSS? Sitecore JavaScript Services (JSS) is a complete SDK for JavaScript developers that enables you to build full-fledged solutions using Sitecore and modern JavaScript UI libraries and frameworks. Sitecore User Group Belarus 26.03.2019
  • 9. JSS Elements Sitecore User Group Belarus 26.03.2019
  • 10. Sitecore Integration and Data Flow Sitecore User Group Belarus 26.03.2019
  • 11. JSS Development workflows • Code-first • Sitecore-first Sitecore User Group Belarus 26.03.2019
  • 12. JSS Development workflows • Code-first • Sitecore-first / Contract-first Sitecore User Group Belarus 26.03.2019
  • 13. JSS application modes • Disconnected developer mode • Connected developer mode • Integrated mode • Headless server-side rendering mode • API-Only Mode Sitecore User Group Belarus 26.03.2019
  • 14. Sitecore Helix Sitecore Helix is a set of official guidelines and recommended practices for Sitecore Development With the introduction of Helix, Sitecore now provides a set of architecture conventions and guidelines that describe how to apply recommended technical design principles to a Sitecore project The purpose is to secure implementations in a future-proof way by architecting them as maintainable and extensible business-centric modules Sitecore User Group Belarus 26.03.2019
  • 15. Sitecore Helix Sitecore User Group Belarus 26.03.2019
  • 16. Sitecore User Group Belarus 26.03.2019
  • 17. New We are you website • Sitecore 9.0.2 • JSS 11.0 • Sitecore/contract-first • Headless server-side rendering mode • React • Helix principles Sitecore User Group Belarus 26.03.2019
  • 18. Sitecore & JSS versions • Sitecore 9.0.2 • JSS TP 4 • Sitecore 9.0.2 • JSS 11.0 Sitecore User Group Belarus 26.03.2019
  • 19. Latest versions • Sitecore 9.1 • JSS 11.0.2 Sitecore User Group Belarus 26.03.2019
  • 20. Choosing the right JavaScript framework Sitecore User Group Belarus 26.03.2019
  • 21. How to organize source code Sitecore User Group Belarus 26.03.2019
  • 22. How we’ve organize source code • Same repo • Different folders for React app and Visual studio solution
  • 23. Code-first or Contact-first Sitecore User Group Belarus 26.03.2019
  • 24. Code-first Sitecore User Group Belarus 26.03.2019 • Early prototyping of a design, where a Sitecore instance may not be available to deploy to • The primary developers on the team are JavaScript developers • Frontend developers will not have their own Sitecore instances • The needs of the app are relatively simple from a content perspective • Hiring an external frontend agency to build a JSS app that will later be integrated to Sitecore
  • 25. Code-first Sitecore User Group Belarus 26.03.2019
  • 26. Contract-first Sitecore User Group Belarus 26.03.2019 • The project is led by experienced Sitecore developers who prefer to work in Sitecore • Complex content or backend architectural demands. (e.g. adding a JSS site into an existing Sitecore instance) • Sitecore developers are also implementing the JavaScript application. • JSS apps will be deployed and versioned using the same deployment process. (e.g. same source repository and CI process)
  • 27. Our Contract-first approach Sitecore User Group Belarus 26.03.2019 • Front-end & back-end developers agrees on component data structure • Front-end developers are preparing React components via React Storybook with static JSON data placed in data.json file • Back-end developers are preparing JSS Json renderings via Content Resolvers generating same JSON structure
  • 28. Sitecore User Group Belarus 26.03.2019
  • 29. So what are Rendering Content Resolvers? Sitecore User Group Belarus 26.03.2019 • By default, when serializing a rendering to JSON, the Layout Service will populate the rendering contents with the fields of the rendering's datasource item • JSS allows you to configure a Rendering Contents Resolver on each rendering, which determines how a rendering and its associated data are serialized
  • 30. Rendering Content Resolvers from the box Sitecore User Group Belarus 26.03.2019 • Datasource Resolver - The default behavior, serializes the rendering's datasource item • Datasource Item Children Resolver - Serializes the children of the datasource item • Context Item Resolver - Serializes the context item instead of the datasource item • Context Item Children Resolver - Serializes the children of the context item • Folder Filter Resolver - Serializes the descendents of the datasource item, excluding folders
  • 31. Customizing Rendering Content Resolvers Sitecore User Group Belarus 26.03.2019
  • 32. Sitecore User Group Belarus 26.03.2019
  • 33. So what was our choice Sitecore User Group Belarus 26.03.2019 • Custom Rendering Content Resolvers for both Dataources & Rendering Parameters • Convert GlassMapper models to JSON via AutoMapper
  • 34. What are the benefits Sitecore User Group Belarus 26.03.2019 • Full control over Layout Service response per rendering • Inject of 3rd party dependencies, e.g. API calls while generating JSON response • Helix-adoptable
  • 35. Extending Context Data Returned by the Layout Service Sitecore User Group Belarus 26.03.2019 • In addition to returning the name, fields, and placeholders/renderings of the requested item, the Layout Service output also contains a context property. Like Sitecore.Context in .NET-based Sitecore development, this property can be used to provide data on cross-cutting concerns and other information derived from the HTTP Context, such as the current site context and page mode • The JSS base class gives you the ability to configure the Layout Service configuration, JSS app(s), and JSS route(s) for which the processor should execute
  • 36. Sitecore User Group Belarus 26.03.2019
  • 37. How to optimize Layout Service response Sitecore User Group Belarus 26.03.2019 • Remove context item fields from response • Remove rendering parameters from response • Optimize JSON serialization
  • 38. Sitecore User Group Belarus 26.03.2019
  • 39. Injecting JSS into Helix-based project Sitecore User Group Belarus 26.03.2019 • One Foundation module for global customizations • Placing Custom Rendering Content Resolvers & Layout Service Extensions on Feature module level
  • 40. Sitecore User Group Belarus 26.03.2019
  • 41. Tips & tricks: be careful with Proxy mode Sitecore User Group Belarus 26.03.2019 • Seems to be the most unstable part of JSS right now • E.g. 2 major issue was found by our Team during last weeks
  • 42. Tips & tricks: be careful with Proxy mode Sitecore User Group Belarus 26.03.2019
  • 43. Tips & tricks: customize you component factory JavaScript Sitecore User Group Belarus 26.03.2019
  • 44. Tips & tricks: install JSS server via SIF Sitecore User Group Belarus 26.03.2019
  • 45. Tips & tricks: install JSS via SIF Sitecore User Group Belarus 26.03.2019
  • 46. Tips & tricks: front-end developer can connect his app to Test environment layout service Sitecore User Group Belarus 26.03.2019
  • 47. Tips & tricks: use NuGet Sitecore User Group Belarus 26.03.2019
  • 48. Tips & tricks: use NuGet Sitecore User Group Belarus 26.03.2019 sitecore.myget.org
  • 51. Kam Figy • kamsar.net • twitter.com/kamsar
  • 52. Corey Smith • www.coreysmith.co • twitter.com/sitecorey
  • 54. Sitecore User Group Belarus 26.03.2019
  • 55. Sitecore User Group Belarus 26.03.2019
  • 56. Sitecore User Group Belarus 26.03.2019

Editor's Notes

  1. Немного теории чтобы все имели представление о чём идёт речь Наш первый проект на JSS – как мы начинали Какой мы делали выбор в той или иной ситуации JSS & Helix – как это работает Кастомизация JSS – немного примером из того что делали мы Советы и трюки – возможно они вам пригодятся
  2. Википедия: backend-only cистема управления сайтами построенная как репозитоий контента и делающая контент доступным через REST для отображения на любых девайсах
  3. Production режимы: 3 последних Development режимы: 3 первых Headless server-side rendering mode – начинайте тестировать его уже во время разработки
  4. Helix – набор гайдлайнов по компонентной разработке на Sitecore, позволяющий создавать расширяемые и хорошо поддерживае решения.
  5. Зависимости: описывают как фичи и функционал в решении взаимодействуют друг с другом Слои: контролируют направление зависимостей Модули: определяют изоляцию фич и функционала для упрощение процесса разработки и повышения качества кода
  6. Сайт We are you, быстрый обзор Страницы, ответ Layout Service, обзор ответа для компонента PageHeader
  7. Update
  8. Плюсы: синхранизация версий в одном репозитории, это указано где-то в документации JSS
  9. Ранне прототипирование дизайна JavaScript девелоперы – основа команды Frontend девелоперы рабатают без инстансов Sitecore Несложная структура контента Frontend реализация до старта backend-проекта
  10. У вас в команде есть опытные Sitecore-разработчики У вас сложная структуру данных или сложное решение Sitecore-девелоперы могут писать JavaScript-код JSS приложение и Headless CMS доставляются в одном CI процессе
  11. Показать React-компонент, data.json и JSON Rendering в Sitecore
  12. По умолчанию Layout Service отдаёт поля datasource Можно конфигурировать свой
  13. Набор “из коробки”
  14. Релиазовать свой резолвер контента через интерфейс IRenderingContentsResolver
  15. JSS поставляет базовый класс, который позовляет добавлять конфигурации Layout Service, JSS приложений, и JSS маршрутов для которых будет выполняться процессор.
  16. Фича Google Tag Manager
  17. Убрать поля айтема из ответа Layout Service – наш сайт полностью построен на компонентах и все данные мы возвращем для каждого рендеринга через Custom Rendering Contents Resolver Убрать рендеринг параметры - все данные мы обрабатываем и возвращем для каждого рендеринга через Custom Rendering Contents Resolver Оптимизировать сериализацию JSON – убрать значения null и значения по умолчанию
  18. Модуль Foundation
  19. Модуль Foundation для: глобальных кастомизаций, базового класс Rendering Contents Resolver, сериализация данных в Unicorn Модули Feature для кастомных Rendering Contents Resolver и кастомных процессоров для расширения ответа Layout Service
  20. Проекты Visual Studio, теплейты в Sitecore