Новости 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 Гость просматривают эту тему.
  • 13 Ответов
  • 2165 Просмотров
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Добрый день.

В свое время понадобилось разместить форму на сайте, но ни один из существующих компонентов не подошел и был написан компонент(именно компонент), основной задачей которого было выведение на сайт формы и последующей ее некоторой обработки. Почему компонент? Потому что единственная более-менее вменяемая статья рассказывала о написании именно компонента :) По сути это компонент-пустышка с несколькими файлами js и CSS, основной код которого находится в файлике default шаблона в папочке view. Работало это таким образом годами, но тут добрался до нее недоброжелательный робот, итогом чего стало гигантское количество спама, ибо конкретно эта форма CAPTCHA не имела. Встала задача прикрутить капчу.
Я нашел простенькую капчу, которая состоит, по сути, из единственного php-файлика. Его суть проста, как топор: он генерирует картинку по заданным переменным и сохраняет сам текст для проверки в некую сессионную переменную. Если я вызываю этот файлик из своего default.php не изменяя, то картинка показывается, но не работает проверка, потому что в оригинале, этот файлик работал с сессиями стандартными средствами PHP, то есть
Код
session_start(); 
$_SESSION['captcha'] = $capcha;
А Joomla так работать не хочет, Joomla понимает только вот так, как мы знаем
Код
$session = JFactory::getSession();
$session->set('captchaa', $capcha);
.
Но если я вставляю в файл-генератор картинки Joomla код работы с сессиями, то картинка вообще не отображается, значит файлик кем-то считается кривым :(
То есть у меня проблема в следующем - я имею два рядом лежащих php файла, один понимает работу с сессиями в php формате, второй в jooomla. Вопрос - как их подружить? Может нужно где-то прописать, что этот новый файлик тоже принадлежит компоненту, чтобы в нем тоже обрабатывались стандартные Joomla переменные и методы?
Подскажите, плз, пути решения.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Прикрутил недавно kcaptcha , был трабл с картинкой.
Проверяй путь. Хотя народ на серче пишет, что лучше проверять на заполнение поля, скрытому от юзеров, но видное ботам
« Последнее редактирование: 05.08.2014, 16:23:46 от draff »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Текст скрипта с капчей приведите сюда. Там у вас вообще фреймворк подключен Joomla?
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
draff :
Нет, это абсолютно точно связано с сессиями, потому что если я убираю джумловский код работы с сессиями, то все ок, картинка отображается.

zomby6888:
Нет, что вы, ничего там не подключено, поэтому и интересуюсь. Код под спойлером, строки работы с сессиями по обоим методам закомментированы.

Спойлер
[свернуть]
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А Joomla так работать не хочет, Joomla понимает только вот так, как мы знаем
Я об этом не знал ^-^. А если серьезно, то Joomla понимает все, что написано на PHP.

Код, который вы привели, только нарисует картинку и помещает значение captcha в сессию. Его не трогайте, оставьте в первоначальном виде. Вам нужно добавить в свою форму поле, значение которого будет сравниваться с тем, что в сессии.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Вроде как Joomla сессии в базе хранит по умолчанию а php в файлах. Но и там и там можно использовать суперглобальный массив $_SESSION. А если хочется работать через встроенный механизм сессий ( JFactory::getSession(); ) то надо подключать фреймворк в скрипте.
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
robert
прошу прощения, за такой словесный оборот, что-то меня в графоманию ударило, пока писал свой вопрос. Старался наиболее доступно донести :)

robert,zomby6888
понимаете в чем дело, при формировании страницы идет обращение в том числе и к captcha.php, который я выложил, следовательно если я раскоментирую вот эти строки
Код
session_start(); 
$_SESSION['captchaa'] = $capcha;
то, в теории, в переменной сессии captchaa я найду то, что мне надо. Но, по моему, она пустая :(
Сейчас проверю, я просто понял, что предыдущая проверка, которую я проводил, была не совсем корректна.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Такс... Привожу итоги эксперимента.

1) Что делал: В файле captcha.php комментируем все строки с работой с сессиями, а в default.php в блоке, который выполняется после нажатия submit , пишем следующее:
Код
if (isset($_POST['submit_button']))
{
session_start();
$_SESSION['captchaa'] = '999';
$code2 = $_SESSION['captchaa'];
echo $code2;
...
Результат: после нажатия кнопки submit, на страницу выводится число 999

2) Что делал: прописываем в captcha.php следующие строки записи переменной в сессию:
Код
session_start(); 
$_SESSION['captchaa'] = '999';
В default.php пишем
Код
if (isset($_POST['submit_button']))
{
$code2 = $_SESSION['captchaa'];
echo $code2;
...
Результат: после нажатия кнопки submit, на страницу ничего не выводится.

То есть из файла в файл так ничего и не передается :( Почему?

*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
я думаю что при переходе от скрипта к фреймворку активизируется новая сессия. в captcha.php подключите фреймворк попробуйте:
Код: php
ddefine('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__). '/../../../');
define('DS', DIRECTORY_SEPARATOR);
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';
$app = JFactory::getApplication('site')->initialise();
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
zomby6888
Прописал ваш код в начале captcha.php.
Я правильно понимаю, что я просто вставляю его в начало без каких-либо изменений (кроме задвоенной d в первом ddefine) и фреймворк должен подключится? Никакие пути дополнительно прописывать не нужно? Или все берется из глобальных переменных и они заведомо верные?
Просто после этого картинка CAPTCHA не появляется, значит ошибка в скрипте. Сейчас все закоментирую и буду по одной записи включать, чтобы понять, что ему не нравится.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Проверил, где спотыкается.
Чем то ему не нравятся require_once.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
пути проверьте здесь define('JPATH_BASE', dirname(__FILE__). '/../../'); количество /../../ должно быть равно вложенности пути к вашему скрипту от корня сайта. Или вобще просто пропишите define('JPATH_BASE', 'полный_путь_к_корню_сайту'). вот так вот например: define('JPATH_BASE', 'Z:\home\localhost\www\site').
« Последнее редактирование: 06.08.2014, 19:34:35 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Да, да, я уже нашел этот косяк и исправил :)
Но все равно спасибо.
Тестирую сессии.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
zomby6888,
да, вы были правы. Похоже сессии действительно "перещелкивались", теперь родные PHP сессии все выдают верно, но думаю и с joomla-вскими проблем не будет.
Огромное спасибо за помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 6 -подключение Joomla.asset.jso в плагине, как?

Автор x1

Ответов: 3
Просмотров: 1915
Последний ответ 16.02.2026, 14:28:29
от sergeytolkachyov
Как поставить более старое раширение в Joomla 4.8.4?

Автор alexs64

Ответов: 4
Просмотров: 2637
Последний ответ 29.10.2025, 15:45:42
от web1
Компонент Search в Joomla 5

Автор hensler

Ответов: 4
Просмотров: 3626
Последний ответ 28.03.2025, 17:27:24
от azm1n
Расширение od jshopping categories на Joomla 5

Автор ironDiaper

Ответов: 0
Просмотров: 3866
Последний ответ 13.01.2024, 17:54:34
от ironDiaper
Непонятная работа плагина "Поиск"

Автор Snip

Ответов: 0
Просмотров: 3184
Последний ответ 20.03.2023, 10:47:56
от Snip