README for simple adaptive scoring with slrn ============================================ NOTE: You need slrn >= 0.9.7.3 for these macros. This is a collection of macros that enable slrn to create score file entries based on your reading behaviour. You can define rules to, for example, automagically score threads up that you have read, or to hide followups to articles that you've deleted. The basic principle is simple: As soon as you leave a group, the macros look what you have done with the articles in the group (e.g. read, deleted, replied to, etc.). Based on rules you have previously defined, they extract a header from each of them and create a score pattern for it. To use the macros, you have to perform some steps: - Modify adsc.sl according to your configuration (see included comments) - Put adsc.sl and adscfuncs.sl somewhere - Put "interpret " into your .slrnrc - Put "include " into your score file (which is ~/News/Score by default) - Create/modify your "startup_hook" to include the rule definitions: (see below for examples) Syntax: adsc_create_rule( type, score, group, header, expire ) - TYPE: To which type of articles does this rule apply ADSC_READ To all read articles ADSC_DELETED To all deleted articles ADSC_UNREAD To all unread articles ADSC_REPLIED To all replied articles ADSC_FOLLOWEDUP To all articles you have followed up to - SCORE: The score matched articles get (positive or negative) - GROUP: In which groups the rule is to be used - Globs like "comp.os.*" are possible - Special meaning of NULL: Use the rule in all groups but apply the generated scores only within the same group as the articles that generated them. - HEADER: On which header the score is to be based on - Special value "THREAD": Puts the value of "Message-ID" into a "References" pattern, so all followups to the article are matched - EXPIRE: How many days the generated scores are to be valid Examples: Give the authors of read articles a bonus of 1 in all groups for ten days: adsc_create_rule( ADSC_READ, 1, "*", "From", 10 ); Give the threads started by read articles a bonus of 2 in the current group for ten days: adsc_create_rule( ADSC_READ, 2, NULL, "Thread", 10 ); Give the authors of deleted articles a malus of 3 in the current group for ten days: adsc_create_rule( ADSC_DELETED, -3, NULL, "From", 10 ); Give the threads started by deleted articles a malus of 3 in the current group for ten days: adsc_create_rule( ADSC_DELETED, -3, NULL, "Thread", 10 ); Give the treads started by articles you have reacted on a bonus of 20 in the current group: adsc_create_rule( ADSC_FOLLOWEDUP, 20, NULL, "Thread", 20 ); adsc_create_rule( ADSC_REPLIED, 20, NULL, "Thread", 20 ); - Run "cleanscore" (see slrn/contrib directory) on the ADSC_SCOREFILE regularly to remove obsoleted entries - Read news :) Note that the score file may grow rapidly even if you use only a few rules. Depending on your equipment, this may slow down the entering of a group considerably. Nevertheless, I've found it worth the extra time slrn needs for applying the score rules. Comments are welcome! Robin Sommer