Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 4046 Просмотров
*

Alexandr-lum

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Добрый день всем) надеюсь сможете подсказать или направить на путь истенный)

Проблема заключается в Field subform, а точнее обработки subform в стороннем компоненте.
Суть заключается в чем. Написал компонент который использует Field subform.
Сам компонент, это своего рода конструктор страниц. Компонент работает отлично, с его написанием проблем не составило, но наш сайт использует сторонний компонет для переводов на другие языки ( Falang ) данный компонент умеет работать практически с любыми полями за исключением ( subform ), я добавил в цикл формы falang ещё одно условие ( else if (strtolower($field->Type) == 'subform') ) и скрипт кнопок ( copy и delete ) для копирования уже существующего массива который собирается в моем компоненте. В обработке самого поля, я подключил класс ( Form ) и путь к существующему XML формы своего компонета, загрузил форму

$xml = JFactory::getXML($xmlfile,true);
$subform_lum->load($xml,true);

отрисовал форму на странице
$media_field = $subform_lum->renderField($field->Name);

все, форма полностью работоспособна и работает subform. Проблема заключается в том что не могу найти обработчик который собирает массив subform переводит его в json строку. Но не могу найти скрипт который отвечает за сбор массива после нажатия на кнопку СОХРОНИТЬ или СОХРОНИТЬ И ЗАКРЫТЬ.

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

В документации написано что аорму обрабатывает контроллер, но в данном случае переписывать контроллер компонента который может обновить и перезатереть все что я делал, это не вариант, прогонять через свой контроллер и модель, тоже не вариант, так как другие сотрудники тоже могут использовать subform и тогда прийдется разширять скрипт чтоб работал с другими компонентами.

Может кто то сталкивался или  знает как сформировать структуру json subform стандартными методами.
Буду рад любой подсказке.
 





 
*

fsv

  • Живу я здесь
  • 2787
  • 413 / 2
Re: Subform в стороннем компоненте
« Ответ #1 : 18.02.2019, 22:38:44 »
Ничего не понял насчет "может обновить и перезатереть", что где, если ваш компонент. Многобукв, суть теряется. Отвечу на это -
Цитировать
Может кто то сталкивался или  знает как сформировать структуру json subform стандартными методами.
Subform запись и чтение
Веб-разработка: заказ. Только новая разработка.
*

sivers

  • Живу я здесь
  • 2607
  • 361 / 0
Re: Subform в стороннем компоненте
« Ответ #2 : 19.02.2019, 09:16:34 »
Может кто то сталкивался или  знает как сформировать структуру json subform стандартными методами.
Используйте плагин типа Content и в нем обработчик:
Код
public function onContentBeforeSave($context, $row, $isNew)
Справка:
https://docs.joomla.org/Plugin/Events/Content#onContentBeforeSave
проверкой содержимого переменной $context отследите сохранение именно вашей формы, далее прочитаете из JRequest (или app input) переданные значения вашей subform, сформируете жсон строку через json_encode и впишете в какое-то из полей $row. После чего все это запишется в БД.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться