You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Bas Gooren <ba...@iswd.nl> on 2013/06/05 21:27:24 UTC
Custom markup cache key in hierarchy
Hi *,
We've built a platform which hosts dynamic websites. Websites can be
added/updated/removed on demand, and all run on a single wicket
application (wicket 1.5-based).
So far we've used custom css to override the look & feel for each
websites, providing the websites with a selection of themes (css + images).
One of the features we're currently researching is to allow a theme to
provide custom html to the wicket base page which is used for layout.
We've also built a CMS in wicket, so using IMarkupResourceStreamProvider
and IMarkupCacheKeyProvider is something we've done before.
So far, so good.
The problem is that we have various pages in the app which extend our
base page (WebsiteLayout), and their markup is not refreshed once the
layout changes it's theme (and thus has different html).
Even though we return a different markup cache key (it's based on the
theme ID), and a different markup resource stream, the new markup is
never loaded.
I think it's due to the fact that pages which extend the layout also
have their entire markup cached (MergedMarkup).
My original idea was to only provide a custom cache key for the layout,
and let wicket handle everything else. Then, when the theme html is
updated, we can simply remove that single cache key from the wicket
markup cache, and it will be reloaded.
I think we can circumvent that by providing a custom markup cache key
for all pages which extend the layout, but that creates a bit of a
hassle for cleaning up the markup cache. It's doable (keep track of all
cache keys generated for a theme, and remove all of them from the
cache), but before we proceed I'd like some feedback from others: is
this the way to go?
--
Met vriendelijke groet,
Kind regards,
Bas Gooren
Re: Custom markup cache key in hierarchy
Posted by Sven Meier <sv...@meiers.net>.
Hi,
I think your usage should work. Can you create a quickstart and attach
it to a Jira issue?
Sven
On 06/05/2013 09:27 PM, Bas Gooren wrote:
> Hi *,
>
> We've built a platform which hosts dynamic websites. Websites can be
> added/updated/removed on demand, and all run on a single wicket
> application (wicket 1.5-based).
>
> So far we've used custom css to override the look & feel for each
> websites, providing the websites with a selection of themes (css +
> images).
>
> One of the features we're currently researching is to allow a theme to
> provide custom html to the wicket base page which is used for layout.
> We've also built a CMS in wicket, so using
> IMarkupResourceStreamProvider and IMarkupCacheKeyProvider is something
> we've done before.
> So far, so good.
>
> The problem is that we have various pages in the app which extend our
> base page (WebsiteLayout), and their markup is not refreshed once the
> layout changes it's theme (and thus has different html).
> Even though we return a different markup cache key (it's based on the
> theme ID), and a different markup resource stream, the new markup is
> never loaded.
>
> I think it's due to the fact that pages which extend the layout also
> have their entire markup cached (MergedMarkup).
>
> My original idea was to only provide a custom cache key for the
> layout, and let wicket handle everything else. Then, when the theme
> html is updated, we can simply remove that single cache key from the
> wicket markup cache, and it will be reloaded.
>
> I think we can circumvent that by providing a custom markup cache key
> for all pages which extend the layout, but that creates a bit of a
> hassle for cleaning up the markup cache. It's doable (keep track of
> all cache keys generated for a theme, and remove all of them from the
> cache), but before we proceed I'd like some feedback from others: is
> this the way to go?
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org