Node custom property exposed as extra field I'm trying to add custom property to node bundle, my code so far:

/**
 * Implements hook_entity_property_info_alter().
 */
function mymodule_entity_property_info_alter(&amp;$info) {
  $properties = &amp;$info['node']['bundles']['program']['properties'];

  $properties['last_episode_date'] = array(
    'label' =&gt; t("Last episode date"),
    'type' =&gt; 'date',
    'computed' =&gt; TRUE,
    'entity views field' =&gt; TRUE,
    'metadata controller class' =&gt; 'EntityDefaultMetadataController',
    'extra fields controller class' =&gt; 'EntityDefaultExtraFieldsController',
    'getter callback' =&gt; 'mymodule_last_episode_date_getter',
    'description' =&gt; t("Date of the last episode."),
  );
  return $info;
}

/**
 * last_episode_date property getter.
 */
function mymodule_last_episode_date_getter($data, array $options, $name, $type, $info) {
  return REQUEST_TIME;
}


The goal is to have this property available in views and in node as extra field - in views it is available, but I cannot make it to work as extra field. Anything is missing/is wrong? Documentation on this is kind of lacking :( .
Looking at Entity module's hook_field_extra_fields() implementation:

/**
 * Implements hook_field_extra_fields().
 */
function entity_field_extra_fields() {
  // Invoke specified controllers for entity types provided by the CRUD API.
  $items = array();
  foreach (entity_crud_get_info() as $type =&gt; $info) { ... }
  return $items;
}


It only looks for entity types provided by the CRUD API -- in other words, entities whose controllers inherit from EntityAPIControllerInterface. Node entities use NodeController.

You can still do this conventionally, outside of Entity API -- implement hook_node_view() to insert your pseudo-field in $node['content'], then implement hook_field_extra_fields() to expose that pseudo-field to the node's "Manage display" tab.