Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-4287

resource caching broken when hiding zk version

XMLWordPrintable

    • ZK 8.6.2 S1
    • None

      Steps to Reproduce

      hide the version information:

          <library-property>
              <name>org.zkoss.zk.ui.versionInfo.enabled</name>
              <value>false</value>
          </library-property>
      

      load any zul page containing dynamically loaded widget packages.
      e.g.:

      <zk>
        <textbox/>
      </zk>
      

      observe the URL loading the JS package zul.inp.wpd

      Current Result

      independent of the used ZK version this URL remains the same, effectively disabling the cache breaking mechanism for js packages:

      http://localhost:8080/zksupport85/zkau/web/js/zul.inp.wpd

      Expected Result

      a cache breaking part of the URL (obfuscating the actual version/built time)
      http://localhost:8080/zksupport85/zkau/web/_zv2018082816/js/zul.inp.wpd

      Debug Info

      Root Cause

      the version info is empty:
      https://github.com/zkoss/zk/blob/v8.6.1/zk/src/org/zkoss/zk/ui/http/WpdExtendlet.java#L646

      Workaround

      specify cache breaking <javascript-module> versions in a lang-addon.xml
      for all root packages loaded dynamically in the application (when upgrading the ZK version, also update the version string)

      e.g.: for "zul.inp" it is sufficient to specify a module version for the root "zul"

      <?xml version="1.0" encoding="UTF-8"?>
      <language-addon>
      	<addon-name>cache breaker</addon-name>
              <!-- workaround for https://tracker.zkoss.org/browse/ZK-4287 fixed since 8.6.2 -->
      	<javascript-module name="zk" version="my-version-1"/>
      	<javascript-module name="zul" version="my-version-1"/>
      	...
      </language-addon>
      

      this is a manual workaround and the version attribute needs to be updated to change the urls between affected ZK versions, remove this after upgrading to 8.6.2 or higher

            rudyhuang rudyhuang
            cor3000 cor3000
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 4 hours
                4h
                Remaining:
                Time Spent - 2 hours Remaining Estimate - 2 hours
                2h
                Logged:
                Time Spent - 2 hours Remaining Estimate - 2 hours
                2h