<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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">api.drupal.org</a>:<div><div><br></div><div>&nbsp;&nbsp;$blocks['yr_verdata_block'] = array(</div><div>&nbsp;&nbsp; &nbsp;'info' =&gt; t('Yr weather forecast for all locations'),</div><div>&nbsp;&nbsp; &nbsp;'cache' =&gt; DRUPAL_CACHE_PER_ROLE, // I have tried with per page and global as well.</div><div>&nbsp;&nbsp;);</div></div><div><br></div><div>This does not cache the block. If I set caching in the render array that's passed to $block['content'] 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 '#cache' element in hook_block_view() works independently of whether or not I 'enable' caching in hook_block_view(). Why is this?</div><div><br></div><div>What's the best practice for going about this?</div><div>Source code can be seen at <a href="http://drupalcode.org">drupalcode.org</a>:&nbsp;<a href="http://bit.ly/g586j6">http://bit.ly/g586j6</a></div><div>Lines: 185 (hook_block_info), 209 (hook_block_view). Theme function for the block is at&nbsp;<span class="Apple-style-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,&nbsp;</span><span class="Apple-style-span" style="color: rgb(80, 80, 80); font-family: sans-serif; ">yr_verdata_generate_forecastbox(),</span><span class="Apple-style-span" style="color: rgb(80, 80, 80); font-family: sans-serif; ">&nbsp;starts at 349).</span></div><div>&nbsp;(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></body></html>