Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page contains an overview of features that are currently present in one or both of the frameworks, plus features that we would like to add.

 


.NET version

FeatureImplementation in DD4TImplementation in DXAPreferred solutionDiscussion
ViewModels
  • Attribute-driven
  • Schema determines and view determine the model
  • Possible to add your own attributes
  • Pages + ComponentPresentations (No regions)
  • Two-step approach (1. deserialize into page/cp, 2. map properties to strongly typed model)
  • ETC
  • Attribute-driven
  • View determines the model
  • N→M schema→model mapping possible
  • Can map multiple fields to a property
  • Can flatten structure (search for mapped fields in embedded fields)
  • Resolves links
  • Regions created in page to group CPs
  • Two-step approachETC
To be decidedIdeal is to deserialize directly from DD4T JSON into view model.See ViewModels for an in-depth discussion
Caching
  • Open, extensible
  • Event-based and time-based invalidation
  • Closed
  • Time-based expiration
DD4T?

We need an overall caching layer for the entire microservice (because SDL doesn't offer this at all)

Enterprises want to decide on a caching solution themselves

Controllers  

To be decided 
Navigation 
  • navigation.json page published from Root SG
  • Based on site structure
  • Simple (SG and Page title based) and Localizable (based on component content) implementations
  • Logic in TBB
  • Example Controller, Models and Views to implement Top nav, context nav, breadcrumb, sitemap, google sitemap

DXA?

 
Labels/Resources 
  • 1 labels JSON 'file' published per module (avoids key clashes across modules) as part of Publish Settings page publish
  • Key-value pair and bespoke schema implementations supported
  • Multiple labels components per module possible
? 
Configuration 
  • Implemented in the same way as Labels/Resources
  


Preview 
Not implementedDD4T 
XPM
  • Linked to ViewModels
  • Helper called from views to render tags
  • Helper called from views to render tags
  • XPM regions created automatically
  • Also possible to edit 'include' pages with XPM (header/footer etc.)
DD4TFaster, no requirement to have well-formed view output
Modules 
  • Standard structure for CM and CD for packaging modules
  

Installer 
  • CM installed with PowerShell script (CP package)
  • CD installed with PowerShell script (IIS website)
 
 

Example Site 
  • Example site installed in CMS with CP package
  • Contains example schemas, templates and content (pages+components)
  

HTML Design 
  • Option to build and distribute HTML design from CMS
  • Option to customize HTML design from CMS configuration
  • Also possible to deploy as part of web app
  

Other 
  • Easily retrieve content in data format (JSON, RSS, Atom)
  • Request-time image resizing (native and using CID)
  • Integrated RESS using Context Engine
  • Support for public Semantics (schema.org etc.)
  • Simple broker querying
  

 

...





Java version

FeatureImplementation in DD4TImplementation in DXAPreferred solutionDiscussion
ViewModels
  • Attribute driven
  • Straight deserialization in STMs
  • n:m models possible
  • Extensible
  • Two-step approach
  • Support for semantics

DD4T

Might be an option to bring semantics into the databind framework.

In any case, the attribute set must be supported.

Caching
  • Fully extensible
  • Support for EHCache and Infinispan
  • Event driven (JMS) and time based
  • Dependency invalidation mechanism
  • Relies on DD4T provider cache
  • No further caching mechanisms found
DD4T

A form of output caching may be needed. This issue is based on a couple

of DXA implementations trying to go live, but having had performance issues.

Controllers  

TBD 
Navigation
  • No support for OOTB navigation
 
DXAIt would be great if this could be modularized, if not already done.
Labels
  • No OOTB support for Labels
 
DXAIt would be great if this could be modularized, if not already done.
PreviewDD4T support Session Preview OOTB, bypassing caching. 
TBD 
XPM
  • Native XPM support
  • Native XPM support
TBD 
Configuration
  • Spring based XML
  • Code config
DD4TAlthough code based configuration is cleaner, many users prefer the XML based version to make quick edits
Views
  • JSP views
  • JSP Views
TBD 
Modules 
Standard interfaces and approachesDXA 
Example Site    



HTML Design    



Other    

 

...