ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
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: Прошу отвечать в одну рассылку, по возможности.

-- 

С уважением. Алексей.





             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