Mark Clements wrote:
"Lars Aronsson" lars@aronsson.se wrote in
You don't even need to change the URL. It should be enough to detect when the edit form is invoked with an non-existing page.
...and then what? Bear in mind that the software can't currently tell the difference between clicking a red link, vistiting a non-existant page and clicking 'edit' and typing an "?action=edit" URL into the address bar.
Yes, there are many cases, let's limit ourselves to the four you mention:
1. User goes to an existing article and clicks "edit" 2. User goes to a non-existing article and clicks "edit" 3. User enters ?action=edit in the browser's location field 4. User clicks a red link
All four brings up the edit form. In cases 1-3 the user knows this should happen, and isn't surprised by it. The only case that can cause surprise is 4, if the user doesn't know that red links indicate non-existing articles.
The problem we're dealing with here and now is when a user on a blocked network (a school or a library or AOL) clicks a red link (case 4) not knowing that this should bring up an edit form, and thus becomes very surprised at the message that he is blocked. This is the kind of surprise we want to eliminate. It represents one very specialized case in a matrix of possible cases.
One way to deal with this problem is to have a unique part of the red link URL, e.g. &linkcolor=red or &linktype=newarticle, and if this CGI parameter is present and the user or network is blocked, the edit form message should provide an extra explanation of how red links and blocking works. This solves the problem, and this is fine. The cost is that red link URLs need to be changed.
The alternative way that I proposed is to have the edit form recognize the case that the article was non-existing. This of course invades on cases 2 and 3. So my solution might provide an extra explanation about how blocking works in cases 2 & 3, because it doesn't provide any way to distinguish cases 2, 3 from 4. But providing this explanation a little too often is no real loss. The real benefit of my scheme is that it doesn't require any change of URLs.