The genius is the person who implemented FlexibleLocation :-) I just had the fortune to recall that it's capable of more than "component://"
Regards Scott On 3/04/2012, at 11:03 PM, Jacopo Cappellato wrote: > Scott, you are genius! > > Jacopo > > On Apr 3, 2012, at 12:56 PM, Scott Gray wrote: > >> +1, having a template in runtime seems a little strange to me, everything >> functional should really exist in a component. >> >> But as an aside, location resolution in performed with FlexibleLocation so >> the following path should also work: >> ofbizhome://runtime/svninfo.ftl >> >> Regards >> Scott >> >> On 3/04/2012, at 10:44 PM, Jacopo Cappellato wrote: >> >>> But the more I think about it the more I think that it is wrong to include >>> templates in this way: >>> >>> <#include "../../../runtime/svninfo.ftl" /> >>> >>> here a template from a component (a theme) is trying to load a template >>> that is not in the component or in any other component. >>> But it used to work because in previous releases the above was converted in: >>> >>> component://tomahawk/includes/../../../runtime/svninfo.ftl >>> >>> and this was a tweak to let OFBiz believe that the file was part of the >>> tomahawk component... >>> >>> I have checked the code and directives like: >>> >>> <#include "../ >>> >>> are only the ones in the themes for including the svninfo.ftl file. >>> >>> Do you agree with removing these directives until we find a better way to >>> do this (the ant task could copy the svninfo.ftl file somewhere in the >>> theme... or we could find a better mechanism)? >>> >>> Jacopo >>> >>> >>> On Apr 3, 2012, at 12:29 PM, Jacopo Cappellato wrote: >>> >>>> A short update on this issue: >>>> >>>> the problem is happening with freemarker-.2.3.19 while earlier versions >>>> are not affected (e.g. freemarker-2.3.18). >>>> In earlier versions the following include directive: >>>> >>>> <#include "../../../runtime/svninfo.ftl" /> >>>> >>>> in a file in themes/tomahawk/includes/ >>>> >>>> was converted in location like: >>>> >>>> component://tomahawk/includes/../../../runtime/svninfo.ftl >>>> >>>> With freemarker-.2.3.19 the location is converted to: >>>> >>>> component:/runtime/svninfo.ftl >>>> >>>> Please notice the single "/" after the ":". >>>> >>>> The reason for this is explained here >>>> http://freemarker.sourceforge.net/docs/pgui_config_templateloading.html#autoid_43 >>>> >>>> >>>> Quote: >>>> >>>> "Note that FreeMarker always normalizes the paths before passing them to >>>> the template loader, so the paths do not contain /../ and such, and are >>>> relative to the imaginary template root directory." >>>> >>>> There were also security reasons for the change as explained here: >>>> >>>> https://sourceforge.net/projects/freemarker/files/freemarker/2.3.19/ >>>> >>>> Jacopo >>>> >>>> >>>> On Apr 3, 2012, at 9:49 AM, Jacopo Cappellato wrote: >>>> >>>>> I have committed a workaround for the issue in rev. 1308734 >>>>> >>>>> I am still investigating the root cause. Please let me know if you see >>>>> other wrong things: this is a rather big jump from Freemarker 2.3.10 to >>>>> 2.3.19! >>>>> >>>>> Thanks, >>>>> >>>>> Jacopo >>>>> >>>>> On Apr 2, 2012, at 8:22 PM, Erwan de FERRIERES wrote: >>>>> >>>>>> Le 02/04/2012 19:53, Jacopo Cappellato a écrit : >>>>>>> I see it now, it doesn't like the following directive: >>>>>>> >>>>>>> <#include "../../../runtime/svninfo.ftl" /> >>>>>>> >>>>>>> I will dig into it more. >>>>>>> >>>>>> >>>>>> Thanks ! >>>>>> >>>>>> >>>>>> -- >>>>>> Erwan de FERRIERES >>>>>> www.nereide.biz >>>>> >>>> >>> >> >
