Jason Koskimaki Registered Users
 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 k Gold Membership
 Nuke Wiz Posts:178

 |
|
Scott McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Koskimaki Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Koskimaki Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Koskimaki Registered Users
 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 Koskimaki Registered Users
 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 Koskimaki Registered Users
 Nuke Wiz Posts:194

 |
|
Jason Koskimaki Registered Users
 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 Flanakin Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Flanakin Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Flanakin Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Koskimaki Registered Users
 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 McCulloch Administrators
 Nuke Master Posts:12598


 |
| 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 Flanakin Registered Users
 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). |
|
|
|
|