Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsForumForumNew Url Provider - Forum extensionNew Url Provider - Forum extension
Previous
 
Next
New Post
10/19/2008 6:08 PM
 

Hi,

we released a Friendly Url provider, which accepts module specific extensions.

Here's the original thread: we provide a sample extension for the dnn forum (the code is included in the anouncement). It is demonstrated on our website's support forum.

We currently have few posts so we use a config where every post's rewritten url is stored individually where as with large scale forums such as dnn.com, there is the possibility to replace the standard direct lookup with a regex match specifically for the forum's urls.

What do you guys think?

 

 


Jesse
CTO - Aricie
 
New Post
10/19/2008 6:37 PM
 

I think the integration or modification must be handles from the provider not from the forum module. The provider must be inherit the values it needs from the Modules.  If any modules needed a modification that it runs on your provider I personaly see not a long live time for it.

 
New Post
10/19/2008 9:25 PM
 

Hi,

thanks for the feedback.

The module-specific extension does not need to belong to the module's assembly itself. It is declared as a dotnet type in a config file and thus can be nicely decoupled from the targeted module.

 

Note that the provider does not need such an extension to perform some rewritting on any module's params.

It's just that as most module handle specific entities, turning those entities's primary key http parameters into human friendly equivalent requires that those module tell the Url provider how to do so.

 

This is precisely what those extensions intend to do.

For instance, the default extension knows how to transform tabids and moduleids into tab path + tabname and module title respectively (amongst many others).

Without a dedicated extension, one can rewrite the forum's urls by trimming out the tabids the mids and the name of the forum's http parameters, but one is still left with the threadids and other primary key parameters.

The forum specific extension tells the provider how to transform groupid/forumid/threadid into respectively group name, forum name, thread name.

 

It also tells the provider which http parameters from the orginal url do belong to a forum module if no module id is provided to figure it out. Finally, the provider can provide a default rewrite rule, that makes use of the new variables and regular http parameters.

The admin user can later customize such a rule at the module and the page level.

 

Here's the rule applied on our website:

[${Scheme}][${RootPath}][/${Language}][/${TabPath}][/${TabName}][/${ModuleTitle}][/${groupname}][/${forumname}][/${threadname}][/${threadpage}][/${postid}][/${scope}][/${action}][/${ControlKey}][/${Params,SubPath}][.${Extension}][?${QueryString,QueryStringValue}]

you can see that "postid", "scope" and "action" are used as regular http parameters and do not require any specific extension to be included in the url (directly without the parameter name).

"groupname", "forumname" and "threadname" do not correspond to any available http parameter in the original url: they are part of the additional "vocabulary" brought by the provider's specific extensions.

 

Hope that makes it clearer.

Cheers


Jesse
CTO - Aricie
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsForumForumNew Url Provider - Forum extensionNew Url Provider - Forum extension


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out