You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by akshay <ak...@gmail.com> on 2014/09/25 16:22:57 UTC

Tapestry Production Mode

Hi,

Is there any way in  tapestry 5.4 (*production mode)  *where-in, I can fire
the tapestry compiling chain again ( so that my less file are compiled
again).

I am able to get this done in *development *mode, by adding a request
filter(which picks my dynamic changes on the file), by adding my
RequestHandler in AppModule class:-

public void contributeRequestHandler(
   OrderedConfiguration<RequestFilter> configuration) {
   configuration.addInstance("XYZRequestFilter",
   XYZRequestFilter.class, "before:*");
   }


But the same approach, doesn't work in production mode( since the caching
mechanism is different).

Any idea/suggestions would be of great help.


Regards,
Akshay

Re: Tapestry Production Mode

Posted by Chris Poulsen <ma...@nesluop.dk>.
You could take the quick and dirty way and have a tapestry filter redirect
to the correct asset paths.

We use this at work for things like rich text editors that attempts to load
stuff relative to the first js file loaded.

-- 
Chris

On Mon, Oct 13, 2014 at 3:37 PM, akshay <ak...@gmail.com> wrote:

> Hi Thiago,
>
> Thanks for all your responses.I am still stuck with the problem related to
> the loading of images , when less to css compilation is forced by us.
>
> As I told you:
>
> In the less file the images are referenced with paths, like
>
> @product: url(../images/product.svg)--( though I agree that we can provide
> it with a prefix, but anyways this convention still use to work for me
> before).
>
> The tapestry considers the images as an asset and translates the given path
> as  :-
> (/appContext/assets/ctx/6787fbc2/images/product.svg), when I use the
> tapestry  default Less to css compilation
>
>
> But in my case the url path remains the same as "../images/product.svg" in
> the translated css, and is not treated as an asset.
>
>
> My approach:-
> xyz.less--which imports other less files containing
>
>
> I am directly using
>   @Inject
>   @Path("context:css/xyz.less")
>   private Asset lessFile;
>
>        LessResourceTransformer lessResourceTransformer = new
> LessResourceTransformer()
>         return lessResourceTransformer.transform(lessFile.getResource(),
>  new ResourceDependencies() {
>
>         @Override
>         public void addDependency(Resource dependency) {
>
>         }
>       });
>
> I debugged and found out that the images are created as an asset in
> AbstratAssetFactory class along with the help of few more classes. These
> classes are called very early in the framework flow, and are complex to
> re-use.
>
> As per my understanding , the Less transformer should by default take care
> of parsing and creating the url as
> (/appContext/assets/ctx/6787fbc2/images/product.svg)  in the less file.
> Debugging into the LessResourceTransformer class(which has very less java
> docs),makes bit tough for me to find out the actual solution to it.
>
>
> Any suggestions from you would be of great help.
>
>
> Best Regards
> Akshay
>
>
> *********************************************************************************************************************
>
> On Thu, Oct 9, 2014 at 10:44 PM, Thiago H de Paula Figueiredo <
> thiagohp@gmail.com> wrote:
>
> > On Thu, 09 Oct 2014 17:18:04 -0300, akshay <ak...@gmail.com>
> > wrote:
> >
> >  Hi Thaigo,
> >>
> >> Well the Url is :-
> >>
> >> localhost:8080/WebPortal/config/lessToCss
> >>
> >
> > So the URL should have been "/WebPortal/config/lessToCss".
> >
> > To avoid hardcoding, you can do this:
> >
> > @Inject
> > private PageRenderLinkSource pageRenderLinkSource;
> > ...
> > String cssUrl = pageRenderLinkSource.createPageRenderLink(
> > LessToCss.class).toAbsoluteURI();
> > javaScriptSupport.importStylesheet(new StylesheetLink(cssUrl));
> >
> > This will always work, as you're delegating the URL creation to Tapestry.
> >
> >
> > --
> > Thiago H. de Paula Figueiredo
> > Tapestry, Java and Hibernate consultant and developer
> > http://machina.com.br
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Cheers!!
> Akshay
>

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Mon, 13 Oct 2014 10:37:25 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,
>
> Thanks for all your responses.I am still stuck with the problem related  
> to
> the loading of images , when less to css compilation is forced by us.
>
> As I told you:
>
> In the less file the images are referenced with paths, like
>
> @product: url(../images/product.svg)--( though I agree that we can  
> provide
> it with a prefix, but anyways this convention still use to work for me
> before).

I already suggested you to *not* use relative paths. Or at least get the  
relative paths right, as your CSS URL is static.

> The tapestry considers the images as an asset and translates the given  
> path as  :- (/appContext/assets/ctx/6787fbc2/images/product.svg), when I  
> use the
> tapestry  default Less to css compilation

Where are your images? If they're in the context, that should work.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Thanks for all your responses.I am still stuck with the problem related to
the loading of images , when less to css compilation is forced by us.

As I told you:

In the less file the images are referenced with paths, like

@product: url(../images/product.svg)--( though I agree that we can provide
it with a prefix, but anyways this convention still use to work for me
before).

The tapestry considers the images as an asset and translates the given path
as  :-
(/appContext/assets/ctx/6787fbc2/images/product.svg), when I use the
tapestry  default Less to css compilation


But in my case the url path remains the same as "../images/product.svg" in
the translated css, and is not treated as an asset.


My approach:-
xyz.less--which imports other less files containing


I am directly using
  @Inject
  @Path("context:css/xyz.less")
  private Asset lessFile;

       LessResourceTransformer lessResourceTransformer = new
LessResourceTransformer()
        return lessResourceTransformer.transform(lessFile.getResource(),
 new ResourceDependencies() {

        @Override
        public void addDependency(Resource dependency) {

        }
      });

I debugged and found out that the images are created as an asset in
AbstratAssetFactory class along with the help of few more classes. These
classes are called very early in the framework flow, and are complex to
re-use.

As per my understanding , the Less transformer should by default take care
of parsing and creating the url as
(/appContext/assets/ctx/6787fbc2/images/product.svg)  in the less file.
Debugging into the LessResourceTransformer class(which has very less java
docs),makes bit tough for me to find out the actual solution to it.


Any suggestions from you would be of great help.


Best Regards
Akshay

*********************************************************************************************************************

On Thu, Oct 9, 2014 at 10:44 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Thu, 09 Oct 2014 17:18:04 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thaigo,
>>
>> Well the Url is :-
>>
>> localhost:8080/WebPortal/config/lessToCss
>>
>
> So the URL should have been "/WebPortal/config/lessToCss".
>
> To avoid hardcoding, you can do this:
>
> @Inject
> private PageRenderLinkSource pageRenderLinkSource;
> ...
> String cssUrl = pageRenderLinkSource.createPageRenderLink(
> LessToCss.class).toAbsoluteURI();
> javaScriptSupport.importStylesheet(new StylesheetLink(cssUrl));
>
> This will always work, as you're delegating the URL creation to Tapestry.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 09 Oct 2014 17:18:04 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thaigo,
>
> Well the Url is :-
>
> localhost:8080/WebPortal/config/lessToCss

So the URL should have been "/WebPortal/config/lessToCss".

To avoid hardcoding, you can do this:

@Inject
private PageRenderLinkSource pageRenderLinkSource;
...
String cssUrl =  
pageRenderLinkSource.createPageRenderLink(LessToCss.class).toAbsoluteURI();
javaScriptSupport.importStylesheet(new StylesheetLink(cssUrl));

This will always work, as you're delegating the URL creation to Tapestry.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thaigo,

Well the Url is :-

localhost:8080/WebPortal/config/lessToCss

Regards
Akshay

On Thu, Oct 9, 2014 at 10:12 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Thu, 09 Oct 2014 17:10:47 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>>
>> Yes i see the streamed response generated.
>>
>
> What's its URL?
>
>
>
>> Regards
>> Akshay
>>
>> On Thu, Oct 9, 2014 at 10:01 PM, Thiago H de Paula Figueiredo <
>> thiagohp@gmail.com> wrote:
>>
>>  When you request your page file directly, do you get the transformed CSS?
>>>
>>>
>>> On Thu, 09 Oct 2014 16:40:32 -0300, akshay <ak...@gmail.com>
>>> wrote:
>>>
>>>  Hi Thiago,
>>>
>>>>
>>>> Well I use tapestry 5.4.
>>>>
>>>> i) WhenvI tried using in tapestry 5.3 way:-
>>>>  javaScriptSupport.importStylesheet(new
>>>> StylesheetLink("/config/lessToCss"));
>>>>
>>>> By doing this I see an empty lessToCss streamed file loaded.On
>>>> debugging I
>>>> see that  the page itself was never fired. Looks like just a normal
>>>> import
>>>> happens.
>>>>
>>>>
>>>> ii) Doing it in tapestry 5.4 way:-
>>>> @Import(stylesheet="//:config/lessToCss")
>>>>
>>>> It doesnt even import the file, i dont even see the file getting loaded.
>>>>
>>>> Its tough time getting this worked :(
>>>>
>>>> Regards
>>>> Akshay
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Oct 9, 2014 at 8:59 PM, Thiago H de Paula Figueiredo <
>>>> thiagohp@gmail.com> wrote:
>>>>
>>>>  On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>
>>>>
>>>>> wrote:
>>>>>
>>>>>  Hi Thiago,
>>>>>
>>>>>
>>>>>>
>>>>>>  Hi!
>>>>>
>>>>>
>>>>>  Well, I was trying the implement the solution given by you, but I see
>>>>> a
>>>>>
>>>>>> problem.
>>>>>>
>>>>>> i) my lessToCSS page is located at the package:-
>>>>>>   abc.wp.pages.config.
>>>>>>
>>>>>> ii) First I tried doing this in Tapestry 5.4 way:-
>>>>>> @Import(stylesheet="//:config/lessToCss")
>>>>>>     It doesn't work.
>>>>>>
>>>>>>
>>>>>>  Please don't say it doesn't work, as it's almost no information.
>>>>>
>>>>> @Import with "//:" will only work on 5.4, not on 5.3, which you said
>>>>> you're using.
>>>>>
>>>>>   iii) But when I try achieving the same doing this way:-
>>>>>
>>>>>   javaScriptSupport.importStylesheet(new
>>>>>> StylesheetLink("../config/lessToCss"));
>>>>>>
>>>>>>
>>>>>>  It should have been "/config/lessToCss", which is absolute, without
>>>>> the
>>>>> "../", which is relative. Tapestry will take care of adjusting the path
>>>>> if
>>>>> needed.
>>>>>
>>>>>
>>>>> --
>>>>> Thiago H. de Paula Figueiredo
>>>>> Tapestry, Java and Hibernate consultant and developer
>>>>> http://machina.com.br
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>> --
>>> Thiago H. de Paula Figueiredo
>>> Tapestry, Java and Hibernate consultant and developer
>>> http://machina.com.br
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>
>>
>>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 09 Oct 2014 17:10:47 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,
>
>
> Yes i see the streamed response generated.

What's its URL?

>
> Regards
> Akshay
>
> On Thu, Oct 9, 2014 at 10:01 PM, Thiago H de Paula Figueiredo <
> thiagohp@gmail.com> wrote:
>
>> When you request your page file directly, do you get the transformed  
>> CSS?
>>
>>
>> On Thu, 09 Oct 2014 16:40:32 -0300, akshay <ak...@gmail.com>
>> wrote:
>>
>>  Hi Thiago,
>>>
>>> Well I use tapestry 5.4.
>>>
>>> i) WhenvI tried using in tapestry 5.3 way:-
>>>  javaScriptSupport.importStylesheet(new
>>> StylesheetLink("/config/lessToCss"));
>>>
>>> By doing this I see an empty lessToCss streamed file loaded.On  
>>> debugging I
>>> see that  the page itself was never fired. Looks like just a normal  
>>> import
>>> happens.
>>>
>>>
>>> ii) Doing it in tapestry 5.4 way:-
>>> @Import(stylesheet="//:config/lessToCss")
>>>
>>> It doesnt even import the file, i dont even see the file getting  
>>> loaded.
>>>
>>> Its tough time getting this worked :(
>>>
>>> Regards
>>> Akshay
>>>
>>>
>>>
>>>
>>> On Thu, Oct 9, 2014 at 8:59 PM, Thiago H de Paula Figueiredo <
>>> thiagohp@gmail.com> wrote:
>>>
>>>  On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>
>>>> wrote:
>>>>
>>>>  Hi Thiago,
>>>>
>>>>>
>>>>>
>>>> Hi!
>>>>
>>>>
>>>>  Well, I was trying the implement the solution given by you, but I  
>>>> see a
>>>>> problem.
>>>>>
>>>>> i) my lessToCSS page is located at the package:-
>>>>>   abc.wp.pages.config.
>>>>>
>>>>> ii) First I tried doing this in Tapestry 5.4 way:-
>>>>> @Import(stylesheet="//:config/lessToCss")
>>>>>     It doesn't work.
>>>>>
>>>>>
>>>> Please don't say it doesn't work, as it's almost no information.
>>>>
>>>> @Import with "//:" will only work on 5.4, not on 5.3, which you said
>>>> you're using.
>>>>
>>>>   iii) But when I try achieving the same doing this way:-
>>>>
>>>>>  javaScriptSupport.importStylesheet(new
>>>>> StylesheetLink("../config/lessToCss"));
>>>>>
>>>>>
>>>> It should have been "/config/lessToCss", which is absolute, without  
>>>> the
>>>> "../", which is relative. Tapestry will take care of adjusting the  
>>>> path
>>>> if
>>>> needed.
>>>>
>>>>
>>>> --
>>>> Thiago H. de Paula Figueiredo
>>>> Tapestry, Java and Hibernate consultant and developer
>>>> http://machina.com.br
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> Thiago H. de Paula Figueiredo
>> Tapestry, Java and Hibernate consultant and developer
>> http://machina.com.br
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>


-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,


Yes i see the streamed response generated.

Regards
Akshay

On Thu, Oct 9, 2014 at 10:01 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> When you request your page file directly, do you get the transformed CSS?
>
>
> On Thu, 09 Oct 2014 16:40:32 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>> Well I use tapestry 5.4.
>>
>> i) WhenvI tried using in tapestry 5.3 way:-
>>  javaScriptSupport.importStylesheet(new
>> StylesheetLink("/config/lessToCss"));
>>
>> By doing this I see an empty lessToCss streamed file loaded.On debugging I
>> see that  the page itself was never fired. Looks like just a normal import
>> happens.
>>
>>
>> ii) Doing it in tapestry 5.4 way:-
>> @Import(stylesheet="//:config/lessToCss")
>>
>> It doesnt even import the file, i dont even see the file getting loaded.
>>
>> Its tough time getting this worked :(
>>
>> Regards
>> Akshay
>>
>>
>>
>>
>> On Thu, Oct 9, 2014 at 8:59 PM, Thiago H de Paula Figueiredo <
>> thiagohp@gmail.com> wrote:
>>
>>  On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>
>>> wrote:
>>>
>>>  Hi Thiago,
>>>
>>>>
>>>>
>>> Hi!
>>>
>>>
>>>  Well, I was trying the implement the solution given by you, but I see a
>>>> problem.
>>>>
>>>> i) my lessToCSS page is located at the package:-
>>>>   abc.wp.pages.config.
>>>>
>>>> ii) First I tried doing this in Tapestry 5.4 way:-
>>>> @Import(stylesheet="//:config/lessToCss")
>>>>     It doesn't work.
>>>>
>>>>
>>> Please don't say it doesn't work, as it's almost no information.
>>>
>>> @Import with "//:" will only work on 5.4, not on 5.3, which you said
>>> you're using.
>>>
>>>   iii) But when I try achieving the same doing this way:-
>>>
>>>>  javaScriptSupport.importStylesheet(new
>>>> StylesheetLink("../config/lessToCss"));
>>>>
>>>>
>>> It should have been "/config/lessToCss", which is absolute, without the
>>> "../", which is relative. Tapestry will take care of adjusting the path
>>> if
>>> needed.
>>>
>>>
>>> --
>>> Thiago H. de Paula Figueiredo
>>> Tapestry, Java and Hibernate consultant and developer
>>> http://machina.com.br
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>
>>
>>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
When you request your page file directly, do you get the transformed CSS?

On Thu, 09 Oct 2014 16:40:32 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,
>
> Well I use tapestry 5.4.
>
> i) WhenvI tried using in tapestry 5.3 way:-
>  javaScriptSupport.importStylesheet(new
> StylesheetLink("/config/lessToCss"));
>
> By doing this I see an empty lessToCss streamed file loaded.On debugging  
> I
> see that  the page itself was never fired. Looks like just a normal  
> import
> happens.
>
>
> ii) Doing it in tapestry 5.4 way:-
> @Import(stylesheet="//:config/lessToCss")
>
> It doesnt even import the file, i dont even see the file getting loaded.
>
> Its tough time getting this worked :(
>
> Regards
> Akshay
>
>
>
>
> On Thu, Oct 9, 2014 at 8:59 PM, Thiago H de Paula Figueiredo <
> thiagohp@gmail.com> wrote:
>
>> On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>
>> wrote:
>>
>>  Hi Thiago,
>>>
>>
>> Hi!
>>
>>
>>> Well, I was trying the implement the solution given by you, but I see a
>>> problem.
>>>
>>> i) my lessToCSS page is located at the package:-
>>>   abc.wp.pages.config.
>>>
>>> ii) First I tried doing this in Tapestry 5.4 way:-
>>> @Import(stylesheet="//:config/lessToCss")
>>>     It doesn't work.
>>>
>>
>> Please don't say it doesn't work, as it's almost no information.
>>
>> @Import with "//:" will only work on 5.4, not on 5.3, which you said
>> you're using.
>>
>>   iii) But when I try achieving the same doing this way:-
>>>  javaScriptSupport.importStylesheet(new
>>> StylesheetLink("../config/lessToCss"));
>>>
>>
>> It should have been "/config/lessToCss", which is absolute, without the
>> "../", which is relative. Tapestry will take care of adjusting the path  
>> if
>> needed.
>>
>>
>> --
>> Thiago H. de Paula Figueiredo
>> Tapestry, Java and Hibernate consultant and developer
>> http://machina.com.br
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>


-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Well I use tapestry 5.4.

i) WhenvI tried using in tapestry 5.3 way:-
 javaScriptSupport.importStylesheet(new
StylesheetLink("/config/lessToCss"));

By doing this I see an empty lessToCss streamed file loaded.On debugging I
see that  the page itself was never fired. Looks like just a normal import
happens.


ii) Doing it in tapestry 5.4 way:-
@Import(stylesheet="//:config/lessToCss")

It doesnt even import the file, i dont even see the file getting loaded.

Its tough time getting this worked :(

Regards
Akshay




On Thu, Oct 9, 2014 at 8:59 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hi!
>
>
>> Well, I was trying the implement the solution given by you, but I see a
>> problem.
>>
>> i) my lessToCSS page is located at the package:-
>>   abc.wp.pages.config.
>>
>> ii) First I tried doing this in Tapestry 5.4 way:-
>> @Import(stylesheet="//:config/lessToCss")
>>     It doesn't work.
>>
>
> Please don't say it doesn't work, as it's almost no information.
>
> @Import with "//:" will only work on 5.4, not on 5.3, which you said
> you're using.
>
>   iii) But when I try achieving the same doing this way:-
>>  javaScriptSupport.importStylesheet(new
>> StylesheetLink("../config/lessToCss"));
>>
>
> It should have been "/config/lessToCss", which is absolute, without the
> "../", which is relative. Tapestry will take care of adjusting the path if
> needed.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 09 Oct 2014 12:19:17 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

>
> Well, I was trying the implement the solution given by you, but I see a
> problem.
>
> i) my lessToCSS page is located at the package:-
>   abc.wp.pages.config.
>
> ii) First I tried doing this in Tapestry 5.4 way:-
> @Import(stylesheet="//:config/lessToCss")
>     It doesn't work.

Please don't say it doesn't work, as it's almost no information.

@Import with "//:" will only work on 5.4, not on 5.3, which you said  
you're using.

>  iii) But when I try achieving the same doing this way:-
>  javaScriptSupport.importStylesheet(new
> StylesheetLink("../config/lessToCss"));

It should have been "/config/lessToCss", which is absolute, without the  
"../", which is relative. Tapestry will take care of adjusting the path if  
needed.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Well, I was trying the implement the solution given by you, but I see a
problem.

i) my lessToCSS page is located at the package:-
  abc.wp.pages.config.

ii) First I tried doing this in Tapestry 5.4 way:-
@Import(stylesheet="//:config/lessToCss")
    It doesn't work.

 iii) But when I try achieving the same doing this way:-
 javaScriptSupport.importStylesheet(new
StylesheetLink("../config/lessToCss"));

It works fine for few of the pages, obviously because we have static
defined page url. So if I, try to access some other page with some
different package definition, it is bound to fail.

In such cases, I am just thinking what should be the correct approach( I
tried using URL , but didnĀ“t get it to work) . Any ideas on this.


Regards
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Tue, 07 Oct 2014 14:15:26 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

> If you were using 5.4, you could @Import(stylesheet="//:yourCss
> FileFileUrl");
>
> Do you mean the page url?? Because  I have Stream response of cssContent.
> The css file doesnt exist in the workspace.

Yep! The page URL is your CSS file URL, as the former is generating the  
latter.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

If you were using 5.4, you could @Import(stylesheet="//:yourCss
FileFileUrl");

Do you mean the page url?? Because  I have Stream response of cssContent.
The css file doesnt exist in the workspace.

in case I misunderstood, can you highlight an example?

Regards
Akshay

On Tue, Oct 7, 2014 at 5:13 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Tue, 07 Oct 2014 05:53:01 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hi!
>
>  <link href="${contextPath}/config/LessToCss" rel='stylesheet'
>> type='text/css'/>.
>>
>> I already saw the tapestry mailing list about how to override the
>> bootstrap.css , but my scenario is bit different as I have a Stream
>> Response of css content ( and not a physically present css file).
>>
>> I need to have a way so that my Streamed css response get loaded after
>> the bootstrap.css.
>>
>
> Isn't this happening already? If not, one solution is to @Inject
> JavaScriptSupport and use its importStylesheet(new StylesheetLink("/yourCssFileFileUrl"));.
> If you were using 5.4, you could @Import(stylesheet="//:
> yourCssFileFileUrl");.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Tue, 07 Oct 2014 05:53:01 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

> <link href="${contextPath}/config/LessToCss" rel='stylesheet'
> type='text/css'/>.
>
> I already saw the tapestry mailing list about how to override the
> bootstrap.css , but my scenario is bit different as I have a Stream
> Response of css content ( and not a physically present css file).
>
> I need to have a way so that my Streamed css response get loaded after  
> the bootstrap.css.

Isn't this happening already? If not, one solution is to @Inject  
JavaScriptSupport and use its importStylesheet(new  
StylesheetLink("/yourCssFileFileUrl"));. If you were using 5.4, you could  
@Import(stylesheet="//:yourCssFileFileUrl");.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Thanks for the idea. I have to give a try! whooo :( !!!!

I see another different problem occurring yesterday, that my streamed css
response that is returned from the tapestry page gets overridden by the
bootstrap.css.

I have something like this in my layout component inside the header tag
(which of course is not the best idea).

<link href="${contextPath}/config/LessToCss" rel='stylesheet'
type='text/css'/>.

I already saw the tapestry mailing list about how to override the
bootstrap.css , but my scenario is bit different as I have a Stream
Response of css content ( and not a physically present css file).

I need to have a way so that my Streamed css response get loaded after the
bootstrap.css.

Any help on this, I was unable to find a relevant documentation for this.


Regards
Akshay





On Mon, Oct 6, 2014 at 11:45 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Mon, 06 Oct 2014 06:05:25 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hi!
>
>  Yes, of course. I will share the solution, but I have one more
>> withstanding
>> problem.
>>
>> In my compiled CSS the image paths are wrong.
>>
>> In my less file the images are referenced with relative path, like
>>
>> @product: url(../images/product.svg);
>>
>
> Do your really need relative paths? They usually mess up things when
> inside an environment in which URLs may be mapped in a different way as in
> the filesystem folders. As you're using some kind of template to generate
> the Less file to be compiled, you could pass the prefix to these URLs
> instead of using relative paths.
>
>  I can figure out the problem that, in the tapestry way of compilation the
>> images are loaded as an assets and tapestry gives the assets the specific
>> URLs (as mentioned above) . Since in my case I am using the Less Compiler
>> directly, the compiled CSS instead points to the relative path url
>> (../images/product.svg).
>>
>
> This could be avoided if you tried to figure out the code inside Tapestry
> that deals with Less compilation.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Mon, 06 Oct 2014 06:05:25 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

> Yes, of course. I will share the solution, but I have one more  
> withstanding
> problem.
>
> In my compiled CSS the image paths are wrong.
>
> In my less file the images are referenced with relative path, like
>
> @product: url(../images/product.svg);

Do your really need relative paths? They usually mess up things when  
inside an environment in which URLs may be mapped in a different way as in  
the filesystem folders. As you're using some kind of template to generate  
the Less file to be compiled, you could pass the prefix to these URLs  
instead of using relative paths.

> I can figure out the problem that, in the tapestry way of compilation the
> images are loaded as an assets and tapestry gives the assets the specific
> URLs (as mentioned above) . Since in my case I am using the Less Compiler
> directly, the compiled CSS instead points to the relative path url
> (../images/product.svg).

This could be avoided if you tried to figure out the code inside Tapestry  
that deals with Less compilation.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Yes, of course. I will share the solution, but I have one more withstanding
problem.

In my compiled CSS the image paths are wrong.

In my less file the images are referenced with relative path, like

@product: url(../images/product.svg);

and should be (in the compiled CSS) like:-

@product: url(/appContext/assets/ctx/6787fbc2/images/product.svg);


For compiling the less file to CSS I am doing the following things:-

    LessResourceTransformer lessResourceTransformer = new
LessResourceTransformer();


              return
lessResourceTransformer.transform(lessFile.getResource(),
        new ResourceChangeTrackerImpl(new
ClasspathURLConverterImpl(),false));
      }

The ResourceChangeTrackerImpl class is responsible for loading and tracking
the assets(images). In the normal flow, this class is injected much before
the Less Compiler is called.

I can figure out the problem that, in the tapestry way of compilation the
images are loaded as an assets and tapestry gives the assets the specific
URLs (as mentioned above) . Since in my case I am using the Less Compiler
directly, the compiled CSS instead points to the relative path url
(../images/product.svg).

Any suggestions for this?


Regards
Akshay


On Wed, Oct 1, 2014 at 4:24 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Wed, 01 Oct 2014 11:08:35 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hello, Akshay!
>
>  Your idea works.Great!!
>> Thanks a lot!!!
>>
>
> Yay! :)
>
> Is it possible for you to share the solution, so other people with similar
> needs can benefit from it?
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Wed, 01 Oct 2014 11:08:35 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hello, Akshay!

> Your idea works.Great!!
> Thanks a lot!!!

Yay! :)

Is it possible for you to share the solution, so other people with similar  
needs can benefit from it?

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Your idea works.Great!!

Thanks a lot!!!

Regards
Akshay

On Fri, Sep 26, 2014 at 6:59 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Fri, 26 Sep 2014 12:53:00 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hi!
>
>  I believe tapestry 5.4 doesn't have any wro4j related packages. Rather,
>> when I debug I see a ResourceTransformer class  calling LessCompiler,
>> LessToCssCompiler and few other classes.
>>
>
> Yep, 5.3 used wro4j, but 5.4 uses Less4j. Anyway, you can use any of them
> directly. What you want to do has different assumptions to the
> out-of-the-box Tapestry's Less support.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Fri, 26 Sep 2014 12:53:00 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

> I believe tapestry 5.4 doesn't have any wro4j related packages. Rather,
> when I debug I see a ResourceTransformer class  calling LessCompiler,
> LessToCssCompiler and few other classes.

Yep, 5.3 used wro4j, but 5.4 uses Less4j. Anyway, you can use any of them  
directly. What you want to do has different assumptions to the  
out-of-the-box Tapestry's Less support.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

I believe tapestry 5.4 doesn't have any wro4j related packages. Rather,
when I debug I see a ResourceTransformer class  calling LessCompiler,
LessToCssCompiler and few other classes.
It really looks complicated to directly use and get hold of these
classes.(may be i am overlooking something).

Regards
Akshay

On Thu, Sep 25, 2014 at 4:22 PM, akshay <ak...@gmail.com> wrote:

> Hi,
>
> Is there any way in  tapestry 5.4 (*production mode)  *where-in, I can
> fire the tapestry compiling chain again ( so that my less file are compiled
> again).
>
> I am able to get this done in *development *mode, by adding a request
> filter(which picks my dynamic changes on the file), by adding my
> RequestHandler in AppModule class:-
>
> public void contributeRequestHandler(
>    OrderedConfiguration<RequestFilter> configuration) {
>    configuration.addInstance("XYZRequestFilter",
>    XYZRequestFilter.class, "before:*");
>    }
>
>
> But the same approach, doesn't work in production mode( since the caching
> mechanism is different).
>
> Any idea/suggestions would be of great help.
>
>
> Regards,
> Akshay
>



-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Lance Java <la...@googlemail.com>.
If you are changing the content of the css, you should also change the name
/ path to the css. This will allow you to keep the far future expiry and
browser caching.

Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

No, I give it a try now.

Thanks for the response.


Will let you know the outcome :)

Regards
Akshay

On Fri, Sep 26, 2014 at 12:00 AM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Thu, 25 Sep 2014 18:53:14 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi Thiago,
>>
>
> Hi!
>
>  I had a servlet before doing this for me , but now with the requirement
>> to modify .less files. I converted the Servlet into the Request Filter(
>> added that filter into the AppModule class). Doing this yields me the
>> desired
>> output, but only in development mode(not in production mode). I want to
>> achieve the same behavior in production mode. I debugged into the Request
>> transfomer class and found that the resources are looked for changes(not
>> without a server restart), only in the development mode.
>>
>
> As Lance already said, in production mode, assets are expected to *not*
> change, so you need to take another route. In addition, changing the asset
> programatically in the filesystem is a bad idea. The Less pipeline doesn't
> expect you do that.
>
>  Wondering, how can I get a solution for it.
>>
>
> Have you checked the solution I proposed in my previous e-mail? ;)
>
> Tapestry uses WRO4J (https://code.google.com/p/wro4j/) for Less
> compiling, so you can use easily use it before you generated your Less file.
>
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 25 Sep 2014 18:53:14 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi Thiago,

Hi!

> I had a servlet before doing this for me , but now with the requirement  
> to modify .less files. I converted the Servlet into the Request Filter(  
> added that filter into the AppModule class). Doing this yields me the  
> desired
> output, but only in development mode(not in production mode). I want to
> achieve the same behavior in production mode. I debugged into the Request
> transfomer class and found that the resources are looked for changes(not
> without a server restart), only in the development mode.

As Lance already said, in production mode, assets are expected to *not*  
change, so you need to take another route. In addition, changing the asset  
programatically in the filesystem is a bad idea. The Less pipeline doesn't  
expect you do that.

> Wondering, how can I get a solution for it.

Have you checked the solution I proposed in my previous e-mail? ;)

Tapestry uses WRO4J (https://code.google.com/p/wro4j/) for Less compiling,  
so you can use easily use it before you generated your Less file.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi Thiago,

Thanks!!

Yes I have already done this with css and its pretty simple( much more than
modifying .less file).

I had a servlet before doing this for me , but now with the requirement to
modify .less files. I converted the Servlet into the Request Filter( added
that filter into the AppModule class). Doing this yields me the desired
output, but only in development mode(not in production mode). I want to
achieve the same behavior in production mode. I debugged into the Request
transfomer class and found that the resources are looked for changes(not
without a server restart), only in the development mode.

Wondering, how can I get a solution for it.


Regards
Akshay




On Thu, Sep 25, 2014 at 11:37 PM, Thiago H de Paula Figueiredo <
thiagohp@gmail.com> wrote:

> On Thu, 25 Sep 2014 17:59:33 -0300, akshay <ak...@gmail.com>
> wrote:
>
>  Hi,
>>
>
> Hi!
>
>  I am working on Theming the website and have a requirement where in I can
>> directly change the Less variables dynamically(something like color) of
>> the menu bar, before they are compiled into the css.
>> Do we have any hook around for this?
>>
>
> Without Less, I add a <style> element to my template inside <body> and
> output the dynamic parts there, while keeping the static parts in a .css
> file.
>
> With Less, you can try figuring out what's the Tapestry-IoC which compiles
> Less and use directly, probably creating a Tapestry page to return the
> resulting CSS wrapped in a StreamResponse.
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 25 Sep 2014 17:59:33 -0300, akshay <ak...@gmail.com>  
wrote:

> Hi,

Hi!

> I am working on Theming the website and have a requirement where in I can
> directly change the Less variables dynamically(something like color) of  
> the menu bar, before they are compiled into the css.
> Do we have any hook around for this?

Without Less, I add a <style> element to my template inside <body> and  
output the dynamic parts there, while keeping the static parts in a .css  
file.

With Less, you can try figuring out what's the Tapestry-IoC which compiles  
Less and use directly, probably creating a Tapestry page to return the  
resulting CSS wrapped in a StreamResponse.

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry Production Mode

Posted by akshay <ak...@gmail.com>.
Hi,

I am working on Theming the website and have a requirement where in I can
directly change the Less variables dynamically(something like color) of the
menu bar, before they are compiled into the css.

Do we have any hook around for this?

Regards
Akshay

On Thu, Sep 25, 2014 at 8:56 PM, Lance Java <la...@googlemail.com>
wrote:

> Went would you want to do that? Css should be considered static. Tapestry
> uses far future expire headers for css so that browsers can aggressively
> cache them.
>  On 25 Sep 2014 15:23, "akshay" <ak...@gmail.com> wrote:
>
> > Hi,
> >
> > Is there any way in  tapestry 5.4 (*production mode)  *where-in, I can
> fire
> > the tapestry compiling chain again ( so that my less file are compiled
> > again).
> >
> > I am able to get this done in *development *mode, by adding a request
> > filter(which picks my dynamic changes on the file), by adding my
> > RequestHandler in AppModule class:-
> >
> > public void contributeRequestHandler(
> >    OrderedConfiguration<RequestFilter> configuration) {
> >    configuration.addInstance("XYZRequestFilter",
> >    XYZRequestFilter.class, "before:*");
> >    }
> >
> >
> > But the same approach, doesn't work in production mode( since the caching
> > mechanism is different).
> >
> > Any idea/suggestions would be of great help.
> >
> >
> > Regards,
> > Akshay
> >
>



-- 
Cheers!!
Akshay

Re: Tapestry Production Mode

Posted by Lance Java <la...@googlemail.com>.
Went would you want to do that? Css should be considered static. Tapestry
uses far future expire headers for css so that browsers can aggressively
cache them.
 On 25 Sep 2014 15:23, "akshay" <ak...@gmail.com> wrote:

> Hi,
>
> Is there any way in  tapestry 5.4 (*production mode)  *where-in, I can fire
> the tapestry compiling chain again ( so that my less file are compiled
> again).
>
> I am able to get this done in *development *mode, by adding a request
> filter(which picks my dynamic changes on the file), by adding my
> RequestHandler in AppModule class:-
>
> public void contributeRequestHandler(
>    OrderedConfiguration<RequestFilter> configuration) {
>    configuration.addInstance("XYZRequestFilter",
>    XYZRequestFilter.class, "before:*");
>    }
>
>
> But the same approach, doesn't work in production mode( since the caching
> mechanism is different).
>
> Any idea/suggestions would be of great help.
>
>
> Regards,
> Akshay
>