Versions Compared

Key

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

DD4T 2.*

Summary

FactoriesDD4T 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).

ConfigurationThe IDD4TConfiguration interface must be supported. The exposed properties (settings) must be mapped to the new settings in DXA 2.
DependencyMappingsThis gives access to DI-managed objects from a non-managed context. Nice to have.
Link resolvingILinkResolver and DefaultLinkResolver must be supported.
Rich text resolvingIRichTextResolver and DefaultRichTextResolver must be supported.
Publication resolvingIPublicationResolver and DefaultPublicationResolvermust be supported.
TcmUriShould be supported in the facade as a wrapper around whatever DXA will be using.



Factories

InterfaceMethodExplanationPriority
IPageFactory



IPage FindPage(string url);Finds IPage (generic type) for given URLM

IPage GetPage(string tcmUri);Retrieves IPage (generic type) for given TCM URIM
......

string FindPageContent(string url)Retrieves raw content for page as string for given URLS

string GetPageContent(string tcmUri)Retrieves raw content for page as string for given TCM URIS

IPage GetIPageObject(string pageStringContent)Converts raw content (string) to IPageS

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 URLsC





DXA 1.*