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

      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.

          Form Name

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

              Unassigned Unassigned
              6c80a78e94f3 daviderickson
              Affected customers:
              1 This affects my team
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved:

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