Let's admit it, the block layout administration page in Drupal 7 was lacking for most real world Drupal 7 sites. For most sites you had to choose between a fairly complex module, Context, and a very complex module, Panels, to arrange what would show up on any given page. Panels was my go to module. I used it on many sites and led trainings on it.
But Blocks in Drupal 8 have gotten much better. From my point of view the two most important improvements are:
- Block settings are exportable via the new Configuration Management System.
- A single Block can be placed multiple times with different settings.
These two changes will make working with Blocks much easier. But there are still a few problems that make the core Block system hard to manage when dealing with many Blocks showing up under different circumstances. One of the major problems is how visibility conditions are administered.
Each block has its own visibility conditions. This makes it very difficult to manage a group of blocks that you want to show up under the same conditions in different regions on the page. The new Drupal 8 module Block Visibility Groups aims to solve this problem. It makes it very easy to make a set of conditions and apply those conditions to a set of blocks by creating a Visibility Group. You can even view the block layout page with only the blocks in a particular Visibility Group. Most importantly if you want to change the conditions that apply to the Visibility Group you only have to do it in one page instead of keeping the conditions in sync across many separate blocks.
Take a look at the video above to see an example of how Block Visibility Groups works.