I believe the functionality provided by the "blog-it" feature is of little use. It's better to provide as a code snippet for someone to add, and leave it out of core.

It's fired only when a person with blogging rights is on a page in which there are feeds created from the aggregator module. By clicking on an icon you get node/add/blog with the blog item id appended so as to insert the html from the blog post into the body field.

The explanation for this functionality (which actually shows up in the blog module, not the aggregator module where the theme function resides) says:

This actively encourages people to add blog entries about things they see and hear elsewhere in the website and from your syndicated partner sites.

Why this functionality should be removed:

  1. Good blogging etiquette dictates that the user should quote relevant material, not paste in the entire post.
  2. Very little convenience is provided. Highlighting relevant text, clicking create content --> blog and then pasting is arguably a better workflow anyway -- and would allow for the removal of this code.
  3. Drupal core uses text-based links, with almost no icons. So this icon really stands out.
  4. The functionality is not configurable via blog or aggregator settings. To turn it off you have to override a theme function. The function can be listed as a snippet in the handbook for folks who want it to add to their template.php. I think providing an easy way for people who want to add it is better than including it by default and forcing people to override the theme function just to turn it off.
  5. The html that gets pasted is really confusing for a blogger who isn't html savvy. Also, since the html plopped in might not be compatible with the input filter, it will likely render in an unexpected way that will be confusing to the blogger. If a video is embedded in the blog post, the code will paste in but the video won't show up if a typical filtered-html input format is used.
  6. This is one small step to try to move D7 to the clean and mean CMS/web framework that we want it to be.

Here is the function in question (it begins on line 889 in aggregator.module)

function theme_aggregator_block_item($item, $feed = 0) {
  global $user;

  $output = '';
  if ($user->uid && module_exists('blog') && user_access('create blog entries')) {
    if ($image = theme('image', 'misc/blog.png', t('blog it'), t('blog it'))) {
      $output .= '<div class="icon">'. l($image, 'node/add/blog', array('attributes' => array('title' => t('Comment on this news item in your personal blog.'), 'class' => 'blog-it'), 'query' => "iid=$item->iid", 'html' => TRUE)) .'</div>';
    }
  }

  // Display the external link to the item.
  $output .= '<a href="'. check_url($item->link) .'">'. check_plain($item->title) ."</a>\n";

  return $output;
}

I propose changing it to:

function theme_aggregator_block_item($item, $feed = 0) {

  // Display the external link to the item.
  $output .= '<a href="'. check_url($item->link) .'">'. check_plain($item->title) ."</a>\n";

  return $output;
}

There is some text in blog.module that describes this feature. That text would also need to be removed.

I'll write a patch for both modules if this thread spurs any interest.

Shai

Comments

keith.smith’s picture

Status: Active » Closed (duplicate)

This is probably a duplicate of http://drupal.org/node/233407 (or if not, very closely related).

Shai’s picture

Status: Closed (duplicate) » Active

No, it's not a duplicate. What catch brings up is much more generic. Yes, if one of those approaches are taken to address the issue he raises, then this problem would go away.

But this issue is more specific. Getting to consensus on a more specific issue first might actually help the larger discussion. Sometimes the best way of getting at a larger issue is by working through smaller ones.

Also, if there are folks who really like the "blog-it" feature, it's unlikely that they'll notice anything in that other issue to comment on. It might seem like an unintended consequence of moving forward on that issue if one day the "blog-it' functionality disappeared without ever being discussed as a function of moving forward in a broader way. For people to argue for keeping that functionality in core, this issue is definitely the place.

Shai

Shai’s picture

Just re-read that other issue that catch raised: http://drupal.org/node/233407.

It's really apples and oranges. He is raising the issue regarding the breaking of a coding convention -- not to hard code a reference to module "a" from module "b."

I'm talking about removing the existence of particular functionality within core -- no matter how it is coded.

Shai

Shai’s picture

Status: Active » Closed (duplicate)

Okay, just walked around the office...

My proposal would solve the problem that catch points out -- and so it does make sense to post it there. I will mark this a dup for now and post over there.

http://drupal.org/node/233407

Shai