Wow that's what I call an elaborated response. Thanks a lot.
I'll try option C (labels). I plan to only cache the static part including
bookmarkable links and keep the rest normal Wicket. I will create the
static part using some templating-lib - maybe later use an extra Wicket
page, but I have to figure this out.
Regarding the bookmarkable links I think I can savely use
getPage().urlFor(null, pageClass, parameters). As I do not use a pop-up
the pageMap should be the default. Is this right?
Thanks,
Christian
Christian Essl wrote:
Hi Eelco,
Thanks for you reply. I have two more questions.
In case of static pages: I am not sure how this works together with the
rest of wicket. The pages contain also a login, search and
add-to-shopping-basket from. How do I create for static pages the
sepecial wicket-urls?
Option A: I think I would have a process autogenerate it to a protected
server area. Basically, you would just have some process let Wicket
render your pages (your process plays browser) and trap the output and
save that as pages. After that, it would be no wicket anymore, just you
and your webserver.
Or... option B: you could generate those pages, but still have an
important role for Wicket and use the Include component (which inclused
static HTML from any location).
In my special case. I actually do not want to cache the whole page.
There should be some dynamics ie personilized offers or a poll in a
side-box. However the cacheable catalog-part does not change and is in
a panel. Is it possible to lookup the generated html of this panel in a
cache and add this to the output or in case of expired-cache let the
panel generate it and put it in the cache?
Option C: use labels with label.setShouldEscapeModelStrings(false); Now,
let your model do the trick: lazily load the data, but once you have it,
just cache it. If you want to, you could even render large blocks of
HTML in such a label.
Option D (looks like C): take a look at the Include component. It's in
HEAD/ for 1.1, but if people want we can backport it. Anyway, this
component includes and displays a whole chunk of HTML from another
resource. Though it is not meant for including Wicket resources, it is
not really wrong either if you have a good use case. And that's what you
have. So, you could have a master page, and your product pages, and just
let your master page include a product page. The trick then, is to make
a custom version of Include that is smart enough to cache the result.
One issue more: you don't want to run out of pages; each page takes a
place in the session, so the Master and product page combination would
take up two slots in one go (out of ten by default). You should watch
this carefully when you include more Wicket pages in your master page,
or do something smart with getPage().getPageMap().remove();, which
removes the reference to the current page right away (and you wouldn't
need the product pages in your session any longer.
I think if you experiment with creating custom components a bit, you'll
think of something nice ;) I'd go for option C or D.
Eelco
Thanks,
Christian
Hi,
The markup is cached anyway. You probably want the results cached.
There's tons of ways to do it, the most obvious ones being:
- using a seperate cache, e.g. implemented as a servlet filter. I've
used http://www.opensymphony.com/oscache/ for this in the past. If you
only have to cache bookmarkable pages (and actually caching
non-bookmarkable pages is not a good idea as they need session state),
that works quite good.
Above two ways are not integrated with Wicket. We could consider
building in native support for caching, but as caching (at least the
kind of caching we're talking about here) spans multiple sessions, it
would not be a straight match with Wicket's design goals.
Eelco
Christian Essl wrote:
Hi,
My most used pages are product-catalog and product-detail. Both pages
are and should be bookmarkable. The product-catalog page uses a
ListView to show all products in a category. The detail pages uses a
form to add the prodcut to the shopping-basket:
Because the products do change only about every second week I want to
cache the markup for both pages (or better the actual panels which
show the products).
Is this possible in Wicket?
Thanks,
Christian
___________________________________________________________ Gesendet
von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden:
http://mail.yahoo.de
-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar
happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in
dual
core and dual graphics technology at this free one hour event hosted
by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar
happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in
dual
core and dual graphics technology at this free one hour event hosted
by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
--
Christian Essl
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user