MODX-Дайджест #2.1 (11 марта – 25 марта 2019)
Свежая подборка новостей о MODX. В выпуске: ночные сборки 3 версии, новый SEO Tab, большое обновление компонентов Василия Наумкина, упоминания пользователей на MODX.pro и некоторые подробности рефакторинга от Джейсона.
Приятного чтения!
Нумерация дайджеста изменена, чтобы не конфликтовать с серией дайджестов (#1 и #2) от Andchir.
Новости и события
Подкаст о MODX – Модкаст
Релиз подкаста о MODX состоялся на неделю позже из-за технических моментов, хотя в планах выпускать и дайджест и подкаст в один день. Тем не менее, многие моменты с тех пор были доработаны, получены разрешения от сервисов для подкастов и прочее.
Небольшие обновления:
- обновлен сайт подкаста, теперь там все красиво и по делу – https://modcast.by
- Подкаст добавлен в iTunes, Overcast, PocketCast, Яндекс.Музыку, подписывайтесь и слушайте, где вам удобнее.
Ночные сборки 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. Из дайджеста вырезаны ссылки на платные компоненты, чтобы не нарушать правила сайтов, где публикуется дайджест. Где их найти, вы сами прекрасно знаете.