Opened 17 years ago
Last modified 14 months ago
#7276 new defect
wiki page versions start with 1, but Initial Version links to 0
Reported by: | Eli Carter | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | next-stable-1.6.x |
Component: | general | Version: | 0.11-stable |
Severity: | normal | Keywords: | diff |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
In the heading of
http://trac.edgewall.org/wiki/EliCarter?action=diff&version=1
, the words "Initial Version" link to
http://trac.edgewall.org/wiki/EliCarter?version=0 which gives a Trac error
saying No version "0" for Wiki page "EliCarter"
.
This also occurs for newly created pages.
Attachments (0)
Change History (13)
follow-up: 2 comment:1 by , 17 years ago
Keywords: | diff added |
---|
follow-up: 5 comment:2 by , 17 years ago
Replying to cboos:
Well, the "Initial Version" is actually the universal "null" version, i.e. no content at all. Of course there should be no link in that case. This has to be handled in a more sensible way, and then we can support #4887 as well.
Hmm. That's inconsistent with how tickets are versioned. For instance, http://trac.edgewall.org/ticket/4895?action=diff&version=1 has a 'Initial Version' link to http://trac.edgewall.org/ticket/4895?version=0 and that link does not yield an error. That said, I think a version of 0 indicating "before existence" and a version of 1 indicating the initial version would be unsurprising for our users.
If we want version=0 to be "does not exist", then I think we need to make the ticket version numbers work the same way. But I don't think that people will expect the "initial version" of something to be "before it was created".
comment:3 by , 16 years ago
Milestone: | 0.11.1 → 0.11.2 |
---|
comment:5 by , 13 years ago
Replying to ecarter:
Hmm. That's inconsistent with how tickets are versioned. For instance, http://trac.edgewall.org/ticket/4895?action=diff&version=1 has a 'Initial Version' link to http://trac.edgewall.org/ticket/4895?version=0 and that link does not yield an error. That said, I think a version of 0 indicating "before existence" and a version of 1 indicating the initial version would be unsurprising for our users.
I agree. For Wiki pages the initial version should be that when the page was first created.
follow-up: 7 comment:6 by , 13 years ago
Replying to ecarter:
In the heading of http://trac.edgewall.org/wiki/EliCarter?action=diff&version=1 , the words "Initial Version" link to http://trac.edgewall.org/wiki/EliCarter?version=0 which gives a Trac error saying
No version "0" for Wiki page "EliCarter"
.This also occurs for newly created pages.
On t.e.o the link to "initial" was replaced by "v1".
Now, when entering the URL http://trac.edgewall.org/wiki/EliCarter?version=0, Trac lets you create the same page twice, as I does not realize that it already exists.
This might be related to the issue discussed in comment:2
comment:7 by , 10 years ago
Replying to Carsten Klein <carsten.klein@…>:
Now, when entering the URL http://trac.edgewall.org/wiki/EliCarter?version=0, Trac lets you create the same page twice, as I does not realize that it already exists.
It's not really that the page will be created twice, you'll just get to edit the page and will be able to save a new version. The only problem is a possible confusion if you really think you're about to create a page. That certainly won't be the case if you come from such a diff page and you follow the link to ?version=0
.
But the same thing could happen in the case of concurrent page creation:
- User A follows a SomePage? link, lands on the page creation form
- User B does the same
- User A press "Create this page", goes to the editor
Now at this point we have 2 scenarios depending on what happens next:
- User B press "Create this page", goes to the editor
- User A saves → version 1
- User B saves → conflict detection triggers, all is fine as B is asked to merge or restart; similar situation with the sequence b., a.
- Use A saves → version 1
- User B now press "Create this page" (no page template selected), goes to the editor
- now B sees the content for version 1 and the version info box hints about "Change information for future version 2"; B will possibly be a little surprised but will quickly realize that someone else has created the page just before him
- alternatively, User B press "Create this page" with a page template selected,
goes to the editor
- here B sees the content of the page template and the only hint that he's about to replace all the content written by A in version 1 is the "Change information for future version 2" hint, clearly easily missed. (this was the scenario I came across in ticket:8734#comment:6)
- User B now press "Create this page" (no page template selected), goes to the editor
Of course, starting with ?version=0 is wrong in the first place, we shouldn't create links like that.
I propose that we change the phrasing when displaying the diff for the first version, from "Changes between Initial Version and Version 1 of EliCarter" to just "Changes for Version 1 of EliCarter", so we don't generate this ?version=0
anymore.
Also, for clearing the confusion that could happen in scenario 2. presented above, we should have a warning in the editor when we're coming from the page creation dialog and we end up not editing version 1 (something like "Someone already created that page before you and you're now editing version N").
comment:9 by , 10 years ago
Milestone: | next-minor-0.12.x → next-stable-1.0.x |
---|
comment:10 by , 10 years ago
Owner: | removed |
---|
comment:11 by , 8 years ago
Milestone: | next-stable-1.0.x → next-stable-1.2.x |
---|
Moved ticket assigned to next-stable-1.0.x since maintenance of 1.0.x is coming to a close. Please move the ticket back if it's critical to fix on 1.0.x.
comment:12 by , 5 years ago
Milestone: | next-stable-1.2.x → next-stable-1.4.x |
---|
Well, the "Initial Version" is actually the universal "null" version, i.e. no content at all. Of course there should be no link in that case. This has to be handled in a more sensible way, and then we can support #4887 as well.