Edgewall Software
Modify

Opened 16 years ago

Closed 15 years ago

#8217 closed defect (wontfix)

wiki page locking does not prevent multiple users overwriting a page

Reported by: mslinn@… Owned by:
Priority: normal Milestone:
Component: wiki system Version: 0.11.2
Severity: major Keywords: needinfo
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

If there is a page locking feature, it is not working.

Trac:  	0.11.2
Python: 	2.5.2 (r252:60911, Feb 14 2009, 08:20:12) [GCC 4.1.2 (Gentoo 4.1.2 p1.3)]
setuptools: 	0.6c8
SQLite: 	3.6.11
pysqlite: 	2.4.1
Genshi: 	0.5.1
Pygments: 	1.0
Subversion: 	1.6.1 (r37116)
jQuery:	1.2.6


Section  	Name  	Value
attachment 	max_size 	262144
render_unsafe_content 	false
browser 	color_scale 	True
downloadable_paths 	/trunk, /branches/*, /tags/*
hide_properties 	svk:merge
intermediate_color 	
intermediate_point 	
newest_color 	(255, 136, 136)
oldest_color 	(136, 136, 255)
oneliner_properties 	trac:summary
render_unsafe_content 	false
wiki_properties 	trac:description
changeset 	max_diff_bytes 	10000000
max_diff_files 	0
wiki_format_messages 	true
components 	note.* 	enabled
header_logo 	alt 	
height 	31
link 	
src 	htdocs/images/asdf.png
width 	144
inherit 	plugins_dir 	
templates_dir 	
logging 	log_file 	trac.log
log_level 	WARNING
log_type 	file
milestone 	stats_provider 	DefaultTicketGroupStatsProvider
mimeviewer 	enscript_modes 	text/x-dylan:dylan:4
enscript_path 	enscript
max_preview_size 	262144
mime_map 	text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb
php_path 	php
pygments_default_style 	trac
pygments_modes 	
tab_width 	8
notification 	admit_domains 	
always_notify_owner 	true
always_notify_reporter 	true
always_notify_updater 	true
ignore_domains 	
mime_encoding 	base64
smtp_always_bcc 	
smtp_always_cc 	
smtp_default_domain 	domain.com
smtp_enabled 	true
smtp_from 	user@domain.com
smtp_from_name 	user@domain.com
smtp_password 	secret
smtp_port 	587
smtp_replyto 	user@domain.com
smtp_server 	smtp.email.com
smtp_subject_prefix 	__default__
smtp_user 	user@domain.com
ticket_subject_template 	$prefix #$ticket.id: $summary
use_public_cc 	true
use_short_addr 	false
use_tls 	false
project 	admin 	
descr 	blah blah
footer 	Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
icon 	common/trac.ico
name 	blah
url 	
query 	default_anonymous_query 	status!=closed&cc~=$USER
default_query 	status!=closed&owner=$USER
items_per_page 	100
report 	items_per_page 	100
items_per_page_rss 	0
revisionlog 	default_log_limit 	100
roadmap 	stats_provider 	DefaultTicketGroupStatsProvider
search 	min_query_length 	3
svn 	branches 	trunk,branches/*
tags 	tags/*
ticket 	default_cc 	
default_component 	
default_description 	
default_keywords 	
default_milestone 	
default_owner 	
default_priority 	major
default_resolution 	fixed
default_severity 	
default_summary 	
default_type 	defect
default_version 	
max_comment_size 	262144
max_description_size 	262144
preserve_newlines 	default
restrict_owner 	false
workflow 	ConfigurableTicketWorkflow
ticket-workflow 	accept 	new,assigned,accepted,reopened -> accepted
accept.operations 	set_owner_to_self
accept.permissions 	TICKET_MODIFY
leave 	* -> *
leave.default 	1
leave.operations 	leave_status
reassign 	new,assigned,accepted,reopened -> assigned
reassign.operations 	set_owner
reassign.permissions 	TICKET_MODIFY
reopen 	closed -> reopened
reopen.operations 	del_resolution
reopen.permissions 	TICKET_CREATE
resolve 	new,assigned,accepted,reopened -> closed
resolve.operations 	set_resolution
resolve.permissions 	TICKET_MODIFY
timeline 	abbreviated_messages 	True
changeset_collapse_events 	false
changeset_long_messages 	false
changeset_show_files 	0
default_daysback 	30
max_daysback 	90
newticket_formatter 	oneliner
ticket_show_details 	false
trac 	authz_file 	
authz_module_name 	
auto_reload 	False
base_url 	
check_auth_ip 	false
database 	sqlite:db/trac.db
default_charset 	iso-8859-15
htdocs_location 	
ignore_auth_case 	false
mainnav 	wiki,timeline,roadmap,browser,tickets,newticket,search
metanav 	login,logout,prefs,help,about
permission_policies 	DefaultPermissionPolicy, LegacyAttachmentPolicy
permission_store 	DefaultPermissionStore
repository_dir 	/blah/svn/blah
repository_type 	svn
secure_cookies 	False
show_email_addresses 	false
timeout 	20
use_base_url_for_redirect 	true
wiki 	ignore_missing_pages 	false
max_size 	26214400
render_unsafe_content 	true

Attachments (0)

Change History (7)

comment:1 by Christian Boos, 16 years ago

Keywords: needinfo added
Version: none0.11.2

There's no page locking, we instead detect conflicts and give the user a possibility to merge the changes (manually, but that's still better than nothing).

Could you describe more precisely what happened (in a way that we could reproduce the issue), so that we could verify everything is working as expected?

comment:2 by Christian Boos, 16 years ago

(see #152 for background)

comment:3 by mslinn@…, 16 years ago

  1. User 1 edits a page
  2. User 2 edits the same page
  3. User 1 saves the page and continues editing
  4. User 2 saves the page, wiping out User 1's work

comment:4 by Christian Boos, 16 years ago

Sorry, but it doesn't work like that with Trac 0.11. You're describing the 0.10 behavior.

With Trac 0.11, at step 4. Trac would warn that there's a conflict:

Sorry, this page has been modified by somebody else since you started editing. Your changes cannot be saved.

and then leave you with two choices:

  • cancel (you'll have to restart your edits)
  • merge (you will be able to review the changes and merge both versions)

If you choose merge, you'll see the following prominent warning:

Someone else has modified that page since you started your edits.

If you save right away, you risk to revert those changes (highlighted below as deletions).

Please review all those changes and manually merge them with your own changes. If you're unsure about what you're doing, please press Cancel (losing your changes) and start editing the latest version of the page again.

and then a diff showing the other changes and the textarea, containing your changes.

Of course, if at that point you save without integrating the changes, you'll lose the other edits, but you can't say you haven't been warned.

comment:5 by mslinn@…, 16 years ago

I am running Trac 0.11.2 and no merge option is offered nor is there any notice of a conflict.

comment:6 by Christian Boos, 16 years ago

Well, I previously tested on 0.11-stable and now did a checkout of tags/trac-0.11.2, and it behaves as expected (i.e. as described in comment:4).

Maybe you have installed a plugin which is interfering with the normal behavior?

I remember that an (old) version of the TH:TagsPlugin did a take-over of the whole wiki module and as such lots of expected features were missing. Maybe another plugin had that same (bad) idea? I see that you're using at least one globally installed plugin (note.* in your trac.ini file), which one is it? Maybe you have also installed other plugins for that environment only.

Can you try with all plugins disabled? If the feature then works, can you identify which plugin is causing the problem?

comment:7 by Christian Boos, 15 years ago

Resolution: wontfix
Status: newclosed

Couldn't reproduce and no info given.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.