DFS 11.0 - 11 Extending LinkProvider

The DAM for Sitecore module extends SItecores default LinkProvider. The reason why we do that is because our media links are not recognized by Sitecore. We have to extend the LinkProvider and overrided the method ParseDynamicLink.

This is the configuration which can be found in the file App_Config\Include\damforsitecore\DFS.Services.config.

<linkManager>
    <providers>
        <add patch:instead="*[@type='Sitecore.Links.LinkProvider, Sitecore.Kernel']"  name="sitecore" type="DFS.Services.DfsLinkProvider, DFS.Services" addAspxExtension="false" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="asNeeded" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false"/>
	</providers>
</linkManager>

If for some reason you also overrides the LinkProvider in your Sitecore solution, then we have a problem. Only one can override the LinkProvider. To fix this you have to extend from our implementation. Include the DFS.Services.dll and extend with the class DFSLinkProvider like this:

public class YourImplProvider: DfsLinkProvider 
{
	...
}

If our implementation is not loaded you will get warnings when ever you insert any of our media files into a RTE field. It would say something like "Broken links" when saving and the link database is not update with our media items.