« Turning the paper... | Main | Clearly see the big... »

Planet Roller internals

I promised some details on PlanetTool (the command-line tool that generates Triangle Bloggers) internals, so here goes. This is what happens when PlanetTool runs:

diagram of PlanetTool


(1) We start by reading the XML configuration file (via JDOM and XPath)

(2) From the config, we create a config object, subscriptions and groups

(3) A group has subscriptions

(4) And a subscription can belong to more than one group

Refresh subscription data

(5) For each subscription, call the Rome Fetcher

(6) Fetcher uses Conditional Get and Etags and caches feeds on disk

(7) Feeds parsed into entries objects and added to subscription objects

File generation

(8) Call Velocity Texen with name of a control template

(9) Texen calls our control template

(10) Control template calls file generation templates

(11) Templates calls planet object to get config, group, subscription, and entry objects needed to generates files needed for aggregated site (HTML, RSS, OPML, etc.)


Nice work Dave. I really like this architecture, and its nice utilization of Rome and Texen. I can see Henri's point about considering releasing it as a separate from Roller. Some folks might be interested in just running aggregators, and aggregator hosts may not coincide with blog server hosts even in cases where one wants both. Good stuff.

Posted by Anil Gangolli on February 15, 2005 at 01:50 PM EST #

Yes, I agree. In the near-term I'm shooting for a 1) a command-line tool that is independent of Roller and 2) a Roller integrated version with a UI for administration and database storage for all config and subscription data.

Posted by Dave Johnson on February 15, 2005 at 02:17 PM EST #

Post a Comment:
  • HTML Syntax: NOT allowed

« Turning the paper... | Main | Clearly see the big... »


This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Blogging, some may be related to this entry.