File:  [Local Repository] / processmail / README
Revision 3.0: download - view: text, annotated - select for diffs - revision graph
Sun Mar 23 17:50:49 2008 UTC (16 years, 3 months ago) by boris
Branches: MAIN
CVS tags: HEAD
Added Lev's corrections

    1: Итак, вашей команде надо дежурить в соревнованиях Интернет-клуба. Вы
    2: написали красивые вопросы, защитились от кверулянтов и апеллянтов, и
    3: готовитесь к приему ответов. Но вот проблема -- как справиться с
    4: десятками писем от команд-участниц?
    5: 
    6: Комплекс программ Интернет-Клуба ``Что? Где? Когда'' поможет вам.
    7: 
    8: 1. УСТАНОВКА И НАСТРОЙКА ПРОГРАММ
    9: 
   10: А. Зайдите на http://internet.chgk.info/boris/processmail и
   11: скачайте файл processmail.zip. Распакуйте этот
   12: файл на Вашм компьютере. Вы найдете:
   13: 
   14:  - README -- этот файл
   15:  - processmail.pl, createtable.pl, reminder.pl, collection.pl --
   16:      скрипты для обработки почты.
   17:  - subroutines.pl -- вспомогательный файл, используемый прочими
   18:      скриптами 
   19:  - parameters.pl -- файл, содержащий настраиваемые параметры программ
   20:  - process.tex, process.pdf -- техническая документация к программам
   21:      (если Вы не собираетесь ``влезать вовнутрь'', Вам она не
   22:      понадобится )
   23: 
   24: Б. В каждом из файлов processmail.pl, createtable.pl, reminder.pl,
   25: collection.pl замените первую строку (#!/usr/local/bin/perl) на ссылку
   26: на положение перла в Вашей системе. Сделайте эти файлы выполняемыми (в
   27: Юниксе это делает chmod a+x *.pl)
   28: 
   29: В. Посмотрите внимательно файл parameters.pl. В нем Вы можете захотеть
   30: изменить ряд параметров:
   31: 
   32: Вот эти параметры задать ОБЯЗАТЕЛЬНО:
   33:  
   34:   $NAME[1] и $NAME[2] -- названия зачетов
   35:   $MINQUEST[1], $MAXQUEST[1],  $MINQUEST[2], $MAXQUEST[2] -- номера
   36:       первого и последнего вопросов в каждом зачете
   37:   $FILES[1], $FILES[2] -- названия файлов, куда вы складываете письма
   38:       с ответами в каждом зачете. 
   39: 
   40: ВНИМАНИЕ: синтаксис переменных $FILES[1] и $FILES[2] изменился по сравнению
   41: 	  с предыдущей версией скриптов!  Старый файл parameters.pl работать
   42: 	  НЕ БУДЕТ - необходимо его чуть-чуть поправить.
   43: 
   44: Вот эти параметры не являются обязательными:
   45:   $NOCOUNT[1], $NOCOUNT[2] -- номера вопросов, которые в каждом зачёте 
   46:       должны идти вне зачёта (например, экспериментальная внезачетная
   47:       бескрылка).  Номера, указанные в $NOCOUNT[1], автоматически 
   48:       добавляются к $NOCOUNT[2] (даже если $NOCOUNT[2] пуст), что является
   49:       удобным и логичным в большинстве случаев.  Если же какой-то из
   50:       номеров из $NOCOUNT[1] нужно *включить обратно* в зачёт во втором
   51:       зачёте, то впишите его в $NOCOUNT[2] со знаком минус.
   52: 
   53: Вот эти параметры нужны для программы reminder:
   54: 
   55:   $fromaddress задает Ваш обратный адрес
   56:   $DK задает название Вашей команды
   57:   $date -- системная процедура, которая выдает московское время
   58:      (если Вы не можете его вычислить, напишите просто $date="";)
   59:   процедуры printheader и printfooter печатают заголовок Вашего
   60:       письма-напоминания на лист z-info
   61: 
   62: 2. РАБОТА С ПРОГРАММАМИ
   63: 
   64: А. Просмотрите каждое письмо с ответами -- соблюден ли в нем
   65: формат. Вот пример правильно оформленных ответов:
   66: *** "Марсиане", 343
   67: #1. Дедка
   68: #2. Бабка
   69: #3. Внучка
   70: #4. Жучка, кошка
   71: и мышка
   72: ***
   73: 
   74: ПОМНИТЕ: если команда прислала несколько писем, написание названия
   75: команды в них должно быть одинаковым.
   76: 
   77: Если у команды еще нет регистрационного номера, поле ``номер'' может
   78: быть пропущено. Программа присвоит такой команде регистрационный номер
   79: 0. Напомните капитану такой команды, чтобы он срочно связался с
   80: Секретарем клуба.
   81: 
   82: Б. Складывайте все ответы на данный зачет в один файл, например,
   83: sprint.mail и stayer.mail. Если от команды пришло несколько писем,
   84: бросайте туда ВСЕ. Проверьте, что более поздние письма следуют за
   85: более ранними.
   86: 
   87: В. Время от времени запускайте 
   88: 	reminder.pl -r номер_зачета  
   89: 
   90: Например,
   91: 	reminder.pl -r 1
   92: или
   93: 	reminder.pl -r 2
   94: 
   95: Это пошлет на лист z-info сводку о командах, чьи ответы получены. Но
   96: не злоупотребляйте сводками, дабы не рассердить Почтмейстера.
   97: 
   98: Г. Когда ответов скопится достаточно, запустите
   99: 	processmail.pl  -o scores
  100: Тогда у Вас получится файл scores примерно такого типа:
  101: 
  102: #1. Frequency: 1. Score: ?
  103:   Хам
  104: #1. Frequency: 2. Score: ?
  105:   Bog
  106: ....
  107: 
  108: Замените "?" на "+" и "-" и запишите файл. Если придут новые письма,
  109: бросьте их все в тот же файл (НЕ УБИРАЯ СТАРЫХ!!!).  Команда
  110: 	processmail.pl -t scores  -o scores
  111: добавит в файл scores ответы, которых Вы еще не оценили.
  112: 
  113: Примечания:
  114: -----------
  115: (1) Если файла scores еще не существует, команда
  116: 	processmail.pl -t scores  -o scores
  117: выдает ошибку. Используйте
  118: 	processmail.pl   -o scores
  119: (2) НЕ используйте команду типа
  120: 	processmail.pl -t scores > scores
  121: Это приведет к уничтожению ваших старых оценок.
  122: 
  123: Д. Когда срок приема ответов истечет, ПРОВЕРЬТЕ ваши оценки. Неприятно
  124: наталкиваться на собственную небрежность, правда?
  125: 
  126: Команда
  127: 	createtable.pl  -t scores -o table
  128: создаст файл table с таблицей результатов, а команда
  129: 	collection.pl  -t scores -o collection
  130: создаст файл collecton с собранием сочинений.
  131: 
  132: Если вопросов много, формат вывода команды createtable.pl может
  133: оказаться неудобным.  В этом случае используйте формат
  134: 	createtable.pl -s  -t scores -o table
  135: или
  136: 	createtable.pl -m  -t scores -o table
  137: Ключ -s (от Short) выводит ответы в "сжатом" формате   ("++-+-++-+-++-+-").
  138: Ключ -m (от Medium) выводит ответы в "среднем" формате ("++-+-  ++-+-  ++-+-").
  139: 
  140: Перед посылкой на общий лист просмотрите файлы еще раз -- а вдруг
  141: ошиблись Вы или я?
  142: 
  143: Вот и все!
  144: 
  145: 3. РАЗНЫЕ РАЗНОСТИ
  146: 
  147: В файле process.tex хранится техническая документация к
  148: программaм. Если Вы хотите разобраться, как именно работает система,
  149: этот файл для Вас.
  150: 
  151: Все программы позволяют при вызове указать ключ -d (debug). С этим
  152: ключом программы печатают массу всякой дополнительной информации --
  153: полезной и не очень...
  154: 
  155: 4. АВТОР
  156: 
  157: Борис Вейцман, borisv@lk.net
  158: 
  159: Я благодарен Якову Зайдельману, Льву Горенштейну, Алексу Покрасу и
  160: Дмитрию Рубинштейну за помощь в разработке этой программы.
  161: 
  162: $Id: README,v 3.0 2008/03/23 17:50:49 boris Exp $

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>