Forums / National / Russian / Идеи / Модуль или плагин?!

12>>>

Wadik
#1 2013-11-11 08:40

В последнее время сталкиваюсь с проблемой, что не могу отличить модуль от плагина. К примеру отличное решение - https://github.com/Alex300/Online-Consultant

Исходя из логики, что это донастройка сайта кинул в папку плагинов. Установилось. И тут начали вылетать ошибки... 

Только через некоторое время понял по характеру ошибок, что это модуль, а не плагин. 

Вопрос. Как отличать?! Может привести за правило называть плагины с приставкой plug_, а модули mod_ к примеру?!

Alex300
#2 2013-11-11 09:53

В данном случае на странице расширения http://portal30.ru/sozdanie-internet-sajtov/free-scripts/cotonti-onlajn-konsultant указано:

Тип: модуль
Версия: 1.2.1
Совместимость: Siena

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
esclkm
#3 2013-11-11 10:21

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

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Wadik
#4 2013-11-11 10:51

Alex300, я понимаю, что на оф. сайте есть исчерпывающая информация. Но каждый раз держать в себе информацию модуль это или плагин создает проблему)

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

Поэтому прошу обратить внимание на эту проблему и подсказать пути ее решения... Как-то в последнее время (в связи с выходом интересных модулей) проблема становится актуальнее...

 

Yusupov
#5 2013-11-11 12:29

Как вариант решения: Добавить еще один конфиг в setup-файле расширения, например type=module. А в админке проверять тип расширения... Если не соответствует директории, то нельзя установить...

Trustmaster
#6 2013-11-11 19:17
#38438 Yusupov:

Как вариант решения: Добавить еще один конфиг в setup-файле расширения, например type=module. А в админке проверять тип расширения... Если не соответствует директории, то нельзя установить...

Хорошая мысль.

May the Source be with you!
esclkm
#7 2013-11-11 21:20
Согласен, что как вариант решения проблемы дрвольно четкий
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Moool13
#8 2013-11-30 10:25

Насколько знаю, в файле %module_name%.php указывается хук:

Hooks=module

Так можно и отличать, и по нему проверку делать.

Macik
#9 2013-12-02 13:28
#38669 Moool13:

Насколько знаю, в файле %module_name%.php указывается хук:

Hooks=module

Так можно и отличать, и по нему проверку делать.

 

 

Чисто теоретически  этой части в модуле может и не быть. 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Moool13
#10 2013-12-02 14:24

Чисто теоретически  этой части в модуле может и не быть.

 Но она по идее должна быть, с таким же успехом может не быть записи: type=module

 

Yusupov
#11 2013-12-02 19:05

Moool13 вы не поняли, добавить конфиг type=module было в качестве идеи, чтобы различать что это модуль или плагин. Сейчас такого различия в движке в принципе нет, если изначально не знать архитектурных отличий.

Moool13
#12 2013-12-03 11:39

Moool13 вы не поняли, добавить конфиг type=module было в качестве идеи, чтобы различать что это модуль или плагин. Сейчас такого различия в движке в принципе нет, если изначально не знать архитектурных отличий.

 Я всё прекрасно понял. :) Но для чего добавлять type, когда можно определять по хуку.

Macik
#13 2013-12-03 12:19
#38701 Moool13:

Чисто теоретически  этой части в модуле может и не быть.

 Но она по идее должна быть, с таким же успехом может не быть записи: type=module

 

Я не об этом. А о том, что проектирование плагина/модуля подразумевает случаи, когда исходя из функций модуля нет необходимости создавать пустой (бесполезный) файл module_name.php (хук standalone).  Для примера можно взглянуть на плагины: «admintheme», «attach2», «autoalias2», «autocomplete», «banlist» «elrte», и т.д. 

У них нет этого файла т.к. он им не нужен, у них нет точки входа через отдельную страницу. То же самое может быть и в случае модуля. Если мы такой файл создаем, то однозначно подразумеваем наличие «страницы входа». А если она нам не нужна? 

В таком случае `type=module` более однозначное решение.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Alex300
#14 2013-12-03 12:23

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

Но с type=module  я согласен. Это логичнее.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Moool13
#15 2013-12-03 16:44

 Я не об этом.

Действительно, я подумал о другом.

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

С этим, пожалуй, соглашусь.

Но с type=module  я согласен. Это логичнее.

Кому как. :) Но в таком случае придётся вводить type=plugin.

12>>>