From: Josef 'Jupp' SCHUGT Date: 2005-05-02T04:46:30+09:00 Subject: [ANN] fm.rb 0.5.0 - program to split fm newsletters Hi! I am proud to announce the availability of fm.rb 0.5.0 (Shamshiel). First of all (and to avoid that people are dissapointed because fm.rb does not run on their system): WHAT DOES FM.RB NEED? ======================= While fm.rb is written so that from the side of Ruby you only need a recent installation (i.e. version 1.8 or later) is sufficient, it relies on external software that needs to be in place: * To obtain the messages fm.rb requires an MDA (mail delivery agent) that is capable of piping messages through external programs. Alternatively you can store the message and pipe it manually but that should be considered a last resort. * fm.rb does logging so a Unix with syslog is needed. * To deliver the messages a local mail server is needed. The typical MDA is procmail so the web page explains how to use fm.rb together with that program. WHY HAS FM.RB BEEN WRITTEN? ============================= I came across several programs for splitting these newsletters but none of these seemed to fit my needs. I wanted a program that creates an e-mail for every announcement and article in the freshmeat newsletter and allows a mail program to easily filter according to the category a program belongs to. I also wanted that the mails are generated in such a way that thread-enabled mail programs display releases of a certain program as a thread. In addition to this I wanted the program to be able to generate messages in text/plain (Plain Text), text/html (Rich Text) and multipart/alternative (Plain and Rich Text) format. All these major goals have been achieved now so i guess it is time for a public announcement. Follow details: WHAT IS FM.RB GOOD FOR? ========================= fm.rb parses FreshMeat newsletters, generates a mail for each item of the article and the announcement section thereby generating some useful message header fields and re-formatting the text so that is better fits the needs of text mode mail user agents. It also adds the declaration of the character set (Latin-1) that is missing in the freshmeat newsletter. The header fields generated are References and X-Trove-Category. * The single References line allows modern mail user agents to provide a thread view of all releases of a program. This even works if the program name changes because fm.rb relies on freshmeat's project URL that is not influenced by such a change of name. * The single X-License line (only present for announcements) contains the license the program is released under. * A X-Trove-Category line contains a software map category the given program falls into. Mails concerning articles do not contain this. Mails concerning software may contain many of these fields, the presence of at least one is guaranteed. If the project has not yet categorized itself the value "none provided" is used. X-Trove-Category simplifies filtering the messages according to the category the software belongs to. A feature that has not originally been planned but that turned out to be useful is that version 0.5.0 now is capable of hyperlinking the trove categories that are provided to the corresponding freshmeat URLs. A program that is capable of playing a CD is a program from the "Multimedia" field, "Sound/Audio" category, "CD Audio" subcategory, "CD Playing" section. Each part of the categorization is hyperlinked to the corresponding freshmeat URL. This makes it easier to look up similar applications at different levels of similarity. Note that this feature is not available for text/plain. Another feature is that (for known licenses) a hyperlink to the license is generated (for all versions). When using HTML message parts the default format is such that the message starts with a headline containing the full name of the release that is hyperlinked to the corresponding freshmeat release URL. I hope I did not forget to mention any major feature of fm.rb :-> AVAILABILITY ============== fm.rb is available at http://dwd.da.ru/software/ruby/fm.html It took me quite some time to collect the URLs for the Licenses and Trove Categories. Please report any problems with them ASAP to the From of this message. I use fm.rb on a daily basis; it seems not to contain any major bug but if you find one please communicate it immediately. Josef 'Jupp' Schugt Follows sample message ('mononoke.linux.dd' is the local system's domain - the 'dd' TLD should not be in use any more; it was assigned to the former GDR): > Received: from localhost.localdomain (mononoke.linux.dd [127.0.0.1]) > by mononoke.linux.dd (8.12.11/8.12.11) with ESMTP id j3ULPkFV013942 > for ; Sat, 30 Apr 2005 23:26:41 +0200 > Date: Sat, 30 Apr 2005 23:26:41 +0200 > X-Trove-Category: Communications :: Email :: Filters > X-Trove-Category: Software Development :: Libraries :: Perl Modules > Message-Id: <1114896401.47869-spamassassin-release-details-for-jupp@freshmeat.net> > From: jupp@mononoke.linux.dd > User-Agent: fm.rb 0.5.0 [Shamshiel; Plain Text] > Subject: SpamAssassin 3.0.3 > X-License: The Apache License 2.0 > MIME-Version: 1.0 > Content-Transfer-Encoding: 8bit > Content-Type: text/plain; charset=ISO-8859-1 > > SpamAssassin is an extensible email filter that is used to identify > spam. Once identified, the mail can then be optionally tagged as spam > for later filtering. It provides a command line tool to perform > filtering, a client-server system to filter large volumes of mail, and > Mail::SpamAssassin, a set of Perl modules allowing SpamAssassin to be > used in a wide variety of email systems. > > http://freshmeat.net/projects/spamassassin/ > > *CHANGES* > > This release fixes possible memory bloat from large AutoWhitelist db > files. It fixes a bug where user defined rules scores became ignored. > The parsing code for several Received: header formats has been updated. > Some BAYES_* scores for the network+bayes score set have been increased. > set_tag has been documented for the plugin API, and get_tag has been > added. There are additional bugfixes. > > *LICENSE* > > The Apache License 2.0, see: > http://www.apache.org/licenses/LICENSE-2.0.html