6

We have discovered that in DXA after updating various configuration components and republishing, the app pool must be recycled for the newly published settings to take place. From a technical perspective recycling the app pool makes sense, but from a functional perspective if IT still has to be involved to release the changes, it negates the purpose of all this functionality (avoid the hassle and just keep it all in the codebase of the web app).

We have tried updating the version of field in the HTML Design Configuration Component, but it still seems to require the app pool recycle.

So I am wondering, is there is some setting we missed that allows the web app to show the changes upon republish of the settings?

7

DXA agressively caches configuration settings in-memory for performance reasons, but the AdminController (/admin/refresh URL) can be used to flush the cache without having to recycle the AppPool.

3

Just a thought: As Rick has mentioned to use the /admin/refresh, you may choose to automate this in the deployer extension to call this Controller Action in the POST-Publish phase, so that just after the publish is successful, no other action is visibly required.

  • I'm not sure I would like a user action (to publish something) to make my web application flush its cache. Yes, it is a good idea to solve this challenge, but how often, realistically, will you change your layout in a live site? – Nuno Linhares Aug 31 '16 at 9:47
3

Additionally to Rick's answer, the version field for the HTML Design is only there the tackle client side, browser caching, by changing the URL with a new version in there. But before that you need to let the application know it needs to check for an updated configuration.

Ideally we would have a cache controller which is invalidated by new Deployment actions, but currently there officially is no way to connect to the Broker cache invalidation from your application (other than using JMS and interpreting the invalidation messages, but they are not considered public API, so we choose not to do this). As soon as the Broker cache becomes a public API, we will include a smarter way for this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.