Le 02/04/2012 16:08, [hidden email] a écrit :
> Author: jacopoc > Date: Mon Apr 2 14:08:17 2012 > New Revision: 1308358 > > URL: http://svn.apache.org/viewvc?rev=1308358&view=rev > Log: > Upgrade to latest stable release of Freemarker: 2.3.19 > > Added: > ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar (with props) > Removed: > ofbiz/trunk/framework/base/lib/freemarker-2.3.10.jar > > Added: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar?rev=1308358&view=auto > ============================================================================== > Binary file - no diff available. > > Propchange: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar > ------------------------------------------------------------------------------ > svn:mime-type = application/octet-stream > > > I think this is coming from your commit : tyId,null()] 111949 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.service.ServiceDispatcher - Sync service [projectmgr/getLastSystemInfoNote] finished in [83] milliseconds with response [{responseMessage=success}] 112155 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.base.util.UtilProperties - ResourceBundle general (fr) created in 0.019s with 29 properties 113137 [http-bio-0.0.0.0-8443-exec-1] ERROR org.ofbiz.base.location.ComponentLocationResolver - ---- exception report ---------------------------------------------------------- Could not get root location for component with name [runtime], error was: org.ofbiz.base.component.ComponentException: No component found named : runtime Exception: org.ofbiz.base.component.ComponentException Message: No component found named : runtime ---- stack trace --------------------------------------------------------------- org.ofbiz.base.component.ComponentException: No component found named : runtime org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:86) org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:61) org.ofbiz.base.component.ComponentConfig.getRootLocation(ComponentConfig.java:260) org.ofbiz.base.location.ComponentLocationResolver.getBaseLocation(ComponentLocationResolver.java:64) org.ofbiz.base.location.ComponentLocationResolver.resolveLocation(ComponentLocationResolver.java:39) org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:132) org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:73) org.ofbiz.base.util.template.FreeMarkerWorker.makeReader(FreeMarkerWorker.java:300) org.ofbiz.base.util.template.FreeMarkerWorker.access$000(FreeMarkerWorker.java:73) org.ofbiz.base.util.template.FreeMarkerWorker$FlexibleTemplateLoader.getReader(FreeMarkerWorker.java:677) freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:441) freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:360) freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235) freemarker.template.Configuration.getTemplate(Configuration.java:578) freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490) freemarker.core.Include.accept(Include.java:157) freemarker.core.Environment.visit(Environment.java:221) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:221) freemarker.core.Environment.process(Environment.java:199) Cheers, -- Erwan de FERRIERES www.nereide.biz |
did you try an ant clean?
Jacopo On Apr 2, 2012, at 6:58 PM, Erwan de FERRIERES wrote: > Le 02/04/2012 16:08, [hidden email] a écrit : >> Author: jacopoc >> Date: Mon Apr 2 14:08:17 2012 >> New Revision: 1308358 >> >> URL: http://svn.apache.org/viewvc?rev=1308358&view=rev >> Log: >> Upgrade to latest stable release of Freemarker: 2.3.19 >> >> Added: >> ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar (with props) >> Removed: >> ofbiz/trunk/framework/base/lib/freemarker-2.3.10.jar >> >> Added: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar?rev=1308358&view=auto >> ============================================================================== >> Binary file - no diff available. >> >> Propchange: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar >> ------------------------------------------------------------------------------ >> svn:mime-type = application/octet-stream >> >> >> > Jacopo, > > I think this is coming from your commit : > tyId,null()] > 111949 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.service.ServiceDispatcher - Sync service [projectmgr/getLastSystemInfoNote] finished in [83] milliseconds with response [{responseMessage=success}] > 112155 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.base.util.UtilProperties - ResourceBundle general (fr) created in 0.019s with 29 properties > 113137 [http-bio-0.0.0.0-8443-exec-1] ERROR org.ofbiz.base.location.ComponentLocationResolver - > ---- exception report ---------------------------------------------------------- > Could not get root location for component with name [runtime], error was: org.ofbiz.base.component.ComponentException: No component found named : runtime > Exception: org.ofbiz.base.component.ComponentException > Message: No component found named : runtime > ---- stack trace --------------------------------------------------------------- > org.ofbiz.base.component.ComponentException: No component found named : runtime > org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:86) > org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:61) > org.ofbiz.base.component.ComponentConfig.getRootLocation(ComponentConfig.java:260) > org.ofbiz.base.location.ComponentLocationResolver.getBaseLocation(ComponentLocationResolver.java:64) > org.ofbiz.base.location.ComponentLocationResolver.resolveLocation(ComponentLocationResolver.java:39) > org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:132) > org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:73) > org.ofbiz.base.util.template.FreeMarkerWorker.makeReader(FreeMarkerWorker.java:300) > org.ofbiz.base.util.template.FreeMarkerWorker.access$000(FreeMarkerWorker.java:73) > org.ofbiz.base.util.template.FreeMarkerWorker$FlexibleTemplateLoader.getReader(FreeMarkerWorker.java:677) > freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:441) > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:360) > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235) > freemarker.template.Configuration.getTemplate(Configuration.java:578) > freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490) > freemarker.core.Include.accept(Include.java:157) > freemarker.core.Environment.visit(Environment.java:221) > freemarker.core.MixedContent.accept(MixedContent.java:92) > freemarker.core.Environment.visit(Environment.java:221) > freemarker.core.Environment.process(Environment.java:199) > > Cheers, > > -- > Erwan de FERRIERES > www.nereide.biz |
I see it now, it doesn't like the following directive:
<#include "../../../runtime/svninfo.ftl" /> I will dig into it more. Jacopo On Apr 2, 2012, at 7:17 PM, Jacopo Cappellato wrote: > did you try an ant clean? > > Jacopo > > On Apr 2, 2012, at 6:58 PM, Erwan de FERRIERES wrote: > >> Le 02/04/2012 16:08, [hidden email] a écrit : >>> Author: jacopoc >>> Date: Mon Apr 2 14:08:17 2012 >>> New Revision: 1308358 >>> >>> URL: http://svn.apache.org/viewvc?rev=1308358&view=rev >>> Log: >>> Upgrade to latest stable release of Freemarker: 2.3.19 >>> >>> Added: >>> ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar (with props) >>> Removed: >>> ofbiz/trunk/framework/base/lib/freemarker-2.3.10.jar >>> >>> Added: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar >>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar?rev=1308358&view=auto >>> ============================================================================== >>> Binary file - no diff available. >>> >>> Propchange: ofbiz/trunk/framework/base/lib/freemarker-2.3.19.jar >>> ------------------------------------------------------------------------------ >>> svn:mime-type = application/octet-stream >>> >>> >>> >> Jacopo, >> >> I think this is coming from your commit : >> tyId,null()] >> 111949 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.service.ServiceDispatcher - Sync service [projectmgr/getLastSystemInfoNote] finished in [83] milliseconds with response [{responseMessage=success}] >> 112155 [http-bio-0.0.0.0-8443-exec-1] INFO org.ofbiz.base.util.UtilProperties - ResourceBundle general (fr) created in 0.019s with 29 properties >> 113137 [http-bio-0.0.0.0-8443-exec-1] ERROR org.ofbiz.base.location.ComponentLocationResolver - >> ---- exception report ---------------------------------------------------------- >> Could not get root location for component with name [runtime], error was: org.ofbiz.base.component.ComponentException: No component found named : runtime >> Exception: org.ofbiz.base.component.ComponentException >> Message: No component found named : runtime >> ---- stack trace --------------------------------------------------------------- >> org.ofbiz.base.component.ComponentException: No component found named : runtime >> org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:86) >> org.ofbiz.base.component.ComponentConfig.getComponentConfig(ComponentConfig.java:61) >> org.ofbiz.base.component.ComponentConfig.getRootLocation(ComponentConfig.java:260) >> org.ofbiz.base.location.ComponentLocationResolver.getBaseLocation(ComponentLocationResolver.java:64) >> org.ofbiz.base.location.ComponentLocationResolver.resolveLocation(ComponentLocationResolver.java:39) >> org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:132) >> org.ofbiz.base.location.FlexibleLocation.resolveLocation(FlexibleLocation.java:73) >> org.ofbiz.base.util.template.FreeMarkerWorker.makeReader(FreeMarkerWorker.java:300) >> org.ofbiz.base.util.template.FreeMarkerWorker.access$000(FreeMarkerWorker.java:73) >> org.ofbiz.base.util.template.FreeMarkerWorker$FlexibleTemplateLoader.getReader(FreeMarkerWorker.java:677) >> freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:441) >> freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:360) >> freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235) >> freemarker.template.Configuration.getTemplate(Configuration.java:578) >> freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490) >> freemarker.core.Include.accept(Include.java:157) >> freemarker.core.Environment.visit(Environment.java:221) >> freemarker.core.MixedContent.accept(MixedContent.java:92) >> freemarker.core.Environment.visit(Environment.java:221) >> freemarker.core.Environment.process(Environment.java:199) >> >> Cheers, >> >> -- >> Erwan de FERRIERES >> www.nereide.biz > |
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 |
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 |
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 > |
The security concern probably does not apply to OFBiz, because in most
cases users are not entering template paths, and template paths are not used in URLs. There might be places where a user is asked for a template location (example: setting up a response email) - so those places should be guarded with template path checks. -Adrian On 4/3/2012 11:29 AM, 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 |
In reply to this post by Jacopo Cappellato-4
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 >> > |
+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 >>> >> > |
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 >>>> >>> >> > |
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 >>>>> >>>> >>> >> > |
Free forum by Nabble | Edit this page |