Hi Fredrik - <br><br>I think you may have been testing as user 1.  I started testing your problem and noticed the same thing and started debugging and then noticed this code:<br><br><span style="font-family: courier new,monospace;">function _block_get_cache_id($block) {</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  global $user;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  // User 1 being out of the regular &#39;roles define permissions&#39; schema,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  // it brings too many chances of having unwanted output get in the cache</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  // and later be served to other users. We therefore exclude user 1 from</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  // block caching.</span><br><br>My testing (after I logged in as a different user) did show caching work correctly, at least in casual testing.<br><br>As a result of your note I&#39;ve added a timestamp into one of the blocks provided by the Block Example module, part of the Examples project (<a href="http://drupal.org/project/examples">http://drupal.org/project/examples</a>) so that one can easily explore whether caching is happening or not. When <a href="http://drupal.org/node/995316">http://drupal.org/node/995316</a> goes in (maybe tonight) it will make an easier way to explore block caching.<br>
<br>-Randy<br><br><div class="gmail_quote">On Tue, Dec 7, 2010 at 4:25 PM, Fredrik Sandve Kilander <span dir="ltr">&lt;<a href="mailto:fredrik.kilander@gmail.com">fredrik.kilander@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div style="word-wrap: break-word;">Hello. I am the maintainer of the yr_verdata module, and as I am trying to finish up updating my module for D7, I am having trouble understanding how block caching works. On my development site, I have enabled caching, and in hook_block_info() i have specified caching as per the example at <a href="http://api.drupal.org" target="_blank">api.drupal.org</a>:<div>
<div><br></div><div>  $blocks[&#39;yr_verdata_block&#39;] = array(</div><div>    &#39;info&#39; =&gt; t(&#39;Yr weather forecast for all locations&#39;),</div><div>    &#39;cache&#39; =&gt; DRUPAL_CACHE_PER_ROLE, // I have tried with per page and global as well.</div>
<div>  );</div></div><div><br></div><div>This does not cache the block. If I set caching in the render array that&#39;s passed to $block[&#39;content&#39;] in hook_block_view(), the caching works, but there are two things i wonder:</div>
<div>1. Is that the correct way to cache blocks?</div><div>2. Using render arrays with the &#39;#cache&#39; element in hook_block_view() works independently of whether or not I &#39;enable&#39; caching in hook_block_view(). Why is this?</div>
<div><br></div><div>What&#39;s the best practice for going about this?</div><div>Source code can be seen at <a href="http://drupalcode.org" target="_blank">drupalcode.org</a>: <a href="http://bit.ly/g586j6" target="_blank">http://bit.ly/g586j6</a></div>
<div>Lines: 185 (hook_block_info), 209 (hook_block_view). Theme function for the block is at <span style="color: rgb(80, 80, 80); font-family: sans-serif;">477, which gets its array of stuff from line 327 (the function called there, </span><span style="color: rgb(80, 80, 80); font-family: sans-serif;">yr_verdata_generate_forecastbox(),</span><span style="color: rgb(80, 80, 80); font-family: sans-serif;"> starts at 349).</span></div>
<div> (if you find any other stuff in my code to bash at, feel free :) )</div><div><br></div><div>Sincerely,</div><div>Fredrik Kilander</div><div>Maintainer of yr_verdata.module</div><div><br></div><div><br></div></div></blockquote>
</div><br><br clear="all"><br>-- <br>Randy Fay<br>Drupal Module and Site Development<br><a href="mailto:randy@randyfay.com">randy@randyfay.com</a><br>+1  970.462.7450<br><br>