Jump to content

Recommended Posts

Как вы смотрите на внедрение в DLE VQMOD?

 

Для пользователя:

- Простая установка модулей без изменения дистрибутива DLE, нужно лишь закинуть xml файл в директорию /vqmod/xml/

- Простое обновление версии DLE. Не нужно вспоминать какие модули ставил и ставить их заново, вносить правки в движок.

- Простое обновление модулей заменой старого xml файла на новый

 

Для разработчиков модулей:

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

- Довольные пользователи

 

Для разработчиков DLE:

- Довольные пользователи

- Довольные разработчики модулей

- Увеличение прибыли за счет увеличения популярности

 

 

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

 

Имеется опыт работы с vqmod на OpenCart (являюсь разработчиком модулей).

На Opencart до 2 версии vqmod был отдельным компонентом, с 2 версии разработчик включил vqmod в стандартный дистрибутив

Edited by webair

Share this post


Link to post
Share on other sites
1 час назад, webair сказал:

Как вы смотрите на внедрение в DLE VQMOD?

отрицательно, так как у него есть 2 огромных минуса:

  1. Скорость работы сайта может снизится и очень существенно.
  2. Конфликт модулей, так как иногда нужно менять один и тот же код для разных модулей

Ручная правка файлов плюс git репозиторий и никаких проблем с внесением повторных изменений при обновлении CMS, как говорится только хардкор

Share this post


Link to post
Share on other sites
13 минуты назад, germanydletest сказал:

отрицательно, так как у него есть 2 огромных минуса:

  1. Скорость работы сайта может снизится и очень существенно.
  2. Конфликт модулей, так как иногда нужно менять один и тот же код для разных модулей

Ручная правка файлов плюс git репозиторий и никаких проблем с внесением повторных изменений при обновлении CMS, как говорится только хардкор

1. У вас есть какие то цифры? При первом проходе xml файла всё кешируется.

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

 

git :D

Share this post


Link to post
Share on other sites

Во всяком случае, я уже подключил vqmod к dle за 2 часа.

Нужно написать инсталлятор и деинсталлятор vqmod, для удобства. Многовато в DLE include и require ))

 

А в будущем менеджер xml модулей - очистка кеша и вкл/выкл модуля.

Edited by webair

Share this post


Link to post
Share on other sites
14 минуты назад, webair сказал:

У вас есть какие то цифры?

конкретно у меня нет, но гугл ими пестрит, кому надо, тот найдёт

21 минуту назад, webair сказал:

В обоих случаях лезть в код.

вот именно, так зачем создавать лишнею нагрузку?

 

21 минуту назад, webair сказал:

git :D

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

Share this post


Link to post
Share on other sites
18 минут назад, germanydletest сказал:

конкретно у меня нет, но гугл ими пестрит, кому надо, тот найдёт

вот именно, так зачем создавать лишнею нагрузку?

 

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

Обычному юзеру про git не растолкуешь... Он то еле еле научился работать с FTP и phpMyAdmin

 

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

 

 

Для тех, кто не знает что такое vqmod, чтобы не лезть в google:

Цитата

"vQmod™" (Virtual Quick Mod) — это система, которая виртуально вносит изменения в исходный код сайта. Принцип vQmod довольно прост: он вносит изменения в файлы не напрямую, а виртуально. Изменения вносятся путем создания XML-файла, в котором программно описывается, что и где искать/заменять. Эти файлы обрабатываются во время загрузки страницы. Затем файлы с уже внесенными изменениями сохраняются как временные, после чего эти файлы будут использоваться в дальнейшем при загрузке страниц.

Исходные файлы фактически не затрагиваются — в этом и есть основная идея vQmod.

 

Edited by webair

Share this post


Link to post
Share on other sites

webair, делай, дело почетное. А там посмотрим-оценим)
 

Share this post


Link to post
Share on other sites
39 минут назад, webair сказал:

Обычному юзеру про git не растолкуешь... Он то еле еле научился работать с FTP и phpMyAdmin

обычному юзеру, который еле научился пользоваться FTP и phpMyAdmin нечего делать в сайта-строение, один фиг ничего достойного такой юзер сделать не сможет

Share this post


Link to post
Share on other sites

До какой версии DLE целесообразно осуществлять поддержку? 10.х и 11.х?

Какие модули самые популярные на DLE? Какие модули в первую очередь стоит перевести на vqmod?

Share this post


Link to post
Share on other sites
4 часа назад, germanydletest сказал:

обычному юзеру, который еле научился пользоваться FTP и phpMyAdmin нечего делать в сайта-строение, один фиг ничего достойного такой юзер сделать не сможет

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

  • Upvote 3

Share this post


Link to post
Share on other sites
20 часов назад, celsoft сказал:

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

Я где то говорил про контент мастера? Как правило контент мастеру не нужно работать ни с FTP, ни с phpMyAdmin, ни с установкой модулей, соответственно и VQMOD будет им бесполезен. В моём предыдущем посте я имел в виду веб мастеров, которые занимаются установкой CMS, различных модулей, их настройками, а так же вёрсткой. Там уже как минимум нужны базовые знания php, хорошие знания HTML и CSS, хотя бы минимальные знания sql, что бы когда они задают вопрос "как сделать что-то" не просили объяснить более подробно очевидные вещи.

Share this post


Link to post
Share on other sites
6 минут назад, germanydletest сказал:

Я где то говорил про контент мастера? Как правило контент мастеру не нужно работать ни с FTP, ни с phpMyAdmin, ни с установкой модулей, соответственно и VQMOD будет им бесполезен.

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

 

9 минут назад, germanydletest сказал:

В моём предыдущем посте я имел в виду веб мастеров, которые занимаются установкой CMS, различных модулей, их настройками, а так же вёрсткой.

Таких людей единицы и это статистика. Большинство пытается всегда разобраться самостоятельно, и соответственно чем проще разобраться, тем лучше. Контент мастер, не вебмастер, а вебмастер не программист. Соответственно чтобы сделать сайт, следуя вашей логике, должно быть три отдельных человека, точнее даже четыре, т.к. макет еще нужно и нарисовать, а все они не художники. Но практика такова, что когда стартуют, то обходятся всегда "малой кровью", ибо нанимать одновременно на старте 4 человека, очень дорого, соответственно четыре профессии обьеденяются в одном, максимум двух человеках, как следствие чем ниже будет порог вхождения, тем выше вероятность, что именно твоим продуктом воспользуются. DLE тем и популярен, что обладает низким порогом вхождения. У него понятные функции, простой линейный код. Все это сделано исключительно для обеспечения низкого порога вхождения, хотя я мог бы наворотить его абстрактными классами и контроллерами, на радость профессиональным программистам, только вот обычный человек, который просто хочет две функции поменять, сломал бы голову в этом коде. Поэтому тот же VQMOD может еще ниже сделать порог вхождения, что не может быть плохим по определению, и вебмастеру уже не придется осваивать базовые знания программирования, потому как это не его профессия. 

В 28. Juni 2016 в 10:33, germanydletest сказал:

Ручная правка файлов плюс git репозиторий и никаких проблем с внесением повторных изменений при обновлении CMS, как говорится только хардкор

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

  • Upvote 1

Share this post


Link to post
Share on other sites
25 минут назад, celsoft сказал:

У него понятные функции, простой линейный код.

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

 

33 минуты назад, celsoft сказал:

Поэтому тот же VQMOD может еще ниже сделать порог вхождения, что не может быть плохим по определению

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

 

По поводу того, сколько человек нужно, что бы сделать качественный сайт, действительно, нужно минимум 4 человека (Дизайнер нарисует макет, веб-мастер сверстает его и интегрирует в CMS, попутно за счёт установки модулей добавит недостающий функционал, контент мастер заполнит его интересным контентом и наконец SEO специалист, который оптимизирует сайт для поисковых систем). Если пытаться это сделать всё самостоятельно, то даже если и будет VQMOD это не повысит качество сайтов.

Share this post


Link to post
Share on other sites
11 минуту назад, germanydletest сказал:

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

VQMOD не снижает порог вхождения для тех кто пишет собственно модули. Наоборот чуть чуть увеличивает, очень не намного. Этот модуль снижает порог вхождения для тех кто эти модули собственно ставит на сайт. А к написанию модулей это не имеет никакого отношения

12 минуты назад, germanydletest сказал:

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

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

 

15 минут назад, germanydletest сказал:

Если пытаться это сделать всё самостоятельно, то даже если и будет VQMOD это не повысит качество сайтов.

Качество сайтов не повысит. Это повысит количество сайтов, а повышение количества сайтов автоматически приведет к автоматическому увеличению качества самого DLE. Ведь не стоит забывать что DLE это коммерческий проект, чем больше он заработает, тем больше он потратит на свое развитие. Ведь ничего в этом мире не дается бесплатно. Как следствие чем качественнее станет DLE, тем больше выиграют его потребители, т.е. вы. Что плохого в этом?

Share this post


Link to post
Share on other sites

Своей целью я ставлю:

1. Cоздание связки DLE+VQMOD. В данный момент я связал вручную, протестировал на работоспособность. Сейчас делаю инсталлятор

2. Простая и понятная документация для разработчиков и пользователей.

3. Генератор xml файлов для разработчиков, чтобы вручную не мучиться. (Есть несколько решений, нужно доработать и русифицировать).

4. Каталог качественных и полезных модулей (качество и полезность с моей точки зрения). Я буду переводить в xml бесплатно распространяемые модули, в которых требуются правки в CMS, а так же рассчитываю на поддержку авторов платных модулей.

 

 

Edited by webair
  • Upvote 1

Share this post


Link to post
Share on other sites

Отчитываюсь перед самим собой. Инсталлятор Рус/Eng готов.

Осталось найти все места, где в DLE используются include, include_once, require, require_once

Edited by webair

Share this post


Link to post
Share on other sites

Скачать DLE vQmod 2.6.1

 

Проверено на DLE 11.0 utf-8. Позже адаптирую на 10.х и windows-1251

 

Для теста перевел в vqmod этот хак.

Скачать vqmod модификация "Запрет пользователю отправки ЛС самому себе"

Для установки модификации должен быть установлен DLE vQmod, далее просто закидываете xml файл в /vqmod/xml/ (всё, больше ничего не нужно делать)

 

Сайт dle-vqmod.ru пока в разработке.

 

При обновлении DLE не нужно заново устанавливать все модули. Все модули уже будут лежать в /vqmod/xml/, устанавливаете заново DLE vQmod и все ваши модули уже будут работать )

 

 

Edited by webair
  • Upvote 1

Share this post


Link to post
Share on other sites

Выявились проблемы. Буду устранять.

Share this post


Link to post
Share on other sites

webair,

 

Хотите я вам расскажу подробно свое видение работы этой системы и как по моему мнению нужно делать правильно.

 

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

 

Как на мой взгляд должна работать система:

 

Имеется отдельный раздел в админпанели, в котором есть кнопка "Загрузить плагин" И "Создать плагин". Во первом случае Вы выбираете готовый xml и грузите, но никуда его физически в файлы не кладете. В этом файле есть есть секции:

 

- Название модуля

- Краткое описание

- Версия модуля

- Минимальная версия DLE

- Максимальная версия DLE опционально

- SQL запросы которые нужно сделать при установке модуля.

- SQL запросы которые нужно сделать при удалении модуля.

- SQL запросы которые нужно сделать при деактивации модуля.

- Собственно список операций над файлами который есть сейчас в том же формате.

 

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

 

Далее модули в админпанели показываются списком и у них есть меню действий:

-обновить.

-деактивировать

-активировать если деактирован

- скачать модуль

- удалить.

 

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

 

Что это дает по итогу.

Во первых вы не пользуетесь FTP, файлы модулей не грузятся физически.

 

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

 

А так обновил он плагин в админпанели, все пересобралось в кеше. И кеш живет всегда, пока не произойдет действие над плагинами.

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

  • Upvote 3

Share this post


Link to post
Share on other sites

Уважаемый Celsoft, не планируете ли вы со временем отрефакторить код и увеличить процент ООП и внедрить современные шаблоны проектирования в коде DLE? Тогда можно будет один раз и навсегда решить проблему с обновлением движка и переустановкой модулей и хаков. Конечно же, это помимо перечисленных плюсов внесёт и минусы вроде затрат времени программистов на рефакторинг и увеличение порога вхождения для разработчиков, но идея-то хорошая, правда? Мне очень нравится этот движок, но отставание от современных техник написания кода меня вгоняет в лютую печаль и депрессию каждый раз, когда я обновляю движок сайта.

Share this post


Link to post
Share on other sites

pop-science, вы так сильно выпендриватесь, что возник вопрос: может, свой движок напишите? И второй вопрос: фазанку давно закончил? или каникулы покоя не дают? школоте неймется? так пишите свое, это же лучше, чем чужое обсирать? Хотя.  результат  работы "ГЕНИЯ " мы увидим, или каникулы кончаются?
 

Share this post


Link to post
Share on other sites

Приятно получить немного внимания от старожила.

 

Свой написать - но зачем? Ведь тут уже более 11 лет ведётся разработка, потрачено более 5470 часов (что за 11 лет даёт около 1 ч 22м в сутки на написание) и написано более 7 мегабайт кода. Мне не угнаться за одни каникулы, даже если буду писать в режиме 24/7, а я ведь такой молодой и глупый, не то, что вы.

Расскажите мне, что такое "фазанка" - может тогда смогу ответить на этот вопрос.

 

Я просто считаю, что в 2016-м году не переходить на более современные технологии можно только в случае, если "пипл хавает" и так. И судя по всему, так и есть.

Кстати, почему именно "школота"? Вдруг я - "студентота"? Хотя, каникулы у студентоты тоже есть, это да, сути не меняет.

P.S.: подписался на ваши комментарии - есть чему поучиться, спасибо.

Edited by pop-science

Share this post


Link to post
Share on other sites
3 часа назад, pop-science сказал:

Расскажите мне, что такое "фазанка"

Сразу видно, что Вы младше поколения "Pepsi", раз не знаете данного обозначения ПТУ

Share this post


Link to post
Share on other sites

Клёво, не знал. В моих краях говорят "бурса", а не "фазанка".

Тем не менее, в ПТУ/колледже не учился, так что - вопрос неприменим.

 

Так что плохого в ООП в 2016-м году? Может не пришлось бы портировать VQMOD на DLE, если бы всё по уму было написано. Не надо было бы править ядро движка, чтобы поставить какой-нибудь хак? Я восхищён энтузиазмом webair'a, но всё это могло бы и не потребоваться, будь разработчик движка менее консервативен.

Та же первая Маджента (Magento 1) может позволить практически любое изменение функционала сделать без вмешательств в код движка. Да, она достаточно прожорливая в плане ресурсов, но там нет этих детских болезней вида установочных инструкций к модулям/хакам: "откройте такой-то файл движка, найдите вот эту конструкцию и замените её на вот эту". 

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

 

Давно в DLE существует API, но оно далеко не всё позволяет сделать, к сожалению.

 

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

Такие дела.

Share this post


Link to post
Share on other sites

Воу воу ) Я уходил в отпуск, а тут какие дебаты ) Работу смогу продолжить в конце июля (для DLE 11.0 готово,но всё дома, а я пока в отъезде).

 

Что сейчас сделано:

Чистый vqmod внедрен в DLE - да, всё с xml файлами, с пробежками по всем файлам. Возникли непредвиденные моменты. Например, /engine/ajax/ не подключаются нигде через include/require, а прямое обращение через AJAX, что не позволит вносить виртуальные изменения в файлы этой папки.

 

Что предполагается сделать: (это я уже писал в начале темы, но повторю)

Генератор XML файлов, с которым не придется копаться в XML файлах, а создавать собственные модификации через визуальный интерфейс. Возможность включить/выключить мод(путем простой замены расширения с *.xml на *.xml_). Всё это дело желательно внедрить в админпанель

Создать каталог модулей в админпанели, чтобы можно было скачать и установить любой мод в один клик.

 

Альтернативный вариант развития:

Сделать модификатор на основе vqmod, который может вносить правки во все файлы физически(!) один раз (никаких заморочек с кешированием и т.д.). И будет индивидуальный инсталлятор для каждого модуля, где разработчики модуля укажут какие xml файлы для какой версии DLE.

 

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

Денежных вознаграждений не нужно, я работаю на репутацию и ради расширения сообщества.

 

 

UPD: На счет ООП. Я против, при всем уважении к сторонникам. У DLE сформировалось сообщество, круг разработчиков и ООП отрежет половину этих людей, а новых вряд ли добавит. Мне все интуитивно понятно в DLE сейчас, не усложняйте. Хотя это бы очень помогло внедрению VQMOD, но всё же.

 

 

 

Edited by webair
  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...