Перейти к публикации

Рекомендованные сообщения

В последнее время пишется множество замечательных модулей к движку, но сложности с их внедрением до сих пор остаются! По долгу приходится лазить ручками прописывать, а можно ли сделать чтобы модули довавишь в папочку и радуйся без проблем? Это будет реализовано или нет, если да то когда в версии 6.0 и ценой в 50€?

Ссылка на сообщение
Поделиться на других сайтах

Ep®$T,

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

Ссылка на сообщение
Поделиться на других сайтах

согласен коллега с вами практически во всем только я думал что подобные вещи пишут для удобства пользователей и новые версии выпускают с этой целью - для простоты и большего удобства, а рас разработчиком это не волнует ну тогда не знаю.... :o

Ссылка на сообщение
Поделиться на других сайтах

согласен коллега с вами практически во всем только я думал что подобные вещи пишут для удобства пользователей и новые версии выпускают с этой целью - для простоты и большего удобства, а рас разработчиком это не волнует ну тогда не знаю.... :o

А с чего Вы взяли что разработчиков это не волнует??? Ждите ответа от целсофта. Он же не дурак. Возможно есть какая-то причина, почему он этого не делает

Ссылка на сообщение
Поделиться на других сайтах

есть! нагрузка

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

Ссылка на сообщение
Поделиться на других сайтах

есть! нагрузка

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

Полностью с вами согласен! :D Поддерживаю :blink:

Ссылка на сообщение
Поделиться на других сайтах

да было бы неплохо сделать модульность. имхо меньше проблем при перестановке или обновлении. (должно по крайней мере быть :))

Ссылка на сообщение
Поделиться на других сайтах

Да уж наверно нет ни одного у кого не было бы хоть одного модуля, так что тоже поддерживаю модульность хотя бы опционально (с возможностью отключения).

Ссылка на сообщение
Поделиться на других сайтах

Знаете очень интересно читать высказывания людей, которые никогда не занимались оптимизацией скриптов и считающих что никакой нагрузки плагины недают, если их нет то и нагрузки нет. Ну чтож высказывайтесь, когда будет достаточно мнений, а предоставлю четкий пример когда при системе плагинов повысится нагрузка на скрипт примерно на 30-40% даже при одном самом мелком плагине, который ничего не делает и нагрузка возрастет исключительно из-за того что используется принцип плагинов. И тгда вы поймете почему все скрипты испульзующие грамотную систему плагинов, всегда относятся к категории тяжелых скриптов.

Ссылка на сообщение
Поделиться на других сайтах

Знаете очень интересно читать высказывания людей, которые никогда не занимались оптимизацией скриптов и считающих что никакой нагрузки плагины недают, если их нет то и нагрузки нет. Ну чтож высказывайтесь, когда будет достаточно мнений, а предоставлю четкий пример когда при системе плагинов повысится нагрузка на скрипт примерно на 30-40% даже при одном самом мелком плагине, который ничего не делает и нагрузка возрастет исключительно из-за того что используется принцип плагинов. И тгда вы поймете почему все скрипты испульзующие грамотную систему плагинов, всегда относятся к категории тяжелых скриптов.

Ну незнаю. В WBB3 от WoltLab сделали DeveloperNetwork. Моды загружаются одним пакетом и форумный движок сам с ними разбирается. И что саааамое класное, точто после обновления двигуна ненужно парится с переустановкой. Ато есть модульчики для которых хер знает сколько файлов нужно менять, что занимает дофига времени, а когда после обновления сразу все ставить надо, то за этим делом не один час сидеть надо (скорее около 3 - 4). Да еще и проблемки бывают когда надо самому капатся, изза конфликтации двух или больше модов. Но я не пытаюсь сказать что грузить небудит. Надо просто посмотреть кому как больше подходит и большинство решает. Или что былобы самым идеальным, еслибы новые версии ДЛЕ выходили уже с модами.(например те которые чаще всего используются). Например такой мод как "Спасибо", и неплохо былобы еслибы "ScreenForum" был в движок встроен, ато его даже ставить нету смысла, чтобы потом парится с переустановкой после обновления памимо остольных модов. Сильно долго парится надобудит.

Ссылка на сообщение
Поделиться на других сайтах

Модульная система сильно усложнит программирование под ДЛЕ, а Дле тем м хорош, что возьмешь его и правь что в голову придет и никаких проблем, а с модулями че-то зацепил, что-то случайно поменял и проблем еще больше, а так инклуд вставил все ОК. Тут люди наверное думают что если модули будут сами подключаться то они избавятся от многих проблем, уверен проблем добавится. Ни кто не будет писать модули "высокого уровня" для ДЛЕ, большинство распространяемых модулей являются низкокачественными со своим набором ошибок и недоработок, если автор мода не смог довести мод до ума то он при супер-бупер-модульной системе вообще забьёт на мод.

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

Истинным любителям плагинов советую пособирать информацию об уязвимостях конкретных CMS и вы увидите чем жертвуют ради супер удобной работы с модулями.

Кому нужно могут пользоваться MODx, Mambo, Drupal - очень хорошие ЦМС.

Ссылка на сообщение
Поделиться на других сайтах

что-то вы на это скептически смотрите, вы конечно правы в чем то, а некоторые практически во всем (без цитат) но всеже я так понимаю что в в новых версиях ДЛЕ такой вопрос решен не будет! :(

<_< Я верно понимаю? :blink:

Ссылка на сообщение
Поделиться на других сайтах

Или что былобы самым идеальным, еслибы новые версии ДЛЕ выходили уже с модами.(например те которые чаще всего используются). Например такой мод как "Спасибо", и неплохо былобы еслибы "ScreenForum" был в движок встроен, ато его даже ставить нету смысла, чтобы потом парится с переустановкой после обновления памимо остольных модов. Сильно долго парится надобудит.

И для кого это будет идеальным?!

У всех свои моды, а у кого-то их вообще нету, как у меня например..

Гораздо проще тем кто ставит моды (на свой страх и риск, так как в большинстве своем они недоделанные) записывать в отдельный файл все вносимые изменения.. Их не так уж и много будет.. например у меня всего порядка 23-25 штук, хватает получаса чтобы все внести..

P.s.: Кто еще выскажется в пользу функциональности в ущерб "удобству"?! B)

Ссылка на сообщение
Поделиться на других сайтах

Опять таки - откуда разговоры про нагрузку при модулях?

Хранить все включенные модуле в массиве файла конфигурации и подключать их include.

Ведь итак море файлов включаются через include в самом движке + все модули тоже инклудятся только включаются ручками.

Будет все то же, только модули можно будет одним кликом ставить.

Ссылка на сообщение
Поделиться на других сайтах

Опять таки - откуда разговоры про нагрузку при модулях?

Хранить все включенные модуле в массиве файла конфигурации и подключать их include.

:)

Ладно пришло время объяснить почему плагины это плохо, и почему их реализация не планируется.

Итак сначала поговорим о преимуществах плагинов.

Преимущество на самом деле одно: закинул в папку, нажал в админпанели включить и все работает.

Теперь поговорим о недостатках:

1. Сложность написания:

Сколько людей, столько и пожеланий. Одним нужно дополнительные возможности при выводе новостей, другим при написании новости, третьим для обратной связи или регистрации. Вы знаете сколько технически модулей и ситуаций использует DLE? Отвечаю 74 отдельных модуля и в них еще порядка 3-5 различных направлений. Грамотная система плагинов должна расширять возможности всех модулей. Иначе это пародия на систему плагинов. соответственоо для того чтобы написать плагин, человеку понадобится очень хорошо разбираться в системе чтобы написать плагин, который например расширит возможности рассылки сообщений, а не систему BB кодов. сколько сейчас стоит простейший отдельный модуль для DLE? 5$, будет стоить 50$ в этом даже не приходится сомневаться.

2. Но это не та причина по которой мы отказываемся от системы плагинов. Главная причина это нагрузка на сервер.

Представьте себе ситуацию, написан плагин для регистрации в системе. Но скрипту придется его загружать и при просмотре новостей, чтобы проанализировать его внутренний код, после чего он понимает что плагин не для этой ситуации и продолжает дальше свою работу. Т.е. плагин для регистрации, а мы его загружаем при просмотре новости, написании комментария и т.д. Скрипт ведь мыслей не читает, и чтобы понять что плагин левый, ему нужно открыть его и скомпилировать код. А теперь прочитайте выше сколько различных модулей в движке. И сколько холостой работы будет делать движок? Если 100 посетителей это не проблема, а если 30 000 посетителей в день? А если плагинов 10, все сервер бибикнет и сдохнет :) Не верите? поставьте Joombla на сайт с посещаемостью хотя бы 2 000 человек. Все вам дорога заказана на покупку собственного сервера. И кто сэкономил? тот кто взял бесплатную CMS или тот кто купил DLE за 50$. вывод думаю очевиден.

На данный момент в DLE модули нужно ставить в ручную, но вы поставили его туда куда нужно, и никакие другие модули не работаю в холостую. Мод используется только в прямом по назначению месте. И если записывать себе отдельно в файл какие изменения и где вы делали, то переход на новую версию займет не больше 30 минут. А что такое 30 минут, при такой финансовой экономии на затраты на хостинг. Я думаю что лучше платить 5$ за небольшой тарифный план, чем платить 30$ в месяц при той же посещаемости и только для того чтобы вам позволили работать тяжелому монстру работающими с плагинами и который экономит вам 30 минут времени.

Ссылка на сообщение
Поделиться на других сайтах

Все надо учить PHP, чтобы "...записывать себе отдельно в файл какие изменения и где вы делали, то переход на новую версию займет не больше 30 минут." :unsure:

Ссылка на сообщение
Поделиться на других сайтах

Меня ваш ламеризм просто поражает. Лично для меня удобно вручную устанавливать модули, один раз потратив на это 20 минут, и в последствии не беспокоиться о них.

Конечно это ваше право предлагать, но все равно это пустая трата времени.

Ссылка на сообщение
Поделиться на других сайтах

Меня ваш ламеризм просто поражает. Лично для меня удобно вручную устанавливать модули, один раз потратив на это 20 минут, и в последствии не беспокоиться о них.

Конечно это ваше право предлагать, но все равно это пустая трата времени.

Да не скажите! Когда вы потратили недели 3-4, добавили много своих модулей, много кода, и после этого вдруг возникает необходимость проапгрейдить движок - проще просто застрелиться.

Что есть подключение модуля:

1. в файле index.php (или аналогичном типа show.full, show.short и т.п.) в блок обработки вставляется новая строчка, обрабатывающая {mymodule}

2. в файле functions.php - добавляется пара-тройка функций (не обязательно конечно)

Это правило описывает 95% всех случаев добавления новых модулей (кроме конечно тех, которые правят сам движок - что очень не есть хорошо)

Почему бы не сделать следующее:

------------

1) вниз functions.php Добавить строку include USER_LIB_DIR.'adv_users_functions_lib.php';

внутри самого adv_users_functions_lib.php организовать подобное:

<?PHP

//[LIB01]

include USER_LIB_DIR.'/megalab/functions.php';

//[/LIB01]

//[LIB02]

include USER_LIB_DIR.'/superlib/functions.php';

//[/LIB02]

?>

Имея такую структуру можно в 5 минут сделать стандартизованный инсталлятор и деинсталлятор по ключу [..] и [/..]

подключая в нужные секции, например по имени файла.

/superlib/index.php

/superlib/functions.php

/../show.short.php

------------

2.)

В модули обработчики различных тегов {mymodule} добавить структуру аналогичную п.1.

3.) Где необходимо - сделать инклюды, для того, чтобы модули выгружались из памяти.

Вы можете спорить - но МЫ ВСЕ РАВНО делаем подобное руками, если надо добавить нужный модуль.

Но если использовать предложенную структуру, тогда любой накат версии, любой накат патчей будет сведен в 99% случаев просто к копированию новых файлов. + мы можем получить возможность автоматизированной инсталляции модулей.

Те кто гонится за мегапроизводительностью или жлобятся на "выделенные ресурсы", могут просто тупо сделать ремарку на инклюде, и писать сразу в код. Но по мне например - не проблема просто добавить ресурсы, памяти и прочее.

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

celsoft,

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

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

Итак описываю идею:

Вместа инклуда модулей, можно просто сделать один скрипт, который будит мобы и хаки сам устонавливать.

Тоесть то что написавшый скрипт пишет в ридми, нужно писать немного подробнее как программный код и использовать выражения понятные инстолятару. А скрипт инстолятор сам будит все изменения файлов и БД делать. Это можно сделать двумя путями.

1. Делается стандартный файл инсталяции, а тот кто мод/хак написал просто подстраивает инстолятор под свое творение.

Илиже

2. Один стандартный инстолятор, который читает приложеный к моду/хаку файл с информацией что ему делать.

А структуру файла стандартизировать так чтобы все знали как им обяснить инсталятору что ему делать.

Скрипт будит просто сам искать нужные строчки и заменять их на новые.

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

Вот вроде и всё. Если чтото забыл и потом вспомню, то отпишусь=)

Думаю что многимбы такая штука пригодилась, особенно тем кто кроме обычных хаков и модов использует один из форумов написаных специально для ДЛЕ.

С уважением,

Sogorukuhn

PS: Если что, пиши в асю (417488018). У меня если тему дать, то идеи быстро приходять. Только вот их Umsetzung не очень идет=(

Ссылка на сообщение
Поделиться на других сайтах

Sogorukuhn какая новая идея :)

я думаю просто надо добавить в dle easymod установщик,

такой есть у phpbb ( EasyMOD is an automatic MOD installer. It will take a MOD that follows the phpBB MODing guidelines and automatically make all changes necessary to install the MOD. Honest, it really does)

он даст

+

кнопку нажал и установилось в секунды,

апгрейд прост и легок, только то что надо обновляем

мод как и раньше используется только там где надо.

повышение порядка при написании модов

-

повышение уязвимости dle

...

но это почти идеально решение :) ждем ответ celsoft-a,

http://area51.phpbb.com/phpBB/viewforum.php?sid=&f=15

типичный установочный код в изимод :)

#

#-----[ OPEN ]------------------------------------------------

#

modcp.php

#

#-----[ FIND ]------------------------------------------------

#

$sql =

FROM " . TOPICS_WATCH_TABLE

WHERE

if

{

message_die(

}

#

#-----[ AFTER, ADD ]------------------------------------------

#

// Start add - Who viewed a topic MOD

$sql = "DELETE

FROM " . TOPIC_VIEW_TABLE . "

WHERE topic_id IN ($topic_id_sql)";

if ( !$db->sql_query($sql, END_TRANSACTION) )

{

message_die(GENERAL_ERROR, 'Could not delete viewed post list', '', __LINE__, __FILE__, $sql);

}

// End add - Who viewed a topic MOD

#

#-----[ OPEN ]------------------------------------------------

#

Изменено пользователем Tong
Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Хм.....ИМХО очень бы хотелось видеть обновление движка в виде патча. Мне кажется это даже проще, чем изобретать автоинсталяторы или переустанавливать моды. (Сравнивал версии 5,5 и 5,7 при обновлении форума - небольшая разница в 10 файлов (грубо говоря))

2.)

В модули обработчики различных тегов {mymodule} добавить структуру аналогичную п.1.

3.) Где необходимо - сделать инклюды, для того, чтобы модули выгружались из памяти.

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...