Factories | DD4T 2 has factories that give access to generic types (IPage, IComponentPresentation, etc). This is indispensible, so we must include this in our facade. |
ViewModels (factory + attributes) | The entire ViewModel layer must be included in the facade. That - combined with the fact that the PageFactory / ComponentPresentationFactory are also in the facade - will guarantee that the DD4T ViewModels will continue to work. |
Caching | The ICacheAgent interface must still be supported as well as the DefaultCacheAgent and NullCacheAgent implementations. This should not be a problem. Should have: support for JMS listener approach (unless DXA 2 contains a better alternative for cache invalidation). |
Configuration | The IDD4TConfiguration interface must be supported. The exposed properties (settings) must be mapped to the new settings in DXA 2. |
DependencyMappings | This gives access to DI-managed objects from a non-managed context. Nice to have. |
Link resolving | ILinkResolver and DefaultLinkResolver must be supported. |
Rich text resolving | IRichTextResolver and DefaultRichTextResolver must be supported. |
Publication resolving | IPublicationResolver and DefaultPublicationResolvermust be supported. |
TcmUri | Should be supported in the facade as a wrapper around whatever DXA will be using. |