Свежая подборка новостей о MODX. В выпуске: ночные сборки 3 версии, новый SEO Tab, большое обновление компонентов Василия Наумкина, упоминания пользователей на MODX.pro и некоторые подробности рефакторинга от Джейсона.


Приятного чтения!


Нумерация дайджеста изменена, чтобы не конфликтовать с серией дайджестов (#1 и #2) от Andchir.

Новости и события


Подкаст о MODX – Модкаст


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


Небольшие обновления:



Ночные сборки MODX 3


Недели две назад ребята из Sterc попросили собрать рабочий билд 3 версии, так как с прошлого релиза альфа-версии прошел уже почти год, а работы было сделано не мало за это время. Я попробовал собрать, но с первого раза не получилось, начал разбираться, а потом и вовсе решил, зачем делать руками, если можно автоматизировать и сделал сервис с ночными сборками, где билды собираются каждую ночь – https://nightly.modx.by/.



В планах добавить еще загрузку языков прямо с Crowdin, так как переводы обычно вливаются перед релизом, а в git-версии актуальные только тексты на английском. И вероятно, проверять, были ли изменения в репозитории и не плодить релизы без особой нужды (место на сервере тоже экономить нужно).


Разработка MODX


Так как был объявлен code freeze и Джейсон проспойлерил, что у него таки что-то получается, активность в репозитории эти две недели упала. Так это связано и с тем, что многие готовятся в митапу в Амстердаме в эту пятницу, потому нужно порешать рабочие и домашние дела, а кому-то еще и презентацию с докладом подготовить. Тем не менее, кой чего сделали.


  • MODX 3 теперь требует минимально установленную версии PHP – 7.0. Да, многие могут удивиться, почему не что-то посвежее, ведь 7.0 уже не поддерживается. Ответ прост, есть статистика (пускай и не всеобъемлющая), которая говорит, что около 40% пользователей все еще используют именно версию 7.0, поэтому лишать такое количество пользователей возможности обновления без серьезных на то основание (мы так решили и все тут) неразумно.
  • В рамках работы над сервисом с ночными сборками MODX 3 пришлось поправить немного скрипт сборки, чтобы он делал то, что должен. В частности, старый скрипт не умел устанавливать зависимости через Composer, теперь умеет.
  • Хорошую попытку сделать всем хорошо предпринял Михаил Воеводский, добавив системные биндинги code, file, inline прямо в ядро, чтобы можно было более эффективно писать код, как это сейчас возможно с компонентами, совместимыми с pdoTools. Однако есть вопросы в плане безопасности и вероятность того, что этот pull request будет принят, пока под вопросом.

Более мелкие исправления я не стал включать, с ними всегда можно ознакомиться самостоятельно на GitHub. Помимо кода, продолжается работа над новым сайтом документации.


Рефакторинг от Джейсона


На прошлой неделе удалось немного пообщаться с Джейсоном и он обрадовал хорошими новостями. Прогресс в работе есть, основная часть уже завершена, перед выходными на прошлой неделе он приступил к конвертации процессоров. После того, как с ними закончит, он обещал показать черновик на GitHub.


Теперь все классы загружаются через PSR-4, что означает, что никаких больше require_once и loadClass, теперь достаточно подключить один autoload.php и использовать любые классы системы.


Модели теперь могут генерироваться и вероятно работают на xpdo 3.0, так же больше не будет строковых ссылок на классы: раньше писали 'modResource', теперь стоит писать modResource:class. Это повысит не только читабельность кода, но и даст возможность IDE более правильно анализировать код и давать подсказки.


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


Интересные заметки и статьи


  • Упоминание пользователей – Василий Наумкин на сайте сообщества добавил возможность упоминать пользователей через "@". Причем работает как в заметках, так и в комментариях. Может быть удобно, если нужно привлечь человека в какой-то тред, в котором он не участвует и следовательно, не следит за ним.
  • Чистка пользователей сообщества – пока делали упоминания, выяснилось, что в базе с пользователи некоторый бардак, которые мешает нормально новой функцией пользоваться, так что ряды пользователей поредели, неактивные были удалены, а остальным "причесали" логины, чтобы не сбоили.
  • [jwtSession] Перенос сессии в куки браузера – пример использования JWT-токенов в связке с MODX. Как эксперимент и решение отдельной задачи, штука весьма интересная, но повсеместное практическое применения вряд ли найдет. Однако ознакомиться стоит.
  • Защищаем MODX Revolution – пускай и не свежая, но все еще актуальная заметка о том, как позаботиться о безопасности и защите от взлома сайта на MODX.
  • Неплохие видео-уроки о MODX от Coddes. А еще у них сайт симпатичный.

Новинки и обновления дополнений


  • Theme.Bootstrap 3.0.0-pl – обновление стартового пакета с версткой Bootstrap до 4 версии CSS-фреймворка. Обновление затронуло и другие дополнения (pdoTools, miniShop2, mSearch2 и Office), которые его используют, как зависимость, так что перед обновлением ознакомьтесь подробнее с изменениями в заметке –
    https://modx.pro/components/17790.
  • SEO Tab 2.2.0-pl – большое обновление компонента, помогающего с SEO. Чего-то радикального не добавилось, но исправлено порядко 10 багов и с пяток мелких улучшений.
  • Jevix 1.3.1-pl – обновление типографа для MODX. Пару мелочей и подкапотные дела. Пост в поддержку – https://modx.pro/components/17827.
  • mSearh2 1.13.1-pl – основное обновление – правильный учет цен после применения всяких разных плагинов, меняющих цену товара (как правло различные скидки). Теперь фильтры умеют правильно учитывать подобные изменения и показывают актуальные цифры в слайдерах и других местах.
    Подробнее в посте – https://modx.pro/news/17738.
  • SeoFilter 1.6.4-beta – добавлена поддержка ajax пагинации mFilter2, теперь совместим с MODX 3.
  • ResVideoGallery 2.0.0-beta – большое обновление сразу до 2 версии. Добавлена куча событий, теперь умеет в Fenom и может показывать фото из галереи miniShop2.
  • cityFields 1.2.2-pl – новые чанки на bootstrap, возможность изменить город через get-запрос и много других полезных исправлений и улучшений.
  • logRotation 1.0.0-beta – позволяет уменьшить размер лога с ошибками, путем удаления старых записей из лога при превышении заданного размера файла. Обсуждение и предложения по улучшению компонента в посте на сайте сообщества – https://modx.pro/components/17837.
  • Context Export 1.0.0-pl – компонент от Sterc, позволяющий экспортировать целый контекст в XML-формате. Умеет так же эскпортировать права доступа и медиа-элементы (то есть картинки и файлы).
  • Point of Interest 1.0.0-pl – еще один компонент от Sterc, который позволяет на карте Google вывести точки, заданные в MODX. Это могут быть ресурсы или какие-то записи другого компонента, или любые другие данные. Документация пока хромает.

Спасибо за внимание!


Если заметили ошибку – напишите мне, пожалуйста.
Вопросы и предложения пишите в телеграм.
Прислать ссылку в дайджест можно через эту форму.
Больше новостей и комментариев в Telegram-канале MODX Digest.


← Предыдущий выпуск


Не забывайте сказать спасибо автору!


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