Foren / National / Russian / Тех. поддержка / Пояснения по проекту

Asmo
#370 9. August 2008, 12:15
Касательно 3 пункта
Одной из причин для создания нового проекта была недостаточная модульность, которая вынуждает использовать хаки ядра вместо плагинов. Поэтому мы планируем вывести весь функционал, не относящийся к базовой системе, в плагины, попутно добавляя необходимые хуки там, где нужно. Это нанесёт некоторый ущерб производительности, но значительно упростит процесс разработки как ядра, так и плагинов.

Я бы в корне пересмотрел роль плагинов, это конечно требует широкого обсуждения, но я не смогу на английском донести идею до масс, поэтому напишу здесь.
Нужно поставить себе вопрос зачем это всеобщая плагинизация?
Для того чтобы парой кликов установить удалить новое расширение, не копаясь в коде ядра?
Какова же цена такой расширяемости? немерено хуков и инклудов, на большом сайте с множеством плагинов это заметно будет.

Имхо лагины нужны как незанчительные расширения, вроде пассворд рековери, различные блоки и прочие рюшки.
А такие вещи как например блоги пользователей, доска объявлений с множеством категорий, какойнибудь мегакаталог лучше делать как новый элемент ядра.
Тот же форум ни у кого не прийдет и в голову сделать его плагином :)

Оливер предусмотрел такую возможность, но не до конца немного. Есть всего пару моментов буквально, где необходимо трогать код ядра.
Вернее даже один пока вижу: в function sed_loadconfigmap() добавить умолчальные конфиги для нового модуля, без этого, их уже добавленные в БД, не возможно изменять, ну и в плане языковых переменных, можно в общие языковые файлы добавлять новые константы, ну или уж если совсем не хочется никуда лезть, то отдельный языковый файл заинклудить для конкретного модуля тоже не тяжело.

Чуть позже я выложу пример нового элемента ядра и кое какое руководство по внедрению. сейчас я проверяю все ньюансы.

Модульность в СЕ достаточная как оказалось, в движок можно добавить новый элемент ядра и совершено безболезненно его удалить, в новых элементах ядра сохраняется практически все возможности по администрированию, как и для уже сущесвтвующих элементов ядра.

Такой подход ничем не хуже плагинов, а даже лучше, все что нужно - это забросить папку в core и выполнить sql с правами, конфигами и новыми таблицами.