In the node_load() caching patch we&#39;ve added a hook_nodeapi_post_load() which is uncached - so poll implements hook_nodeapi_load() to get the options in there, and hook_nodeapi_post_load() to get user-specific information. <br>
<br>There may well be a use case for a field_attach equivalent which does the same thing. Field already has a cache though, so if we&#39;re caching objects persistently there&#39;d actually be no change on this specific point.<br>
<br>Nat<br><br><div class="gmail_quote">On Wed, Feb 25, 2009 at 8:58 PM, Josh Koenig <span dir="ltr">&lt;<a href="mailto:josh@chapterthree.com">josh@chapterthree.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">&gt; There is the issue of distinguishing cacheable and non-cacheable fields.<br>
&gt; Does D7 Fields API flag fields as cacheable to make this simpler?<br>
<br>
</div>Off the top of my head, it would somewhat defeat the purpose of<br>
object-caching to try and handle this on the per-field basis. You&#39;d<br>
really need field-level caching then, which is an order of magnitude<br>
more in complexity (if not more).<br>
<br>
That said, I&#39;m not sure what a &quot;non cacheable&quot; field would be like,<br>
unless it was some kind of php computed value, which seems like an<br>
edge case. Am I mistaking your meaning here? In mose cases, the field<br>
values should only change when the object itself is updated, at which<br>
point the cache would be invalidated anyway, and the next load would<br>
be fresh.<br>
<br>
This does break down if there&#39;s a computed value in a field. The most<br>
basic example I can think of is a node with PHP content for the body.<br>
Maybe something that displays the current time. As it stands, I<br>
believe Drupal&#39;s page caching system grabs the output of that PHP and<br>
stores it for anonymous users, meaning they&#39;ll get out-of-date<br>
computations.<br>
<br>
That&#39;s potentially a big deal if you&#39;re talking about object-level<br>
caching for logged-in users, so perhaps we would treat nodes like this<br>
as &quot;uncacheable.&quot;<br>
<br>
Anyway, let me know if I&#39;m way off here.<br>
<br>
I&#39;ll also be checking up on Nedjo&#39;s patch, as that definitely seems<br>
like the right architectural solution for drupal 7 core.<br>
<br>
cheers<br>
<font color="#888888">-j<br>
</font></blockquote></div><br>