Hi all,
Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. e.g. <platform-specific> <html> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> will render as: <html> <head> … <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> </head> This will allow inline script from a freemarker file, to be rendered as external script in html. Regards, James |
Hi all,
I have created a JIRA issue for this, i.e. OFBIZ-11686. Decided not to have a placement attribute because script will always be placed after body tag. Regards, James On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: > Hi all, > > Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. > e.g. > <platform-specific> > <html> > <script-template location="component://order/template/quote/test.ftl” placement=“head”/> > > will render as: > <html> > <head> > … > <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> > </head> > > This will allow inline script from a freemarker file, to be rendered as external script in html. > > Regards, > James > |
Hi James,
can you explain the purpose of this? Why not just use a JavaScript file and a decorator? Thanks, Michael Brohl ecomify GmbH - www.ecomify.de Am 10.05.20 um 06:53 schrieb James Yong: > Hi all, > > I have created a JIRA issue for this, i.e. OFBIZ-11686. > Decided not to have a placement attribute because script will always be placed after body tag. > > Regards, > James > > On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: >> Hi all, >> >> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. >> e.g. >> <platform-specific> >> <html> >> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> >> >> will render as: >> <html> >> <head> >> … >> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> >> </head> >> >> This will allow inline script from a freemarker file, to be rendered as external script in html. >> >> Regards, >> James >> smime.p7s (5K) Download Attachment |
Hi Michael,
There are CSP errors being logged in the browser console, due to the use of inline javascripts. The proposed method allow us to: 1. convert the inline javascripts into external scripts for better CSP compliance. 2. use freemarker macros in the scripts. 3. place the extracted javascript in the same directory as the original freemarker template file, to save time locating and editing the 2 related files. Regards, James On 2020/05/10 09:53:47, Michael Brohl <[hidden email]> wrote: > Hi James, > > can you explain the purpose of this? Why not just use a JavaScript file > and a decorator? > > Thanks, > > Michael Brohl > > ecomify GmbH - www.ecomify.de > > > Am 10.05.20 um 06:53 schrieb James Yong: > > Hi all, > > > > I have created a JIRA issue for this, i.e. OFBIZ-11686. > > Decided not to have a placement attribute because script will always be placed after body tag. > > > > Regards, > > James > > > > On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: > >> Hi all, > >> > >> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. > >> e.g. > >> <platform-specific> > >> <html> > >> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> > >> > >> will render as: > >> <html> > >> <head> > >> … > >> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> > >> </head> > >> > >> This will allow inline script from a freemarker file, to be rendered as external script in html. > >> > >> Regards, > >> James > >> > > |
Administrator
|
Hi James,
I know it's not all of them as you already mentioned. But could not some these of these scripts be handled by Require.js? Jacques Le 10/05/2020 à 14:32, James Yong a écrit : > Hi Michael, > > There are CSP errors being logged in the browser console, due to the use of inline javascripts. > > The proposed method allow us to: > 1. convert the inline javascripts into external scripts for better CSP compliance. > 2. use freemarker macros in the scripts. > 3. place the extracted javascript in the same directory as the original freemarker template file, to save time locating and editing the 2 related files. > > Regards, > James > > On 2020/05/10 09:53:47, Michael Brohl <[hidden email]> wrote: >> Hi James, >> >> can you explain the purpose of this? Why not just use a JavaScript file >> and a decorator? >> >> Thanks, >> >> Michael Brohl >> >> ecomify GmbH - www.ecomify.de >> >> >> Am 10.05.20 um 06:53 schrieb James Yong: >>> Hi all, >>> >>> I have created a JIRA issue for this, i.e. OFBIZ-11686. >>> Decided not to have a placement attribute because script will always be placed after body tag. >>> >>> Regards, >>> James >>> >>> On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: >>>> Hi all, >>>> >>>> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. >>>> e.g. >>>> <platform-specific> >>>> <html> >>>> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> >>>> >>>> will render as: >>>> <html> >>>> <head> >>>> … >>>> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> >>>> </head> >>>> >>>> This will allow inline script from a freemarker file, to be rendered as external script in html. >>>> >>>> Regards, >>>> James >>>> >> |
Hi Jacques,
I think having RequireJs for loading dependencies, can go in another JIRA issue. It requires us to change the way Javascript coding is done. Regards, James On 2020/05/10 12:58:49, Jacques Le Roux <[hidden email]> wrote: > Hi James, > > I know it's not all of them as you already mentioned. But could not some these of these scripts be handled by Require.js? > > Jacques > > Le 10/05/2020 à 14:32, James Yong a écrit : > > Hi Michael, > > > > There are CSP errors being logged in the browser console, due to the use of inline javascripts. > > > > The proposed method allow us to: > > 1. convert the inline javascripts into external scripts for better CSP compliance. > > 2. use freemarker macros in the scripts. > > 3. place the extracted javascript in the same directory as the original freemarker template file, to save time locating and editing the 2 related files. > > > > Regards, > > James > > > > On 2020/05/10 09:53:47, Michael Brohl <[hidden email]> wrote: > >> Hi James, > >> > >> can you explain the purpose of this? Why not just use a JavaScript file > >> and a decorator? > >> > >> Thanks, > >> > >> Michael Brohl > >> > >> ecomify GmbH - www.ecomify.de > >> > >> > >> Am 10.05.20 um 06:53 schrieb James Yong: > >>> Hi all, > >>> > >>> I have created a JIRA issue for this, i.e. OFBIZ-11686. > >>> Decided not to have a placement attribute because script will always be placed after body tag. > >>> > >>> Regards, > >>> James > >>> > >>> On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: > >>>> Hi all, > >>>> > >>>> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. > >>>> e.g. > >>>> <platform-specific> > >>>> <html> > >>>> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> > >>>> > >>>> will render as: > >>>> <html> > >>>> <head> > >>>> … > >>>> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> > >>>> </head> > >>>> > >>>> This will allow inline script from a freemarker file, to be rendered as external script in html. > >>>> > >>>> Regards, > >>>> James > >>>> > >> > |
Administrator
|
Hi James,
Yes, it already exists. Unfortunately for years as it's a major change. https://issues.apache.org/jira/browse/OFBIZ-9976 It will be interesting to see if after your proposed effort much work remains for require.js. It could be then done... Jacques Le 11/05/2020 à 12:21, James Yong a écrit : > Hi Jacques, > > I think having RequireJs for loading dependencies, can go in another JIRA issue. > It requires us to change the way Javascript coding is done. > > Regards, > James > > On 2020/05/10 12:58:49, Jacques Le Roux <[hidden email]> wrote: >> Hi James, >> >> I know it's not all of them as you already mentioned. But could not some these of these scripts be handled by Require.js? >> >> Jacques >> >> Le 10/05/2020 à 14:32, James Yong a écrit : >>> Hi Michael, >>> >>> There are CSP errors being logged in the browser console, due to the use of inline javascripts. >>> >>> The proposed method allow us to: >>> 1. convert the inline javascripts into external scripts for better CSP compliance. >>> 2. use freemarker macros in the scripts. >>> 3. place the extracted javascript in the same directory as the original freemarker template file, to save time locating and editing the 2 related files. >>> >>> Regards, >>> James >>> >>> On 2020/05/10 09:53:47, Michael Brohl <[hidden email]> wrote: >>>> Hi James, >>>> >>>> can you explain the purpose of this? Why not just use a JavaScript file >>>> and a decorator? >>>> >>>> Thanks, >>>> >>>> Michael Brohl >>>> >>>> ecomify GmbH - www.ecomify.de >>>> >>>> >>>> Am 10.05.20 um 06:53 schrieb James Yong: >>>>> Hi all, >>>>> >>>>> I have created a JIRA issue for this, i.e. OFBIZ-11686. >>>>> Decided not to have a placement attribute because script will always be placed after body tag. >>>>> >>>>> Regards, >>>>> James >>>>> >>>>> On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: >>>>>> Hi all, >>>>>> >>>>>> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. >>>>>> e.g. >>>>>> <platform-specific> >>>>>> <html> >>>>>> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> >>>>>> >>>>>> will render as: >>>>>> <html> >>>>>> <head> >>>>>> … >>>>>> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> >>>>>> </head> >>>>>> >>>>>> This will allow inline script from a freemarker file, to be rendered as external script in html. >>>>>> >>>>>> Regards, >>>>>> James >>>>>> |
Hi all,
While extracting the scripts from html-template to script-template and testing the changes, I found the process to be cumbersome. So I made a change not to use script-template tag but add a multi-block attribute to html-template tag. When multi-block=true, inline scripts will be extracted automatically from any script tag and converted to external script. So no need to extract script from the freemarker template. Coding for script-template tag is removed Also upload an updated patch at JIRA for the new change described. Regards, James On 2020/05/11 10:37:11, Jacques Le Roux <[hidden email]> wrote: > Hi James, > > Yes, it already exists. Unfortunately for years as it's a major change. > > https://issues.apache.org/jira/browse/OFBIZ-9976 > > It will be interesting to see if after your proposed effort much work remains for require.js. It could be then done... > > Jacques > > Le 11/05/2020 à 12:21, James Yong a écrit : > > Hi Jacques, > > > > I think having RequireJs for loading dependencies, can go in another JIRA issue. > > It requires us to change the way Javascript coding is done. > > > > Regards, > > James > > > > On 2020/05/10 12:58:49, Jacques Le Roux <[hidden email]> wrote: > >> Hi James, > >> > >> I know it's not all of them as you already mentioned. But could not some these of these scripts be handled by Require.js? > >> > >> Jacques > >> > >> Le 10/05/2020 à 14:32, James Yong a écrit : > >>> Hi Michael, > >>> > >>> There are CSP errors being logged in the browser console, due to the use of inline javascripts. > >>> > >>> The proposed method allow us to: > >>> 1. convert the inline javascripts into external scripts for better CSP compliance. > >>> 2. use freemarker macros in the scripts. > >>> 3. place the extracted javascript in the same directory as the original freemarker template file, to save time locating and editing the 2 related files. > >>> > >>> Regards, > >>> James > >>> > >>> On 2020/05/10 09:53:47, Michael Brohl <[hidden email]> wrote: > >>>> Hi James, > >>>> > >>>> can you explain the purpose of this? Why not just use a JavaScript file > >>>> and a decorator? > >>>> > >>>> Thanks, > >>>> > >>>> Michael Brohl > >>>> > >>>> ecomify GmbH - www.ecomify.de > >>>> > >>>> > >>>> Am 10.05.20 um 06:53 schrieb James Yong: > >>>>> Hi all, > >>>>> > >>>>> I have created a JIRA issue for this, i.e. OFBIZ-11686. > >>>>> Decided not to have a placement attribute because script will always be placed after body tag. > >>>>> > >>>>> Regards, > >>>>> James > >>>>> > >>>>> On 2020/05/07 11:48:32, James Yong <[hidden email]> wrote: > >>>>>> Hi all, > >>>>>> > >>>>>> Propose a new <script-template> widget tag that adds an external script inside html head tag, or after body tag. The external script will contain the rendered result of the specified template file location. > >>>>>> e.g. > >>>>>> <platform-specific> > >>>>>> <html> > >>>>>> <script-template location="component://order/template/quote/test.ftl” placement=“head”/> > >>>>>> > >>>>>> will render as: > >>>>>> <html> > >>>>>> <head> > >>>>>> … > >>>>>> <script src=“/ordermgr/control/js/<some random file name>.js” type="application/javascript"/> > >>>>>> </head> > >>>>>> > >>>>>> This will allow inline script from a freemarker file, to be rendered as external script in html. > >>>>>> > >>>>>> Regards, > >>>>>> James > >>>>>> > |
Free forum by Nabble | Edit this page |