Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Luyang TanLuyang Tan(Deactivated)Reporter
Deb TroxelDeb TroxelLabels
Branch Version/s
6.1.xBackported to Branch
CommittedFix Priority
3Git Pull Request
Components
Fix versions
Affects versions
Priority
Medium
Details
Details
Assignee
Luyang Tan
Luyang Tan(Deactivated)Reporter
Deb Troxel
Deb TroxelLabels
Branch Version/s
6.1.x
Backported to Branch
Committed
Fix Priority
3
Git Pull Request
Components
Fix versions
Affects versions
Priority
Zendesk Support
Zendesk Support
Zendesk Support
Created February 14, 2011 at 9:37 AM
Updated June 24, 2023 at 9:51 AM
Resolved March 12, 2012 at 2:35 PM
In WikiPageLocalServiceImpl.java, the updatePage() method checks for concurrent edits by testing the WikiPage version. PageVersionException is thrown if the currently saved version number is greater than the version being edited.
This logic will fail to detect concurrent edits if multiple drafts are saved since each draft retains the same version number.
Possible solutions would be to check the modified date instead of the version number, or add an additional revision field to the WikiPage table. Since version is stored as a double, it is not possible to store sub-revisions within the version number (e.g. 1.2.5).
To reproduce:
1. Go to a Wiki page and click "Edit"
2. Make some changes and click Save as Draft.
3. Leave the editor open in this window and start a new session in a different browser. Go to the same Wiki page and click "Edit".
4. The draft content saved in the first browser is loaded. Make some more edits and save as draft.
5. Going back to the first window which is still open in the editor, make some more changes and save.
6. The edits that were made in the second browser have now been lost.