DD4T 2.*
Summary
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 DefaultPublicationResolver must be supported. |
TcmUri | Should be supported in the facade as a wrapper around whatever DXA will be using. |
Factories
Interface | Method | Explanation | Priority |
IPageFactory | |||
IPage FindPage(string url); | Finds IPage (generic type) for given URL | M | |
IPage GetPage(string tcmUri); | Retrieves IPage (generic type) for given TCM URI | M | |
string FindPageContent(string url) | Retrieves raw content for page as string for given URL | S | |
string GetPageContent(string tcmUri) | Retrieves raw content for page as string for given TCM URI | S | |
IPage GetIPageObject(string pageStringContent) | Converts raw content (string) to IPage | S | |
DateTime GetLastPublishedDateByUrl(string url) | Gets last publish date by URL (for custom caching purposes) | S | |
DateTime GetLastPublishedDateByUri(string uri) | Gets last publish date by TCM URI (for custom caching purposes) | S | |
string[] GetAllPublishedPageUrls(string[] includeExtensions, string[] pathStarts) | Gets all published page URLs | C | |
0 Comments