-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When location gets unhidden by publish-by-date-workflow cache isn't purged #7
Comments
Hello. Sorry, but I am a bit swamped with work at the moment. Thinking about quick-and-dirty workarounds: if you use the migration-bundle version 4.5.0, it is easy to make a call to a SF service as part of a migration/workflow step. Maybe it would be easy to add as extra step just after the "unhide" one a call to "clear cache for this content" ? |
Hello Gaetano, thanks for your feedback. I tried to set up a further workflow step for clearing cache. As I am not sure how to pass the current location Id as argument I decided to test the purgeAll method first. The configuration of this step looks like:
As I put some debug logging in purgeAll method of the LocalPurgeClient I am sure the method is triggered. Unfortunatly the content is still labeled as "hidden" in backend and is not visible in frontend. |
Back after some testing:
I see 2 things so far: |
ps: executed the same test, still in 'dev' mode. At step 7, instead of reloading the whole page, I just navigated away from the article view and back to it => again I saw the article as visible... |
pps: figured out I had to clear the Sf config cache for the workflow to effectively kick in for 'prod' env. Tested again, using 'prod', and what I get now, editing using 'prod' env, at step 5 is:
Note that all this testing was done in an env. where there is no Varnish enabled. My take: it seems that the workflow engine works as intended, but the way it interacts with the Admin Interface is less than ideal, because apparently of the caching layers. Note2: i generally use a 'patched' http-cache-cleaner service that logs any purge calls sent to Varnish. This helps a lot when having to troubleshoot cache expiration problems. Note3: also remember to run your cronjobs using the same Sf env as your web interfaces. Having the web interface running as 'prod' with Varnish on and executing cli commands as 'dev' is a mistake I sometimes do with the result that the http cache does not get cleared... |
First of all: Thank you for your research! We did some more debugging. env=prod
env=dev
We use the workflow yml as found in Resources/doc/Examples/, we only changed the content type Cache headers of the parent node: We tested this with diferrent controller, querytypes and criteria in the frontend. We also tried different content types. We always run into this in env=prod. We debugged our folder-controller an the menu-controller and recognized some different or strange behaviour: |
Hello I imagine that you already tested this extensively, but: am I correct in understanding that, for the prod env, after the workflow has finished, you refreshing in the browser the view of the parent node (to see if the node subject to the workflow does pop up)? If so, did you try the following:
This would rule out the case where the effect that you are seeing comes actually from a browser or reverse proxy cache (for the record: I generally always deploy using Varnish in front of eZ, and to avoid this kind of situations set up Varnish to cache the responses from eZ but always strip out any caching headers from the responses that it forwards to end users) |
PS: I will try to reproduce his by setting up 'parent-folder' and 'menu' controllers that both display 'article' contents. Which exact version of eZ are you running ? |
Yes, the view of the parent node is refreshed in the browser. The view of the parent node is definitely not affected by any browser or reverse proxy cache, as the content of the dropdown menu changes (the content which is published by the workflow appears as sub menu item). We are running eZ kernel v6.13.1.2. |
ezworkflowenginebundle is installed under ezp6.
A workflow is configured for publishing content by publish date.
When content is published with publish date in future the content gets visibility "hidden". When publish date is reached and workflow is resumed the visibility of the content is set to "visible" in database (ezcontentobject_tree table). In the backend the content is still labeled as "hidden". Moreover the content isn't visible in frontend until cache is purged manually.
The text was updated successfully, but these errors were encountered: