Транспортный пакет для Composer дополнений
Василий Наумкин анонсировал новый вид дополнений для MODX3 способных решить проблему зависимостей.
Идея очень перспективная, заслуживает внимания и осмысливания. Мне прямо скажу очень понравилась — Василий респект!!!
Для полного внедрения в массы не хватает немного дружеского интерфейса — то за что народ и полюбил MODX. Вероятно необходима страничка для управления composer пакетами в админке.
Из которой можно выполнить поиск пакета аналогично поиску пакета в репозитории, установку, удаление, обновление и тд. и тп. Естественно сейчас об этом рано говорить… Но хочу привести пример транспортного пакета для Composer дополнений.
Фактически это просто обертка для установки из Composer mmxDatabase и mmxForms. Пакет при установке скачивает composer и актуальную версию composer.json. Далее в резолвере происходит либо установка пакета, либо удаление

Конечно при установке через транспортник не получился разрулить какие либо конфликты, если таковые возникнут при установке, но это все же привычней для многих пользователей.
За сим прощаюсь, хорошего всем вечера! Пример транспортного пакета на гитхаб
PS. Василий сильно не ругайся!
28.03.2024
Обновил сборщик, убрал класс обертки композера из папки компонента. Теперь при установке пакета никаких лишних папок не создается.
31.03.2024
Добавлен выбор версии пакета при установке. При переустановке пакета можно как понизить версию, так и повысить, вообщем выбрать любую из доступных.
Идея очень перспективная, заслуживает внимания и осмысливания. Мне прямо скажу очень понравилась — Василий респект!!!
Для полного внедрения в массы не хватает немного дружеского интерфейса — то за что народ и полюбил MODX. Вероятно необходима страничка для управления composer пакетами в админке.
Из которой можно выполнить поиск пакета аналогично поиску пакета в репозитории, установку, удаление, обновление и тд. и тп. Естественно сейчас об этом рано говорить… Но хочу привести пример транспортного пакета для Composer дополнений.
Фактически это просто обертка для установки из Composer mmxDatabase и mmxForms. Пакет при установке скачивает composer и актуальную версию composer.json. Далее в резолвере происходит либо установка пакета, либо удаление

Конечно при установке через транспортник не получился разрулить какие либо конфликты, если таковые возникнут при установке, но это все же привычней для многих пользователей.
За сим прощаюсь, хорошего всем вечера! Пример транспортного пакета на гитхаб
PS. Василий сильно не ругайся!
28.03.2024
Обновил сборщик, убрал класс обертки композера из папки компонента. Теперь при установке пакета никаких лишних папок не создается.
31.03.2024
Добавлен выбор версии пакета при установке. При переустановке пакета можно как понизить версию, так и повысить, вообщем выбрать любую из доступных.
Комментарии: 30
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Умер этот банк. Удалите с сайта.
Как благодарить то теперь?
1. У каждого транспортника своя версия, по которой админка отслеживает обновления, и если ты опубликуешь этот транспортник в репозитории MODX или modstore, то получается, тебе же надо будет следить за моими релизами на Github, и каждый раз менять версию этого транспортника?
Потому что иначе пользователи транспортника и не узнают, что есть обновление — они же не умеют делать composer update из консоли. Ну и откат на предыдущую версию вряд ли будет работать.
2. Судя по коду, этот пакет разворачивается в core/components/mmxforms и будет лежать рядом с оригинальным core/components/mmx-forms. То есть, рядом будет 2 похожие директории: одна для транспортника, вторая для оригинального дополнения.
В общем, всё это как-то костыльно, но пусть пользователи нас рассудят. Кто хочет — будет учиться работать с composer, кто не хочет — будет скачивать виртуальные транспортники.
— Если необходимо связать версию транспортного пакета (ТП) с версией packagist то это можно прописать в том же ТП.
— Если в этом нет необходимости то добавить в ТП update пакета с packagist
если версии ТП и packagist связанны, то можно и реализовать откат.
2 — ну пока черновой вариант такой, мне это тоже не нравится. Там лежит только обертка для композера. Ее можно переместить в другое место и соответственно этот пункт пропадает.
Это да не фен шуй — потому и просил не ругать)
Но согласись не хватает интерфейса для управления в админке? Это пока самый простой способ видеть что установлено и привычно для пользователя.
У него же в управлении пакетами не загорится обнова, сам он «переустановить» не догадается нажать, composer пользоваться не умеет. Как обновляться-то?
Не соглашусь, это примерно то же, что уже произошло с MODX 3 — обновили на полшишечки, чтобы юзеров не распугать, теперь разгребаем.
У Composer уже есть отличный CLI. Лучше уж сделать пакет с окошком терминала для работы с этим CLI из админки, если так страшно заходить в консоль сервера.
ну так сейчас ты не про интерфейс управления?
И вопрос — а как юзер узнает об обновлении если поставил пакет напрямую через композер?
И всё для того, чтобы пользователи не начинали развиваться.
Я эти дополнения сделал с противоположной целью, если что — заставить юзеров MODX пользоваться композером.
Но большая часть это обычные люди, вообще не разрабы и они тоже хотят что-то сделать на MODX, им нужен понятный интерфейс с кнопочками и окошечками.
Дружелюбность системы, баланс её простоты и функционала, скорость развёртывания позволят её развиваться и привлекать новых пользователей.
Развитие!=Усложнение. Часто бывает наоборот, у гиков реже. Но для гиков уже есть фреймворки с их усложнениями на любую глубину погружения, а MODX крут тем, что сохранял баланс простоты.
Или сделать проще слишком сложно ?)) (Вот он и вызов!)
Еще раз говорю, что если ты хочешь завязать работу на транспортные пакеты, тебе придётся обновлять их версию в репозиториях MODX.
Нет, я про консоль в админке, где надо будет пальчиками вбивать команды composer и читать ответы. Что-то типа такого интегрировать.
Я предлагаю подписываться на релизы в репозитории:
Там можно следить за любыми разработками, не только для MODX — очень удобно.
обновление пакета с composer
не, не зайдет. Тот кто не пользуется консолью и такой пользоваться не будет. Нужен нормальный всем понятный интерфейс.
в случае с закрытым репозиторием как подписывать и узнавать об обновлении?
Прям не терпится почитать, что тебе в MODX LLC ответят на pull-request.
А как из него код качать? Если есть доступ — будут и уведомления. Тем более, если за доступ еще и платить надо будет.
Да на… пошлют. Я прекрасно это осознаю.
Ты возможно не понял, мне всецело нравится идея с композером, я просто хочу найти альтернативу работы с твоей идеей дополнения в тяжелых реалиях настоящего.
Получается на данный момент будет 2 вида дополнений:
— транспортный пакет (ТП)
— композер пакет (КП)
Обычная ситуация, сделали сайт, туда поставят кучу дополнений ТП и конечно что-то из КП. Придется отслеживать ТП в разделе пакетов MODX и КП в консоли.
Как по мне это уже неудобно, нет единого центра управления. Ты же понимаешь что даже если ты сейчас прикрутишь терминал в админку MODX LLC тебе ответят аналогично.
И по факту будет сайт с двумя видами дополнений. Поэтому я и предлагаю вариант с ТП.
Да это как ты считаешь костыль, это не модно, это устарело, это надо же транспортный собирать. Но другого в ближайшее время в MODX не будет.
Со временем новых mmx* дополнений должно быть больше, а старые делать и обновлять просто перестанут. Понятно, что это годы, но тем не менее.
Заодно это неплохой предлог перевести текущие актуальные компоненты на новые рельсы, выкинув всякое старьё. Мы же чисто теоретически.
С таким подходом — тем более.
В любом случае, спорить я не буду и работа с транспортными пакетами останется головной болью того, кто ими будет заниматься.
Готово, у меня новая версия дополнения. Теперь и на русском языке, отлично.
ps. там сортировка не работает, выдает ошибку joxi.ru/zANQW4qiv4KyQ2
Я к тому, что пакет это делает… но не будет ли на некоторых хостингах это запрещено?
И тут github.com/vgrish/mmx-forms-installer/blob/master/core/components/mmxforms/PackageComposerWrapper.php#L114
Напрямую из phar это не получилось у меня по другому запустить.
Ну и конечно кроме как модхост я нигде это не тестировал.
Спасибо!
Я ни одного сайта не сделал без дополнений Василия, по сути я только с его версией Модикса и работаю всегда.
Да и другие дополнения все отсюда, с Модстора.
Вася глыба отечественного сообщества, и то, что он вернулся, значит что он все ещё беспокоится за развитие любимого продукта. Очевидно, со стороны создателей поддержки ждать не стоит, у них свое мнение и они бабки зарабатывают, они будут делать как удобно для их бизнеса.
Если посмотреть за последние годы, сколько здесь было заметок о дополнениях, которые сделали не наши ребята? Я на сайтах только clientconfig и formit с modx.com использую. Вот FormIt замену уже предложили.
В общем я думаю Васе нужно делать свой форк и развивать по своему усмотрению. Думаю многие подержат это решение.
Даёшь ModX Absolution!
З.Ы. Я все дополнения только использую, новых сам не пишу. Так что если написал бред, то простите=)
modx 3
php8.1
Попробовал установить последнюю версию зависло
Консоль запущена…
Пробуем установить пакет с подписью: mmxforms-1.0.2-pl
Пакет найден… сейчас идёт подготовка к его установке.
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
Так и висит уже полчаса.