Register   Login
     
  Latest Posts  
Logo same size as other photos?
by marshal on 9/07/2008 4:44 PM
RE: Filter does not honor max articles after upgrading
by StatisticsIO on 9/07/2008 5:51 AM
RE: Filter does not honor max articles after upgrading
by smcculloch on 9/07/2008 4:25 AM
Filter does not honor max articles after upgrading
by StatisticsIO on 9/07/2008 4:02 AM
RE: controlling comment layout - to the right of article
by dax on 9/07/2008 12:40 AM
Search Results Showing Article Title Twice...
by dax on 9/06/2008 11:50 PM
Chnage Custom Field Default Text
by tmahmud on 9/06/2008 11:01 PM
RE: PA Template for Habitat for Humanity
by jemcder on 9/06/2008 8:42 PM
comment box size
by rdyar on 9/06/2008 8:35 PM
RE: controlling comment layout - to the right of article
by rdyar on 9/06/2008 8:21 PM
  Forums  
Subject: ENH: remove portal alias redirect
Prev Next
You are not authorized to post a reply.

Page 1 of 212 > >>
Author Messages
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/11/2006 8:07 AM  

I am not sure if this is possible for this module. But thought I would suggest a way when someone types in the child portal such as mysite com/child1 it does not redirect to mysite com/child1/default.aspx?portalalias=mysite com/child1

Jason


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
stipe kUser is Offline
Gold Membership
Nuke Wiz
Nuke Wiz
Posts:178

5/11/2006 1:45 PM  

Scott already has this planned on the project page.

http://www.ventrian.com/Resources/Projects/FriendlyUrls.aspx

Cheers

Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/11/2006 7:41 PM  
Yep, that's a definate enhancemnet, I find it particularly annoying too. This enhancement is mostly about tidying up the URL and not changing the sub folder creation process.

Note: the core framework will still create sub folders for child portals as they need to be created to the ASP.NET runtime is invoked, (you can modify IIS to make it pick up all requests and in this case you couldn't remove the child folder creation).


Scott McCulloch
Site Administrator
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/12/2006 7:48 AM  

Oops. I did not see that. I'm glad to hear it. I currently have a hack on my site to allow this. Would be nice to do it a better way.

Jason


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/12/2006 6:20 PM  
Hi Jason,

I did have a forum post about it earlier:-

http://www.ventrian.com/Forums/tabid/118/forumid/12/view/topic/postid/5048/tpage/1/Default.aspx


Scott McCulloch
Site Administrator
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/13/2006 12:02 AM  

Thanks for the link. I also posted on this quite awhile back....

http://forums.asp.net/thread/975693.aspx

I'm not sure what the best 'hack' solution is but many were discussed, and I ended up going with one not recommended which has worked fine so far. I just copied the default.aspx to all my child directories and hardcoded all references to my js files. Has worked great last couple weeks (as far as I know). But as I said it would be nice to have a better solution that I don't have to make changes when I upgrade DNN. Thanks for pointing this out. Looking forward to the new enhancement.

I'm really loving my pretty URLs!

Jason


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/14/2006 7:22 AM  
Jason,

What do you think should happen for URLs with multiple parameters, e.g.

http://www.ventrian.com/Support/ProductForums/tabid/118/view/topics/forumid/1/Default.aspx

I could have it like:-

http://www.ventrian.com/Support/ProductForums.aspx?view=topic&forumid=1

OR

http://www.ventrian.com/Support/ProductForums/Params/View/Topic/ForumID/1.aspx

Just need some way to identify the extra parameters separate from the tabPath.

Scott McCulloch
Site Administrator
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/15/2006 11:43 AM  
Posted By smcculloch on 5/14/2006 7:22 AM
Jason,

What do you think should happen for URLs with multiple parameters, e.g.

Support/ProductForums/tabid/118/view/topics/forumid/1/Default.aspx

I could have it like:-

Support/ProductForums.aspx?view=topic&forumid=1

OR

Support/ProductForums/Params/View/Topic/ForumID/1.aspx

Just need some way to identify the extra parameters separate from the tabPath.


I commented recently on some possible issues with this at: http://forums.asp.net/thread/970390.aspx which is perhaps you should have the ability to do both. For instance, I may have a page:

Support/ProductForums/Params/View/Topic/ForumID/1/default.aspx

and

Support/ProductForums/Params/View/Topic/ForumID/1/code/44/default.aspx

Both may display the same content but the code/44/ may be a parameter that is only used for tracking purposes or whatever and so a search engine may come to a page and see several links with the same content but different "codes" and track the duplicate content. My thought, where I encountered this on my website, was adding it to the query string may help the search engine realize not to count it twice. So I would do:

Support/ProductForums/Params/View/Topic/ForumID/1/default.aspx

Support/ProductForums/Params/View/Topic/ForumID/1/default.aspx?code=44

I don't think there should be a query string in the main case above you described. Also, I don't know if the forumID (1.aspx) as the last page is a good idea. As how would it handle the FriendUrl case where you write the title there like in your News Articles?

So I like Support/ProductForums/Params/View/Topic/ForumID/1/default.aspx which I think was original. And then a module developer could turn it into

Support/ProductForums/Params/View/Topic/ForumID/1/forum-name.aspx. It took me less than an hour to port my forums to support this you can see at:

http://www.yapclub.com/dfw/forums.aspx

So my vote is for

Support/ProductForums/Params/View/Topic/ForumID/1/forum-name.aspx with an option to have it support

Support/ProductForums/Params/View/Topic/ForumID/1/forum-name.aspx?code=344

Which I am guessing the appended query string  is something that could manually be done be a developer at the end of navigateURL() or friendlyUrl()

Jason

ps: is there a way you can update your text editor rules on this website so that hitting enter does not double space? On my site I fixed it so it only goes one line on carriage return instead of two.


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/15/2006 12:33 PM  
Posted By smcculloch on 5/14/2006 7:22 AM
Jason,

What do you think should happen for URLs with multiple parameters, e.g.

Support/ProductForums/tabid/118/view/topics/forumid/1/Default.aspx

I could have it like:-

Support/ProductForums.aspx?view=topic&forumid=1

OR

Support/ProductForums/Params/View/Topic/ForumID/1.aspx

Just need some way to identify the extra parameters separate from the tabPath.

Oh. I did not realize you were actually removing the tabid in this implementation. You know, perhaps you could have different options for users. For instance, I think the best case would be

Support/View/Topic/ForumID/1/ProductForums.aspx

but you said that would not be good for google analytics. So perhaps have an option to do it that way and also others. Here are my votes:

Option 1: Support/View/Topic/ForumID/1/ProductForums.aspx - best for search engine searches I think although you could not append the title to the end and not good with google analytics


Option 2: Support/ProductForums/Params/View/Topic/ForumID/1.aspx - can't append the title to the end here but works with google analytics

or

Option 3: Support/ProductForums/Params/View/Topic/ForumID/1/default.aspx - it support google analytics plus you can append the title to the end here so you could change it to also be...

Option 4: Support/ProductForums/Params/View/Topic/ForumID/1/sample-forum-post.aspx

But I think my favorite would be where you can specify the characters used to determine parameters if you can cache this so it does not affect performance. So then you could have....

Option 5:

Support/ProductForums/Params/View/Topic/ForumID/1/sample-forum-post.aspx or
Support/ProductForums/ps/View/Topic/ForumID/1/sample-forum-post.aspx or
Support/ProductForums/P/View/Topic/ForumID/1/default.aspx

Option 6:
If there was a character you cannot use in tabs or 99.999% sure nobody would use in tabs perhaps you could key on that to get the tabname so you could do:

Support/_ProductForums_/View/Topic/ForumID/1/sample-forum-post.aspx "_" identifier
Support/__ProductForums/View/Topic/ForumID/1/sample-forum-post.aspx "__" identifier
support/PRODUCTFORUMS/View/topic/forumID/1/sample-forum-post.aspx "CAPS identifier - make a rule where tabnames are capitalized and parameters must be lowercase.

But couldn't you just walk backwards down the URL string from the end and know whatever is between
"portalalias/" & "/" or ".aspx" is your tabname?

Jason

Jason

Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/15/2006 12:36 PM  

My vote is for option 5. I really like the idea of developers being able to append titles to the url string.

Jason


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/15/2006 12:42 PM  

Oh yea, if possible this would be my ideal (without PARAMS) if possible. I think this is as minimum as you could get if doable:

Support/ProductForums/View/Topic/ForumID/1/sample-forum-post.aspx

or, if you wanted to go for smallest url string possible you could have

Support/ProductForums/View/Topic/ForumID/1.aspx

Jason


Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Michael FlanakinUser is Offline
Registered Users
Nuke Active Member
Nuke Active Member
Posts:44

5/17/2006 9:54 AM  
Just to throw one more idea out on the table...

Support/ProductForums/View::Topic/ForumID::1.aspx
Support/ProductForums/View::Topic/ForumID::1/Default.aspx
Support/ProductForums/View::Topic/ForumID::1/sample-forum-post.aspx
[i]--- actually, I'd prefer "SampleForumPost.aspx", but whatever[/i]

The "::" would simply be some delimiter that would identify key-value parameters. I was thinking "-" or "_" at first, but those are probably a bit too common. You could use "=", but that might look odd. Here are a couple of other delimiter-based ideas...

Support/ProductForums/View=Topic/ForumID=1.aspx
Support/ProductForums/View.Topic/ForumID.1.aspx
Support/ProductForums/View..Topic/ForumID..1.aspx
Support/ProductForums/View--Topic/ForumID--1.aspx
Support/ProductForums/View>Topic/ForumID>1.aspx
Support/ProductForums/View~Topic/ForumID~1.aspx
Support/ProductForums/View][Topic/ForumID]Ώ.aspx
Support/ProductForums/View|Topic/ForumID|1.aspx
Support/ProductForums/View*Topic/ForumID*1.aspx
Support/ProductForums/View(Topic)/ForumID(1).aspx
Support/ProductForums/View[Topic]/ForumIDΏ].aspx
Support/ProductForums/View{Topic}/ForumID{1}.aspx

Just to clarify, I'm not sure if the some characters (:, *, <, >, |) would work as delimiters because Windows, for instance, doesn't allow them in file names. I haven't tried to see if they'd be accepted in URLs, tho.
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/17/2006 9:29 PM  
I'm not sure if :: are legal characters, I think that's why most people use _ or -

The thing I need to know when looking at a URL is:-

* What is the TabPath to identify the page
* What are the Parameters?

It's hard to pickup from:-

Support/ProductForums/View::Topic/ForumID::1/sample-forum-post.aspx

What the tabPath is, as it's Support/ProductForums/, that's why I need the parameter delimiter like, Support/ProductForums/Params/View/Topic/Default.aspx

Scott McCulloch
Site Administrator
Michael FlanakinUser is Offline
Registered Users
Nuke Active Member
Nuke Active Member
Posts:44

5/19/2006 6:48 AM  
My thought was that you'd use the delimiter to identify params. For instance with the following URL, you would get everything up to the first param with a "--", since that's the delimiter. From there on, you should be able to assume everything else is a parameter.

Support/ProductForums/View--Topic/ForumID--1.aspx

You should even be able to come up with regex to split that string up into multiple parts, if you'd rather that instead of recursively parsing the string.
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/19/2006 6:53 AM  
That could work, the problem being if a page name ever contained a -- (or a parameter), but this is an unlikely scenario.

I still like this scenario best though:-

Option 5

Support/ProductForums/Params/View/Topic/ForumID/1/sample-forum-post.aspx or
Support/ProductForums/ps/View/Topic/ForumID/1/sample-forum-post.aspx or
Support/ProductForums/P/View/Topic/ForumID/1/default.aspx

Scott McCulloch
Site Administrator
Michael FlanakinUser is Offline
Registered Users
Nuke Active Member
Nuke Active Member
Posts:44

5/19/2006 8:02 AM  
I understand what you're saying, but I just hate having the "Params" (or other identifier) in there. I feel like it takes away from the whole concept. Honestly, I wish we could get rid of all of the parameters. Personally, I would like to see a way to come up with something like this...

Support/ProductForums/General/Topic/sample-forum-post.aspx

...where ForumID=1 -> General and View=Topic -> Topic. The only way to do this would be for modules to change how they work, tho. Perhaps an interface might support such a process, but a lot of thought would have to be put into that.

The problem is that most of the time, rewriting is specific to a subsystem (modules, in our case). For instance, a blog module might support the following...

Blogs/MichaelFlanakin/2006/05/19.aspx
Blogs/MichaelFlanakin/2006/05.aspx
Blogs/MichaelFlanakin/2006.aspx
Blogs/MichaelFlanakin.aspx

The subsystem must know that it needs to look up "MichaelFlanakin" to get the blog ID and then parse the date from the other values. A lot of rewriters have regex to handle these individual scenarios. There has to be a way we can support this process, too. I can see how 1 module on a page could do this, but when there are two modules, both attempting to incorporate their querystring values, that's when I see a problem. Perhaps something like this...

Blogs/MyBlogModule/MichaelFlanakin/2006/05/19/MyNewsModule/Release2.0Available/Default.aspx

This would recognize "MyBlogModule" and "MyNewsModule" as the names of specific modules and pass their respective blocks of text to them. So, the blog module would receive "MichaelFlanakin/2006/05/19" and the news module would receive "Release2.0Available". Then, there'd need to be a way to pass these to the module, which would know how to handle the variations.

Anyway, this would require a major change and would obviously have to be an enhanced way to do it with support for legacy methods. Pretty much out of the scope for this discussion :-P I'd love to see something like this, but I guess it'll have to wait.
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/19/2006 7:50 PM  
I agree, having rules for specific modules is the ultimate, but very difficult to achieve from a generic provider.

The modules also need to support things like not allowing the forum name to be the same, as in the following example:-

Support/ProductForums/General/Topic/sample-forum-post.aspx

...where ForumID=1 -> General and View=Topic -> Topic


"General" couldn't appear twice, as it always lookup the first ID.

What about:-

Support/ProductForums/-/View/Topic/ForumID/1/default.aspx

Scott McCulloch
Site Administrator
Jason KoskimakiUser is Offline
Registered Users
Nuke Wiz
Nuke Wiz
Posts:194

5/25/2006 1:15 PM  
I like the option of in the provider specifying a "parseType" as either "delimiter" or "parameter" and a "parseValue".

Examples....
parseType = "delimiter" and parseValue = "__"
Support/__ProductForums/View/Topic/ForumID/1/default.aspx

parseType = "delimiter" and parseValue = "-"
Support/-ProductForums/View/Topic/ForumID/1/default.aspx

parseType = "delimiter" and parseValue = "a" (invalid value for a delimiter)
Support/ProductForums/param/View/Topic/ForumID/1/default.aspx

parseType = "parameter" and parseValue = "-"
Support/ProductForums/-/View/Topic/ForumID/1/default.aspx

parseType = "parameter" and parseValue = "PM"
Support/ProductForums/PM/View/Topic/ForumID/1/default.aspx

parseType = "parameter" and parseValue = "/" (invalid value for a delimiter)
Support/ProductForums/param/View/Topic/ForumID/1/default.aspx

Whatever is decided though I would think it important to be consistent. So if you have a site with links based on one rule and then awhile later you change it, all people who posted links somewhere based on the old rule those links would no longer be valid.

Jason

Social Networking Site for Young Professionals - My DNN Site w/ lots of Ventrian Modules
Scott McCullochUser is Offline
Administrators
Nuke Master
Nuke Master
Posts:11517


5/25/2006 7:52 PM  
In what scenario would you want to use a delimiter type or just it just personal preference on structure?

Scott McCulloch
Site Administrator
Michael FlanakinUser is Offline
Registered Users
Nuke Active Member
Nuke Active Member
Posts:44

5/26/2006 8:24 AM  
I don't see how the delimiter vs. parameter would make a difference here. If this was the case, I would just say to do it as a parameter. I honestly don't see a big enough difference to matter to people. Do you have a scenario where one would be preferred over another? Just wondering.

I do like your idea of specifying the value, tho. I kind of assumed this would be a setting for the provider (in the web.config).
You are not authorized to post a reply.
Page 1 of 212 > >>

Forums > Projects > Friendly Urls > ENH: remove portal alias redirect



ActiveForums 3.7