Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
21 марта 2024, 16:32
+1
1. Что делать, если зависимостей много и установка прервётся по таймауту? Это же web-запрос
2. Как отвечать на вопросы от Composer при разруливании зависимостей?

Но я, конечно, никому не могу помешать так делать.
Василий Наумкин
21 марта 2024, 13:58
0
Это тоже изврат, не надо такое поддерживать.

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

Народ даже придумал консольный сборщик GPM, который работает по json схеме. Никому не нравится собирать транспортные пакеты, это издевательство.

Куда лучше потихоньку писать новые дополнения и переводить старые на установку из Composer. Будут хорошие дополнения использовать этот подход — будут и юзеры.
Василий Наумкин
21 марта 2024, 13:47
+3
сторонние модели возможно добавлять в список поддерживаемых разработчику
Да конечно, как только mmxDatabase установлен в системе, можно писать свои модели, расширяющие класс Model из Eloquent.

Любой будущий пакет может просто указать у себя в зависимостях mmx/database, а так как у нас всё через Composer, то установлен он будет только один раз, неважно сколько пакетов его требуют.

использование компонента на фронте выливается примерно в 1,5 мб дополнительного css и js?
Это только если без gzip — а с ним 420 Кб.


Тоже многовато, но оно закэшируется и больше грузиться не будет. Для всех форм на всех страницах будет грузиться один и тот же комплект файлов.
Василий Наумкин
20 марта 2024, 16:21
+1
такое уже есть в SendIt
У Vueform всё немного сложнее. Там грузятся временные файлы до отправки формы, а потом их можно удалить или заменить.

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

В логике mmxForms это новые таблицы, модели и связи. Sendit, насколько я вижу по исходникам, с БД вообще не работает.
Василий Наумкин
13 марта 2024, 10:34
0
Стоит еще добавить, что если сайт использует современнный CSS фреймворк, то он уже может поддерживать тёмный режим из коробки.

Например, вот как это работает в Bootstrap 5.3.
Василий Наумкин
09 марта 2024, 16:05
+4
Если дело только в английском — то не парься, все всех поймут. В крайнем случае доставай телефон, переводи там и показывай, никаких проблем.

На мою самую первую встречу в Беларуси 2015 нанимали переводчицу, и с ней иностранные гости приехали в ресторан. Первые полчаса пытались общаться с её помощью, но это очень медленно и скучно, так что накатили немного и начали понимать друг друга напрямую.

Больше переводчиков на тусовкох не было, насколько я помню.
Василий Наумкин
09 марта 2024, 15:59
0
а у MODX как движка есть дорожная карта?
Неа, ничего нет и ждать не стоит. Всё будет примерно как сейчас. Собственно, ровно так же, как оно было и с Evolution.

Если нужно развитите — или переходи на другие системы, или развивай сам. Других вариантов, на мой взгляд, давно уже нет.
Василий Наумкин
09 марта 2024, 04:55
+2
Я так понимаю, системе помогут твои полезные комментарии.

Неинтересно — проходи мимо, чего вонять-то.
Василий Наумкин
09 марта 2024, 04:42
0
Ну, например, я заработал много денег, сотрудничая с людьми, с которыми познакомился именно на этих ивентах. И до сих пор продолжаю зарабатывать.

Обычно всё главное происходит до и после официальной части. Презентации и доклады — это просто официальный повод встретиться и затусить.
Василий Наумкин
06 февраля 2024, 08:43
+1
Весь.

Только при работе из браузера запрос обычно обслуживает php-fpm с одним конфигом, в при запуске из консоли php-cli с другим.

MODX должен пытаться выставить правильную временную зону всё равно, но конфиг PHP может запрещать это делать.
Василий Наумкин
01 февраля 2024, 03:58
+2
ЕСЛИ убираю ms|price:number (т.е. фильтр цены), то время ответа примерно 3 секунды, что терпимо
НО с ms|price:number время ответа 50 секунд
как фильтр цены может так влиять на время ответа?
Очень просто.

В miniShop2 есть событие для изменения цены товара плагинами — msOnGetProductPrice. Если у вас установлены какие-то плагины, меняющие цены, то они срабатывают в момент подготовки фильтров. И генерируют вам дополнительные десятки тысяч запросов.

Нужно разбираться, какой плагин и зачем это делает.
Василий Наумкин
27 января 2024, 06:27
1
+2
mFilter2 медленный по причине медленного устройства традиционных баз данных и языка PHP в принципе.

Вот уж не соглашусь — из базы он только выбирает данные, затем строит файловый индекс, и его фильтрует на PHP, пробегая по массивам. И, полагаю, делает это совсем неоптимально.

Сегодня есть гораздо более быстрый компонент k-samuel/faceted-search, который я опробовал на разных проектах, в том числе и с большим количеством данных — результаты отличные. Вопрос только в том, сможет ли кто-то, и захочет ли, прикрутить этот пакет к MODX.

Вот тут пример интеграции вместе с кодом, а вот тут можно потыкать результат вживую.

А с базой MODX работать придётся даже ElasticSearch, потому что именно в ней хранятся данные товаров, которые нужно фильтровать.
Василий Наумкин
24 декабря 2023, 09:32
+2
Классика — это не читать документацию.

Нужно было просто заменить [[+total]] на {{+total}}, тогда парсер MODX пропустит этот плейхолдер, а pdoTools обработает как надо.

P.S. @Иван Бочкарев В вашей версии документации в примере указаны неправильные теги — в моей старой версии всё верно.

Вот твой коммит, с изменением смысла примера.
Василий Наумкин
07 октября 2023, 06:19
0
На всякий случай, даже 8я версия PHP уже устарела и получает только обновления безопасности.

www.php.net/supported-versions.php
Василий Наумкин
02 октября 2023, 04:28
1
+3
Недавно решал подобную задачу, только сделал немного иначе.

Вместо передачи токена корзины в заголовке, у меня указывается uuid корзины как часть адреса для запроса, типа /api/web/cart/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582.

Оформление заказа так же происходит с указанием uuid корзины /api/web/orders/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582, после чего заказ получает уже собственный uuid, а старая корзина удаляется.

Таким образом, авторизация вообще не нужна, заказ можно создавать и просматривать гостям — главное знать нужные uuid, которые не поддаются перебору.

Теперь становится возможно менять опции товара прямо в корзине, и если выбранный комплект опций совпадает с другим пунктом корзины, то комплекты просто суммируются.
А как эти товары потом разделить обратно, если соединил по ошибке? Разрешать делать что-то, без возможности отмены, мне кажется несовсем правильным.
Василий Наумкин
27 июня 2023, 12:55
0
  1. pdoTools
  2. Collections
  3. Tagger
  4. SimpleSearch
  5. FormIt
  6. SeoSuite
  7. Formalicious
  8. GoogleAnalytics
  9. ModxDashboardWidgetsPack
  10. QRNFCGenerator
Это те, что на вскидку вспомнил, потому что работал с ними недавно. Если покопаться, найдутся еще.
Василий Наумкин
27 июня 2023, 12:48
0
Таких пакетов уже довольно много, хоть бы и новый pdoTools. Видишь, здесь грузится свой собственный autoload.php, который может содержать любые зависимости?

Теперь представь, что так может делать любое дополнение в MODX 3. Кто-то будет тестировать свой пакет на совместимость со всеми остальными в репозитории? Очень сомневаюсь.

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

Это есть и во 2й версии, просто там этот шанс гораздо ниже, но отнюдь не нулевой.
Василий Наумкин
25 июня 2023, 05:38
+4
Дима, ты всё перепутал.

В MODX 3 старый «стабильный» менеджер пакетов приводит к возможности добавить в систему конфликтующие дополнения. Как с самой системой, так и друг с другом.

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

Перечитай еще раз, если не понял, о чём я пишу.
Василий Наумкин
08 июня 2023, 05:30
+4
Я сколько лет работаю, столько и встречаюсь с призывами «что-то делать» от людей, которые сами ничего делать не хотят, не могут или не умеют.

Какой смысл создавать тему, в которой пользователи что-то будут предлагать разработчикам? Вы думаете, где-то реально сидит скучающий разработчик и не знает, чем заняться? Зайдёт в тему, почитает, и — вот оно, бегу делать, волосы назад.

Нет, так не бывает.

Люди, которые умеют что-то делать, без дела не сидят. И если они не хотят развивать свои дополнения для MODX, значит они заняты чем-то еще. Как правило тем, за что лучше платят, или где интереснее работать.

Современный MODX не интересен разработчикам, ему просто нечего предложить. Отсталая админка, проприетарная система дополнений, странно прикрученый composer в 3й версии. Поэтому, как только появляются более-менее серьёзные навыки, разработчик переходит на Laravel или еще куда. А сюда заходит просто поболтать, потому что сложилось клёвое сообщество.

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

MODX развивается с 2004 года, и еле-еле доползли до 3й версии. Я еще помню, как issues писали на Redmine, и как переносили исходники на Github. Некоторые issues еще с тех пор там висят!
А вот Laravel стартовал в 2011 году, и уже вышло 10 версий — летит ракетой. Там целая экосистема, вплоть до собственных сред разработки, типа Laravel Valet.

И это еще хорошо, что мы сделали modstore.pro, потому что американские владельцы до сих пор не озаботились монетизацией. PR в репозиторий висят месяцами, а то и годами. Когда ты получишь обратную связь — уже забудешь, зачем этот PR предлагал. Это потому, что и там никто на зарплате работой с репозиторием не занимается.

Мы при капитализме живём, любой энтузиазм рано или поздно заканчивается. Можно просто посмотреть, кто был активен в сообществе и что-то делал лет 5 назад, и понять, что никого из «старичков» не осталось.

Это естественный процесс взросления.

Так что, мой совет, не стоит ничего ждать, и ни к чему призывать. Лучше развиваться самому и осваивать другие системы, которые более по душе. Тот же Битрикс в иходном вопросе приведён в качестве примера 2 раза.
Василий Наумкин
24 апреля 2023, 04:10
+1
Последняя версия Uploadify была выпущена в 2016 году, задолго до выхода MODX 3.

Так что, очевидно, с ним она не работает.