Николай Ланец
12 мая 2013 г., 16:01

modxSDK, git и я

Скажу коротко: я решил постепенно отходить от git-а. На это есть несколько причин.
Причина первая: в MODX традиционно пакеты могут хранить различные свои части в разных папках сайта. Менеджер пакетов MODX-а нормально с этим справляется. Он может упаковать различные части сайта, он может распаковать в различные части сайт. С этим вопросом и modxSDK отлично справляется: сколько будет медиасурсов в пакете, столько он и упакует, и ему совершенно не важно к каким папкам эти сурсы привязаны. А вот гит на это вообще не рассчитан. Для него все должно иметь общее начало из одной папки. Я не говорю, что гит — плохо, я просто говорю, что гит не совсем укладывается в общую картину.
Причина вторая: git в моем понимании — просто умное хранилище. Да, он контролирует версии. Да, он умеет мержить различные ветки и т.п. Но он не дает возможности что-то обкатывать, тестировать и т.п. Нельзя зайти на github и попробовать погонять какой-либо MODX-пакет, к примеру. Надо его скачать, развернуть у себя и т.д. и т.п. А потом еще поправить что-нить и отправить пуллреквест.
Мое видение на все это.
Я считаю, что гораздо правильней в принципе предоставлять доступ. К примеру, вот проект modxSDK: modxsdk.fi1osof.modxcloud.com/manager/ Логин: modxsdk Пароль: modxsdk
Каждый может зайти, и опробовать modxSDK в действии. Но лучше конечно создавая свои пакеты, а в сам modxSDK непосредственно просто так правки не вносить.
?
?
В чем суть? Конечно это все еще очень сырое и многое надо будет доделывать, включая внутренние механизмы контроля версий (кстати, в xPDO они есть), индивидуальные пакеты и т.п. Но сейчас главное — понять принципиально другой подход к разработке. Я не планирую поддерживать философию гит-а с множеством веток и т.п. В моем понимании проект должен быть один, и все должны работать с одним проектом, чтобы действия каждого укладывались в одну общую картину. А не так, что у каждого по своему клону проекта, у всех все работает, а потом смержили все, и все ломается. Более того, я рассчитываю сделать так, что можно будет даже совместно править один файл, как это в гугл-документах реализовано. Только при таком подходе все будет единое, и у всех будут актуальные файлы, и проект всегда будет актуальным.
Есть еще вот такой момент: гит все-таки рассчитан на хранение отдельных проектов, модулей и т.п. То есть один гит-проект — это один пакет. В modxSDK один проект может включать сколько угодно пакетов и т.п. Простой пример: создали новый сайт, установили Wayfinder, getResource и т.п. — уже несколько пакетов вошли в состав проекта. Конечно же это пока не оформлено, но это обязательно будет реализовано.
Резюме.
Давайте выходить на новый уровень. Тестируйте modxSDK, устанавливайте себе, играйтесь, помогайте дорабатывать на modxsdk.fi1osof.modxcloud.com/manager/ и т.п. Я думаю, modSDK станет инструментом для разработки у многих MODX-еров, так как это не просто IDE, а среда разработки с полной поддержкой окружения MODX.
В этом плане круто было бы пакеты первести на Composer. Там и гит без геммороя, и другие интересные вещи. И тестить там просто — указал в конфиге композера ветки у нужных проектов, собрал, погонял, обратно в мастер переключился. Но это реально только в новой версии, на revo такое сложно сделать.
Ждем нового MODX-а, где будет принципиальная переработки системы модулей. Джейсон над ней во всю работает.
Промежуточные результаты есть уже какие-то? Или он пока закрылся в каморке и кодит? )
Результатов пока не видел. И не думаю, что это завтра появится. Но судя по настрою, Джейсон четко видит что и как делать, и новая система наверняка появится. Знаю только, что в новой системе модули будут находиться каждый в своей папке, а не как сейчас в assets/ core/ и т.п., и будут использованы стандарты именования.
Надеюсь, там будет полноценная поддержка namespace из php и возможно трейтов. Вообще от новой версии MODX хочется мощного фреймворка, чтобы можно было гигантские сайты делать на его базе, с поддержкой всемозможных namespace, composer и тд и с мощной админкой, какая есть сейчас.
А есть примеры огромных сайтов на Рево, на которые его уже не хватает?
Я имею ввиду не по количеству ресурсов или страниц, а по количеству всевозможных реализаций бизнес-задач конкретного сайта и возможности работать над одним проектом целой команде. По сути, я хочу хороший современный фреймфорк в основе MODX. Чтобы не было мыслей юзать какой-нибудь Yii.
У меня нет мыслей юзать ни Yii, ничто другое, хотя и с коханой знаком, и с многими другими системам. Собственно благодаря этому опыту и не хочу юзать. Не на MODX надо грешить, а на себя. В MODX много что для себя многие вообще не раскрыли, но успешно видят в нем какие-то недочеты. Уже очень давно MODX — мощный фреймворк, к тому же с отличной кастомизируемой админкой. Фигачить можно что угодно.
Конечно не все в MODX-е идеально, но откровенно его недооценивать — не в слабости его дело, а в сложности. Просто с ним надо как следует разобраться. Мы вот сделали магазин на 13 000 товаров и нормально (на днях будет опубликован). Сейчас вот и на 30 000 товаров сделаем. И мне MODX-а хватает с головой.
Кстати, это не только большой магазин. Там еще и всевозможные «реализации бизнес-задач конкретного сайта» есть, такие как групповое редактирование товаров и ресурсов, управление заказами с индивидуальной логикой и т.п. А работу «над одним проектом целой команде» мы выполняем в modxSDK. Она еще очень сырая, но в этом плане очень помогает.
Но он не дает возможности что-то обкатывать, тестировать и т.п. Нельзя зайти на github и попробовать погонять какой-либо MODX-пакет, к примеру. Надо его скачать, развернуть у себя и т.д. и т.п. А потом еще поправить что-нить и отправить пуллреквест.
Спасибо за статью! Именно этот момент решил, что выбрать: Symfony 2 или MODX. В силу специфики: частенько приходится заниматься своими фрилвнсами на «хозяйском» рабочем месте, соответственно, о том, чтобы развернуть виртуальный хостинг и установить клиента вроде phpStorm или NetBeans и речи быть не может!
соответственно, о том, чтобы развернуть виртуальный хостинг и установить клиента вроде phpStorm или NetBeans и речи быть не может!
Да, именно этот момент меня больше всего и толкал на разработку этого пакета. Сейчас я уже месяца два не открывал NetBeans, и хотя конечно же каких-то моментов не хватает, но в целом я вполне нормально так сижу и программирую, и главное — без привязки к рабочему месту. А то помню раньше — придешь к заказчику, он просит какую-то мелочь поправить, а как? — с собой ни FTP-клиента, ничего. Надо что-нить скачать, установить, и все ради пяти минут работы.
Доброго времени суток! Во-первых, спасибо за этот инструмент, его действительно не хватало, особенно когда приходится работать с разных компьютеров. Но возникли и вопросы и предложения. 1) установлен modx 2.2.10, язык панели — русский, Aсе в SDK не реагирует на пробел (то есть по клавише Space ноль эмоций) за пределами SDK, например при создании чанка все в порядке 2) если возникает желание удалить Project в SDK — каким образом это можно сделать (случайно создал 2 с одинаковым именем — двойной выбор в Select Project)?
Пожалуйста!
Aсе в SDK не реагирует на пробел (то есть по клавише Space ноль эмоций) за пределами SDK, например при создании чанка все в порядке
Отключите в настройках компрессию JS-ов в админке. Это бага у нас, которую еще предстоит пофиксить.
2) если возникает желание удалить Project в SDK — каким образом это можно сделать (случайно создал 2 с одинаковым именем — двойной выбор в Select Project)?
Тоже пока не доработано (все руки не доходят, более важные задачи стоят). Пока что только через базу данных.

Добавить комментарий