MODX-Дайджест #2.1 (11 марта – 25 марта 2019)
Свежая подборка новостей о 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. Из дайджеста вырезаны ссылки на платные компоненты, чтобы не нарушать правила сайтов, где публикуется дайджест. Где их найти, вы сами прекрасно знаете.