Home
last modified time | relevance | path

Searched hist:"791 e1550678744da5dbeb2c759336aa863a05a88" (Results 1 – 3 of 3) sorted by relevance

/plugin/include/syntax/
H A Dinclude.php791e1550678744da5dbeb2c759336aa863a05a88 Fri Dec 10 00:22:35 UTC 2010 Michael Hamann <michael@content-space.de> Restructuring, first version of new cache handling

This commit replaces user dependent include keys by just one cache for
each page. This means the cache needs to be regenerated more often when
e.g. the edit permissions are different. As this is just a renderer
cache this shouldn't be a big problem. The main reason for this is that
the metadata won't be correctly updated when a different cache file is
used for every user.

In the metadata all include instructions are stored so when the cache is
checked the list of pages that actually should be included can be
reconstructed and then compared to the list of pages that has been
included when the page/metadata has been rendered.

The order of the includes and the respective parent pages are taken into
consideration so something like the inclusion of two user-dependent
pages that include each other won't break this cache handling. I'm not
sure if all scenarios are handled by this cache correctly, but I
can't think of a scenario where the page should be rendered but
neither the order nor the parent id nor one of the included pages has
been changed. When one included page is replaced by another one because
of these placeholders all sub-includes of that page will still be
checked but as then the cache will be purged anyway this doesn't matter.

I've decided against just storing one level of include instructions in
the metadata of every page and for storing everything in the root as
reading a lot of files should imho be avoided. The metadata that is read
might be outdated, but outdated metadata can only be a result of a
change in one of the included pages which is handled by the
file dependencies.

/plugin/include/
H A Daction.php791e1550678744da5dbeb2c759336aa863a05a88 Fri Dec 10 00:22:35 UTC 2010 Michael Hamann <michael@content-space.de> Restructuring, first version of new cache handling

This commit replaces user dependent include keys by just one cache for
each page. This means the cache needs to be regenerated more often when
e.g. the edit permissions are different. As this is just a renderer
cache this shouldn't be a big problem. The main reason for this is that
the metadata won't be correctly updated when a different cache file is
used for every user.

In the metadata all include instructions are stored so when the cache is
checked the list of pages that actually should be included can be
reconstructed and then compared to the list of pages that has been
included when the page/metadata has been rendered.

The order of the includes and the respective parent pages are taken into
consideration so something like the inclusion of two user-dependent
pages that include each other won't break this cache handling. I'm not
sure if all scenarios are handled by this cache correctly, but I
can't think of a scenario where the page should be rendered but
neither the order nor the parent id nor one of the included pages has
been changed. When one included page is replaced by another one because
of these placeholders all sub-includes of that page will still be
checked but as then the cache will be purged anyway this doesn't matter.

I've decided against just storing one level of include instructions in
the metadata of every page and for storing everything in the root as
reading a lot of files should imho be avoided. The metadata that is read
might be outdated, but outdated metadata can only be a result of a
change in one of the included pages which is handled by the
file dependencies.

H A Dhelper.php791e1550678744da5dbeb2c759336aa863a05a88 Fri Dec 10 00:22:35 UTC 2010 Michael Hamann <michael@content-space.de> Restructuring, first version of new cache handling

This commit replaces user dependent include keys by just one cache for
each page. This means the cache needs to be regenerated more often when
e.g. the edit permissions are different. As this is just a renderer
cache this shouldn't be a big problem. The main reason for this is that
the metadata won't be correctly updated when a different cache file is
used for every user.

In the metadata all include instructions are stored so when the cache is
checked the list of pages that actually should be included can be
reconstructed and then compared to the list of pages that has been
included when the page/metadata has been rendered.

The order of the includes and the respective parent pages are taken into
consideration so something like the inclusion of two user-dependent
pages that include each other won't break this cache handling. I'm not
sure if all scenarios are handled by this cache correctly, but I
can't think of a scenario where the page should be rendered but
neither the order nor the parent id nor one of the included pages has
been changed. When one included page is replaced by another one because
of these placeholders all sub-includes of that page will still be
checked but as then the cache will be purged anyway this doesn't matter.

I've decided against just storing one level of include instructions in
the metadata of every page and for storing everything in the root as
reading a lot of files should imho be avoided. The metadata that is read
might be outdated, but outdated metadata can only be a result of a
change in one of the included pages which is handled by the
file dependencies.