[Previous entry: "Greymatter blog software new features"] [Next entry: "Chapter 15 from Simon Collinsons is available"]
08/29/2006: "Greymatter now supports RSS 1.0, RSS 2.0 and Atom 0.3 feed generation"
I have completed my modifications to gm-rss and have issued a new version. This is version 2.0.
I have added a new page to my own website to release this code. It is based on version 1.3.1 of the script. The original 1.3.1 script is no longer supported by the original author.
I am happy to support and answer questions based on the new version 2.0.0 of gm-rss.
The original code has simply been extended and supplemented rather than doing a re-write.
I plan to rewrite the RSS / Atom feed generation code for GM soon. The existing code is very monolithic and needs improving. It currently uses a span class to identify the feed text. This is not ideal as for a generic solution any peice of text should be suitable and extractable for adding toa feed.
This new version supports RSS1.0, RSS2.0 and Atom 0.3 for full posts and also for "taster" entries using the same technique as in the original gm-rss.
In the near future I want to re-write, add Atom 1.0, modularise and also remove the need for span class rss:item to be added. I also want to add support for feeds of comments, posts plus comments and.... well basically allow feed generation to be added to anywhere easily in gm.
I have created some nice new icons, three in fact, one for each feed type.
I have fixed a bug in the original rss1.0 feed (actually its an RDF feed). I have validated all three feeds as generated by my feeble blog so they are clean. That doesnt mean that all feeds generated by anyone will stay clean. I had to fix the date generation to RFC-822 and email generation to RFC-2822 and also the image size. I also had a post that included html in the title, this balked the feed validator but not the generator. In futiure i would like to add support to remove html from all parts of the feed text so it wont break the validator.
The original feed site includes details of how to automate the running of gm-rss.cgi, this is still valid.
I have made a change to the perl to use the dest_name parameter of the configuration file gm-rssconfig.cfg in a differnet way. In the old version this parameter had to have the file extension .rdf. This is no longer the case. the parameter should not not include a file extension:
# The name of the destination/outputfile file. Do not include a file extension
dest_name = example_file_name
This is because the perl now generates three files, .rdf for rss 1.0, .rss for rss2.0 and .xml for atom.
There are also dependanices on various shipped Perl packages such as xml::rss, xml::atom::simplefeed, xml::parser and xml::simple.
If your ISP does not include these packages it can be difficult to use gm-rss. Either get the ISP to install them, install them yourself if you have privileges or follow my method.
I tracked down each perl package on CPAN and saved the code as a {name}.pm file and removed the shebang lines. All i needed to do then is comment out the "use" lines for the packages and add a require line instead pointing at the .pm file location. I installed mine in a non web accessible directory.
I will check into the license for the perl packages (I think I can redistribute them) and if its OK then I will also ship the packages to make it much easier for anyone to install and use gm-rss.
As I said I will re-write the feed generation completely so that it can be built in. one of the key things is to get rid of the dependanicies on these packages. Also I would like to get rid of the dependancies on adding span rss:item tags to the templates. This is OK for a quick script but not for a professional built in solution. I would also like to make it completely modular to allow feed generation from any part of gm. I want to support atom 1.0 as well rather than atom 0.3.
Any questions, support, features, chnages, let me know.
The download is at http://web.petefinnigan.com/gm-rss.htm