Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

DXA Web Application Overview

No description
by

Will Price

on 21 January 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of DXA Web Application Overview

Questions?
DXA Web Application Overview
MVC
No rendering in Tridion Templates
All content + binaries -> Broker DB
Content published in data format (DD4T)
URL request ->
Controller
Controller uses Content Provider to load content from broker DB into a
Model
Controller passes Model to a
View
for rendering
Mobile Friendly using RESS
MVC architecture
Built with extension in mind
Decoupled from CD Architecture
Hide CMS Peculiarities
Experience Manager "Ready"
DESIGN
PRINCIPLES
Modular Layout
Page
Views == Page Layout (relation is managed in PT meta)

Entity
Views == Component Layout (CT meta)

Region
Views allow us to render content in different areas, do column layouts (Region defined in CT meta)

(demo page composition)

View Models
View Models: Optimized models rendered by Views:
Decoupled
from CMS Model (schema)
Lightweight
: only contain properties required
Preprocessed
(links/RTF resolved)
Strongly typed
to make sense to View Developers
Content Provider
DXA hides Tridion behind a
Content Provider
which loads and transforms content to build the models to be rendered by views

DD4T
is currently only option
Future:
Web Service
provider

Could even be a different storage (
MongoDB
?) or CMS!

Other than flexibility, the main reason to do this is to reduce CMS understanding required for web developers
Semantic Markup
Original Goal
: Remove need to understand XPM markup when creating views, and keep views
clean
:
Modules
Self-contained packages of web application functionality: Views, Controllers, Models, Integration code

Goal is to make easier to
organize
,
extend
and
share
DXA features

For DXA.NET
Areas
== Modules
Typically packaged into a
DLL + View files
Usually also have
CMS elements
(schemas, templates, config etc.)
Template metadata
defines the Module where Controller and/or Views are located

Examples:
Search
,
Google Analytics
,
Instagram

(demo Modules/Areas in project
Developers markup Entities and properties
Side Effect:
Can also be used to support Semantic Web -
schema.org
(demo - View/Model code and rendered content)
Advantages:
Developer Productivity
Clean Views
Component
Component Presentation
Event
Blog
Article Summary
View Models - example
With strongly typed view model:
With a CMS type Model:
How does it work?
View Models are created based on content to be rendered
Annotations indicate relation to CMS Model
A generic Model Builder populates the View model from the CMS Model (Component Presentation) "behind the scenes"
Model Mapping
Sensible defaults mapping schema fields:
heading
->
String Heading
relatedLink
(multival embedded) ->
Collection<Link> RelatedLinks
Links and RTF are resolved in the proces using a
Content Resolver
Properties can be
ignored
Multiple fields -> single property
Multiple schemas -> single Entity
Single schema -> multiple Entities
(demo complex model annotation: Teaser)
More detail in online docs ("Semantic Mapping")
Other Stuff
Binary Serialization
Dependency Injection
Multi-tenancy (2.0)
Troubleshooting...
Full transcript