Extending Drupal 7 Block Permissions

4th September 2011

Drupal 7's block module can be a little limited in its permissions; "Administer Blocks" is a rather sweeping capability, and often it's useful to be able to make it that bit more granular. For example, you may have a number of blocks throughout the site but once they have been placed in the correct region and the visibility correctly configured (which often isn't the simplest of processes), you don't want content managers to change those settings. You do, however, need to allow them to change the title as it appears to site visitors, and of course the content. This isn't possible out-of-the-box; luckily, it's not that hard to do. Inspired by kiamlaluno's post on Drupal Answers along these lines, I've knocked up a simple module to make permissions granular enough for just a situation. It's incredibly simple and somewhat limited, but it does enable to you to grant or deny access to each part of a block's configuration, i.e.: * the title as it appears to users * the description as it appears in the back-end * block content * the regions the block is assigned to * visibility settings

I've put the code on Github for now; download, install & enable, then you'll find five new permissions under block\_extended\_permissions. Hope you find it useful.