From: Aleksey Avdeev <solo@solin.spb.ru> To: ALT Devel discussion list <devel@lists.altlinux.org> Cc: ALT Linux Sisyphus discussion list <sisyphus@lists.altlinux.org> Subject: [sisyphus] I: alterator-apache2: текущее состояние и дальнейшее развитие. Date: Thu, 13 Sep 2007 10:20:03 +0400 Message-ID: <46E8D693.6000603@solin.spb.ru> (raw) Приветствую. На днях планирую отправить в Сизиф alterator-apache2-2.3. Его отличие от текущей версии одно -- русскоязычный help (справка на других языках отсутствует). Тестирование на живом Кирилле (kirill@) подтвердило мои худшие опасения: чуда не произошло, и простому, незамутнённому, пользователю сей шедевр инженерной мысли лучше не давать. Основные причины следующие: 1. "Защита от дурака" отсутствует как класс: основное что умеет модуль -- _тупо_ подключать/отключать конфигурационные файлы расположенные в /etc/httpd2/conf/*-available/. Корректность полученной конфигурации он не проверяет никаким образом, и если файлы с конфликтующим содержимым оказываются подключенными одновременно -- httpd2 стартовать отказывается (и это его нормальное поведение). Способы опеделить причину отказа в данном модуле не предусмотрены. 2. Основная единица с которой происходит работа -- файл с какими-то настройками. И именно "с какими-то": оставаясь в рамках данного alterator`овского модуля узнать что именно содержится в данном конкретном файле не возможно (только по англаязычному комментарию, если он есть). 3. Отсутствие понятной для пользователя логической разбивки: на формах работающих с содержимым /etc/httpd2/conf/{sites,extra}-available -- сборная саланка из файлов выполняющих абсолютно различные задачи (но, зато, совпадающая с тем, что действительно содержится в данных каталогах). 4. Крайне невнятная система отображения текущего состояния данного конфига и способ перехода между ними. И я незнаю как это исправить -- тут матрица из 6 состояний: по одной оси (наличие линка в *-enabled) он может быть подключен/отключен, по другой (настройка через *-start.d) он может быть подключаем/отключаем/ненастроен... Как это отобразить в интерфейсе _понятным_ для пользователя образом -- ХЗ... 5. Отсутствие локализации служебных человекочитабельных полей, считанных из конфигов. Т. е. содержимое служебного коментария Summary, считанного из конфига (осли он там есть) выдаётся пользователю без перевода... И такое у меня по всему интерфейсу (пара форм без основной массы вышеперечисленного погоды не делают)... :-( Путей борьбы за светлое будущее видно 2: 1. Всю логику управления сервером прошить в alterator-apache2 жестким образом. В модуль придётся прописывать имена конкретных конфигурационных файлов и в нём-же -- учитывать логические связи между ними... 2. Внести в конфигурационные файлы метоинформацию о их типовом назначении и взаимосвязях между ними (как миниум -- прописать конфликты). Логику и интерфейс alterator-apache2 строить уже с опорой на данную метоиныормацию. Путь 1 мне не нравится: движение по ниму приведёт к "толстому" и достаточно монолитному alterator-apache2 который будет жёстко завязан на конфигурационные файлы apache2 конкретных сборок. При каждом изменении состава конфигов (а он будет меняться) -- его прдётся корректировать по новой. Как я буду это дело поддерживать -- предстовляю слабо. Путь 2, с моей точки зрения, выглядит более переспективным, т. к.: а) Позволит вынести часть логики (контроль конфликтов, как миниум) на уровень утилит a2*, непосредственно этими конфигами управляющих (что как раз и закроет часть проблем с ними связанных). б) Позволит писать alterator-apache2 орентируясь уже на типы конфигов, а не на их имена. Это даст большую свободу манёвра и позволит ослабить связь между alterator-apache2 и конфигурационными файлами конкретных сборок apache2 (т. к. контролировать пофайловое соответствие уже непридётся). в) Позволит выполнять эту работу не только мне (за счёт того, что я смогу формализовать требования к конфигам, с которыми сможет работать модуль). :-) Вот такие пироги с котятами... Прошу высказываться. PS: Прошу отвечать в одну рассылку, по возможности. -- С уважением. Алексей.
next reply other threads:[~2007-09-13 6:20 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-09-13 6:20 Aleksey Avdeev [this message] 2007-09-13 17:28 ` [sisyphus] [devel] " Aleksey Avdeev 2007-09-15 20:17 ` Aleksey Avdeev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=46E8D693.6000603@solin.spb.ru \ --to=solo@solin.spb.ru \ --cc=devel@lists.altlinux.org \ --cc=sisyphus@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git