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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
23 апреля 2024, 10:17
+5
Всё прошло очень хорошо, парни из Sterc привезли с собой оператора, который всё заснял и зафотал. Сейчас это дело смонтируют и выпустят документалку, можно будет посмотреть.

Новостей именно про развитие системы, кроме моего доклада, вроде и не было никаких. Разве что Sterc представили новый портал для поиска работы, связанной с MODX — www.workwithwander.com.

Мой доклад прошёл очень хорошо, теперь самому интересно посмотреть, как это выглядело со стороны. Особенно народ оживился на словах о том, что можно нанимать сотрудников не из мира MODX, а с более широкого рынка современной PHP разработки.

В общем, ждём документалку.
Василий Наумкин
17 апреля 2024, 09:27
+1
windows — страшная тема для docker) кто смог настроить docker под window, респект
Давно использую на Windows 11, через родной Hyper-V.



Заморочки видимо с WSL, попробуй без него на досуге.
Василий Наумкин
05 апреля 2024, 05:45
+2
Полностью перешёл на Vesp и очень доволен.

Но, как показала практика, освоить работу с ним непросто, поэтому сейчас я возвращаюсь вместе с Vesp в MODX — для чего и придумал новые composer-only дополнения.

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

Насколько будет сложнее делать на модных Laravell + Vue.js?
Можешь почитать курс про работу на Vesp, там будет понятно. Есть еще и продолжение про переезд магазина с miniShop2 на Vesp.
Василий Наумкин
02 апреля 2024, 17:28
+6
Если кому интересно — то я тоже поеду в Белград, рассказывать про новые composer дополнения.

Уже заанонсили на официальном сайте мероприятия:
Василий Наумкин
27 марта 2024, 13:23
0
И по факту будет сайт с двумя видами дополнений.
Именно так, да — переходный период.

Со временем новых mmx* дополнений должно быть больше, а старые делать и обновлять просто перестанут. Понятно, что это годы, но тем не менее.

Заодно это неплохой предлог перевести текущие актуальные компоненты на новые рельсы, выкинув всякое старьё. Мы же чисто теоретически.

Но другого в ближайшее время в MODX не будет.
С таким подходом — тем более.

В любом случае, спорить я не буду и работа с транспортными пакетами останется головной болью того, кто ими будет заниматься.
Василий Наумкин
27 марта 2024, 12:30
0
ну явно что не rest.modx.com.
То есть ты еще и какой-то репозиторий доработаешь, и в админку MODX новые функции для работы с пакетами протолкнёшь?

Прям не терпится почитать, что тебе в MODX LLC ответят на pull-request.

в случае с закрытым репозиторием как подписывать и узнавать об обновлении?
А как из него код качать? Если есть доступ — будут и уведомления. Тем более, если за доступ еще и платить надо будет.
Василий Наумкин
27 марта 2024, 11:33
+1
И автоматом загружать в репозитории.

И всё для того, чтобы пользователи не начинали развиваться.

Я эти дополнения сделал с противоположной целью, если что — заставить юзеров MODX пользоваться композером.
Василий Наумкин
27 марта 2024, 11:32
0
из наиболее логичного это инфу должен давать репозиторий на запрос CheckUpdates
Это как? Какой репозиторий будет проверять версию пакета в packagist.org и показывать в админке кнопку «обновить»? И что будет происходить при нажатии на эту кнопку?

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

ну так сейчас ты не про интерфейс управления?
Нет, я про консоль в админке, где надо будет пальчиками вбивать команды composer и читать ответы. Что-то типа такого интегрировать.

И вопрос — а как юзер узнает об обновлении если поставил пакет напрямую через композер?
Я предлагаю подписываться на релизы в репозитории:

Там можно следить за любыми разработками, не только для MODX — очень удобно.
Василий Наумкин
27 марта 2024, 10:20
0
1. Ты не ответил — как юзер узнает о релизе новой версии, если ты не загрузишь новый транспортник в репозиторий MODX?

У него же в управлении пакетами не загорится обнова, сам он «переустановить» не догадается нажать, composer пользоваться не умеет. Как обновляться-то?

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

У Composer уже есть отличный CLI. Лучше уж сделать пакет с окошком терминала для работы с этим CLI из админки, если так страшно заходить в консоль сервера.
Василий Наумкин
27 марта 2024, 09:06
0
PS. Василий сильно не ругайся!
Не буду, но у меня два вопроса.

1. У каждого транспортника своя версия, по которой админка отслеживает обновления, и если ты опубликуешь этот транспортник в репозитории MODX или modstore, то получается, тебе же надо будет следить за моими релизами на Github, и каждый раз менять версию этого транспортника?

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

2. Судя по коду, этот пакет разворачивается в core/components/mmxforms и будет лежать рядом с оригинальным core/components/mmx-forms. То есть, рядом будет 2 похожие директории: одна для транспортника, вторая для оригинального дополнения.

В общем, всё это как-то костыльно, но пусть пользователи нас рассудят. Кто хочет — будет учиться работать с composer, кто не хочет — будет скачивать виртуальные транспортники.
Василий Наумкин
26 марта 2024, 10:40
0
Думаю, речь о том, чтобы посмотреть на исходники mmxForms и делать такие же компоненты с административной частью на Vue 3.

Тогда можно будет получить (или использовать) актуальные знания, вместо ненужного древнего ExtJS 3.4.1.1, которому уже 11 лет.
Василий Наумкин
25 марта 2024, 10:29
0
Каким образом можно будет избежать конфликтов
Composer просто не позволит установить конфликтое приложение, и ничего не сломается.

Нужно будет поискать более подходящее приложение, или попросить автора адаптировать своё. Например, указать другие возможные версии зависимостей, как уже сделал я с vesp/core, для нормальной работы в MODX 3.
Василий Наумкин
24 марта 2024, 19:24
0
Скорее, это что-то с настройкой веб-сервера, потому что на modhost.pro дружественные url включать не нужно.

Главное, чтобы любой запрос попадал на index.php, а там уже сработает плагин.
Василий Наумкин
24 марта 2024, 17:18
0
Все запросы в приложение перехватываются плагином на onHandleRequest, дальше проверяется адрес запроса и, если он начинается с /mmx-forms/, то передаётся контроллеру.

У тебя, судя по всему, или не работает плагин mmxForms, или запрос перехватывает раньше кто-то другой. Во всяком случае, текст ошибки не выглядит как обычная страница MODX.

Я только что проверил работу на modhost — всё отлично, проблем нет.


Попробуй и ты, я дополнил заметку инструкцией для этого хостинга.
Василий Наумкин
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.