ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: alterator-apache2: текущее состояние и дальнейшее развитие.
@ 2007-09-13  6:20 Aleksey Avdeev
  2007-09-13 17:28 ` Aleksey Avdeev
  2007-09-15 20:17 ` Aleksey Avdeev
  0 siblings, 2 replies; 16+ messages in thread
From: Aleksey Avdeev @ 2007-09-13  6:20 UTC (permalink / raw)
  To: ALT Devel discussion list; +Cc: ALT Linux Sisyphus discussion list

Приветствую.

  На днях планирую отправить в Сизиф 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: Прошу отвечать в одну рассылку, по возможности.

-- 

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





^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2007-09-17  7:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-13  6:20 [devel] I: alterator-apache2: текущее состояние и дальнейшее развитие Aleksey Avdeev
2007-09-13 17:28 ` Aleksey Avdeev
2007-09-15 20:17 ` Aleksey Avdeev
2007-09-15 20:36   ` Michael Shigorin
2007-09-15 20:33     ` Aleksey Avdeev
2007-09-15 21:38       ` Michael Shigorin
2007-09-15 22:06         ` Aleksey Avdeev
2007-09-15 22:29           ` Grigory Batalov
2007-09-15 22:29             ` Aleksey Avdeev
2007-09-16 16:48           ` Michael Shigorin
2007-09-16 16:49             ` Michael Shigorin
2007-09-16 16:39               ` Aleksey Avdeev
2007-09-17  6:09             ` Stanislav Ievlev
2007-09-17  7:46               ` Michael Shigorin
2007-09-16 18:58           ` Anton Farygin
2007-09-16 20:57             ` Aleksey Avdeev

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git