intershopisml

Live reloading of ISML templates


In the Intershop 7.9 project I'm currently working on the development server doesn't seem to monitor the ISML files for changes. This means a cartridge rebuild is necessary before seeing any ISML changes. In previous projects I've worked on (ISH 7.5, 7.6, 7.7) this was never necessary, just saving the ISML file was enough.

It feels like I'm missing something really simple, but I can't seem to figure it out. So far I've tried the following without success:

  1. Made sure page caching is disabled.
  2. Redeploying the server by running the command: gradlew deployServer
  3. Enable hot code reloading by running the command: gradlew enableHotCodeReloading.
  4. Checked the gradle.properties file located in GRADLE_USER_HOME, all cartridges I expected to see are listed as sourceCartridges.
  5. Checked the environment.properties file, as far as I can see this file contains no properties that would do anything for live code reloading.
  6. Reinstalled Intershop Studio.

Any suggestions on how to fix this would be greatly appreciated.


Solution

  • As far as I remember there were some relevant properties in appserver.properties. I've googled these by chance:

    # perform a lookup and compile the ISML template, when it exists 
    # and is newer than the cached version
    intershop.template.CheckSource=false
    
    # the time interval in seconds, after which a full lookup should be performed,
    # if CheckSource is "true". 0 means every time
    intershop.template.CheckSourceInterval=0
    
    # should the last cached template location been checked for a newer version of the
    # template, if CheckSource is "true"?
    intershop.template.CheckSourceModified=false
    

    Now try with these values:

    intershop.template.CheckSource=true
    intershop.template.CheckSourceInterval=0
    intershop.template.CheckSourceModified=true
    

    I think that if you do not want to loose your changes on server redeploy then you may put the snippet above into a file named development.properties located in the same directory as appreserver.properties.