Fi1osof 12 мая 2013 4 12
Скажу коротко: я решил постепенно отходить от 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.
12 комментариев
alroniks1
alroniks 12 июня 2013г в 12:19 #
В этом плане круто было бы пакеты первести на Composer. Там и гит без геммороя, и другие интересные вещи. И тестить там просто — указал в конфиге композера ветки у нужных проектов, собрал, погонял, обратно в мастер переключился. Но это реально только в новой версии, на revo такое сложно сделать.
Fi1osof1
Fi1osof 12 июня 2013г в 13:08 #
Ждем нового MODX-а, где будет принципиальная переработки системы модулей. Джейсон над ней во всю работает.
alroniks1
alroniks 12 июня 2013г в 13:23 #
Промежуточные результаты есть уже какие-то? Или он пока закрылся в каморке и кодит? )
Fi1osof1
Fi1osof 12 июня 2013г в 13:56 #
Результатов пока не видел. И не думаю, что это завтра появится. Но судя по настрою, Джейсон четко видит что и как делать, и новая система наверняка появится.
Знаю только, что в новой системе модули будут находиться каждый в своей папке, а не как сейчас в assets/ core/ и т.п., и будут использованы стандарты именования.
alroniks1
alroniks 12 июня 2013г в 15:14 #
Надеюсь, там будет полноценная поддержка namespace из php и возможно трейтов. Вообще от новой версии MODX хочется мощного фреймворка, чтобы можно было гигантские сайты делать на его базе, с поддержкой всемозможных namespace, composer и тд и с мощной админкой, какая есть сейчас.
Fi1osof1
Fi1osof 12 июня 2013г в 15:24 #
А есть примеры огромных сайтов на Рево, на которые его уже не хватает?
alroniks1
alroniks 12 июня 2013г в 16:26 #
Я имею ввиду не по количеству ресурсов или страниц, а по количеству всевозможных реализаций бизнес-задач конкретного сайта и возможности работать над одним проектом целой команде. По сути, я хочу хороший современный фреймфорк в основе MODX. Чтобы не было мыслей юзать какой-нибудь Yii.
Fi1osof1
Fi1osof 12 июня 2013г в 16:36 #
У меня нет мыслей юзать ни Yii, ничто другое, хотя и с коханой знаком, и с многими другими системам. Собственно благодаря этому опыту и не хочу юзать. Не на MODX надо грешить, а на себя. В MODX много что для себя многие вообще не раскрыли, но успешно видят в нем какие-то недочеты. Уже очень давно MODX — мощный фреймворк, к тому же с отличной кастомизируемой админкой. Фигачить можно что угодно.

Конечно не все в MODX-е идеально, но откровенно его недооценивать — не в слабости его дело, а в сложности. Просто с ним надо как следует разобраться. Мы вот сделали магазин на 13 000 товаров и нормально (на днях будет опубликован). Сейчас вот и на 30 000 товаров сделаем. И мне MODX-а хватает с головой.

Кстати, это не только большой магазин. Там еще и всевозможные «реализации бизнес-задач конкретного сайта» есть, такие как групповое редактирование товаров и ресурсов, управление заказами с индивидуальной логикой и т.п. А работу «над одним проектом целой команде» мы выполняем в modxSDK. Она еще очень сырая, но в этом плане очень помогает.
sharpey1
sharpey 09 сентября 2013г в 20:55 #
Но он не дает возможности что-то обкатывать, тестировать и т.п. Нельзя зайти на github и попробовать погонять какой-либо MODX-пакет, к примеру. Надо его скачать, развернуть у себя и т.д. и т.п. А потом еще поправить что-нить и отправить пуллреквест.

Спасибо за статью! Именно этот момент решил, что выбрать: Symfony 2 или MODX. В силу специфики: частенько приходится заниматься своими фрилвнсами на «хозяйском» рабочем месте, соответственно, о том, чтобы развернуть виртуальный хостинг и установить клиента вроде phpStorm или NetBeans и речи быть не может!
Fi1osof1
Fi1osof 10 сентября 2013г в 15:42 #
соответственно, о том, чтобы развернуть виртуальный хостинг и установить клиента вроде phpStorm или NetBeans и речи быть не может!
Да, именно этот момент меня больше всего и толкал на разработку этого пакета. Сейчас я уже месяца два не открывал NetBeans, и хотя конечно же каких-то моментов не хватает, но в целом я вполне нормально так сижу и программирую, и главное — без привязки к рабочему месту.
А то помню раньше — придешь к заказчику, он просит какую-то мелочь поправить, а как? — с собой ни FTP-клиента, ничего. Надо что-нить скачать, установить, и все ради пяти минут работы.
w
web-ramos 04 ноября 2013г в 22:22 #
Доброго времени суток!
Во-первых, спасибо за этот инструмент, его действительно не хватало, особенно когда приходится работать с разных компьютеров.
Но возникли и вопросы и предложения.
1) установлен modx 2.2.10, язык панели — русский, Aсе в SDK не реагирует на пробел (то есть по клавише Space ноль эмоций) за пределами SDK, например при создании чанка все в порядке
2) если возникает желание удалить Project в SDK — каким образом это можно сделать (случайно создал 2 с одинаковым именем — двойной выбор в Select Project)?
Fi1osof1
Fi1osof 04 ноября 2013г в 22:34 #
Пожалуйста!

Aсе в SDK не реагирует на пробел (то есть по клавише Space ноль эмоций) за пределами SDK, например при создании чанка все в порядке
Отключите в настройках компрессию JS-ов в админке. Это бага у нас, которую еще предстоит пофиксить.

2) если возникает желание удалить Project в SDK — каким образом это можно сделать (случайно создал 2 с одинаковым именем — двойной выбор в Select Project)?
Тоже пока не доработано (все руки не доходят, более важные задачи стоят). Пока что только через базу данных.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.