NAME

App::Wubot::Web::Rss - serves outgoing wubot RSS feeds

VERSION

version 0.3.6

CONFIGURATION

~/wubot/config/webui.yaml

 ---
 plugins:
   rss:
     '/rss/:mailbox': rss
     '/atom/:mailbox': atom

DESCRIPTION

The web interface can be used to serve out RSS feeds. You can take data from one or more incoming feeds (from wubot-monitor), filter it, modify it (e.g. strip HTML or images), and so forth. You can combine multiple feeds together into a single RSS feed or you can take a single RSS feed and split it out into multiple feeds. You can even take data from other sources (e.g. an mbox, irc), use some rules to adapt the schema, and then send it out as an RSS feed.

The Web UI reads the data out of the RSS SQLite database. You can easily stick any data from the monitors into a SQLite database using the SQLite reactor plugin. You just need to give it the path to a SQLite database, the name of the table, and the schema to be used for the table. Here is a rule that would add all incoming RSS feeds to the wubot RSS SQLite database:

- name: rss sqlite
  condition: key matches ^RSS AND mailbox is true
  plugin: SQLite
  config:
    file: /home/myuserid/wubot/sqlite/rss.sql
    tablename: feeds

The schema for the 'feeds' table lives in the config/schemas directory of the wubot project. The feeds.yaml file should be copied to ~/wubot/schemas/ along with the other schemas.

Note that one of the fields on the sqlite table is the 'mailbox'. This is very important for outgoing RSS feed, since it determines the name of the outgoing feed. For example, if you set the 'mailbox' field in your message to be 'news', then once the message has been stored in the RSS database, you could access your feed in an RSS reader here:

http://localhost:3000/rss/news.xml

If you don't give your data a mailbox, then you won't be able to access it through the Web UI! For more information, see the App::Wubot::Guide::GettingStarted document.

SUBROUTINES/METHODS

rss

Generate an RSS feed for the specified mailbox.

atom

Generates an ATOM feed for the specified mailbox.