Отчёт о митапе в Леуварден, Голландия 07 марта 2018


Привет, друзья!

Вчера прошёл вечерний митап в городе Леуварден, Голландия. Это столица региона Фрисландия, в котором я имею удовольствие в данный момент проживать уже месяц.

Митап, по нашим меркам, был очень необычным — он стартовал в 19 часов вечера, в среду, то есть ровненько посередине рабочей неделе. Местом проведения стал Stenden Hotel.

Совершенно неожиданно для организатора, собралось аж 38 человек, со всей Голландии. Так как среди них затесался и один русский — митап проходил на английском языке.

Mark Hamstra (хозяин мероприятия и владелец modmore.com) представил доклад о событиях в мире MODX, прошедших с последнего голландского митапа в далёком 2015 году. Событий накопилось довольно прилично — вы сможете сами почитать его доклад.


Gauke Pieter Sietzema из Sterc BV (в которой я сейчас работаю) рассказал о том, как двигается разработка MODX 3 и объявил срок выхода — июнь 2018 года. Впервые за всё время у нас есть план, команда и финансирование — так что, процесс действительно пошёл.

На данный момент MODX 3 это:
— xPDO 3, с неймспейсами
— Работа с Composer из коробки
— Все зависимости, включая xPDO, выделены из ядра и устанавливаются через composer
— Самописные источники медиа заменены за Flysystem — единое API для работы с любыми сервисами.
— Ускоренный медиа менеджер и работа с картинками в админке — см. этот PR.
— Новый дизайн админки, включая экран авторизации.
— Возможность выбора языка для работы в админке при входе, что делает работу мультиязычной команды гораздо удобнее.
— Перенос многих настроек, типа писем о сбросе пароля, в лексиконы — как продолжение идеи о действительно мультиязычной админке.
— Чистка кода, исправление ошибок, множественные улучшения юзабилити и что мы там еще по пути придумаем за 3 месяца.



Те изменения, которые можно применить в текущей ветки 2.х, мы постараемся выпустить пораньше. А все остальные можно предварительно посмотреть, установив систему из Git:
composer create-project modx/revolution www 3.x-dev
Это скачает MODX, установит зависимости и соберёт ядро.

Дальше нужно зайти в /setup через браузер и установить сайт, как обычно. Я уже предложил использовать для этого отдельный CLI-скрипт, но его пока не добавили в основную ветку.

ExtJS админка пока остаётся, потому что мы хотим выпустить MODX 3 этим летом, а переписывание менеджера может затянутся на годы.



Больше информации вы можете найти на свежем modx3.org и докладе GP.

После GP выступал я, и показал уже готовые штуки: новый экран логина, сброс пароля через почту (по европейским законам теперь нельзя отправлять новый пароль на почту, так что вам придёт ссылка, по которой вы зададите его самостоятельно), ускоренный media manager и новые источники файлов: локальный, Amazon S3, Openstack Cloud и FTP — все работают через FlySystem API. Фактически, вся подсистема работы с источниками файлов переписана заново, планирую добавить еще и SFTP.

Почти все эти штуки уже есть на Github в виде PR ко 2й или 3й ветке и прямо сейчас вы можете помочь в их тестировании вот так.

Ну а в самом конце Bert Oost разбавил поток новостей о MODX 3 докладом о работе с Docker.


Данный митап был одним из неожиданно крупнейших в мире, хоть и коротким. В любом случае, надеюсь, все получили удовольствие и массу интересной информации о MODX 3.



Напоминаю адрес нового источника информации — modx3.org.

Обратите внимание, там же вы можете пожертвовать денежку в фонд разработки, если очень хочется помочь, а тестирование PR — это не для вас.
08 марта 2018, 11:24    Василий Наумкин   G+  
4    1801 +30


Комментарии ()

  1. Дмитрий 08 марта 2018, 12:00 # +3
    О-Т-Л-И-Ч-Н-О! Хорошее настроение с утра обеспечено хорошей новостью. Спасибо большое!
    Вопрос про extJS сам напрашивается — я правильно понял, что он пока что остается, но в планах выпилить его?
    1. Василий Наумкин 08 марта 2018, 12:04 # +3
      Да, большинство хочет с ним что-то сделать, но понимает, что сейчас это нереально.

      Самый реалистичный план, который я знаю — перевести все контроллеры и процессоры админки на REST, и тогда любой желающий сможет написать свою админку на любом JS фреймворке (потому что это очень холиворная тема).
    2. Константин Ильин 08 марта 2018, 12:33 # 0
      Отличная новость!!!
      Нам нужно больше скриншотов админки=)

      Самый реалистичный план, который я знаю — перевести все контроллеры и процессоры админки на REST, и тогда любой желающий сможет написать свою админку на любом JS фреймворке (потому что это очень холиворная тема).
      Все же какая-то админка должна быть сразу, ведь из-за нее в начале полюбили modx:)
      Получается modx превращается в этакий фрейморвк(хотя и щас так можно сказать что он таковой)
      1. Василий Наумкин 08 марта 2018, 12:38 # 0
        Ну, какая-то админка будет по умолчанию, просто никто не знает, какая именно, потому что даже фреймворк выбрать невозможно — сплошной холивар.

        Текущая админка выглядит так же — её еще не меняли. Прототипы дизайна можно найти на modx3.org.

        В любом случае, пока об этом говорить нет смысла, сейчас нужно выпустить MODX 3 с обновлённым дизайном на ExtJS.
        1. Константин Ильин 08 марта 2018, 12:47 # 0
          а чем плох ExtJS?
          Я имею ввиду более свежей версии, лицензия денег стоит?
          1. Василий Наумкин 08 марта 2018, 12:51 # 0
            Да, там какие-то проблемы с лицензиями, насколько я знаю.

            В любом случае, лучше дать возможность разработчикам создавать свои админки для клиентов, чем снова намертво привязываться к одной-единственной, с устаревшим софтом.

            Еще раз повторяю — это только мысли вслух, никто пока ничего не делает в этом направлении.
      2. Дмитрий 08 марта 2018, 12:41 # 0
        Всё сижу и обдумываю еще вопросы, т.к. новость очень хорошая. Хочу еще спросить следующее:
        1) Перенос контроллеров и процессоров на REST планируется до первого релиза, или уже после? Насколько сильно первые дополнения, написанные под 3-ю версию придется переписывать к релизу 3.2 например? Есть ли понимание, насколько сильно будет штормить систему на старте?
        2) xPDO и общая концепция системы остается — обновляется только подход ко всему этому, осовременивание, верно? Я правильно понял, что для того, чтобы развернуть на MODX 3 простенький бложек или визиточку, достаточно будет дождаться релиза pdoTools для 3 версии?
        1. Василий Наумкин 08 марта 2018, 12:46 # +3
          1) Пока вообще никаких сроков нет — это просто единственное логичное, что нужно сделать для начала работы над новым менеджером. Но никто его сейчас делать не собирается.

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

          2) Да, верно. pdoTools 3 уже есть на GitHub, на нём я отрабатывал работу с composer из дополнений. В новой версии Fenom вынесен из pdoTools и ставится через composer самого сайта.
              /** @var $modx modX */
              $modx =& $transport->xpdo;
              $path = MODX_BASE_PATH;
              $composer = $path . 'composer.phar';
              $params = "--working-dir {$path} --no-progress 2>&1";
              switch ($options[xPDOTransport::PACKAGE_ACTION]) {
                  case xPDOTransport::ACTION_INSTALL:
                      $message = shell_exec("php {$composer} require fenom/fenom:2.* {$params}");
                      break;
                  case xPDOTransport::ACTION_UPGRADE:
                      $message = shell_exec("php {$composer} update fenom/fenom {$params}");
                      break;
                  case xPDOTransport::ACTION_UNINSTALL:
                      $message = shell_exec("php {$composer} remove fenom/fenom {$params}");
                      break;
              }
          1. Дмитрий 08 марта 2018, 12:49 # +1
            Крууууто. Жду не дождусь теперь!
        2. Yar 08 марта 2018, 12:51 # +4
          Мне нравится, что MODX идеально балансирует между мейн-стримом и закрытым сообществом. Такой расклад позволяет быть на шаг впереди других попсовых CMS. Спасибо, что позволяете самоучкам вроде меня делать недорогие и быстрые сайты!
          1. Дмитрий Иванов 08 марта 2018, 13:57 # 0
            Как я понимаю, элементы типа чанков так же остаются в базе по умолчанию? Нового шаблонизатора тоже не будет?
            1. Василий Наумкин 08 марта 2018, 14:02 # +1
              Да, верно. Элементы в файлах и новый шаблонизатор можно установить самостоятельно даже на текущей версии.

              Мы же не хотим сломать сразу весь опыт текущих пользователей новой версией, не правда ли?
            2. Владимир 08 марта 2018, 14:07 # +2
              Весьма отрадно! Очень позитивная новость.
              1. Anton Erin 09 марта 2018, 15:07 # 0
                У меня пару вопросов от новичка (чуть постарше новичка).
                1. Начал изучать Fenom (благодаря Василию и pdoResources).
                В MODX 3 он останется?

                2. Поясните, пожалуйста, что будет с файловыми элементами? Я имею в виду хранение сниппетов и чанков в файлах.
                Сейчас я делаю так: делаю шаблон через админку 1 раз, там просто include другого чанка, и там уже работаю в IDE.
                Всё останется также или будут изменения в способах работы?
                1. Дмитрий 09 марта 2018, 15:09 # 0
                  Если почитать комментарии, то можно увидеть ответы на эти вопросы
                  1. Anton Erin 09 марта 2018, 15:59 # 0
                    Да-да, я примерно так и понял. Просто еще не совсем понял именно в ответах выше, поэтому спросил попроще.
                  2. Василий Наумкин 09 марта 2018, 15:11 # +2
                    Всё останется, без паники.
                    1. Anton Erin 09 марта 2018, 16:02 # 0
                      А улучшения по этому поводу предвидятся? Было бы здорово, если бы файловые элементы сразу подхватывались в админке, как только положил файл в соответствующую папку. Вот это имел в виду.
                    2. Виталий Батушев 09 марта 2018, 15:11 # +1
                      Ответ на твои вопросы чуть выше непосредственно от Василия.
                    3. Леви Ким 11 марта 2018, 19:50 # +1
                      На сколько я слышал, планировалось что третью версию будут писать с нуля на базе slim 3. я так понимаю что это по факту решили не переписывать с нуля а до(пере)писать вторую версию. Что по поводу обратных совместимостей?
                      1. Олег 15 марта 2018, 23:38 # +1
                        Рискну написать своё ИМХО, как веб-разработчик, а не специалист по MODX. Все вышеперечисленные изменения не тянут на смену ветки на «MODX 3» (или мажорный релиз, как там это называется). К чему спешка выпустить именно «новый продукт» этим летом? Ведь по сути, нового там толком ничего и нет. Внешний вид админки? Composer? Это может быть MODX 2.7. Настоящий MODX 3, лично в моём понимании — это:
                        1) MODX с админкой БЕЗ ExtJs (и вообще без всяких фреймворков и прочей джаваскрипт ереси) — на чистом PHP (REST) + HTML + CSS. Это даст разработчикам вздохнуть на полную грудь.
                        2) MODX без кастрированного парсера, который также уже надоел. Было бы круто, чтобы можно было подключать сторонние шаблонизаторы (по желанию) композером и писать PHP прямо в шаблонах. Концепция сниппетов отпадёт сама собой. Всё равно доступ к шаблонам можно ограничить для контент-менеджеров и других юзеров бекэнда.
                        3) MODX без xPDO — не надо рассказывать о его удобстве, все мы пользуемся pdoTools, огромное спасибо Василию за это прекрасное решение.
                        4) MODX с нормальной поддержкой мультиязычности, для ресурсов и дополнительных полей. То, что сейчас — это пародия на мультиязычность, которую приходится использовать, дополняя её Бабелом, Локализатором и др. дополнениями — спасибо авторам этих дополнений. Вообще — уже явно видно, что само ядро системы и некоторые её концепции неудобны, люди придумывают дополнения для решения обычных задач, которые должны быть из коробки в CMS в 2018 году.
                        Вот это была бы MODX 3. А вы тут про новый экран входа в админку говорите… Я понимаю, что на это всё надо много денег, времени и усилий, но ведь проблема в выборе пути движения, а не в скорости езды. Денег там, судя по данным с modx3.org уже немало собрано. Я даже не знаю, сколько разработчики там получают, но лучше заплатить программисту за переписание интерфейса менеджера без JS, чем дизайнеру за красивый UI, который всё равно потом переписывают конечные разработчики для своих клиентов. Если организовываются донаты, то хоть прислушивайтесь к мнению народа, который уже давно просит вынести хранимый код элементов в файлы на уровне ядра, отправки на покой ExtJs итд. Честно, я не понимаю, куда движется MODX.
                        1. Василий Наумкин 16 марта 2018, 10:15 # +1
                          Я думаю, можно прямо сейчас пересесть на любую другую CMS и перевести на неё всех своих клиентов — эффект будет примерно такой же, как MODX
                          — без админки, и всех текущих дополнений, которые в ней работают, типа miniShop2
                          — без парсера, и всех текущих дополнений, которые не используют pdoTools
                          — без xPDO, который используется в pdoTools, между прочим — все запросы строятся именно им. Вслед за xPDO выкидываем модели и вообще все дополнения, которые работают с БД
                          — про нормальную поддержку мультиязычности и рассуждать не хочу.

                          То есть, ты предлагаешь просто написать новую CMS и назвать её MODX3. Выкинуть все дополнения, выкинуть всю клиентскую базу, весь пользовательский опыт. Отличный план!
                          1. Олег 16 марта 2018, 10:51 # 0
                            Дополнения напишутся новые, гораздо быстрее, если разработчикам не нужно будет изучать для их создания специфичные и практически нигде, кроме MODX, больше не используемые инструменты, вроде ExtJs и xPDO. И будут эти дополнения намного качественней и практичней тех, что есть сейчас для Revo, так как круг разработчиков расширится, уменьшив порог вхождения. Ну да, совместимости не будет со старыми дополнениями Рево, большинство из которых (по крайней мере в официальном репозитории) так и остались в стадии беты или RC и не обновляются по несколько лет. Почему? Да потому что это СЛОЖНО и невыгодно, а не как могут сейчас мне ответить «руки из ж*пы». Если стоит цель сделать Open Source CMS популярнее, то надо делать её доступнее и понятнее широкому кругу разработчиков, а не только поклонникам cms.
                            А по поводу пользовательского опыта — выглядеть всё может точно также, админам по сути по барабану, на чём там работает админка. И на чистом HTMl + CSS она бы работала намного шустрее, чем то убожество, что сейчас, которое отпугивает клиентов. Дошло уже до того, что сами разработчики Рево пишут для своих клиентов персональные админки, а всю работу с кодом переносят в IDE. Да, я считаю. мой план отличный. Когда MODX Revo создавался, никого не остановило это, и потеря совместимости, и клиентская база. Время и технологии не стоят на месте.
                            1. Василий Наумкин 16 марта 2018, 11:13 # +1
                              Да, я считаю. мой план отличный.
                              Ну и отлично — ты знаешь, что делать.

                              Пиши свою мега-CMS, пиши к ней свою документацию, пиши дополнения и будет у нас на одну CMS в мире больше. А мы пока займёмся разработкой MODX3, как мы его видим.
                              1. Олег 16 марта 2018, 12:19 # +1
                                Тоесть, тех, кто думает не так как вы (кстати, «вы» — это кто? принимающие решения, или нанятые программеры?), вы просто «посылаете»? Это не профессионально, особенно внутри сообщества. Я не говорил о создании новой CMS, только указал очевидные недостатки текущей и предложил концепцию их исправления. И это, между прочим, не мои идеи, а многих, кто работает с MODX как инструментом создания конечного продукта (веб-сайта для клиента), а не дополнений для самого MODX, с целью их продажи в маркетплейсе. Не знаю, что там внутри происходит у вас, но MODX Evo пошёл уже по своему пути новой «Мега CMS», как ты говоришь (уже Twig там планируют и кучу других полезных и удобных для разработчиков вещей), потом наблюдаю дискуссии по поводу SLIM Framework, которая также к разделению приводит… Неумение принимать и понимать мнение большинства других людей, которое не совпадает с собственным, приводит, обычно, к расколу и прочим негативным последствиям. Я искренне не хочу, чтобы в будущем MODX стал тупиковой веткой в развитии PHP CMS систем. Я люблю MODX за многие идеи, которые в нём есть (отделение контента, отделение дизайна, свобода выбора архитектуры приложений итд), но есть моменты, которые меня огорчают. И когда команда, которая взялась за развитие этой некоммерческой системы и работающая за ресурсы общественности и спонсоров, говорит, что вещи, которые на самом деле важные, пока в приоритетах не стоят, то это печалька… Может разумнее было бы провести опрос в сообществе, по поводу ключевых моментов развития системы в дальнейшем? Чтобы потом не переписывать всё заново, или, не дай Бог, расколоть и так немногочисленное сообщество.
                                1. Василий Наумкин 16 марта 2018, 13:07 # +1
                                  Еще раз: MODX без xPDO, без парсера, без текущего менеджера теряет вообще всё, за что его сейчас используют.
                                  Ты предлагаешь написать не MODX 3, а MODX 10 — сразу, без промежуточных стадий. Так не бывает.

                                  На всякий случай, чтобы понимать «спешку», MODX 3 был анонсирован в 2012 году и обещался выйти в 2013. С тех пор прошло 5 лет, было много всяких идей, но в итоге что-то происходить начало только в этом году и у нас есть план что-то выпустить этим летом.

                                  Если слушать тебя — то не выйдет вообще ничего и никогда. Неужели это непонятно?
                                  1. Алексей Смирнов 19 марта 2018, 15:12 # 0
                                    Вспоминается басня (или что-то типа того) где художник рисовал что-то, а остальные ему советовали что рисовать. В итоге получилась фигня.
                                    Так и тут любой может хотеть что угодно тк он видит исключительно в своих интересах, но профессионалам МОДX виднее что и как делать.
                                    Поэтому я, например, советую не пинать систему и разработчиков, а:
                                    1) Предлагать разработчикам всяко-разно.
                                    2) Написать свои решения для CMS.
                                    3) Написать свою CMS и использовать только ее.
                                    4) и тд.
                                    И если кто знает идеальную систему — напишите ее название. ОООчень нада. :)))))
                                2. Boris Akimenko 26 марта 2018, 19:05 # 0
                                  Олег, просто расслабь булки и подожди. Всё будет хорошо :)
                              2. Андрей Кузьминых 22 марта 2018, 12:31 # +3
                                Как веб-разработчик и не совсем специалист, но любитель MODX, позволю себе возразить по некоторым пунктам.
                                1) Тут частично соглашусь. Я люблю модикс в первую очередь за разнесение логики от представления в самом сайте. Но в админке этого нет, скрипты ExJS занимаются и тем, и другим. Но «прочую джаваскрипт ерунду» отбрасывать не стоит, нужно сделать API, к которому каждый сможет подключать тот инструмент, которым владеет. Кто-то HTML+CSS, кто-то фреймворки.
                                2) За предложение писать php прямо в шаблонах, в аду разработчиков приготовлен котёл с битриксом.
                                3) Если в ваших руках молоток, всё вокруг кажется гвоздями. xPDO в модиксе можно использовать вообще лишь для того, чтобы подставлять правильные имена таблиц в запросы, сложность и эффективность которых зависит только от фантазии разработчика. Зачем выбрасывать из набора инструментов молоток, если лично вам нужно в основном заворачивать шурупы и он не нужен?
                                4) Вот тут соглашусь на все 100%. Мультиязычность реализована пока не очень удачно
                              Вы должны авторизоваться, чтобы оставлять комментарии.