Hello,
I wanted to discuss here about this issue before posting a bug report.
It seems that still in DNN4.0 the Links module renders non-FriendlyUrls when linking to a tab even though the host settings would be set to FriendlyUrls On
As I examined the issue further, by using the links module source on DNN 3.1.3 as I couldn't find more recent code base for the module, here's what happens
The Links.ascx uses FormatURL() for NavigateUrl
-> FormatURL(ByVal Link As String, ByVal TrackClicks As Boolean)
Which then passes the parameters to Common.Globals.LinkClick(Link, TabId, ModuleId, TrackClicks)
The Links table in DNN has only a numeric value (the tabid) when linking to a tab and for this kind of url, LinkClick isn't returning FriendlyUrls even if the host settings would suggest so.
Now, should DNN core functions return the FriendlyUrl or should the module developer take care of this prior to passing the Url to the LinkClick function?
Depending on that answer, I believe this is either a core bug or the links module bug.
My humble opinion is, that LinkClick Should indeed return FriendlyUrls. If the hosts has decided using FriendlyUrls, then I believe the assumption would be that every module and function should conform to this. This would allow every module developer to use the core function to pass the numeric tabid value, or if they decide to make a performance improvement and store the Url in already rewritten manner into DB and bypass rewriting them every time the page is requested.