Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

FeatureIn DXADD4T .NETDD4T JavaComments
Features of the models
Attribute-drivenYesYesYesBoth attributes will be backwards compatible, but will choose one preferred one for future usage, try to consolidate/minimise use of attribute. Metadata could be separate property, but does not have to be
Support for strongly typed page modelsYesYesPartial
Support for page regionsYes (in generic pages)Yes (in custom page models)No

Regions in DXA are created in the generic page to group CPs, in DD4T there are attributes to let you model this on the page. Regions should be in the Generic page model and have a pluggable region mapper.

Link and rich text resolvingYesYesYes

Linking: Needs to be in the model and extendible. Mark properties as dynamic to decide on the spot.

Rich Text: Needs to be in the model and extendible. DXA has a type which can contain html but also full entity models, should be an implementation of the rich text models

Multiple attributes on a propertyYesNoYesNeed to be clear on ordering and functional logic DXA and Java do it but maybe differently
Search in a tree structure (Flattening)YesNoNoGood feature, but it must be made optional. Should only go into embedded fields and not linked components. Should this be enabled/disabled on a property basis, model basis or implementation basis?
Semantic vocabularies (eg schema.org) supportYesNoNoDXA currently requires that schema information published separately (publish settings page) - this is a bit of a pain so we should look at putting the semantics info in the DD4T JSON.
Multiple schemas per viewmodelYesNoYes
Multiple viewmodels per schemaYesYesYes
Extensible attributesNoYesNoCleanup necessary.
Lazy properties?NoNoNoNot needed in the framework - up to implementation - not really what MVC is about. DXA has ability to ignore individual properties, or all properties on the model by default which do not have attributes for mapping.
Implicit mappingsYes?NoUse existing conventions from DXA

Self linking

Yes?BugDXA uses a reserved "_self" 'field' name in the attributes for this
Map all properties to DictionaryYesNoNoDXA Can map all schema fields to a single property of type dictionary/map - used for configuration models
Features of the model builder
Uses reflection only onceNoYes
DD4T reads all model information only once (using reflection), and uses it many times
Independent from MVCNot sure?Yes
It must be possible to use the ViewModels outside the context of MVC to facilitate testing etc
Injecting ExternalContentProvidersNoNo

Single-step approach (from json to strongly typed object)NoNoYesNice to have - interesting to know what if any performance gain this gives. Needs to be extendible in the same way as you have modelbuilder pipeline. Needs to be EASY to create your own attributes.
Inject viewmodels using ModelBinderNoYes (in feature branch)
Multiple ModelBinders to support various ViewModel implementations
Support for older viewmodel architectures (DXA and DD4T)NoNo
Important to offer an upgrade path for all customers!
  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.