Aggie
Aggie is a news aggregator: it is a desktop application that downloads the
latest news and displays it in a webpage. For more information on RSS and news
aggregators see this very informative page
from the State of Utah GILS Project.
The latest version of Aggie is 1.0 Release Candidate 5. Full source,
executable, and README are available as a
download. If you are curious here is a screenshot of
Aggie at work.
Special thanks to: Simon Fell,
Eric Vitiello Jr., Ziv Caspi,
Ingve Voremstrand,
Tim Danner, and everybody that has submitted bug reports and
enhancement requests.
The SMTP mailer is based on code by Steaven Woyan.
For HTTP decompression we use SharpZipLib.
Why you will love Aggie
- Open Source
-
It is OSI Certified Open Source Software.
- .NET
-
It is a native .Net application. As of now that means it runs on Windows 98,
ME, 2000 and XP.
- Flexible
-
It can handle RSS file versions 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0.
- Fast.
-
Aggie is multi-threaded, making more efficient use of your internet connection
and getting the news to you faster. Aggie also uses HTTP/1.1 features to only
download RSS files if they have changed, and uses compression if available.
- Small
-
Aggie is small: The executable is only 115K (not counting the ZIP library)
- Native GUI
-
No embebbed web server. No configuration through web pages. Aggie is a native
windowing .Net application, the web browser is just used to view the news.
- Native Console
-
Aggie comes with an alternate console application that can be driven
as a scheduled job.
- Continuous feedback.
-
As Aggie pulls in the news it gives continuous updates on it's progress,
informing you of which sites it has visited, which ones are still to be pulled,
which sites timed out, and which sites are generating invalid XML. If it fails
to get the news from a site it gives an explaination.
- Dynamic skin
-
Aggie displays syndicated feeds in the browser using CSS and JavaScript to
enable you to see the first line of every syndicated entry in full and the
remainder of the entry in a condensend font. This lets you fit more news on a
single page. Click on an entry to uncompress the font and read the full item.
Click it again and it toggles back to compressed mode.
- Stylesheets
-
Aggie supports having different stylesheets to style the resulting HTML. Each
stylesheet can have it's own configuration dialog and saved parameters. Here is
a detailed explaination of how this system works.
How Templates Work In Aggie.
- Radio
-
If you are a Radio user you can use
Aggie to read your news when you are away from your main computer. Radio
publishes your list of news sites into a file called
mySubscriptions.opml
that is uploaded to your gems directory. Set the channel list to http://radio.weblogs.com/NNNNNN/gems/mySubscriptions.opml,
where NNNNNNN is your Radio site number. Aggie will then use that same list of
channels when it gathers the news.
- Amphetadesk
-
If you are an AmphetaDesk user
you can try out Aggie easily. It can read and write the AmphetaDesk channels
list. You will not have to manually transfer your list of news sites to Aggie.
Just set Aggie's channel list to point at the file
myChannels.opml
located in the data subdirectory where AmphetaDesk is installed.
- Diff support
-
Optionally Aggie will only show news items that have changed since the last
time Aggie did a scan.
- RSS Auto-Discovery
-
You can now enter a URL of a web page into the Add Channel box. If the web page
supports RSS Auto-Discovery then Aggie will find the RSS file. For further
reading:
RSS Auto-Discovery
- Drag-N-Drop
-
You can now drag-and-drop links off the browser and onto the Add Channel
address box.
- Syndic8 OPML
-
Syndic8 supplies a 'text' element where Aggie is looking for a 'title' element.
This fix is to look for 'title', if that fails look for a 'text' element.
- Aggie News
-
Created a separate news channel from bitworking.org just for Aggie news. Added
that channel to the list of default channels that Aggie ships with.
(RSS)
- Referer Logs
-
Aggie supports placing a link back to the users website in the referer logs.
The genesis and explaination of this idea is documented on
Content Syndication with XML and RSS. The page that the referer log
entry points to is here (using bitworking.org as the example site)
http://bitworking.org/AggieReferrers.html?userWeblog=http://bitworking.org
Aggie RC5 Changes
Improvements in Feed Retrieval
- HTTP Compression
-
Added support for HTTP compression. [Simon Fell]
- RssHarvest
-
Aggie can now be taught how to
transform any structured web page into an RSS feed. This is useful for sites
that produce content in an orderly fashion, but publish no RSS feeds of their
own (such as MSDN). See here for details [Ziv Caspi]
- XSLT transformation of XML documents into RSS feeds
-
Aggie can also directly transform XML content into RSS feeds if you provide it
with a proper XSLT transform. To subscribe to a feed whose URL is
xmlurl and whose transform into RSS is xslurl, use the following
URL: xslt:?xmlfile=xmlurl&xslfile=xslurl&title=feedTitle.
[Ziv Caspi]
Improved Output
- Output Items as SMTP Messages
-
Optionally, Aggie can send SMTP mail messages to your Email account. You can
have each new item in its own message, all new items in a given feed in a
single message, or all new items in a given feed with the same title in a
single message. See here for details. [Tim Danner, Ziv Caspi]
Improved RSS Parsing and Vocabulary
- Robust and extensible RSS parser
-
The RSS parser has been completely rewritten. It is now very robust, will let
you know if the feed is not stricly XML but will still parse non-well-formed
feeds (within reason). Additionally, it is extensible, so you can ask it to
parse elements that it does not know about. [Ziv Caspi]
- "Shame into submission"
-
If the RSS parser finds a feed which is not strictly well-formed, but it still
readable, it generates a detailed description of what is wrong with the feed,
to help authors locate problems. [Ziv Caspi]
- New RSS elements supported
-
In addition to title, link, and description elements, Aggie now supports Dublin
Core date, encoded content, CDATA descriptions, RDF encoded content, and
Trackback pings. [Ziv Caspi]
- Support for base element
-
Aggie can now identify feeds that publish their "base", and automatically
provide the proper HTML base element. This feature works only for mail output,
and is most useful with RSSHarvest-ed feeds. [Ziv Caspi]
Miscellaneous
- Bug fixes
-
Multiple bug fixes have been applies, which are too numerous to include here.
[All]
Restrictions
-
Since it is a native .Net application you must have the latest version of the
Microsoft .Net Framework and the latest
service pack installed. The .Net Framework is about a 20MB download.
The best way to get both of these packages is to use the built in
Update feature of Windows.
Installation directions
Download and run the
installer.