We're currently working on a website using DXA 2 CTP2 (.NET version), with the Model Service.

Everything is working great, except when we edit a Component through XPM, we keep getting "The preview of this Page is not up to date" error/warning.

Clicking the "update preview" button doesn't fix this, the warning keeps popping up.

When looking in the session preview database, we can clearly see the correct Page content is being published to this session preview database whenever we click the "update preview" button. We also disabled any caching we could find, and we can't see any warnings or error messages in our log files.

I do recall that the new model service is using a combination of Page content and DCPs that get published through a custom resolver.

Could it be that this is the cause of our problems, or should I look at something else?

UPDATE

I disabled microservice cache as suggested, but still no luck.

I also don't think the issue is the microservice, but something else. I changed the templates to use the legacy dxa publishing, so we no longer need to rely on the DXA model microservice, but the problem persists.

I'm continuing to look into this, will update this question when I find more information.

  • Can you check if Model Service caching is indeed disabled? Check application.yml: spring.cache.type=none means cache is disabled. Check also cd_client_conf.xml, disable cache there. As the last you can try to set 1 second for default template in ehcache-cil.xml which is used by both CIL in MS and MS itself. You need to restart MS to apply the changes. – Alexey Jan 17 at 9:28
  • @Alexey you were correct. I did disable the cache in the application.yml, but that didn't solve it. Only after disabling the cache in the cd_client_conf.xml, things started to work. Can you change your comment to an answer, so I can accept it as the correct answer. – Harald Hoffelinck Jan 17 at 10:24

After some debugging, and with Alexey's comment, I managed to solve this. The key is to disable the cache of the DXA Model Service in the cd_client_conf.xml like this

CacheEnabled="false"

<?xml version="1.0" encoding="UTF-8"?>
<ServiceConfig CacheEnabled="false" ConnectionTimeout="10000"
               CacheUri="ehcache-cil.xml"
               CacheExpirationDuration="600" ServiceAvailabilityCheck="true"
               CacheProviderClass="com.sdl.web.client.cache.GeneralCacheProvider" CacheConnectionTimeout="10000">
    <DiscoveryService ServiceUri="${discoveryurl:-http://localhost:9082/discovery.svc}"/>

    <TokenService ClientId="cduser" ClientSecret="encrypted:o/cgCBwmULeOyUZghFaKJA=="/>
</ServiceConfig>

and also to disable the cache in application.yml like this

cache: type: none

spring:
  output:
    ansi:
      enabled: detect
  cache:
    type: none
logging:
  config: config/logback.xml

---

server:
  tomcat:
    additional-tld-skip-patterns: xercesImpl.jar, xml-apis.jar, serializer.jar

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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