View Issue Details

IDProjectCategoryView StatusLast Update
0006127OXID eShop (all versions)2. ----- eShop backend (admin) -----public2022-02-01 14:31
Reportervschmi Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status confirmedResolutionopen 
Summary0006127: Concurrent users are overwriting values of each other
DescriptionWhen multiple users are using the admin area, they overwrite each other's values. OXID does not warn the user if the area in question (e.g. Product, Category etc) is opened by another user.
Steps To ReproduceExample for editing articles:

1. Open the admin area in two browser windows
2. Open the same article in both admin windows
3. Change the title to "FOO" in one admin window, click save
4. Change the Short Description to "BAR" in the other admin window, click save

Expected result:
- The article has the title "FOO" and short description "BAR"

Actual result:
- The article has whatever title it had when the second admin window was opened, plus the short description "BAR"
Additional InformationThere are several ways to solve that issue:

1. Show a "object is in use" Message whenever an article/category/etc object is opened in the browser
2. Only assign values to the objects which are actually changed in the browser
3. Output an error or warning whenever the fields have changed while editing the obect
TagsNo tags attached.
ThemeAll
BrowserAll
PHP Versionany
Database Versionany

Activities

vschmi

2015-04-20 18:45

reporter   ~0010887

Here's a detailed article about the issue:

http://jim-mcbeath.blogspot.de/2009/02/concurrent-editing-without-locking.html

vschmi

2015-04-20 18:49

reporter   ~0010888

Another note: From my experience as developer, you really should get rid of ADODB soon. For example, Doctrine2 already supports optimistic locking: http://doctrine-orm.readthedocs.org/en/latest/reference/transactions-and-concurrency.html#optimistic-locking

Yes, I know that refactoring the whole shop takes quite some effort and I'm afraid there's no short-term solution for that issue.

florian.auer

2015-04-21 08:19

reporter   ~0010889

This is a feature request

Sven Brunk

2022-02-01 14:31

administrator   ~0013662

This might be an issue in very big companies. We would need some kind of locking mechanism to counter this though. Not a trivial thing to do.