This is a list of interfaces or abstract classes in DD4T that are very commonly implemented cq. extended.
Interface | Rationale | Examples | Known customers | Priority | Notes |
---|---|---|---|---|---|
ILogger | Implement a different logging mechanism | Serilog, MEF | Essity, Ecclesiastical | High | |
IDependencyMapper | Add dependency mapping independently from any DI implementation | For custom DI implementations: read dependency mappings For any other customization: write dependency mappings | Essity, Ecclesiastical | Very High | |
DD4T ViewModel base attributes | See ViewModel base attributes for a complete overview | Various extensions to the ViewModel attributes | Fujitsu, Essity, Ricoh | High | |
ICacheAgent | Implement a different caching mechanism | Redis, serialized cache agent | Essity, Ecclesiastical | High | |
IPublicationResolver | Implement a custom publication resolving mechanism | Common practice is to create a publication resolver wrapped around the DynamicMappingsRetriever (which isn't out of the box in DD4T). Other use cases would be to use browser settings or Geolocation. | Many | Low | In Web 8 one could argue that the DynamicMappingsRetriever is always an improvement, and DXA 2.0 does not support older Tridion versions. |
ILogger | Critical, Error, Warning, Information, Debug | Log through the mechanism provided by DD4T | Many | High | |
ILinkResolver / DefaultLinkResolver | ResolveUrl (2 overloads) | Extend link resolving mechanism | Essity, Fujitsu | High | Examples: to remove file extensions, always link to canonical url, cross-site scripting (Fujitsu) |
IRichTextResolver / DefaultRichTextResolver | Resolve | Extend rich text resolving mechanism | Essity | High | Examples: select correct CDN url out of a set (used with ECL), custom logic depending on the schema of the target component |
IMessageProvider | Start | Create custom cache invalidation mechanism | Vasco, Fujitsu | Medium | Mostly used (I think) because of problems in the official DD4T version (see https://github.com/dd4t/DD4T.Caching.ApacheMQ). |
ILogger | Critical, Error, Warning, Information, Debug | Log through the mechanism provided by DD4T | Many | High | |
ILinkResolver / DefaultLinkResolver | ResolveUrl (2 overloads) | Extend link resolving mechanism | Essity, Fujitsu | High | Examples: to remove file extensions, always link to canonical url, cross-site scripting (Fujitsu) |
IRichTextResolver / DefaultRichTextResolver | Resolve | Essity | Select correct CDN url out of a set (used with ECL) | ||
IPageProvider / IComponentPresentationProvider / IBinaryProvider / | Various | Support different Tridion version or load data from a different source, e.g. for unit testing. | Extremely powerful because it allows customers on older Tridion versions to use DD4T. | ||
Add Comment