Пожалуйста, давайте 2.6 будет последней версией MODX Revolution второй ветки

Перевод оригинальной заметки Thomas Gautvedt (@OptimusCrime), активного разработчика ядра MODX.



Ниже список дат выпусков для каждой (основной) версии MODX Revolution с тех пор, как Revolution вышел из беты. Дополнительно приведено количество прошедших дней с предыдущей версии.


2.0.0: 21 июля 2010
2.1.0: 24 мая 2011 года (307 дней)
2.2.0: 4 января 2012 года (225 дней)
2.3.0: 15 июля 2014 года (923 дня)
2.4.0: 19 августа 2015 года (399 дней)
2.5.0: 21 апреля 2016 года (247 дней)
2.6.0: 1 ноября 2017 года (559 дней)

За последние семь лет мы увидели в общей сложности шесть релизов MODX Revolution. 2.3 занял исключительно много времени и 2.6 тоже начинает затягиваться (пр. пер. — вчера, 1 ноября, уже вышел). Помимо версии 2.3, один крупный релиз выходил примерно один раз в год.

Планирование будущего MODX



Заметки Keeping MODX Relevant от Jason Coward, о которых я писал ранее, были опубликованы в феврале 2015 года. В этих статьях говорилось о том, что MODX Revolution нуждается в капитальном ремонте, чтобы оставаться актуальным в будущем. Прошли годы, и мы все еще не видим, чтобы любая из этих вещей была включена в кодовую базу MODX Revolution. В то же время версия 2.x превратилась в стабильное и хорошо работающее приложение. Это было достигнуто с помощью различного рода жертв и отложенных планов. Жертвы и отложенные планы, в свою очередь, привели к тому, что MODX Revolution имеет много технического долга, от которого мы не можем избавиться из-за желания сохранить обратную совместимость.

Сдвиг фокуса



Я думаю, что вместо того, чтобы планировать выпуск 2.7, мы должны перенести внимание на 3.0 и работать над этой версией. Согласно вышеприведенному списку, каждый основной релиз занимает около года. У нас просто нет времени, чтобы тратить его на версию 2.x. 3.0 должна выйти, и это должно произойти в ближайшее время. Посты Джейсона затрагивают проблемы MODX Revolution, и эти проблемы еще более актуальны сегодня, чем в 2015 году. Версия 3.0, скорее всего, займет некоторое время, чтобы ее сделать, и нам нужно как можно скорее начать работу над ней.

Насколько я знаю, реального плана того, что должно произойти после выпуска версии 2.6, нет. Я просто высказываю свое мнение и надеюсь, что сообщество (а также MAB) в состоянии собраться вместе и спланировать, что делать дальше.

Не стесняйтесь комментировать или делиться этим постом.

P.S.

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

Именно по этой причине на предстоящей MODXpo в Минске я расскажу о том, как можно и нужно участвовать в разработке MODX, а не ждать и надеятся, что добрый волшебник всё сделает за нас. В этом плане я немного завидую сообществу Evolution CMS, так как они смогли. Пора и нам.

К тому же на MODXpo как раз и будет возможность обсудить с представителями сообщества, MAB и MODX, что делать с MODX дальше. Так что высказывайте свои мысли здесь и приходите на конференцию через неделю.
Іван Клімчук
02 ноября 2017, 10:25
modx.pro
5 739
+9

Комментарии: 36

Hetzerok
02 ноября 2017, 14:50
+4
Да безусловно MODX нуждается в глобальной модернизации. Технологии как и тренды не стоят на месте, а основой движка остается кодовая база 2010 года.
На мой взгляд как разработчика необходимы следующие изменения:
— Поддержка PSR стандартов и все что с этим связано (неймспейсы, автозагрузка, composer)
— Полноценный шаблонизатор из коробки (не важно smarty, fenom, twig или ещё что-то)
— Отделение кодовой части от БД, что позволит нормально пользоваться системами контроля версий, а не изобретать велосипед.
— Отказ от ExtJS в админке и переход на один из современных JS фреймворков.
— Слабосвязанная архитектура, чтобы любую часть системы можно было легко заменить.
— CLI приложение для типовых задач (парсинг схемы, создание базы компонента и т.д.)
    Іван Клімчук
    02 ноября 2017, 14:53
    +1
    Это все по сути уже описано в рекомендациях, основная проблема сейчас – это разработчики, которые могут это сделать. Пока что активно в разработке ядра участвует 3-4 человека, этого слишком мало.
      Hetzerok
      02 ноября 2017, 15:00
      0
      Так в первую очередь нужен план действий какой-то — четкое понимание «Мы хотим видеть MODX таким-то», а уж к этому нужно прикладывать усилия разработчиков. Пока что, как я понимаю, такого плана нет — не ясно даже будет ли в следующей версии кардинальное обновление или продолжится процесс эволюции.
        Іван Клімчук
        02 ноября 2017, 15:06
        0
        В 3.0 версии как раз таки планируется кардинальные изменения серверного кода, как минимум переход на композер и PSR. Более того, это уже частично сделано, есть ветка 3.x, где эти изменения уже работают, не работают только некоторые важные моменты с правильной прогрузкой зависимостей (по тем же PRS), которые требуется исправить. Касательно админки, то тут вопрос открытый, так как на базе extjs написано много дополнений и менять все разом и кардинально — это значит «кинуть» всех тех авторов, кто их писал. Это болезненый вопрос из области политики.
          Hetzerok
          02 ноября 2017, 15:17
          0
          Почему кинуть, разговор же идет не о прекращении поддержки 2.x, а о том что будет в 3.x. Вон Evolution до сих пор существует и пользуется заслуженной любовью у многих разработчиков.
    Hetzerok
    02 ноября 2017, 15:10
    +1
    Вот ещё скажу может быть крамольную мысль — MODX не повредил бы отказ от XPDO в его существующем виде. В него запихано все что возможно и ORM и валидация и загрузка нлассов и т.д. Чтобы соответствовать современным требованиям нужно это разделять.
      zooks
      06 ноября 2017, 12:54
      +2
      RIP MODX Revo (2010–2017).

      Начал активно использовать его с версии 2.1.0 осенью 2011 года. Но всё хорошее когда-нибудь заканчивается. Начинается новый этап в жизни.
        Роман Ильин
        07 ноября 2017, 22:37
        0
        А что есть из приличных альтернатив?
          Іван Клімчук
          07 ноября 2017, 22:56
          +1
          Вопрос то не про альтернативы, MODX Revolution состоявшийся продукт с магазином платных дополнений и сотнями бесплатных, который нет смысла сильно развивать дальше в том виде, как он есть. Даже список улучшений для Рево на github не такой впечатляющий уже, скорее мелкие фишечки, которые могут кому-то упростить жизнь, не более того. Это говорит о том, что базовые потребности уже давно закрыты либо в коде либо сторонними решениями.
            Роман Ильин
            07 ноября 2017, 23:14
            0
            Согласен, Revo – стал стабильным и устоявшимся продуктом, приносящий всем деньги. Но в IT-сфере потчевать на лаврах – смерти подобно. По теории менеджмента этап стабильности фирмы должен прерываться интенсивным ростом, иначе упадок и ликвидация.

            Поэтому, ждём MODX Singularity со встроенным шаблонизатором, композером и всеми современными плюшками.
            Foton
            11 ноября 2017, 13:58
            +1
            Постепенно переползаю на OctoberCMS. Принципы те же — полная свобода, но их фантастический плагин Builder позволяет расширять админку под свои нужды.
            Іван Клімчук
            07 ноября 2017, 22:53
            +3
            Странно вы воспринимаете призыв заняться всерьез новой версией MODX. По вашим словам, так MODX всё, закрылся и больше его не будет. Сайты на Рево еще долго придется обслуживать, даже если бы MODX 3 вышел прямо сейчас.
              zooks
              12 ноября 2017, 14:11
              0
              По факту MODX Revo уже давно прекратил развиваться и держится за счёт растущего русскоязычного коммьюнити, всяких ModStore и данного ресурса.

              Так что ждем что они представят в MODX3. Странно, что даже еще не определились на чем будут писать админку.
                Іван Клімчук
                12 ноября 2017, 14:43
                0
                Админка MODX 3 будет на EtxJS по прежнему, это уже наверное из каждого утюга сказали.

                И да, кто они? Хотя вы не были на MODXpo и не слышали мой доклад, которые это все пояснял. :-)
                Нет мифических они. Странно считать себя частью сообщества, рассуждать не зная фактов, но верить в некий Олимп богов MODX, которые возьмут, напишут вам 3 версию и спустят с небес для простых смертных. MODX текущий и 3 версию пишут такие же смертные. Я добавил пару новых фич в 2.6, но что-то нибма над собой не замечаю. Так что если сообщество не будет валять дурака, споря что же таки будет в MODX 3, а примет непосредственное участие в его разработке, тогда будет толк.
                  zooks
                  12 ноября 2017, 14:55
                  +1
                  Спасибо, я нечасто захожу на данный ресурс и поэтому не был в курсе. Возможно, не являюсь частью сообщества.

                  Кто-то же руководит разработкой, ставит планы, дедлайны. Для некоторых действий нужна соответствующая квалификация. Имхо, нужны конкретные люди, а не абстрактное (самоорганизующееся?) сообщество.
                    Іван Клімчук
                    12 ноября 2017, 15:02
                    +1
                    Такие люди есть. Но их очень мало. Конретно – разработкой сейчас занимается максимум 4-5 человек, они исправляют ошибки, проверяют присланные исправления, они же выпускают релизы, тестируют их и делают всю остальную работу по проекту. Остальное «сообщество» сидит и ноет, когда будет 3 версия. Т.е. конкретные люди есть, но почему-то остальная тысяча человек сидят и ждут, когда им подадут на тарелочке. И эти 5 человек, которые не получают за свою работу зарплату, должны всех удовлетворить? Хорошо устроилось сообщество, надо сказать :)
            but1head
            08 ноября 2017, 02:58
            0
            А что слышно по поводу extjs в 3.x.x? ИМХО react прекрасно бы зашел, ибо там все на компонентах и легко расширяется.
              Іван Клімчук
              08 ноября 2017, 09:27
              +3
              Есть мысли по поводу перейти на полный rest в ядре, а это позволит, в свою очередь, делать любую админку на любом фреймворке, включая реакт.
                Волков Николай
                12 ноября 2017, 05:17
                0
                Я боюсь что-либо писать про REST после того, как уже наполучал минусов ранее за примерно тот же смысл, но в более резкой форме…

                Тем не менее, я не соглашусь с вашей формулировкой, т.к. уже идет прокачка в MODX всего касающегося RESTful API, а в последних обновлениях это хорошо заметно (промолчу, что я писал об этом еще до релиза 2.6). Другой вопрос, что реализация происходит не с максимальной скоростью, т.к. не утверждено еще…

                  Волков Николай
                  12 ноября 2017, 06:56
                  +1
                  Но… Если честно, то админкам сделанным на React'е, Angular,Polyfill — MODX на ?&й не нужен. Простите, конечно, за выражение, но зачем? Ради RESTful доступа к данным БД? Или 1 проверки авторизации и получения token? Только ради LocalStorage и fetch()? Не смешите, есть варианты лучше. А остальное они и без него могут. Могу сказать только то, что сейчас в таком состоянии многие системы… JS король фронта. Асинхронность + отсутствие необходимости для запуска в действиях из вне + прототипированность — против этого самому по себе PHP нечего противопоставить, кроме доступа к базам, чего уж говорить про приложения на нем… Но я так понимаю, что FireBase скоро это изменит.
                    Волков Николай
                    12 ноября 2017, 07:05
                    0
                    А и еще… Возможности того же Yoeman и прочих генераторов такие, что проще на них сгенеривоть будет, чем вникать… Я уж молчу про то, как растет база и уровень решений. Вот к примеру, https://www.npmjs.com/search?q=%20yo-express-generator&page=1&ranking=optimal
                    Всего за 5 минут такая туча всего будет в любой из 19 вариантов.
                      Волков Николай
                      12 ноября 2017, 07:20
                      +1
                      И кто-то что-то писал про системы контроля версий: как у самого JS так и у nodeJSс этим все прекрасно и без MODX. Если вспомнить про те же самые docker / vagrant, то тогда уже MODX зависим. Господа, мне тоже близок к сердцу он, но, если посмотреть на вещи реально и забыть про весь этот фанатизм то, что останется? Только то, что я и говорил дальнейшее падение популярности PHP, поскольку он становится попросту не нужен.
                        Іван Клімчук
                        12 ноября 2017, 14:12
                        +1
                        Я рад, что вас вдохновил JS и вы фанатеете от него так же, как кто-то от MODX. Только причем тут ваши тирады выше к теме разработки MODX, я не понял.
                          Волков Николай
                          12 ноября 2017, 18:17
                          +1
                          Возможно тирады и были излишними, но сути это не меняет. У Revolution есть только три пути:
                          1)Повторение судьбы Evolution. Аналогично сконцентрироваться на новой, полностью не совместимой с Revo 3 ветке MODX. И в этом нет ничего плохого. Думаю, что Дмитрий подтвердит это…
                          2) Продолжать никому не нужное прокачивание ExtJS 3.4 и всего того, что раньше было заложено в основу ради нее.
                          3) Как минимум реализовать следующее:
                          а) Для modResource сделать родительским классом modElement, а не modAccessibleObject
                          б) Перенос всего связанного с роутингом из modResource в modElement.
                          в) Объединить modChunk и modTemplate. Для всех элементов сделать возможным указание modTemplate.
                          г) Объединить modPluginEvent и modAction. Кстати и еще сделать modMenu дочерним классом для modElement.
                          г) Реализовать отдельный класс modActionCallback, чтобы иметь возможность строить цепочки из Action у modElement
                          д) создать класс modService, который объединит modPlugin и будет чем-то вроде modExtra из компонента известного одного. Суть в том, что Event мог быть, как глобальный, так и частный у элемента.
                            Іван Клімчук
                            13 ноября 2017, 11:02
                            +1
                            Некоторые пункты интересные, некоторые не совсем понятны. Я был бы благодарен, если бы расписали бы каждый пункт по отдельности более подробно (возможно с примерами), зачем это нужно и что это даст и опубликовали бы в виде статьи здесь же. Я готов эту заметку перевести на английский, чтобы обсудить ее не только в русскоязычном сообществе.
                              Волков Николай
                              13 ноября 2017, 13:09
                              0
                              опубликовали бы в виде статьи здесь же
                              Я бы с радостью, но мой рейтинг не позволяет :-)))
                            Волков Николай
                            12 ноября 2017, 18:23
                            0
                            Но все то, что я написал это попытка сделать из текущего MVC => MVP/MVVM, что в каком-то смысле новая ветка скорее получится.
                              Волков Николай
                              12 ноября 2017, 18:34
                              +5
                              ну и последнее: modStore, modMore и т.п. компаниям, зарабатывающим но MODX, пора становиться спонсорами MODX и начинать скидываться на оплату работы разработчиков ядра. Ибо много тогда у кого появится время и желание на развитие ядра. Разумеется, что совсем ярым фанатам можно будет и за бесплатно поработать.
                                Іван Клімчук
                                13 ноября 2017, 10:59
                                +2
                                Марк (modmore) и так отчисляет 10% с каждой покупки на развитие MODX. Это известный факт. Насчет modstore не знаю. Что касается спонсоров, то да. В субботу на MODXpo этот вопрос подымался. Есть сложности как это сделать прозачно, но я вижу это в организации системы «баунти» для разработчиков. Когда есть какая-то задача или пул задач, которые нужно решить, этой задаче назначается цена и когда разработчик или группа разработчиков эту задачу решают, получат свои деньги. Ну и нужен фонд для сбора денег на такие баунти (тут сложнее, потому что нужен кто-то кто будет эти деньги собирать, аккумулировать, потом раздавать и прочее). Казалось бы делов то, бери и собирай. Но нужна полная прозрачность всех поступлений и трат. Если есть идеи или реальные примеры, как можно это сделать, то я только за, чтобы подключить всех заинтересованных к обсуждению.
                                  Волков Николай
                                  13 ноября 2017, 13:07
                                  0
                                  Марк (modmore) и так отчисляет 10% с каждой покупки на развитие MODX.
                                  Марк — наш человек :-) Отчисляет 10% туда, куда он сам входит :-)
                                  Если есть идеи или реальные примеры, как можно это сделать, то я только за, чтобы подключить всех заинтересованных к обсуждению.
                                  Ничего без меня не можете… Какие еще на фиг баунти? Почему не милкювеи?

                                  Фронтэнд — это то, где вертятся все бабки. Можете спросить у Темы Лебедева, который вообще в самопальной админке все делает и все счастлива. Поэтому:
                                  1) modStore откроет раздел отдельный «Шаблоны», где будет размещен аналог TemplateMonster или т.п. каталогов.
                                  2) Поскольку на MODX работают серьезные и умные дяди (ну или хотя бы делают вид), то ставим жесткие требование на шаблон, чтобы он мог быть выставлен на продажу, а это как минимум:
                                  а) Мультиязычность, как минимум rus/eng
                                  б) Удобство в работе с шаблоном, должно проявляться не только у разработчика.
                                  в) Ввод стандартов написания кода, а также в ограничения в плане использования шаблонизаторов и т.п.
                                  в) Поддержка минимального набора компонентов и их кастомных классов, вроде товаров и, кастомных страниц под логику, вроде страниц заказа miniShop2 + Также должны быть реализованы CMP и остальные страницы в админке.
                                  г) Поскольку серьезные фанаты фронта любят React, Angular, Polyfil, то ради шаблонов и их настройки под админку подо всю возню с ExtJS имеет смысл нанять отдельного спеца по ExtJS, который будет реализовывать админку.

                                  Но это далеко не все…

                                  Ну и разрабам уже давно пора понять, что каждый шаблон — это минимум 10-20 дополнений в том числе платных. Возможно многим известен такой слайдер, как Revolition Slider. Он платный и входит в большинство шаблонов для WordPress. Слабо посчитать сколько на этом слайдере бабок гребут разрабы? Могу сказать только одно: лопатой. И что самое интересное на MODX Revolution ДО СИХ ПОР нет нормального и мощного слайдера. Все время MIGX и т.п.

                                  Далее… Нужно реализовать на modStore одну простую вещи: одна покупка — одна установка. Хватит уже воровать всем у всех. Пора зарабатывать :-)
                                    Іван Клімчук
                                    13 ноября 2017, 13:21
                                    +1
                                    Марк — наш человек :-) Отчисляет 10% туда, куда он сам входит :-)
                                    Марк больше не сотрудник MODX, но на самом делает очень много для MODX, кроме 10% с каждой продажи.

                                    Ничего без меня не можете… Какие еще на фиг баунти? Почему не милкювеи?
                                    Ну не выставляйте-то себя невеждой. www.wikiwand.com/en/Bug_bounty_program

                                    Далее… Нужно реализовать на modStore одну простую вещи: одна покупка — одна установка. Хватит уже воровать всем у всех. Пора зарабатывать :-)
                                    Это не реализуемо технически так, чтобы этим можно было удобно пользоваться. Добавить сюда русскую «смекалку» и желание получить все нахаляву, даже когда это не совсем возможно либо глупо, убивает эту идею на корню.

                                    Катательно шаблонов, шаблоны давно есть на modstore, только их не покупают. Был бы спрос, давно бы все писали бы шаблоны. Но его нет. Более того, шаблоны есть и на themeforest. Но там ситуция такая же.
                                      Василий Наумкин
                                      13 ноября 2017, 16:32
                                      0
                                      Далее… Нужно реализовать на modStore одну простую вещи: одна покупка — одна установка. Хватит уже воровать всем у всех. Пора зарабатывать :-)
                                      У меня только один вопрос — каким образом?

                                      Как столько сформулируешь, можно смело бежать продавать идею в Microsoft, Adobe и другие крупные компании, которые еще не додумались как победить пиратство.
                                        Волков Николай
                                        13 ноября 2017, 16:47
                                        0
                                        Я не столько против воровства, сколь против того какой это стало нормой в MODX сообществе. Все такие умные, вежливы, святые люди, которые, наставив спертых пакетов, не догадываются хотя бы сменить поставщика приложений с пустого на modstore.pro
                                          Волков Николай
                                          13 ноября 2017, 16:49
                                          0
                                          бежать продавать идею в Microsoft, Adobe
                                          Ты специально выбрал компании, которые способны из чего угодно сделать говно?
                                            Василий Наумкин
                                            13 ноября 2017, 16:52
                                            0
                                            Я специально выбрал компании, у которых продукты начали воровать еще до нашего рождения и воруют по сей день.

                                            И вот как-то они не смогли это взять и запретить!
                                              Волков Николай
                                              13 ноября 2017, 17:04
                                              0
                                              Сейчас в голову пришла прекрасная идея, спертая у Microsoft: не активировал компонент — лови Яндекс рекламу на сайте и за ее счет оплачивай. C JS у народа не особо хорошо, поэтому, если очень красиво сжать скрипт у того же MiniShop2, то мало кто уберет :-) Почему MiniShop2? да потому что у него люди банальное расширение сделать не могут ради «Купить в один клик», вроде:
                                              $.extend(miniShop2.Cart.add, fn(){});
                          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                          36