MODX-Дайджест #2.1 (11 марта – 25 марта 2019)

zl5fvw4d2zntfr2rowi_0ybqcvo.jpeg

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

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


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


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

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

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

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

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

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

rrwejxe1lirenwdrxdrms0cgh74.png

В планах добавить еще загрузку языков прямо с 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. Из дайджеста вырезаны ссылки на платные компоненты, чтобы не нарушать правила сайтов, где публикуется дайджест. Где их найти, вы сами прекрасно знаете.

© Habrahabr.ru