Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-6329

Malfunction of configurable FTL-Template caching in DataResourceWorker.renderDataResourceAsText

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Trunk
    • Fix Version/s: 14.12.01, 16.11.01
    • Component/s: content
    • Labels:
      None

      Description

      There are several problems with the current caching logic in DataResourceWorker.renderDataResourceAsText(...).

      Enabling the caching of rendered FTL-Templates from DataResources with the property disable.ftl.template.cache in content.properties enables a non-functioning block of code that handles the rendering of the cached template. And if it is deactivated (default), the FTL-Templates are still cached by the FreeMarkerWorker.

      However the correct logic for caching and using the rendered FTL-Template is already implemented in the FreeMarkerWorker and controlled by an optional useCache parameter.

      In addition there is an API call to DataResourceWorker.writeDataResourceText for non template content with a static "true" for useCache instead of using the given cache parameter value of the renderDataResourceAsText method itself, so even if the caller do not want to use caching at all, the non template text data is cached an FTL-Templates are cached also.

      I will provide a patch for those two issues in the mentioned method.

      1. OFBIZ-6329_FTL-Caching.patch
        3 kB
        Martin Becker
      2. OFBIZ-6329_FTL-Caching-DiffOnly.patch
        3 kB
        Martin Becker
      3. OFBIZ-6329_Non-Template-Caching.patch
        1 kB
        Martin Becker
      4. OFBIZ-6329_Non-Template-Caching-DiffOnly.patch
        1.0 kB
        Martin Becker

        Activity

        Hide
        adrianc@hlmksw.com Adrian Crum added a comment -

        Thank you for working on this, but the patch file format is wrong. Please use a unified diff format.

        Show
        adrianc@hlmksw.com Adrian Crum added a comment - Thank you for working on this, but the patch file format is wrong. Please use a unified diff format.
        Hide
        mbrohl Michael Brohl added a comment -

        The patch format is following the Apache proposed workflow for working with git repositories, see http://www.apache.org/dev/git.html. What's wrong with it?

        Show
        mbrohl Michael Brohl added a comment - The patch format is following the Apache proposed workflow for working with git repositories, see http://www.apache.org/dev/git.html . What's wrong with it?
        Hide
        adrianc@hlmksw.com Adrian Crum added a comment -

        OFBiz uses Subversion, not Git.

        Show
        adrianc@hlmksw.com Adrian Crum added a comment - OFBiz uses Subversion, not Git.
        Hide
        mbrohl Michael Brohl added a comment -

        Yes, I know. I thought that the patch formats are compatible. The git patch contains a unified diff format. Haven't tried it myself but since the german translations patch went through without problems, I thought it's ok.

        We will provide new patches then.

        Show
        mbrohl Michael Brohl added a comment - Yes, I know. I thought that the patch formats are compatible. The git patch contains a unified diff format. Haven't tried it myself but since the german translations patch went through without problems, I thought it's ok. We will provide new patches then.
        Hide
        jacques.le.roux Jacques Le Roux added a comment -

        We may ask Christian how he did it. Personally, normally I just change 1 or 2 things and it's OK, of course it's easier if it's in the "right" format from start.

        Show
        jacques.le.roux Jacques Le Roux added a comment - We may ask Christian how he did it. Personally, normally I just change 1 or 2 things and it's OK, of course it's easier if it's in the "right" format from start.
        Hide
        mbecker Martin Becker added a comment -

        Sorry for that, Adrian. I'm using git locally and created the patch files with "git format-patch" as Michael stated. Therefore there are some header informations additional to the standard diff in the patch file. There should be no need for a committer to modify a patch file to get it working, so we will create the patch files with "git diff", that should be fine.

        I will provide corrected patch files here soon and Adrian may check if they are usable for him (and thus for all others).

        Show
        mbecker Martin Becker added a comment - Sorry for that, Adrian. I'm using git locally and created the patch files with "git format-patch" as Michael stated. Therefore there are some header informations additional to the standard diff in the patch file. There should be no need for a committer to modify a patch file to get it working, so we will create the patch files with "git diff", that should be fine. I will provide corrected patch files here soon and Adrian may check if they are usable for him (and thus for all others).
        Hide
        mbecker Martin Becker added a comment -

        Patches *-DiffOnly.patch with simple diff format attached

        Show
        mbecker Martin Becker added a comment - Patches *-DiffOnly.patch with simple diff format attached
        Hide
        deepak.dixit Deepak Dixit added a comment -

        Thanks Martin Becker,
        Your patch has been committed at
        Trunk at r#1679728
        14.12 at r#1679729

        Not able to apply this patch, getting conflicts while merging.

        Show
        deepak.dixit Deepak Dixit added a comment - Thanks Martin Becker, Your patch has been committed at Trunk at r#1679728 14.12 at r#1679729 Not able to apply this patch, getting conflicts while merging.
        Hide
        deepak.dixit Deepak Dixit added a comment -

        Martin Becker,

        You can crate patch using git diff --no-prefix option.

        Show
        deepak.dixit Deepak Dixit added a comment - Martin Becker, You can crate patch using git diff --no-prefix option.

          People

          • Assignee:
            deepak.dixit Deepak Dixit
            Reporter:
            mbecker Martin Becker
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development