Роман Воропаев (Volk)

Роман Воропаев (Volk)

С нами с 03 декабря 2015; Место в рейтинге пользователей: #80
Роман Воропаев (Volk)
21 апреля 2019, 23:06
+19
MODX с одной стороны CMS, которая может побороться с популярной WordPress в плане удобства создания не совсем шаблонного сайта, т.к. фронт необходимо самому делать, и MODX хороший опыт для новичков, которые хотят пойти дальше, чем просто автоматом ставить готовые плагины в WordPress и радоваться тому, что «они умеют делать сайты». Так-же благодаря Василию, его pdoTools и файловым чанкам, а так же другим его дополнениям и дополнениям других разработчиков, ну и всех, кто делает свой вклад, MODX стал еще более привлекательнее для разработчиков начального и среднего уровня, скажу так, что с 2013 года, когда я впервые познакомился с MODX эта система сделала хороший скачок вперед, не такой конечно, как к примеру фреймворк laravel, но опять же MODX нельзя полностью сравнить с WordPress, т.к. MODX можно отнести к CMF и нельзя сравнить с чистым фреймворком laravel, это что-то между всем этим, поэтому у MODX есть полно своих плюсов, и полно своих минусов, а MODX 3 дает хорошие надежды.
Тут еще недавно узнал, что ветка evolution тоже решила шаг вперед сделать, и начали делать её на компонентах laravel, считаю, что они правильным путем пошли по многим причинам, посмотрим что из этого выйдет и смогут ли это довести до ума. Вот если бы Revo тоже решили сделать на компонентах Laravel с обратной совместимостью, то я думаю в этом случае можно было бы привлечь опытных разработчиков из laravel сообщества решилось бы сразу полно проблем в т.ч. и безопасностью, а также стали бы сразу доступны все библиотеки, которые есть для laravel и дело бы реально пошло большими шагами, т.к., если даже небольшое сообщество evo ветки смогли это сделать, то и наше более активное сообщество добились бы успехов. В этом случае MODX бы стала хорошим конкурентом OctoberCMS, а при сохранении возможности легко делать сайты новичкам без знания php, MODX стала бы лидером.

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

По поводу скорости MODX, тут все же для больших проектов необходимо поработать ручками и тогда это всё будет работать достаточно быстро (делал магазин, который с 1С обменивался каждые 10 минут новыми товарами и остатками, в бд было добавлено больше 100 тыс. позиций, на сайте опубликовано в среднем от 30 до 60 тыс., конечно, если просто взять и запустить как есть, то фильтры по опциям отрабатывали по несколько секунд, но в итоге, после много часов поиска решения удалось сделать так, чтобы в каталоге, где выводятся все 30 — 60 тыс товаров, с пагинацией по 50 товаров на странице, фильтры отрабатывали меньше, чем за секунду (и это без использования ElasticSearch или Sphinx, хотя проще наверно было бы использовать один из этих поисковых движков и вообще не париться по поводу роста количества товаров в бд и фильтрации по ним), с пиковой посещаемостью 15 тыс. уников в сутки, конечно без индивидуальной настройки выделенного сервера тоже не обошлось. Я думаю, что если больше углубиться в это, то можно было сделать еще быстрее, главное чтобы самому это было интересно и не в напряг, тогда возможно всё.

Но последние полтора года я все чаще начинаю использовать для разработки больших проектов на Laravel и, возможно, когда-то я соберу все свои наработки и буду на них быстро клепать простые проекты, но не факт. Laravel мне кажется для разработки именно с нуля намного удобнее, там полно библиотек, хорошая документация, не только на англ, но и на русском, одна работа с кэшем чего стоит, на сколько она простая и понятная, в то же время гибкая, особенно если использовать теги, которые единственное не поддерживаются стандартным файловым кэшем, а только Memcached, Redis и т.д., но можно ведь самому написать драйвер и реализовать это (для 4 версии даже готовое решение находил на ГИТе).
Конечно Laravel подойдет только для тех, кто уже давно не боится влезть в код готового дополнения и дописать его, либо расширить стандартный класс, если это предусмотрено разработчиком.

Опять же, благодаря сообществу MODX и магазину modstore, даже начинающий программист может заработать денег, написав своё дополнение и это большой плюс для привлечения в сообщество новичков. У меня у самого еще с 2016 года выложены 2 дополнения, с которых хоть немного, но почти каждый месяц есть доход, а если постараться и выложить что-то еще, то можно неплохую прибавку к основному доходу иметь, но чем сложнее дополнение, тем больше совсем глупых вопросов в тех. поддержке от тех, кому лень немного подумать или слишком мало опыта работы с MODX и разработкой сайтов в целом, на которые приходится полно времени тратить, которого и так мало, но это уже другая тема. У меня за это время накопилось полно различных решений для MODX, но нет времени и мотивации, чтобы их оформить в пакет, т.к. мотивация в доходе в последствии отнимет много времени тем, о чем я говорил выше, а просто потратить время на сбор пакета и написании инструкции, которое не окупится при текущей загруженности не могу, т.к. помимо зарабатывания денег еще есть семья, другие дела, ну и в свободное время стараюсь изучать что-то новое, чтобы в дальнейшем это использовать. Кстати, недавно освоил разработку в Docker контейнерах, очень удобная вещь, теперь не представляю, как раньше обходился OpenServer и в совсем далеком прошлом AppServ)

По моему мнению проблема в том, что MODX на данный момент интересен больше именно новичкам, поэтому очень мало опытных разработчиков, которые способны делать свой вклад в MODX, и еще меньше тех, у кого на это есть время и желание, я сам несколько раз только обращался к авторам дополнений с найденными ошибками и своими исправлениями, я мог и хотел бы сделать свой вклад в MODX 3, но времени хватило только чтобы написать этот большой коммент)). Я думаю, если все пойдет стремительно дальше, и MODX 3 увидит свет, то придут больше опытных разработчиков, а также начинающие разработчики повысят свой уровень и начнут тоже делать свой вклад, поэтому будущее у MODX есть, пока разработчики делают хоть небольшой вклад. Помню про Laravel 3 в начале 2013 года тоже говорили, что фреймворк загнется и не ровня он YII2 и возможно большие проекты совсем не для него, а потом вышла 4 и 5 и на данный момент у Laravel большое сообщество и крупные проекты на нем можно делать, конечно, если не думать при разработке, то и на Laravel можно написать г.., которое будет работать медленно.

Я считаю, что каждый для себя делает выбор того, что ему больше кажется удобным, т.к. все разные, и если человеку нравится работать с какой-то определенной системой, это не значит, что человек не развивается и не хочет двигаться дальше, это значит, что он чувствует себя в своей тарелке и ему это интересно, а интерес это главное, т.к. только в этом случае он может развиваться, внести полезный вклад в эту систему и делать качественные проекты, а еще лучше, когда такой человек приносит новшество в эту систему, которые в итоге как раз и дают прогресс системе. (например как fenom и файловые чанки, которые, думаю, многих новичков вывели на новый уровень в разработке, заставив разобраться, что такое среда разработки, и что сайты можно делать удобнее, чем просто из админки).
Роман Воропаев (Volk)
07 апреля 2018, 08:43
+1
github.com/but1head/localizator/blob/master/core/components/localizator/model/schema/localizator.mysql.schema.xml вот тут надо поменять phptype=«text» на phptype=«string». Чуть позже пересоберу компонент.
Все, проблема решена
Роман Воропаев (Volk)
07 апреля 2018, 08:24
0
Точно такая же проблема, после сохранения появляется в этих полях «0»
Последняя версия MODX и пакета
Роман Воропаев (Volk)
27 февраля 2018, 12:41
0
К слову, я на своём веб-сервере реализовал такого же типа резервное копирование, только бекапы хранятся за 2 месяца, за последние две недели это 2 полных копии и по 6 инкрементальных к ним, и 6 еще полных копий (по одной за каждую еще более давнюю неделю), в целом получилось, что есть бекапы за 2 месяца. Но не это главное.

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

Так же в этом случае можно еще найти вдс с минимум озу и 1 ядром, но с большим диском и поднять там ftp, либо пользоваться dropbox и прочими сервисами, но это обходится дороже, чем свой слабый вдс с большим диском и поднятым на нем фтп.
Роман Воропаев (Volk)
21 февраля 2018, 14:49
0
Поставьте бесплатный, смотрите, что он сейчас может и решайте сами хватит вам его функционала или нет, описание функционала моего пакета есть в магазине. Я с их модулем имел дело только 1 раз и было это 2 года назад, за это время могло что-то поменяться.
В моём как минимум есть ККТ, виджеты, полная интеграция с minishop2 без необходимости лезть в код и что-то там писать, все настраивается в настройках из админки и всё это собрано в пакет + техподдержка + обновление функционала иногда. А есть ли там такое? И кстати, у официального так называемого модуля, который был установлен у одного моего клиента, была проблема со сменой статуса заказа, с которой техподдержка паймастера не могла помочь, т.к. модуль делал сторонний программист, но еще раз повторюсь, это было 2 года назад, изменилось что-то там или нет я не отслеживаю.
Роман Воропаев (Volk)
23 февраля 2017, 07:51
+1
У яндекса давно замечал проблемы с отправкой почты, на одном интернет-магазине, с которого много заказов в сутки идет почти каждый день терялось несколько отправленных писем, в логах modx smtp яндекса давал отказ, точную ошибку уже не помню, причем предыдущее письмо и следующее в промежутке 10 минут отправлялись без проблем, но и иногда несколько подряд могли не отправиться. В общем мирирились с этим полгода, т.к. проблема временно решалась созданием нового почтового ящика в домене и письма сайта отправлялись с него, но максимум на две недели спасало. В итоге пришлось перейти на gmail и теперь все письма доходят.
Но опять же у меня есть и другие сайты, которые все еще отправляют письма через smtp яндекса, но меньшее количество в сутки и никаких проблем не было.
Роман Воропаев (Volk)
13 января 2017, 07:39
0
Тут нужно не в MODX верить а в собственные силы. Есть знания, навыки и целеустремленность, тогда на MODX можно почти всё реализовать (я имею ввиду функционал, т.к. сам дизайн от MODX вообще никаким образом не зависит, тут зависит всё только от дизайнера и фронтэнд разработчика).

Вот пример на докладе MODX Meetup Minsk 2015 Илья Ершов рассказывал про проекты на 15000+ товаров в полной интеграции с 1С. И вот один из его проектов https://www.domfarfora.ru/. Много интересного можно отметить для себя из этого видео для разработки крупных интернет-магазинов.
Роман Воропаев (Volk)
25 октября 2016, 09:34
0
Смотрите в сторону создания группы ресурсов, в ней выбирайте доступные ресурсы, и потом группам менеджеров просто назначайте доступ к определенной группе ресурсов.
Роман Воропаев (Volk)
19 октября 2016, 10:20
2
+1
Да, у меня точно так же, нужно просто перегенерировать превью.
Кстати все возможные ключи для массива и их значения, чтоб было понятно, что можно получить, можете глянуть, добавив в чанк следующий код:
{foreach $_pls as $key => $value}
	<p>{$key} => {$value}</p>
{/foreach}
Роман Воропаев (Volk)
10 октября 2016, 12:21
+1
Да, но можно взять из чанка tpl.mspPMWidget сам JS и вынести его в футер после подключения библиотеки jQuery, тогда и в этом случае будет работать без проблем.
Роман Воропаев (Volk)
20 июля 2016, 11:05
+2
Спасибо. Вчера действительно чё-то всё перепутал. Расширяется всё точно так же, как и раньше.
Теперь компонент работает и на новой версии minishop2 2.4, поддержка старых осталась. Обновил компонент в modstore, осталось дождаться модерации.
Роман Воропаев (Volk)
19 июля 2016, 15:06
0
Василий, тогда есть вопрос: если в мнишоп 2.2 для кастомного класса можно было просто унаследовать класс msDeliveryHandler следующим образом:
class myDelivery extends msDeliveryHandler {здесь логика расчета}
То в версии 2.4, судя документации кастомный класс должен просто реализовывать интерфейс msDeliveryInterface следующим образом:
class myDelivery implements msDeliveryInterface {}
Но в таком случае в бэкенде в редактировании способов доставки ошибка, что отсутствует в файле кастомного класса интерфейс msDeliveryInterface, а во фронденде на странице оформления заказа вся логика работает без ошибок, при этом в настройках ms2_services всё прописано.
Если мы добавим в код кастомного класса
interface msDeliveryInterface
{public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0.0);}
то тогда в бэкенде кастомный класс для вариантов доставок выставляется без проблем и никаких ошибок, но во фронтенде на странице оформления заказа ошибка, что имя интерфейса msDeliveryInterface уже используется в файле кастомного класса.
Подскажи как получить тогда интерфейс msDeliveryInterface в кастомном классе?
Роман Воропаев (Volk)
19 июля 2016, 09:45
0
Спасибо за подсказку.
Скоро доделаю и обновлю компонент.
Роман Воропаев (Volk)
19 июля 2016, 08:56
0
Делал компонент для магазина на версии 2.2, щас просто появилось время собрать в пакет. Протестировал на Modhost на minishop2 2.4 с последней версией RC там видимо что-то поменяно со времен 2.2 и кастомный класс по другому подключается, пока нет времена копать.
В общем для тех, кто пока не планирует обновляться до последней версии минишопа этот компонент вполне подойдет, потом появится время разберусь с последней версией минишопа и сделаю уже под неё.

Да и у последних выложенных новых компонента доставки совместимость только с новой версией минишопа, видимо не удастся сделать так, чтоб кастомный класс и на старых версиях работал и на новых, тогда напишу отдельный компонент для нового, т.к. пока еще много народу используют версию 2.2
Роман Воропаев (Volk)
11 июля 2016, 08:57
+1
Арендуйте хороший VPS, а еще лучше VDS, установите на него какую-нибудь панель управления, из дешевых в принципе хороших платных ispmanager, из хороших дорогих платных cpanel, бесплатные не могу посоветовать, т.к. не пользовался ими. Сделайте для каждого сайта отдельную учетку и выделете каждому из них свое количество ресурсов от виртуального сервера, именно столько, сколько требуется каждому сайту, в таком случае, если один из сайтов вдруг превысит свой лимит, то он будет ограничен, а другие сайты на этом сервере будут работать без перебоев, конечно это всё в случае правильной настройки. Так же в случае VPS можно увеличивать свои ресурсы если это OpenVZ, то без всяких перезагрузок панели управления всего пару нажатиями, если это KVM, то тоже в принципе ресурсы увеличиваются не так сложно, но через тех поддержку и с перезапуском всего сервера. Эти варианты самые дешевые. Если арендовать VDS, то тут уже будет дороговато, ресурсы увеличивать тоже через тех поддержку по приличным ценам, но это будет полностью ваш сервер, на котором будут расположены только ваши ресурсы.
VPS могу посоветовать от Linode.

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

Используя панели управления хостингом удобно, что можно создать настройки по умолчанию для новых учеток, поэтому при загрузке нового проекта достаточно только создать новую учетку, базу и залить туда сайт.
Роман Воропаев (Volk)
06 июля 2016, 08:00
+4
Такую систему внедряли на один из городских форумов еще в 2007 году, только там можно было комментировать как и плюс так и минус, можно было оставлять поле комментарий пустым. Т.е. просто рейтинги перестали быть анонимными, и появилась возможность написать за что человеку ставят минус или плюс.
В то время эта система на форуме хорошо прижилась.
Роман Воропаев (Volk)
06 июля 2016, 07:07
0
Вопрос был решен через поддержку в личном кабинете modstore.pro.
У Victor библиотека jquery была подключена в конце страницы, а не как положено в head.

Просьба всем: вопросы по работе этого компонента, если вы его купили в modstore.pro, писать через поддержку в личном кабинете. Сюда писать предложения по компоненту или общие вопросы.
Роман Воропаев (Volk)
06 июля 2016, 06:46
0
Раз теперь рейтинг имеет большое значение на этом ресурсе, особенно для тех, кто выкладывает информацию по своим компонентам из modstore, тогда есть смысл реализовать такой функционал:
У каждого пользователя в личном кабинете будет отображаться кто, когда и за какой тикет или комментарий поставил ему плюс или минус. Так же можно сделать к примеру, если ставишь минус, то должен написать комментарий к нему (типа за что минус), который потом у пользователя отобразится в списке.