SetExpire 1.1 - Documentation ***************************** Copyright ********* SetExpire (C) 1995-96 kMel, Klaus Melchior This program is freely distributable, but copyrighted by me. This means you may freely copy it as long as you do not charge more than a nominal fee for copying. This program may be put on PD disks, especially on Fred Fish's CDROMs, Meeting Pearls CDs or other cheap CDROMs. If you want to distribute this program you MUST keep this document with it. The program and the documents must be distributed in their original unmodified form. This program cannot be used for commercial purposes without written permission by the author. The author can not be made responsible for any damage which is caused by using this program. ----------------------------------------------------------------------- This program is GiftWare. If you like it and use it regularly, you should consider to send a small donation to the author in order to honor the work he has put into this program. ----------------------------------------------------------------------- Send comments, suggestions or bug reports, and the gifts to: Klaus Melchior, Schulstrasse 17 D-52156 Monschau, Germany Phone: +49 (0)2472 4710 DE: kmel@eifel.oche.de BIG: kmel@et1.etechnik.fh-aachen.de FIDO: 2:242/158.2@fidonet What is SetExpire ? ******************* SetExpire is an UMS tool, which scans the message base for non-expired messages and expires them. * different list for groups and folders * messages can be expired by age, number or size * groups or folders are selected by pattern matching * the expired messages can be checked if it is possible to expire them * a report can be sent * preference is stored in 'ums.config' * UMS V11 tool SetExpire uses different lists for the mail of the users and the news of the system. Users are asked which mails they want to expire, these messages are checked, all other users must allow the expiration. Users, which have not this mail list variable, can't expire any mails. SetExpire expires messages, which are not expired, not deleted, not archived, exported and read. With options you can allow SetExpire to expire archived, not exported or not read messages (see: Installation). SetExpire is able to check the expired messages. This is useful if these messages have links which are not expired, so the CleanUp function of umsserver can't delete them. SetExpire checks them and unsets the Expire flag. SetExpire can be switched in Test, Delay or/and Quiet mode (see: Arguments). A command to clear the expire flag on every message is supported (see: Arguments). CLI arguments ************* TEMPLATE: USER=NAME/A,PASSWORD/A,SERVER/K, CLEAREXPIRED/S, CHECKEXPIRED/S, ONLYMAILS/S, ONLYNEWS/S, ONLYCHECKEXPIRED/S, TEST/S,DELAY/K/N,QUIET/S CE=CLEAREXPIRED/S command, clears the expire flag on all expired messages CHE=CHECKEXPIRED/S the expired messages are checked for linked messages, which have to be expired too, otherwise the Expired flag is removed. DELAY/K/N while using SetExpire as background task, all actions are delayed, low task priority, set here the time for Delay() in 1/50 sec OCHE=ONLYCHECKEXPIRED/S only the expired messages are checked, nothing is expired OM=ONLYMAILS/S only mails are expired ON=ONLYNEWS/S only news are expired PASSWORD/A password of the user QUIET/S no output text SERVER/K name of the server, optional TEST/S switches SetExpire into test mode, no messages are expired USER=NAME/A name of the user with sysop access Changes ******* This is changed since SetExpire 1.0: * Switch for expired messages: they are checked for linked messages which are not expired, in this case the Expired flag is unset. * Variable names changed: SetExpire.Report.User, SetExpire.Report.Folder * Newsgroup fix: rfc.control messages are now recognized. What you need ! *************** - Kickstart >= 2.0 - Workbench >= 2.0 - UMS (Universal Message System) >= v11 (see: References) - Several additions in 'ums.config' (see: Installation) How to install ************** Binaries ======== Copy the "UMS/bin/" files to a place where all the executables of UMS are stored, normally this is "UMS:bin/" or "Mail:bin/". copy UMS/bin/#? Mail:bin/ UMS config ========== These are the global UMS config variables. SetExpire.News Expirelist of the news groups, pattern is related to the name of the group. SetExpire.Mails Expirelist of mail-folders, pattern is related to the folder name, all user without an own "SetExpire.Mails" variable use this one. SetExpire.Report.User Specify the user to whom the report is sent. Only if this variable is set a report is generated. SetExpire.Report.Folder The report mail is put into the defined folder. These UMS config variables could be set local to every user: SetExpire.Mails Expirelist of mail-folders, pattern is related to the folder name. Expire lines ============ 'SetExpire.Mails' and 'SetExpire.News' could contain several lines with a pattern, the kind of expire and a number. Options can follow them like arguments. One condition per line, at least three arguments. All arguments must be seperated with at least one space. [Options] A ; in front of marks the line as comment. Expire kind =========== days All messages will be expired, which are older than specified days. The ReceiveDate is used to calculate their age. msgs This specified number of messages are left the group or mail folder, the other ones are expired. size Set here the maximum size in bytes of the messages, which should stay in the group or folder. Every line can contain more then one kind of expiration. Every group or folder is expired in a fixed sequence: 'days' -> 'msgs' -> 'size'. Options ======= New Also new messages can be expired. NotExported Messages, which are not exported, can be expired. Archive Messages with the archive flag can be expired, too. Example ======= ( SetExpire.News "adsp.#? days 14\n" "eifel.#? days 14 New Archive\n" "; comment\n" "fidonet.AMIGA.GER msgs 500\n" "#? days 2\n" ) ( SetExpire.Mails "#? days 0\n" ) ( SetExpire.Report.User sysop ) ( SetExpire.Report.Folder report ) ( Exporter ( Name downtown ) ( SetExpire.Mails "music.alstewart days 7 New\n" "music.#? days 14\n" "report days 3 msgs 100 New\n" "forwarder size 10000 New\n "#? days 14\n" ) ( ... ) ) Hints ===== If you don't want to expire any mails of an user, use these lines: ( SetExpire.Mails "#? days 36500\n" ) History of SetExpire ******************** 26.03.95 * initial * first working version 27.03.95 + documentation 0.1 * beta to wowbagger 28.03.95 + messages to expire: check deleted flag 02.04.95 + check exporter - fixed bug in 'expire number of msgs' routine + local UMS variable SetExpire.Mails [kb] + removed SetExpire.Users [kb] + check all users found with CfgNextUser 03.04.95 + check to-expire-mails if no user needs them [mh] + SetExpire.UserFlag 0.2 * beta to wowbagger 14.04.95 + use link library, save about 2 kbytes 15.04.95 - mails: no user login anymore - removed SetExpire.Userflag variable - fixed bug in display routinge [kb] + rewritten folder-expire-routine - NOPROGRESS/S removed + QUIET/S implemented + SetExpire.ReportUser, SetExpire.ReportFolder + report can be written 0.3 * beta to wowbagger 17.04.95 + check sysop access [op] 20.04.95 - really removed NOPROGRESS/S [rg] 23.04.95 - changed return values [ms] 17.07.95 + support of FlexIcons 1.0 19.07.95 * first release 27.07.95 + more information output 26.08.95 - don't check already expired or deleted messages, fixed [bf] + optimize output 29.08.95 + switch to check expired message for links, the 'Expired' flag is unset. 30.08.95 + output of the unset and expired messages + display how much news & mails are unset 06.09.95 + variable name changed: Report.User, Report.Folder b1 * beta to mailinglist 16.09.95 - bug in mail expire routine removed, if 'SetExpire.Mails' was missing all mails are expired, fixed. [rg] b2 * beta to wowbagger 22.04.96 - news: no readaccess check, rfc.control bug fixed [ms,hs] + documentation 1.1 * release to aminet What is to do in future ? ************************* - new expire with size routines - delay routines - CTRL-C handling - command to expire whole message base to shrink it into a specified size [mh] References ********** UMS UMS - Universal Message System (c) Copyright 1992-96 by Martin Horneffer Aminet: comm/ums/ Thanks are going to ... *********************** - Martin Horneffer [mh] for UMS - Kai Bolay [kb], Olaf Peters [op], Ralf Garbade [rg], Matthias Scheler [ms], Boris Folgmann [bf], Henning Sauer [hs] - and all I forgot to mention ... Index ***** Arguments Arguments Authors address Copyright Bug reports Copyright Changes Changes Changes in 'ums.config' Installation CLI arguments Arguments Comments Copyright Copyright Copyright Credits Credits Description Description Distribution Copyright E-Mail Copyright GiftWare Copyright History History Installation Installation References References Requirements Requirements SetExpire Description Template Arguments Thanks Credits ToDo ToDo UMS variables Installation