I'm sure many of us have noticed a need for better block management. Or at least, these people have:
http://drupal.org/node/343710, http://drupal.org/node/416002, http://drupal.org/node/197844, http://drupal.org/node/386532
It does get harder to keep the blocks in the right order and to find the one you want to edit as the list grows, but my biggest problem is handling visibility settings.
As a user, here's how I'd expect to use blocks:
-
-I decide on a set number of block types to display throughout the site or site section, ie. "every page will have a featured download, a team member's feed, and a testimonial in the right column."
-
-As I make/edit pages, I pick which featured download, feed & testimonial to use.
-
-I can browse to a page, go in and replace one block with another, or with a new one.
Is it possible to translate these tasks into real actions in Drupal? I think the key needs here are
--some sort of content based grouping, which would help organize the blocks admin screen
--block controls on the node edit screen; probably a picklist for each group and checkboxes for ungrouped, active blocks
--a settings page that lets you choose which regions should be available for editing through the node (because there are probably headers, footers and other regions we don't want to think about during page editing.)
You can achieve a kind of grouping with taxonomy or by making specific "featured download" and "feed" regions in your theme, but it would be better if users could create logical groups right from blocks admin.
There are some contrib modules out there that might help, such as http://drupal.org/project/blockqueue and http://drupal.org/project/region_manager. I'm looking into ways to use these, but in the meantime, has anyone else wanted to use blocks this way?
Comments
Role-Based Administration Is Needed Also
The Admin Blocks listing page is somewhat daunting to most that are new to Drupal and unwieldy for those with large sites to manage.
I like the idea of grouping blocks. Collapsible fieldsets on regions would be a nice start. I can see a hover menu like Views currently has for blocks on pages and "swap" being an action in that list. Maybe it opens a modal window with a select to choose a replacement?
With regard to regions, I typically wind up creating regions specifically for the home page and labeling them as such for the Admin Blocks listing page. This just makes it easier for most of my clients to understand and most of them have unique blocks for the home page vs. interior pages. Although, it would be nice to be able to assign a block to multiple regions.
Another issue that needs to be fixed is that blocks should have similar permission granularity as nodes. The admin should be able to lock/unlock a block's edit/delete functionality based on a user's role. It would be great for authenticated users to only see what they can edit, delete, and move around. Currently, it's all or nothing which isn't ideal.