Annotation of processmail/README, revision 3.2

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

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