Форум разработчиков

Про аквариум

 
Изображение пользователя Алексей Дьяченко
Re: Про аквариум
от Алексей Дьяченко - Понедельник, 22 Март 2010, 22:16
 
Добрый день, Вадим.
Спасибо за интерес к проекту, постараюсь ответить на твои вопросы.

> Пытался понять, для чего нужны те или иные рыбы, но так и не понял.

Идея аквариума в том, чтобы как-то стандартизировать ожидания ядра и плагина относительно интерфейсов друг-друга. Дело в том, что при изменении версий интерфейс ядра и интерфейс плагинов (только тот, которым пользуется ядро) может поменяться, а может и нет. В результате плагин от более старой версии иногда может работать в более новой, а иногда нет. Или наоборот, плагин от более новой версии иногда может работать с более старым ядром.
Чтобы реализовать отслеживать совместимость снизу-вверх и создан "аквариум". При дополнении интерфейса - строчка удлинняется, а при изменении - изменяется сегмент, в котором произошли изменения.
К сожалению, этот механизм пока толком не работает, потому что не было времени создать документации по разным версиям интерфейса, да и при наших темпах разработки это сизифов труд.
Когда "доберем" остатки запланированного функционала ("расписание занятий", "прецеденты"), займемся уже косметическими улучшениями.

В остальном, по структуре плагинов есть информация в документации.

> Устанавливал плагины по-одному. Не увидил никаких зависимостей.
> Плагин не предлагает установить соответствующий справочник.
> 5. Непонятно с зависимостями. Установли справочник Периоды, а
> Подразделения не установил - в результате у периодов нельзя
> выбрать подразделение, но никаких вопросов по этому поводу не
> было. Это нормально или эта зависимость необязательная?

При установке вручную зависимости пока не проверяются, поскольку это превратит установку в сущий ад. Зато проверяются при удалении. При автоматической установке предусмотрен механизм, чтобы плагины устанавливались в порядке удавлетворения зависимостей. Для проверки создан отдельный метод, поскольку зависимости во время использования не тождественны зависимостям во-время установки.

6. Не совсем ясно, как быть когда на одном факультете у разных специальностей/форм обучения разные границы учебных периодов. Создавать для каждой специальности отдельное подразделение? Или этого пока нет и я тороплю события?

Не обязательно. Периоды проявляются при создании учебный процессов и подписок на дисциплины. Процессы создаются не все сразу, а по группам, то есть достаточно просто создавать разным группам процессы в разных периодах.
В последующих версиях планируется добавить приказы о переводах, контингенте, формировании групп и т.д. которые будут определять, какие группы учатся в каких периодах. Это несколько уменьшит количество ручной работы.

> Неясно, почему висят блоки люди и приёмная комиссия, даже если соответствующие плагины не установлены

Блоки пока настраиваются в конфигурационных файлах в modlibs/nvg/cfg (чтобы не затирать при обновлении, свой файл можно положить в moodledata/dof/cfg/modlib/nvg).
Пока только так, потом будет справочник в БД и для настроек и для расположения блоков.