"double scope processing" by ConcatBundleResource

2021-01-13 Thread William Headrick
There seems to be a bug that was introduced in 8.5.0.

https://github.com/apache/wicket/commit/e2a11151e2bc55ae3a637efd88b1202582461780/
causes a "double scope processing" of a url in a PackageResource.  The
IScopeAwareTextResourceProcessor makes the urls relative during the
PackageResource.compressResponse call which is done as part of `IOUtils.
copy(curStream.getInputStream(), output)` and then ConcatBundleResource
does it again here
https://github.com/apache/wicket/commit/e2a11151e2bc55ae3a637efd88b1202582461780/#diff-b394ae1f7fce4...


So, given this in the PackageResource css:
background: url('../img/header_logo_r.png');

this bad url gets inserted into the combined css file:
background (generated in 8.5.0+):
url('../com.foo.pages.SomePage/stylesheet/com.foo.pages.SomePage/img/header_logo_r-ver-1.4.0-ver-1.4.0.png')

whereas this is the correct ScopeAware path (which is generated in <8.4.0):
background: url('../com.foo.pages.SomePage/img/header_logo_r-ver-1.4.0.png')

--
Regards,

William Headrick
Product Development Manager
Certusoft, Inc.
(952) 405-2372
william.headr...@certusoft.com
www.certusoft.com



The materials in this electronic mail transmission (including all
attachments) are private and confidential and are the property of the
sender. The
information contained in the material may be legally privileged and is
intended only for the use of the named addressee(s). If you have received
this
email in error please immediately notify us by replying to the message and
delete the original message immediately thereafter.


Re: "double scope processing" by ConcatBundleResource

2021-01-13 Thread William Headrick
Of course, you would need to set the CssCompressor on the Application.
Something like this in the Application `init` for example:

this.getResourceSettings().setCssCompressor(new CssUrlReplacer())

The CssUrlReplacer gets set on both the PackageResource and
ConcatBundleResource as the Compressor.

--
Regards,

William Headrick
Product Development Manager
Certusoft, Inc.
(952) 405-2372
william.headr...@certusoft.com
www.certusoft.com



The materials in this electronic mail transmission (including all
attachments) are private and confidential and are the property of the
sender. The
information contained in the material may be legally privileged and is
intended only for the use of the named addressee(s). If you have received
this
email in error please immediately notify us by replying to the message and
delete the original message immediately thereafter.


On Wed, Jan 13, 2021 at 5:43 PM William Headrick <
william.headr...@certusoft.com> wrote:

> There seems to be a bug that was introduced in 8.5.0.
>
>
> https://github.com/apache/wicket/commit/e2a11151e2bc55ae3a637efd88b1202582461780/
> causes a "double scope processing" of a url in a PackageResource.  The
> IScopeAwareTextResourceProcessor makes the urls relative during the
> PackageResource.compressResponse call which is done as part of `IOUtils.
> copy(curStream.getInputStream(), output)` and then ConcatBundleResource
> does it again here
> https://github.com/apache/wicket/commit/e2a11151e2bc55ae3a637efd88b1202582461780/#diff-b394ae1f7fce4...
> 
>
> So, given this in the PackageResource css:
> background: url('../img/header_logo_r.png');
>
> this bad url gets inserted into the combined css file:
> background (generated in 8.5.0+):
> url('../com.foo.pages.SomePage/stylesheet/com.foo.pages.SomePage/img/header_logo_r-ver-1.4.0-ver-1.4.0.png')
>
> whereas this is the correct ScopeAware path (which is generated in <8.4.0):
> background:
> url('../com.foo.pages.SomePage/img/header_logo_r-ver-1.4.0.png')
>
> --
> Regards,
>
> William Headrick
> Product Development Manager
> Certusoft, Inc.
> (952) 405-2372
> william.headr...@certusoft.com
> www.certusoft.com
>
> 
>
> The materials in this electronic mail transmission (including all
> attachments) are private and confidential and are the property of the
> sender. The
> information contained in the material may be legally privileged and is
> intended only for the use of the named addressee(s). If you have received
> this
> email in error please immediately notify us by replying to the message and
> delete the original message immediately thereafter.
>