This content has been marked as final. Show 1 reply
Good question. We have asked ourselves this and are considering removing the restriction in 4.0. I think it initially had to do with preventing unwanted side effects and anomalies although none of us can recall the details right now. We will have to carefully look at ways to make this something developers can use easily while preventing strange results. First of all, caching of page 0 doesn't make sense. You want to be able to cache regions on page 0. Now, say your page 0 has two regions, P0_CACHED and P0_DYN (one cached, one dynamic). And your page 10 has region P10_CACHED. When page 10 is rendered, you'll get:
That looks okay, you get one cached region from page 0, one dynamic region from page 0, and one cached region from page 10. Of course you have controls with which to purge any individual region from the cache so you can cause P0_CACHED to be refreshed whenever you like.
But say page 20 is a cached page. When it renders you'll get:
P0_CACHED <-- not from the page 0 region cache but from the page 20 page cache, regardless of the "stale-ness" of the page 0 cache
P0_DYN <-- not rendered dynamically from page 0 but retrieved as part of the page 20 page cache. But this content may be different from the content for the same page 0 region displayed on page 10 one second ago or one second from now.
P20_DYN <-- from the page cache as is normal for a dynamic region on a cached page
Hardly a thorough treatment, I realize. Just wanted you to know some of the aspects we have to consider. We will also have to read this thread again to come back up to speed: V3 Caching - any more info? .