wiki:FeedAggregation

Version 3 (modified by ralphm, 5 years ago) (diff)

--

Feed Aggregation

  1. User inputs URI and activates button 'Find feeds'
  2. Auto-discovery is performed on the URI, with the result being one or more URIs that can be subscribed to:
    • If the URI schema is http, the URI is dereferenced, the associated resource retrieved and the kind of resource determined (e.g. using the MIME type):
      • If the resource is an HTML page, find possible references to RSS, Atom and XMPP Publish-Subscribe nodes. For all references, start again with 2.
      • If the resource is an RSS or Atom feed, continue with 3.
    • If the URI schema is xmpp, the URI is dereferenced, continue with 3.
  3. Retrieve information about the discovered resources:
    • Retrieve the RSS and Atom feeds discovered, and note information to be displayed to the user (e.g. feed title).
    • Perform XMPP Service Discovery on XMPP URIs to determine the identity of the resource and associated meta data. The identity should be a pubsub node, and the associated meta data can be used to display additional information to the user.
  4. For all discovered resources, display a form to the user with the acquired information.
  5. User selects the desired feeds from the list and activates button 'Subscribe'.
  6. For the selected resources:
    • If the resource is an RSS or Atom feed, create a local pubsub node, subscribe to the node, and instruct the fetcher to start polling the feed and have newly discovered items published to the new pubsub node.
    • If the resource is a pubsub node, subscribe to the node.
  7. Consume incoming notifications, referenced by the pubsub service's JID and the NodeID.