I cross posted this in Aggregator2 (at http://drupal.org/node/70021) but it's applicable to Aggregator as well ...

Issue: feed URL is capped at 255 characters. I see that this is because the field types VARCHAR (and CHAR?) are limited to that length under MySQL prior to 4.1.3 (?).

I have already run across some feed URLs that don't fit in that field length. For instance, I can't use custom Amazon feeds created here (http://www.onfocus.com/amafeed/) because they run about 350 characters. I'd imagine that with more and more on-the-fly RSS feeds -- such as Google News -- the 255 char limit will become more and more of a problem.

Sorry I don't have a specific suggestion to fix this, but I don't know enough about MySQL field types and indexing, etc, to write anything intelligent!

Comments

beginner’s picture

Version: 4.7.2 » x.y.z
Category: feature » bug
jt6919’s picture

I have the exact same problem....someone please provide some type of fix to this...

Kjartan’s picture

http://tools.ietf.org/html/rfc2616#section-3.2.1

The HTTP protocol does not place any a priori limit on the length of
a URI. Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs. A server
SHOULD return 414 (Request-URI Too Long) status if a URI is longer
than the server can handle (see section 10.4.15).

Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.

Looks like we have to move from a VARCHAR field to a TEXT field for the feed urls.

coreb’s picture

Version: x.y.z » 4.7.x-dev

Has this been fixed for 4.7? It appears the fix (as suggested by Kjartan) is a change to the default DB schema, and I don't know how to patch against that.

jt6919’s picture

no - it hasn't been fixed, you have to figure out how to patch it yourself (the form and the db table)

budda’s picture

I fixed this issue with the feedparser module (still work in progress). The code to update the database to remove the limit is as follows:

      $ret[] = update_sql('ALTER TABLE {aggregator_feed} DROP KEY link');
      $ret[] = update_sql('ALTER TABLE {aggregator_feed} CHANGE url url TEXT NOT NULL');

You'll also need to remove the maxlength value in the aggregator.module form code
Search and destroy the following line:-

    '#maxlength' => 255,
magico’s picture

Version: 4.7.x-dev » 5.x-dev

Confirmed and important.

ricabrantes’s picture

Status: Active » Fixed

This are fixed in current D5.x-dev

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

greggles’s picture

This was never fixed, but there is http://drupal.org/node/218004