- Align pagemaps and version management so that pages and versions are
stored in, and retrieved from the same entity.
- Change the SecondLevelCacheSessionStore so that it either saves
pages without the version manager but rather exactly as they are at
that moment or save the first version as a full page, and subsequent
versions as changes. This would be my choice as it is more efficient
in especially storing it, and storing is the part having a greater
impact than retrieving.
- Page should only use a temporary instance of IPageVersionManager and
the newVersionManager method could be private imo as I don't see much
use now users being able to provide their own (in fact, we could get
rid of the IPageVersionManager interface). When endVersion is called,
the changes would be flushed and saved to the pagemap and the version
manager instance should be nulled.



4?> SecondLevelCacheStore  sets a IPageVersionManager, That manager is
almost completely dummy
except that it increases an page counter when the page is changed just like
the current one does.
then we generate the versionid but nothing more. And when we try to generate
an older page
the version manager will return null. Then it will go to the SecondLevel and
its IPageStore and reads
the right version in from disk.

One small problem then. Then i can't save pages in the background. I have to
do it before the request
ends. Because if i don't do that and the page is already altered again
before we save the page we loose that specific version.....
(or that page has to be locked before we can access it again.... that needs
te be done anyway i guess)

johan

Reply via email to