home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / filesbbs / os2 / pofamu19.arj / POFAMU19.ZIP / POFAMU.INF (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1998-06-25  |  9.8 KB  |  257 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. PMMAIL Offline Folder Archive and Maintenance Utility (ALPHA) ΓòÉΓòÉΓòÉ
  3.  
  4. This program is for the 'offline' maintenance of PMMAIL folders, meaning that 
  5. PMMAIL should not be running when it is invoked. It is designed for 
  6. user-programmers; i.e., not for the GUI-bred. The program is directed almost 
  7. entirely from a control file. 
  8.  
  9. The program allows the user to specify selection criteria for mail messages 
  10. using the fields maintained by PMMAIL in its index files. These criteria are 
  11. assigned Reserved Names by POFAMU such as From_name, From_addr and are used to 
  12. form boolean expressions.  These expressions are assigned user identifiers 
  13. called Spec-names. These Spec-names are used to assign specified actions to 
  14. selected groups of messages. 
  15.  
  16.  
  17. ΓòÉΓòÉΓòÉ 2. Installation ΓòÉΓòÉΓòÉ
  18.  
  19. This isn't a GUI program, so I haven't considered building a desktop object for 
  20. it, as part of installation.  Just copy POFAMU.EXE to any directory in your 
  21. PATH statement.  You might want to copy a program template to the desktop and 
  22. build an object that references your 'daily' control file in the Parameters 
  23. field. 
  24.  
  25. Using any ASCII text editor, edit your control file and place it in the working 
  26. directory referenced by the new program object. 
  27.  
  28. You might want to add the invocation to your 'chron' or 'alarm clock' program 
  29. if you are running round the clock. 
  30.  
  31.  INFO-ZIP and UNZIP are required for operation of the Archive function. 
  32.  
  33.  
  34. ΓòÉΓòÉΓòÉ 3. Control File ΓòÉΓòÉΓòÉ
  35.  
  36. Using the configuration and rules information in the control file specified in 
  37. the invocation argument, manipulate the PMMail folders therein described. 
  38.  
  39.  
  40. ΓòÉΓòÉΓòÉ 3.1. Keywords ΓòÉΓòÉΓòÉ
  41.  
  42. Control file statements have the form of keyword = value, one per line. The 
  43. operands of these statements are case insensitive, treated as upper-case, when 
  44. not within a quoted string. 
  45.  
  46. Order IS important, since the Basedir entry is required prior to any Account or 
  47. Folder statements. Whitespace is the only delimiter for tokens within these 
  48. statements.  Tabs and blanks constitute (normal) whitespace. 
  49.  
  50. Only interlinear (# in 1st char) comments are allowed. 
  51.  
  52. Possible statement keywords: 
  53.  
  54.  Mode 
  55.            CheckOut, Run, or Force, defaults to CheckOut.  CheckOut allows the 
  56.           user to test his/her control file prior to use. 
  57.  
  58.  Logmode 
  59.            Audit or Silent or Warn or Debug - how verbose the output, defaults 
  60.           to 'Audit'. 
  61.  
  62.  Base 
  63.           like e:\southsde\pmmail  - your root PMMail directory; This is a 
  64.           required parameter.  The directory where pmmail.exe is stored. 
  65.  
  66.  specname 
  67.           boolex << relop '{' boolex >  relop boolex '}' > specnames 
  68.  
  69.  Account 
  70.           "Internal Account-Name". Begin processing the specified account. All 
  71.           following specifications until the next Account keyword will apply to 
  72.           this account. 
  73.  
  74.  Folder 
  75.           "Internal Folder-Name" Nested folders are designated via multiple 
  76.           strings; i.e. "Friends" "Joe". All statements following this one 
  77.           apply to this folder. These statements will all be of the form: 
  78.           'action' = specification-name-list 
  79.  
  80.  
  81. ΓòÉΓòÉΓòÉ 3.2. Selection Criteria ΓòÉΓòÉΓòÉ
  82.  
  83. The boolean expressions used by POFAMU are of the form: 
  84.  
  85. Reserved Word Operator Constant 
  86.  
  87. The Reserved words are: 
  88.  
  89. Subject 
  90.           The subject line as stored in the FOLDER.BAG file. If the specified 
  91.           constant string is a case-insensitive substring of this Subject line 
  92.           than it is considered equal ('='). 
  93.  
  94. From_name 
  95.           The name (if any) in the From: line of the header. If the specified 
  96.           constant string is a case-insensitive substring of this From_name, 
  97.           than it is considered equal ('='). 
  98.  
  99. From_addr 
  100.           The email address (if any) in the From: line of the header. If the 
  101.           specified constant string is a case-insensitive substring of this 
  102.           From_addr, than it is considered equal ('='). 
  103.  
  104. To_addr 
  105.           The email address (if any) in the To: line of the header. If the 
  106.           specified constant string is a case-insensitive substring of this 
  107.           To_addr, than it is considered equal ('='). 
  108.  
  109. To_name 
  110.           The email address (if any) in the To: line of the header. If the 
  111.           specified constant string is a case-insensitive substring of this 
  112.           To_name, than it is considered equal ('='). 
  113.  
  114. Status 
  115.           The constants for comparison must be Read, Unread, Replied, or Sent. 
  116.           This is the current FOLDER.BAG state of the message. 
  117.  
  118. Size 
  119.           The constants for size comparison must be numbers of bytes, without a 
  120.           'k' or 'm' suffix. 
  121.  
  122. Age 
  123.           This value means the age in hours of the message.  The difference 
  124.           between the current date/time and date/time stored in FOLDER.BAG. The 
  125.           suffix 'd' or 'h' is mandatory. 
  126.  
  127.  
  128. ΓòÉΓòÉΓòÉ 3.3. Action Statements ΓòÉΓòÉΓòÉ
  129.  
  130.  Actions are of the form: 
  131.  
  132. action-name = specname <..specname> <Account-specifier> 
  133.  
  134. The built-in actions are Move, Delete, Archive, and Copy. 
  135.  
  136.  Archive = specname <..specname> 
  137.                         Messages meeting the criteria of any of the 
  138.                         specification names are ZIP-moved into the file 
  139.                         POFAMU.ZIP in the affected folder directory. The 
  140.                         message file is deleted. A file POFAMU.BAG within the 
  141.                         POFAMU.ZIP file is in standard PMMAIL index format. 
  142.  
  143.  Delete = specname <..specname> 
  144.                         Messages meeting the criteria of ANY of the 
  145.                         specification names in the list 
  146.  
  147.  Move = specname account-name 
  148.                         Messages meeting the criteria of the single 
  149.                         specification are moved to the specified account and 
  150.                         folder.  If account-name is given as '=', then the 
  151.                         current account is assumed. 
  152.  
  153.  Copy = specname account-name 
  154.                         Copy is not implemented currently. 
  155.  
  156. It is highly recommended that you test any new or modified control files with 
  157. Mode = CheckOut before using Mode = Run. If fact, you might want to leave the 
  158. Mode command out of your control file altogether.  When you truly want to 
  159. commit the changes, use Run as the second command line argument. 
  160.  
  161.  
  162. ΓòÉΓòÉΓòÉ 3.4. Syntax ΓòÉΓòÉΓòÉ
  163.  
  164.  account-name ::: PMMail internal account name | '=' (for current account) 
  165.  
  166.  folder-name ::: PMMail internal folder name 
  167.  
  168.  time_val ::: number || tqal 
  169.  
  170.  tqal ::: 'd' or 'h'  days or hours 
  171.  
  172.  boolex :::  key_id operator comparator 
  173.  
  174.  operator ::: '=' or '>' or '<' or '<>' 
  175.  
  176.  comparator ::: "string" or number 
  177.  
  178.  relop ::: 'AND' or 'OR' 
  179.  
  180.  key_id ::: Age or From_addr or From_name or Status or Size or To_addr or 
  181. To_name or Subject 
  182.  
  183.  'OR' logic has not yet been tested.  So don't expect it to work. 
  184.  
  185.  ( For Status, the 'number' may be 'Unread', 'Read', 'Replied' , 'Sent',     or 
  186. 0, 1, 2, or 3 ) 
  187.  
  188.  
  189. ΓòÉΓòÉΓòÉ 4. Command Line ΓòÉΓòÉΓòÉ
  190.  
  191.  Invoke the program like so%colon. 
  192.  
  193.   pofamu  control-file-path  <runmode> 
  194.  
  195.  Control-file-path is mandatory.  Runmode is optional and overrides the value 
  196. in the control file. 
  197.  
  198.  
  199. ΓòÉΓòÉΓòÉ 5. Sample Control File ΓòÉΓòÉΓòÉ
  200.  
  201. # initial test configuration file
  202. #
  203. # Base directory for PMMAIL folders
  204. # must specify where to start looking
  205.   Base = e
  206.   Hale_3day =  { From_name = "Haley Landers" } AND { Age > 3d }
  207.   Golden_3day   =  { From_name = "Dave Goldenbugle" }  AND { Age > 3d }
  208.   Rick_3day   =  { From_name = "Rick G. Shepherd" }  AND { Age > 3d }
  209.   THE_author = { From_name = "Mark Hessling" }
  210.   Humor =  From_name = "west@ib"
  211.   Weekold =  Age > 7d
  212.   TwoWeekOld = Age > 14d
  213.   MonthOld = Age > 30d
  214.  
  215. # We have two accounts that are actively in use
  216.   Account = "Dave's Mail"
  217.  
  218.     Folder = "Trash"
  219.       Move =   Bobs_3day =  "Friends"  "Bob"
  220.       Move =   Paul_3day =  "Friends"  "Bash"
  221.       Move =   Hale_3day =  "Friends"  "Hale"
  222.       Move =   Golden_3day =  "Friends"  "Goldenbugle"
  223.       Move =   Rick_3day =  "Friends"  "Rick"
  224.       Move =   THE_author =  "Programming"  "Hessling"
  225.       Move =   Humor = "Humor"
  226.       Delete = TwoWeekOld
  227.  
  228.     Folder = "Sent Mail"
  229.       Delete = MonthOld
  230.  
  231.     Folder = "Programming" "MVS-OE"
  232.       Archive = Weekold
  233.  
  234.   Account = "Trish's Mail"
  235.  
  236.     Folder = "Trash"
  237.     Delete = TwoWeekOld
  238.  
  239.  
  240. ΓòÉΓòÉΓòÉ 6. Problem Diagnosis ΓòÉΓòÉΓòÉ
  241.  
  242. Beginning with version 1.9, if an exception occurs during operation, POFAMU 
  243. will output a short message and produce a file M2DUMP.000 in the 'Base' 
  244. directory for PMMAIL.  If the reason for the exception isn't apparent, zip this 
  245. file and PMMAIL/Attach it to a message sent to the author. 
  246.  
  247.  
  248. ΓòÉΓòÉΓòÉ 7. Author ΓòÉΓòÉΓòÉ
  249.  
  250. This code is the work of : 
  251.  
  252.  
  253.     Dave Serls
  254.  
  255.     Internet: dave@dashs.denver.co.us
  256.  
  257.