View Issue Details

IDProjectCategoryView StatusLast Update
0006295OXID eShop (all versions)4.08. Cachepublic2017-06-29 11:21
Reporterd3 
PrioritynormalSeveritymajorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version4.9.6 / 5.2.6 
Target VersionFixed in Version 
Summary0006295: EE: missing cache invalidation in some ajax assignment popups
Descriptionexamples:
- manufacturer_main_ajax
- vendor_main_ajax

If you change the vendor or manufacturer assignment via the responsible ajax popup, the articles database item will changed.
As a result of missing cache invalidations, there are navigation errors in article lists (in manufacturerlist oder vendorlist controller).

(A reassignment in article_main executes the oxarticle::save() method, which invalidate the cache correctly.)
Steps To Reproduce- set up the default cache backend (I tested with file system as connector)
- go to shop frontend: "http://.../By-Manufacturer/Cabrinha/ [^]
- go to first articles detail page and navigate via "next product" link through the complete list (to warm up the cache)

- go to admin panel: "Master Settings" -> "Manufacturers"
- select "Core Kiteboarding" item
- open the "assign product" popup
- and move all articles (or especially all "cabrinha" ones) to the right side

- go to shop frontend: "http://.../By-Manufacturer/Core-Kiteboarding/ [^] and try to navigate through the list again
TagsEE
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
MySQL VersionNot defined

Activities

QA

2015-12-23 11:10

administrator   ~0011389

Reminder sent to: d3

Thank you for submitting the issue. I tested it, but on my the system it is the other way round: if I use the ajax popups the cache is invalidated and an assignment in article main tab doesn't invalidate the cache.

Please add the steps to reproduce. You are talking about varnish, right? With the dynamic content caching there I can't find any invalidation problems on that issue.

d3

2015-12-23 14:59

reporter   ~0011390

:) Maybe a second bug.

No, I don't use Varnish. I use the EE default backend cache (see screenshot for settings).

Steps:
- set up the cache like the screenshot
- go to shop frontend: "http://.../By-Manufacturer/Cabrinha/
- go to first articles detail page and navigate via "next product" link through the complete list (to warm up the cache)

- go to admin panel: "Master Settings" -> "Manufacturers"
- select "Core Kiteboarding" item
- open the "assign product" popup
- and move all articles (or especially all "cabrinha" ones) to the right side

- go to shop frontend: "http://.../By-Manufacturer/Core-Kiteboarding/ and try to navigate through the list again

All former "Cabrinha" articles have the old "Cabrinha" seo url instead of the new "Core Kiteboarding" url. If you go to these articles detail page, you got an empty navigation ("Product 0 of 0" without further links).

A possible solution is to set the new manufacturer id in an oxarticle object and save this via the save method in manufacturer_main_ajax::addManufacturer() and ...::removeManufacturer(). The same issue is in vendor_main_ajax class too.

QA

2015-12-23 15:27

administrator   ~0011391

Thank you magically finding an issue in varnish without using it. :)

I can reproduce your issue now, thank you.