[Видео] Joomla 4 router (для разработчиков)
2 видео от Робби Джексона (Robbie Jackson), рассказывающие о внутреннем устройстве роутера Joomla 4 - кода, отвечающего за формирование и распознавание SEF адресов в Joomla.
1 часть - Joomla 4 router part 1 - parsing a URL - обзор устройства роутинга Joomla 4, а также даны советы по разработке роутера в Вашем компоненте.
Презентация в Google Docs
2 часть - Joomla 4 router part 2 - building a URL - объясняет как происходит процесс построения SEF url в Вашем компоненте. Обзор подхода RouterView.
Презентация в Google Docs
Материалы на английском языке.
miniOrange OAuth Server for Joomla v.4.0.0
Плагин позволяет пользователям входить в ваши клиентские приложения, используя свои учетные данные учетной записи Joomla. Это позволяет вам использовать Joomla в качестве сервера / провайдера OAuth и предоставлять OAuth API для доступа к ресурсам.
Основная цель этого плагина OAuth server / OAuth Provider - позволить пользователям выполнять единый вход (SSO), используя свои учетные данные Joomla, в различные приложения, поддерживающие протокол OAuth / OAuth 2.0.
Особенности
- Позволяет использовать Joomla в качестве вашего OAuth-сервера и получать доступ к OAuth API.
- Поддержка нескольких OAuth-клиентов
- Поддержка всех типов grant - Authorization, Implicit, Client credential, Resource, Refresh token.
- Включает все характеристики сервера OAuth2.0, в том числе интегрированный OpenID connect, встроенный сервер ресурсов, возможность создавать учетные данные клиента и привязывать их к определенному пользователю с помощью паролей приложений и так далее.
- Поддержка JWT.
- Поддержка веб-токенов OAuth 2.0 JSON.
- Поддержка PKCE OAuth 2.0.
- Маппинг атрибутов и ролей позволяет скрыть имена атрибутов, используемых для хранения данных в Joomla. Атрибут и роли могут быть просто сопоставлены и отправлены в качестве ответа.
Также доступны и другие параметры.
Расширение бесплатное, поддерживает Joomla 3 и Joomla 4.
Страница расширения в JED
Вышел CKK Seblod v.4.0.3 для Joomla 4.
Вышла новая версия конструктора контента и веб-приложений Seblod. Заявлена поддержка PHP 8.0-8.2.
Для обновления можно использовать стандартные аддоны экспорта-импорта или updater addon.
Seblod даёт широкие возможности для кастомизации Joomla как внутри, так и снаружи. Предоставляет функционал конструктора приложений и CCK, внедряет в Joomla типы контента и многое другое.
Сайт проекта
WT Jshopping SW JProjects v.2.0.0
Плагин для автоматической генерации лицензионных ключей в менеджере цифровых проектов SW Projects при продаже расширений Joomla с помощью интернет-магазина JoomShopping. Также плагин добавляет информацию о сроках действия ключа и ссылку на скачивание в заказ JoomShopping.
Плагин нужен для Joomla-разработчиков, которые оказывают платные услуги по поддержке и обновлению своих расширений.
Что нового?
- Теперь плагин поддерживает только Joomla 4.
- Исправлены ошибки генерации ключей после покупки.
- Если покупка совершена зарегистрированным пользователем - при генерации ключа добавляется его user id.
- Поддержка JoomShopping 5.
Страница расширения
Joomla Extensions Directory
GitHub
ProofReader - компонент отправки опечаток читателями администрации сайта.
Расширение для Joomla позволяет посетителям сайта сообщать администратору об опечатках на сайте. Посетитель может выделить текст мышью и нажать комбинацию клавиш Ctrl+Enter, чтобы отправить сообщение администратору сайта. После этого отображается всплывающее окно, и пользователь может написать комментарий об опечатке. Отчет об опечатке будет доступен в панели администратора, а администратору будет отправлено уведомление по электронной почте.
Особенности
- Отчеты отправляются без перезагрузки текущей веб-страницы.
- Отправляет уведомления по электронной почте администратору.
- Поддерживает защиту от спама с помощью CAPTCHA Joomla.
- Пользователь может оставить комментарий о найденной опечатке.
Поддерживается Joomla 3 и Joomla 4.
Joomla Extensions Directory
GitHub расширения
Сообщите об ошибках и недочетах официального сайта Joomla!
Вы можете помочь сделать официальный сайт проекта Joomla! лучше, сообщив о найденных багах, ошибках на GitHub. В списке указано 29 проектов. Оставьте issue на гитхабе, опишите возникающую проблему и помогите стать официальному сайту Joomla лучше
Ещё один видео обзор новинок Joomla 4.3 - от Алексея Хорошевского.
https://youtu.be/BS37tm0OzX8
Joomla-разработчикам: что будет с расширениями на Joomla 3 MVC в Joomla 5 и 6?
В международном чате Joomla-сообщества в Mattermost идёт обсуждение статьи команды JoomlaShack "Мысли о миграциях Joomla и Joomla 5".
Вступление
В статье говорится о том, что в истории развития Joomla было уже 4 крупных миграции кодовой базы. Эти миграции вызваны тем, что новая версия CMS претерпевает такие изменения, что код расширений во многом оказывается не совместим и требует переписывания но новую систему классов или файловую структуру. Такие изменения "под капотом" напрямую не видны пользователям, нередко очень трудоёмки. Разработчики расширений вынуждены выбирать между тем, что обновлять кодовую базу расширения ради совместимости с новой версией CMS или направлять усилия на развитие продукта - внедрять новый функционал, улучшать старый, исправлять ошибки.
Стив из Joomlashack рассказал, что самые простые свои расширения они адаптировали для Joomla 4 за несколько часов (каждое). Расширение средней сложности обновлялось от 3 до 4 месяцев. В то время как обновление "тяжёлых" компонентов занимает около года. При этом у одного разработчика (как Ян Павелка, Phoca.cz) или команды (те же JoomlaShack; MAXXmarketing - JoomShopping; Virtuemart) может быть несколько десятков, даже больше сотни расширений. От "тяжелых" компонентов зависит также и сложившаяся вокруг них экосистема расширений сторонних разработчиков.
Посыл статьи в целом таков: "Мы давно с Joomla. Мы любим Joomla. Но ещё одной такой миграции мы не выдержим. Скоро Joomla 5 и мы нервничаем."
Что будет меняться в Joomla 5 и Joomla 6
В сентябре 2022 на хабре был опубликован скорректированный план выпуска релизов Joomla 4 и Joomla 5. В нём говорится о том, что переход с одной мажорной версии на другую (Joomla 4 -> Joomla 5, Joomla 5 -> Joomla 6) будет максимально сглажен:
- Joomla 5 не будет включать в себя критические изменения для шаблонов и сторонних расширений.
- Не будет удален код, который был помечен как устаревший в Joomla 4.
- Joomla 5 будет иметь минимальную версию PHP 8.1.
- Компоненты, которые работают в Joomla 4, также должны работать в Joomla 5, если они поддерживают PHP 8.1.
- Joomla 5 выйдет в октябре 2023 года. Из-за вышеперечисленных моментов это не будет большим и болезненным обновлением, как в прошлых выпусках.
- Минорные релизы (4.1 -> 4.2 -> 4.3 etc) продолжат выходить раз в 6 месяцев. Все релизы будут перенесены на апрель и октябрь, начиная с выпуска версии 4.3 в апреле 2023 года.
Joomla 6
Сообщалось, что в Joomla 5 классы, обеспечивающие обратную совместимость для расширений будут вынесены в отдельный плагин. Таким образом в Joomla 5 продолжат работу расширения написанные для Joomla 3. Но это в целом отодвигает проблему на пару лет в будущее. Поэтому разработчики расширений задают вопросы о том, будет ли сохранена поддержка старой файловой структуры расширений вида
views/view/view.html.php -> views/view/tmpl/default...На что представитель Production Department ответил, что:
JModelAdmin
и т.д. в новые namespaced classes.Видео из серии Joomla 4 template development
4-я часть рассказывает о том как собрать свой шаблон для Joomla 4 в устанавливаемый пакет.
https://www.youtube.com/watch?v=vFSp_nQGHjk
Весь плейлист
Содержание видео текстом
🚀 Вышел релиз Joomla 4.3 👏
Главной фичей этого релиза стали Обучающие туры.
Кроме того, в этом релизе:
✅ Отображение опции перетаскивания для пустой папки и сортировка в Медиа-менеджере
✅ Возможность выбора макета в поле типа subform
✅ Сортировка результатов умного поиска
✅ Фильтрация пунктов меню по компоненту
✅ Возможность указания атрибута showon для настраиваемых полей
✅ Перестройка "дерева" после сохранения пункта меню
✅ Счетчик символов для поля ввода
✅ Установка Joomla через CLI
✅ Поддержка avif, webp, heic и webp2 в поле списка изображений
✅ Улучшенный ротуер для компонента тегов
✅ Множественные улучшения в коде отображения элемента тега
✅ Обновление до Bootstrap 5.2
✅ Улучшенная поддержка PHP 8.2
И многое другое!
https://joomlaportal.ru/news/release-news/3553-vyshel-reliz-joomla-4-3
Phoca Cart – стабильная версия 4.0.6 компонента Интернет-магазина
Вышла новая версия компонента Phoca Cart для создания Интернет-магазинов. Новая версия идет с рядом интересных функций.
Изюминкой релиза является добавление задач ИИ для товаров. Теперь можно применять искусственный интеллект для создания описаний товаров, длинных описаний, функций и мета-описаний. Эта фича обещает сэкономить время владельцев магазинов и сделать процесс создания описаний товаров более эффективным.
В Phoca Cart также добавлены новые переопределения шаблонов, в том числе внешний макет для поиска, списка пожеланий, сравнения, корзины и валютных модулей. Новые переопределения шаблонов предоставляют владельцам магазинов больше возможностей для настройки и позволяют более гибко кастомизировать внешний вид макетов.
Компонент имеет также множество других улучшений. Подробнее см. в анонсе.
Анонс релиза на русском
Разработка шаблона для Joomla 4.
Плейлист на Youtube с 3 (из 4) видео о создании шаблона для Joomla 4. Видео на английском языке. В описаниях под видео есть полезные ссылки на образцы кода, инструкции по настройке рабочего окружения.
https://www.youtube.com/watch?v=GYtoAd_aj8E&list=PLW9NoYP4jLh1lo53tDFDADs47grN0WgUE
WT Typograph - плагин для исправления типографики текста для Joomla 4
Современные интернет-издания немало внимания уделяют качественной подготовке своих текстов к web-изданию. В тексте должен соблюдаться определенный code style, принятый на данном конкретном ресурсе. Правила оформления текста могут быть разные:
- знаки длинного тире, вместо "минуса" или "дефиса",
- французские кавычки (ёлочки) вместо английских (как запятые),
- значения дат не должны переноситься на следующую строку,
- нужно убрать все лишние повторяющиеся пробелы
и так далее.
Обычно, этой работой в интернет-издании занимается корректор, иногда редактор. Однако, выполнение многих правил оформления текста можно автоматизировать и этой задаче служат типографы.
Для кого этот плагин?
Данный плагин для Joomla 4 пригодится всем изданиям, следящим за качеством оформления текстов на своих страницах: информационные, контентные сайты, сайты-новостники. Плагин работает с бесплатным сервисом Типограф. Во время тестирования сервис легко обрабатывал объёмы текста ~ 30 000 знаков. Как сам сервис, так и плагин - бесплатные.
Страница расширения
Сервис Типограф
Muta - шаблон для панели администратора Joomla 4.
Бесплатный шаблон тёмной темы для админки Joomla 4. В целом это стандартный шаблон Atum, но с некоторыми изменениями.
Модульность
С момента появления дочерних шаблонов в Joomla 4 и Cassiopeia, и Atum (шаблоны по умолчанию) не соответствуют механизмам переопределения основных частей шаблонов. Шаблон Muta предлагает следующую концепцию: вы никогда не переопределяете точки входа шаблона ( index.php, component.php, error.php и т. д.), вместо этого каждая из записей является просто оболочкой нескольких JLayouts
, поэтому, если вам нужны собственные значки, вы просто переопределяете конкретный макет для этого. Макеты — это фавиконы, ассеты, логотипы. Здесь шаблон следует философии модульности Unix: делай что-то одно и делай это хорошо!
Цветовые схемы
Это в основном светлая/темная тема. Шаблон сохраняет состояние в файле cookie и передает его в HTML в качестве атрибута documentElement
(data-bs-theme
, вероятно, Joomla будет использовать data-theme
для работы с фреймворками, отличными от Bootstrap). Фактически в Joomla нужно сохранить состояние шаблона в базе данных для конкретного пользователя, но, возможно, также сохранить и файл cookie.
Зачем?
Этот шаблон был создан для того, чтобы разработчики могли протестировать свои собственные расширения и выяснить, какие изменения необходимо применить к их html/css/js для поддержки prefers-color-scheme
. В целом, применение правильной переменной CSS — это все, что нужно. Но это зависит от вашего фактического html/css/js. JavaScript tinyMCE — очень хороший пример того, как работать с приложениями, визуализированными на стороне клиента.
Страница расширения и скачать
GitHub расширения
Пожалуй один из первых не информационных, а скорее развлекательных постов в канале)) Joomla - мощная штука. И пользовательские поля - тоже. Вся страница на скриншоте - это описание категории материалов. Всё в ней реализовано с помощью пользовательских полей, часть из которых - модули. Скриншот админки прилагается :-)
Читать полностью…Sentry for Joomla v.1.5.0
Плагин интеграции сервиса Sentry в Joomla 3 и Joomla 4.
Sentry - сервис багтрекинга, позволяет оперативно выявлять ошибки сайтов, сервисов как в javascript, так и в PHP в режиме реального времени. Сервис необходим для проектов, где присутствуют интеграции со сторонними сервисами и могут вдруг не обновиться токены авторизации или ошибки в js крушат все формы для сбора заявок. С помощью Sentry возможно быстро узнать о проблеме и соответственно быстро её исправить.
На момент написания заметки сервис имеет бесплатный тариф "Developer", подробности на странице сервиса.
Страница плагина в JED
Сервис Sentry.io
miniOrange Joomla SAML Single Sign-On (SSO) – SAML SSO аутентификация для Joomla 4
Технология единого входа (SSO) используется для объединения разных сайтов/порталов/web-приложений так, чтобы можно было использовать единую учетную запись везде, без повторной аутентификации. Пример - сервисы Яндекса, Гугла, Мейл.ру (ВК) и т.д. Это избавляет пользователя от необходимости входить в каждое приложение отдельно.
Данное расширение также позволяет управлять входом в систему и обеспечивать SSO с помощью 48 провайдеров IdP, включая Windows sso, Worpress, Azure, Onelogin, Oracle, RSA Secure ID, Office 365, CA Identity, IBM, Magento, VMware и других. Или же с помощью любого провайдера IDP, совместимого с SAML.
Плагин miniOrange Joomla Single Sign on (SAML SSO) — это поставщик услуг SAML 2.0, который можно настроить для установления доверия между сайтом Joomla и поставщиком удостоверений, совместимым с SAML 2.0, для безопасной аутентификации пользователей на сайтах Joomla. Это позволяет вашим пользователям безопасно входить на сайт Joomla.
Плагин имеет бесплатную и платную версии. Уточните доступный функционал на странице расширения. Скачивание файла расширения идёт с серверов Amazone.
Страница расширения в JED
Документация
Контент-плагин Image Comparer для Joomla 4 - сравнение изображений "было-стало"
Плагин использует простой шорткод с открывающим и закрывающим тегом. Вставьте между ними два изображения и все готово.
Особенности
- Плагин написан на ванильном JavaScript
- Плагин имеет горизонтальное и вертикальное направление сравнения.
- Возможно указать подписи для изображений.
Страница расширения на JED
Демо
WT Quick links v.2.0.0
Модуль для быстрого вывода ссылок на категории материалов, Virtuemart, JoomShopping, Phoca Cart, пункт меню или пользовательскую ссылку. Модуль позволяет создавать быстрые наборы ссылок на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.
Что нового?
- Модуль переписан на новую структуру Joomla 4. Минимальная версия Joomla - 4.2. Это означает, что модуль будет работать на Joomla 5 и старше.
- Новый тип ссылки - материал Joomla. Добавлен новый тип ссылки - материал Joomla. Подходит для небольших каталогов услуг, реализованных на переопределениях материалов Joomla, сайтов-визиток и т.д.
Страница расширения
JoomlaDay USA. Бесплатный повтор части выступлений.
На днях в США состоялся JoomlaDay USA. Участники сообщества решили сделать повтор некоторых выступлений бесплатно в формате Zoom-стрима.
Перед входом в конференцию будут запрошены имя и e-mail.
Время стрима: 1:30pm EST | 12:30 CST
Судя по конвертерам времени - это будет в 20:30 по Москве.
https://us02web.zoom.us/j/83212409682?pwd=dk45VGhNTElvckVORW9CS1V4OWJudz09
Joomla! Downloader
PHP-скрипт для автоматической загрузки последней версии Joomla! непосредственно сервер на сервер без необходимости загружать его локально. Скрипт также извлекает ZIP-файл непосредственно на вашем сервере после его загрузки.
https://github.com/JoomlaLABS/Joomla_Downloader
Joomla 4.3: обучающие туры и другие новшества. Видео от Joomla Center.
Своевременно состоялся релиз очередной минорной версии Joomla под номером 4.3. Как обычно, новая версия CMS включает множество нововведений и улучшений.
Тайминг
00:00 - Вступление и содержание видео.
01:06 - Главное функциональное нововведение Joomla 4.3
02:10 - Как работают обучающие туры (guided tours)?
02:40 - Обучающий тур по созданию материала Joomla
04:50 - Создание пользовательских обучающих туров
06:15 - Создание тура для компонента «Перенаправления»
Список новшеств Joomla 4.3:
https://www.youtube.com/watch?v=PJGQvbh3zC8
Статья https://joomla.center/news/joomla-4-3-0
Вопросы по Joomla center можно задать @notanroyamov
Вышел JoomShopping 5.1.3
В новом релизе продолжена работа над совместимостью с PHP 8.
Также
- исправлен url перенаправления после активации пользователя.
- исправлена ошибка скачивания файла для продажи
- добавлена настройка в истории заказа "включить комментарий"
Скачать компонент
⚠️ После обновления до Joomla 4.3 при использовании медиа менеджера может возникнуть ошибка:Error Property 'mime_type' of argument 'item' of event onFetchMediaItems has a wrong item. Valid: string
Причина - не включено расширение fileinfo для PHP.
Решение - попросить хостера включить расширение fileinfo.
https://docs.joomla.org/J4.x:Media_Manager_opens_with_error
Работа с размерами изображений с помощью класса Uri в Joomla 4
Парадокс, конечно, но это возможно. Казалось бы, причем тут класс ядра для работы со строками url. Но именно он может помочь нам в Joomla 4. Статья о том, как автоматически определять размеры файлов изображений для атрибутов width
и height
с помощью ядра Joomla 4 и не грузить сервер.
Читать статью на Хабре
WT Revars insert v.1.1.0
Плагин кнопки редактора для вставки шорт-кодов, созданных с помощью плагина Revars.
С помощью плагина Revars в Joomla можно создавать шорткоды-переменные (и не только), которые плагин может заменять по всему сайту. Это могут быть контактные данные (телефон, почта, адрес), js-скрипт карты для сайта, ИНН, название бренда и т.д.
Для того, чтобы было удобно вставлять эти переменные в поле редактора создан этот плагин - плагин кнопки редактора.
Что нового?
Revars позволяет добавлять переменные для замены с помощью сторонних плагинов. Теперь WT Revars insert
позволяет отображать их в общем списке и вставлять из модального окна.
Страница расширения
Плагин Revars
Подборка видео для разработчиков о Joomla 4.
Robbie Jackson на своём канале выложил 6 (на момент написания этой заметки) видео о разработке Joomla 4, в которых описываются общие концепции и подходы, а так же демонстрируются примеры кода. Также даются рекомендации по апргейду расширения до Joomla 4.
Плейлист видео
Содержание плейлиста:
- joomla 4 namespacing
- joomla 4 extension class
- joomla4 dispatcher and MVCFactory classes
- Joomla 4 dependency injection (DI-контейнеры)
- Joomla 4 services/provider.php
- Joomla 4 Web Asset Manager
В описании к каждому видео даны ссылки на презентацию из видео, а так же ссылки на документацию.
Ранее (5 лет назад) он начал серию из 52 видео о создании компонента для Joomla 3.
Чат Joomla-сообщества в Mattermost
Обнаружен международный чат Joomla-сообщества, в котором собрались представители из Европы и Азии. Среди них многие имена мы видим среди разработчиков ядра Joomla, членов департаментов Joomla, в качестве авторов статей в Joomla Community Magazine.
Ссылка на сервер Mattermost
Для того, чтобы присоединиться, нужно иметь аккаунт на https://identity.joomla.org/ - центр идентификации Joomla. Вход в мессенджер происходит с помощью этого портала.
Mattermost - это мессенджер с открытым исходным кодом от команды GitLab
Phoca Gallery 4.5.3 - бесплатная галерея изображений для Joomla 4
В новой версии компонент получил совместимость с Joomla 4.2 и PHP 8.2.
Страница расширения
SW JProjects v.1.6.2 - обновление менеджера цифровых проектов для Joomla разработчиков
Компонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений (шаблонов, модулей, плагинов etc), что позволяет доносить обновления сразу всем своим (и не только своим) клиентам.
Что нового?
- Контрольная сумма файла в XML сервера обновлений
Добавлены контрольные суммы файла sha 256, sha348 и sha512 в xml-манифеста сервера обновлений. При обновлении расширения в Joomla 4 показывалось предупреждение о том, что не найдена контрольная сумма в сервере обновлений. Исправлено.
- Патчи PHP 8
В панели администратора и фронтенде исправлены уведомления PHP 8
- Не показывается кнопка скачать, если нет версии
Если проект не имел ни одной опубликованной версии - показывалась кнопка "скачать", что вело на страницу 404. Исправлено.
Страница расширения