Hello,
Now that clears things a bit. I was in haste just looking for .sln or .vbproj in the package. Sorry about that :) *blush*
I found 'the' sources however in the dnn 3.0.13 package and went through the process and what I belive is that the module passes just integer value (tabid) to the core function DotNetNuke.Common.Globals.LinkClick which does not return FriendlyUrls. This is the case of course only when a link type is tab. More on this on my post at asp.net forums: http://forums.asp.net/1118063/ShowPost.aspx
So either links module should use the core functions to pass already a friendly url to linkclick or then linkclick should do it. I didn't run to support.dotnetnuke.us to post a bug report as I wanted to discuss on asp.net first about whose (or which function's) responsibility it is to generate the friendly Urls. Didn't get any answers yet though :)
However, the quick fix on links module side (fix tested working on dnn3.1.1):
(everything bolded are changes to links module dnn 3.0.13 codebase Links.ascx.vb starting at line 110)
''' -----------------------------------------------------------------------------
''' <summary>
''' FormatURL correctly formats the links url
''' </summary>
''' <remarks>
''' </remarks>
''' <param name="Link">The link</param>
''' <returns>The correctly formatted url</returns>
''' <history>
''' [codepic] 11/20/2005 Added check for numeric 'Link' for support of FriendlyUrls
''' [cnurse] 9/23/2004 Moved Links to a separate Project
''' </history>
''' -----------------------------------------------------------------------------
Public Function FormatURL(ByVal Link As String, ByVal TrackClicks As Boolean) As String
If IsNumeric(Link) Then
Dim Url As String = NavigateURL(Link)
Return Common.Globals.LinkClick(Url, TabId, ModuleId, TrackClicks)
Else
Return Common.Globals.LinkClick(Link, TabId, ModuleId, TrackClicks)
End If
End Function
The problem with non-friendly urls here and there in the system are that it'll confuse search engine robots, generate duplicate content (same page with multiple urls, non-friendly & friendly) which leads to rankings drop on search engines. In my opinion it does not matter if the ClickTracked Urls are non-friendly as long as the target Url is conforming to the host settings.
There are also alternative ways of tracking clicks without redirection and by showing the real Url instead of through LinkClick.aspx. This would further improve the search engine friendliness while giving the portal admin some valuable data on how the traffic flows.
So maybe we should chat?
Yes, certainly. I believe I'm on your MSN already but if this is not the case, just let me know and I'll ping you on MSN.
P.S. if anyone wants the fixed DLL, just let me know and I'll email it to you. It's dnn 3.0.13 codebase, compiled in .NET v1.1.4322. Successfully tested with dnn 3.1.1. However, if you're not desperate on your search engine rankings, I would wait for the official fix or maybe implement the fix on your own sources and compile.