How to create a view of existing blocks? My aim is to make a Views grid of existing blocks in Drupal 7 (Might be possible without any additional code\module in Drupal 8).

I've tried to make a Content based View and filter it via Block ID's, but when I came to filter this View, I found no such option.

I've tried to check the "Relationships" option to see if I can add a relationship to Blocks but no such option was available there either.

Therefore, I wonder if a View of existing block is even an option naturally.
This question seems like a perfect illustration of why you'd use the Bean module (to actually create such view as in this question). Here is a quote about its project page:


  Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.


This module also works great in combination with the UUID and UUID Features Integration modules. And after you become familiar with the Bean module, you might find other cases in your site where you also want to use this module (which somehow compensates the fact that you need to add another module).

The video tutorial Drupal Bean module tutorial - using Bean Admin UI provides a great introduction to really understand the power of this module, and the kind of things you can do with it (by only using site building techniques, no custom coding involved). It also shows how the Bean module transforms Drupal blocks into fieldable entities.

In this specific case, after you enabled the BEAN module, you should be able to create a view of blocks. As an illustration, have a look at this (basic) view (in Views export format):

$view = new view();
$view-&gt;name = 'blocks_created_with_bean';
$view-&gt;description = '';
$view-&gt;tag = 'default';
$view-&gt;base_table = 'bean';
$view-&gt;human_name = 'View of blocks created via the BEAN module';
$view-&gt;core = 7;
$view-&gt;api_version = '3.0';
$view-&gt;disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view-&gt;new_display('default', 'Master', 'default');
$handler-&gt;display-&gt;display_options['title'] = 'View of blocks created via the BEAN module';
$handler-&gt;display-&gt;display_options['use_more_always'] = FALSE;
$handler-&gt;display-&gt;display_options['access']['type'] = 'none';
$handler-&gt;display-&gt;display_options['cache']['type'] = 'none';
$handler-&gt;display-&gt;display_options['query']['type'] = 'views_query';
$handler-&gt;display-&gt;display_options['exposed_form']['type'] = 'basic';
$handler-&gt;display-&gt;display_options['pager']['type'] = 'full';
$handler-&gt;display-&gt;display_options['pager']['options']['items_per_page'] = '10';
$handler-&gt;display-&gt;display_options['style_plugin'] = 'table';
$handler-&gt;display-&gt;display_options['style_options']['columns'] = array(
  'bid' =&gt; 'bid',
  'label' =&gt; 'label',
  'title' =&gt; 'title',
  'type' =&gt; 'type',
  'uid' =&gt; 'uid',
  'url' =&gt; 'url',
);
$handler-&gt;display-&gt;display_options['style_options']['default'] = '-1';
$handler-&gt;display-&gt;display_options['style_options']['info'] = array(
  'bid' =&gt; array(
    'sortable' =&gt; 0,
    'default_sort_order' =&gt; 'asc',
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'label' =&gt; array(
    'sortable' =&gt; 0,
    'default_sort_order' =&gt; 'asc',
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'title' =&gt; array(
    'sortable' =&gt; 0,
    'default_sort_order' =&gt; 'asc',
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'type' =&gt; array(
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'uid' =&gt; array(
    'sortable' =&gt; 0,
    'default_sort_order' =&gt; 'asc',
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'url' =&gt; array(
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
);
/* Field: Block: Internal, numeric block ID */
$handler-&gt;display-&gt;display_options['fields']['bid']['id'] = 'bid';
$handler-&gt;display-&gt;display_options['fields']['bid']['table'] = 'bean';
$handler-&gt;display-&gt;display_options['fields']['bid']['field'] = 'bid';
/* Field: Block: Label */
$handler-&gt;display-&gt;display_options['fields']['label']['id'] = 'label';
$handler-&gt;display-&gt;display_options['fields']['label']['table'] = 'bean';
$handler-&gt;display-&gt;display_options['fields']['label']['field'] = 'label';
/* Field: Block: Title */
$handler-&gt;display-&gt;display_options['fields']['title']['id'] = 'title';
$handler-&gt;display-&gt;display_options['fields']['title']['table'] = 'bean';
$handler-&gt;display-&gt;display_options['fields']['title']['field'] = 'title';
/* Field: Block: Type */
$handler-&gt;display-&gt;display_options['fields']['type']['id'] = 'type';
$handler-&gt;display-&gt;display_options['fields']['type']['table'] = 'bean';
$handler-&gt;display-&gt;display_options['fields']['type']['field'] = 'type';
/* Field: Block: Uid */
$handler-&gt;display-&gt;display_options['fields']['uid']['id'] = 'uid';
$handler-&gt;display-&gt;display_options['fields']['uid']['table'] = 'bean';
$handler-&gt;display-&gt;display_options['fields']['uid']['field'] = 'uid';
/* Field: Block: URL */
$handler-&gt;display-&gt;display_options['fields']['url']['id'] = 'url';
$handler-&gt;display-&gt;display_options['fields']['url']['table'] = 'views_entity_bean';
$handler-&gt;display-&gt;display_options['fields']['url']['field'] = 'url';
$handler-&gt;display-&gt;display_options['fields']['url']['link_to_entity'] = 0;

/* Display: Page */
$handler = $view-&gt;new_display('page', 'Page', 'page');
$handler-&gt;display-&gt;display_options['path'] = 'view-of-blocks-created-via-the-bean-module';