Drupal 5 has no block cache in core, so when sites go upgraded from d5 to d6 the book module forgets to set cache parameter for own block.

By default blocks.cache is BLOCK_CACHE_PER_ROLE but for book module it should be

      $block[0]['info'] = t('Book navigation');
      $block[0]['cache'] = BLOCK_CACHE_PER_PAGE | BLOCK_CACHE_PER_ROLE;

So here the patch for D7 and D6

I put this update in extra section because of many sites have D6 and #278592: Sync 6.x extra updates with HEAD

CommentFileSizeAuthor
book_upgrade_D6.patch855 bytesandypost
book_upgrade_path.patch844 bytesandypost
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

andypost’s picture

tagged

cburschka’s picture

Status: Needs review » Needs work

update_sql() doesn't actually exist in D7 anymore. This doesn't look right...

andypost’s picture

This patch is outdated for D7 and really needs work because http://api.drupal.org/api/function/system_update_6027/6 not always works.

Attempts to reproduce, with varying success...

Anonymous’s picture

Status: Needs work » Closed (won't fix)

I'm going to guess this is a won't fix for D6, since D6 commits focus on security fixes at this point.

andypost’s picture

Status: Closed (won't fix) » Needs work

Not sure about backport but currently we have broken cache for book.module after D6 migration and no upgrade patch