Posted an issue in the ctools page but no replies.

Clean install with Drupal 7.39, ctools 1.19 / latest dev and Rules 7.29.

Steps.

1. Create a rule for "content is viewed".. I chose to redirect to user page. Rule works fine.
2. Enable panels and page manager.. Create a variant. Rule is now broken and nothing logged for rules.
3. Disable variant and rule works fine again.

I don't know if this is a ctools, rules or panels issue.

Comments

niallmurphy-ie created an issue. See original summary.

niallmurphy-ie’s picture

Ok, actually narrowed down the change that caused the problem..

In 1.17 ctools\page_manager\plugins\tasks\node_view.inc

/**
 * Entry point for our overridden node view.
 *
 * This function asks its assigned handlers who, if anyone, would like
 * to run with it. If no one does, it passes through to Drupal core's
 * node view, which is node_page_view().
 */
function page_manager_node_view_page($node) {
  // Prep the node to be displayed so all of the regular hooks are triggered.
  // Also save the output for later, in case it is needed.
  $default_output = node_page_view($node);

  // Load my task plugin
  $task = page_manager_get_task('node_view');

  // Load the node into a context.
  ctools_include('context');
  ctools_include('context-task-handler');

  // Load all contexts.
  $contexts = ctools_context_handler_get_task_contexts($task, '', array($node));

  // Build the full output using the configured CTools plugin.
  $output = ctools_context_handler_render($task, '', $contexts, array($node->nid));
  if ($output !== FALSE) {
    node_tag_new($node);
    return $output;
  }

  // Try loading an override plugin.
  foreach (module_implements('page_manager_override') as $module) {
    $call = $module . '_page_manager_override';
    if (($rc = $call('node_view')) && function_exists($rc)) {
      return $rc($node);
    }
  }

In 1.19 ctools\page_manager\plugins\tasks\node_view.inc

/**
 * Entry point for our overridden node view.
 *
 * This function asks its assigned handlers who, if anyone, would like
 * to run with it. If no one does, it passes through to Drupal core's
 * node view, which is node_page_view().
 */
function page_manager_node_view_page($node) {
  // Load my task plugin
  $task = page_manager_get_task('node_view');

  // Load the node into a context.
  ctools_include('context');
  ctools_include('context-task-handler');

  // Load all contexts.
  $contexts = ctools_context_handler_get_task_contexts($task, '', array($node));

  // Build the full output using the configured CTools plugin.
  $output = ctools_context_handler_render($task, '', $contexts, array($node->nid));
  if ($output !== FALSE) {
    node_tag_new($node);
    return $output;
  }

  // Try loading an override plugin.
  foreach (module_implements('page_manager_override') as $module) {
    $call = $module . '_page_manager_override';
    if (($rc = $call('node_view')) && function_exists($rc)) {
      return $rc($node);
    }
  }

  // Prepare the node to be displayed so all of the regular hooks are triggered.
  $default_output = node_page_view($node);

I'm postponing this as I don't know if this is a necessary and permanent change in ctools. I don't understand any of it to be honest.. I just know that swapping that file lets "content is viewed" work again.

niallmurphy-ie’s picture

Status: Active » Postponed
TR’s picture

Version: 7.x-2.9 » 7.x-2.x-dev
Status: Postponed » Postponed (maintainer needs more info)
Issue tags: -ctools, -1.19, -panels, -Content is viewed

Is this still a problem in the current version of Rules? Three years later, we don't have anyone else confirming the issue,

TR’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

No further information provided.