Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-22849

[PATCH included] Unable to use Velocity include function from site layouts

    XMLWordPrintable

Details

    Description

      Currently Confluence users are unable to use the #include Velocity function to include files into the rendered html via the Administrator site layouts area. My use case is I have a standard header across multiple products (Confluence, Jira, Fisheye/Crucible, IP.Board), and I want to directly include it from a file shared across all products, so if I change that one file it will update everywhere. The workaround was to use #parse, but parse interprets statements in the file as Velocity code, which is problematic if your html/javascript contains statements that are similar to Velocity.

      I've attached a patch that fixes this from Confluence 3.5.1-3.5.7(current), the problem is twofold:
      1- There is no included file resource loader in Velocity's config, an easy addition to the properties file
      2- There is a bug in the Hibernate resource loader that returns null instead of ResourceNotFoundException when it cannot find a resource in the database, preventing Velocity from falling through to the next resource loader. Easy and tested fix.

      Attachments

        Activity

          People

            Unassigned Unassigned
            6c80a78e94f3 daviderickson
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 0.5h
                0.5h
                Remaining:
                Remaining Estimate - 0.5h
                0.5h
                Logged:
                Time Spent - Not Specified
                Not Specified