The UrlProvider component defines a custom URL Provider to be used with the Advanced URL Management System (AUM).
This component type was first introduced in version 7.1 as such it's recommended that any extension using this component type place a minimum dependance on the core version 7.1
Example of minimum dependence
<dependencies>
<dependency type="CoreVersion">07.01.00</dependency>
</dependencies>
Elements and attributes
<component type="UrlProvider">
<urlProvider>
<name></name>
<type></type>
<settingsControlSrc></settingsControlSrc>
<redirectAllUrls></redirectAllUrls>
<replaceAllUrls></replaceAllUrls>
<rewriteAllUrls></rewriteAllUrls>
<desktopModule></desktopModule>
</urlProvider>
</component>
- name : the friendly name as shown to Administrators
- type : the fully-qualified type of the class in the provider which inherits from the ExtensionUrlProvider type.
- settingsControlSrc : relative path location of the User Control used to load the settings page. This is loaded in a popup directly from the provider definition in the Persona Bar - SEO page.
- redirectAllUrls : if true, the provider ‘redirect’ method overload will be called for every request for the portal.
- replaceAllUrls : if true, the provider ‘change friendly url’ method overload will be called for each NavigateURL() call in DNN for the portal.
- rewriteAllUrls : if true, the provider ‘rewrite’ method will be called for each request for the portal
- desktopModules : the installed DesktopModule the provider should be associated with, for when the redirect, rewrite and replace calls should only occur on pages associated with the module. In this example, the URL Redirect provider is a generic provider with no associated DNN module, hence it has an empty ‘desktopModule’ link.
Note that with the redirect/replace/rewrite URLs – it is normally the association with a DesktopModule record that determines which requests / navigateURL() method calls are also run through the specific provider. In this example, this is not the case.
Sample 1
<component type="UrlProvider">
<urlProvider>
<name>DNN Social Url Extension Provider</name>
<type>DotNetNuke.Modules.SocialUrlProvider.SocialUrlProvider</type>
<settingsControlSrc>DesktopModules/DNN_SocialUrlProvider/Settings.ascx</settingsControlSrc>
<redirectAllUrls>false</redirectAllUrls>
<replaceAllUrls>false</replaceAllUrls>
<rewriteAllUrls>false</rewriteAllUrls>
<desktopModule>Social Groups</desktopModule>
</urlProvider>
</component>
Sample 2
<component type="UrlProvider">
<urlProvider>
<name>DNN Url Redirect Extension Provider</name>
<type>DNN.Modules.UrlRedirectProvider</type>
<settingsControlSrc>DesktopModules/DNN_UrlRedirectProvider/Settings.ascx</settingsControlSrc>
<redirectAllUrls>true</redirectAllUrls>
<replaceAllUrls>false</replaceAllUrls>
<rewriteAllUrls>false</rewriteAllUrls>
<desktopModule></desktopModule>
</urlProvider>
</component>
References