• Dries Buytaert's avatar
    - Rewrote the headline module from scratch. Note that the old · 5158eb8a
    Dries Buytaert authored
      headline code is still in place 'till the new code has proven
      to be stable. See "syndication.module" for the new code.
       + Improved the parser and tested it against RSS 0.9, RSS 0.91,
         RSS 0.92, RSS 1.0, RDF and XML feeds.
       + Improved the administration interface.  It might be a bit fuzzy
         at first.  Maybe some native English like Julian, Michael (or any
         one else with knowledge in the field) can help out by suggesting
         better naming, terminology or descriptions - as well as by
         writing the help section for this module?  I'd have no idea how
         much this would be appreciated.
       + We can *easily* recognize new tags or extensions: we parse out
         "link", "title", "description" and "author" right now, but we
         will have to revise which tags to support and which not.  New
         tags can be added in less than 10 minutes (if you are familiar
         with the code).  Read: we have something we can build on.
       + Within each item, tags can now appear is random order which is
         or was not the case with the old headline code where we expect
         <link>s prior to <description>s for example.
       + Feed updates only (ie. always) happen through cron.  Neither do
         we use one global cron for updating all feeds; instead, every
         feed can specify his own update-interval.
       + Newly fetched headlines are "appended" to the pool of existing
         headlines (read: we don't replace the whole feed), and headlines
         automatically "expire" after x days or hours.  (Every headline
         has a timestamp.)
       + Got rid of backend.class; it is integrated in the module.
       + Switched to more generic names: "headline" became "item" and
         "backend" became "feed".  This should ease future non-headline
         oriented syndication.
       + You can associate attributes or keyword lists with every feed.
         At the moment new items will automatically inherit their feeds
         attributes but in future we can use heuristics to make these
         attributes "mutate" when and where we see fit.  The attributes
         can be maintained by hand as well.
       + We don't export any blocks yet; we will soon do as soon this
         new code has been tested for a bit more.  We will only export
         bundles though so if you want to export by feed/source, you
         will have to make a source-specific bundle.
    - Polished a bit on a few other modules: nothing major.