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

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
здравствуйте!
в mod_joomleague_ranking есть ссылка на подробную турнирную таблицу, такого вида:

Код
<?php 
$divisionid = explode(':', $params->get('division_id', 0));
$divisionid = $divisionid[0];
echo JHTML::link(JoomleagueHelperRoute::getResultsRankingRoute($list['project']->slug, null, null, null, null, $divisionid), JText::_('VIEW FULL TABLE')); ?>

это файл tmpl/default.php
Сайт стоял на VPS php 1.5.2 и ссылка работала, но потом пришлось переместиться на VPS php 1.5.3 и с этой ссылкой начались проблемы. Она подхватывает неверный ItemId из главного меню. Она подхватывает первый из возможных. Из-за этого вся навигация завязанная на модуле работает неверно. При этом, модуля созданные на старом сервере, продолжают работать правильно.
Я поковырялся по функции JoomleagueHelperRoute::getResultsRankingRoute и "выяснил" (в php у меня вообще нет понятий!), что она действительно подхватывает первый возможный itemid главного меню, если не может подхватить Itemid пункта из которого этот модуль виден. Вот эта часть в com_joomleague/helpers/route.php
Код
function _findItem($query) - строка 785

//no menuitem exists -> return first possible match within project ? - строка 830
if (isset($query['p']) && $query['p'])
{
foreach($items as $item)

Я уже в нескольких местах написал об этой проблеме - ответов нет, я их не жду и здесь, меня просто интересует - почему же старые модуля работают правильно? я уже даже пытался пересоздавать модуль, копируя нормально работающий, - не помогает.
Может кто-то посоветует какой-нибудь "костыль"?
*

tranceRoller

  • Захожу иногда
  • 452
  • 37 / 0
Здравствуйте, какая версия joomLeague?
Дайте ссылку на сайт.
*

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
это у меня sara - Joomleague 1.5.2

чтоб было понятно что я имею в виду:
http://odessa-sport.info/index.php?option=com_content&view=category&layout=blog&id=2&Itemid=14
справа модули ranking все про баскетбол
с первым модулем пролемы нет - нажимаем на "полная таблица" и открывается таблица, но справа остаются баскетбольные турниры. этот модуль делался еще под php 1/5/2
а вот если нажать "полная таблица" во втором модуле, то переходит на страницу с таблицей, но модули все лезут футбольные, т. к. футбол у нас первый из возможных itemid в главном меню - этот модуль делался уже когда было php 1/5/3
*

tranceRoller

  • Захожу иногда
  • 452
  • 37 / 0
Если правильно понял первый и второй модули разные (техническая реализация)? Почему нельзя скопировать первый модуль во вторую позицию?
*

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
(техническая реализация)?
 это один и тот же модуль. я уже пытался пересоздавать модуль, копируя нормально работающий, - не помогает.
*

tranceRoller

  • Захожу иногда
  • 452
  • 37 / 0
Интересно, что в первом "правильном" модуле ItemId=49, а в остальных, "неправильных", перевёрнутый ItemId=94.
Если поиски не увенчаются успехом, то можете попробовать обновить JoomLeague или использовать Module Advanced Manager для более гибкой настройки показа модулей.
*

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
поиски пока привели сюда! строка которая закомментирована - из оригинала, а то что вместо нее - моя
Код
function _findItem($query)
{
$component =& JComponentHelper::getComponent('com_joomleague');
//$menus = & JSite::getMenu();
$menus = JFactory::getApplication()->getMenu();
$items = $menus->getItems('componentid', $component->id);
$user = & JFactory::getUser();
$access = (int)$user->get('aid');

и оно заработало!
правда в этот момент у меня выключили свет(((( а включили только через пару часов - и как будто ничего и неделал(((( все по-старому
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Навигация по турам в resultsranking

Автор eu4ria

Ответов: 1
Просмотров: 3525
Последний ответ 11.02.2022, 19:50:52
от вуглускр
Переделка модуля матчи

Автор DragonbyKuzya

Ответов: 1
Просмотров: 3765
Последний ответ 14.06.2019, 09:34:47
от вуглускр
Работает ли joomleague на Joomla 3x?

Автор AlucarD

Ответов: 9
Просмотров: 7447
Последний ответ 06.10.2018, 13:12:20
от DragonbyKuzya
Изменение вида отображения модуля статистики и событий

Автор DragonbyKuzya

Ответов: 0
Просмотров: 1444
Последний ответ 13.02.2018, 13:57:10
от DragonbyKuzya
Проблема с таблицей результатов (Ranking(s))

Автор DragonbyKuzya

Ответов: 1
Просмотров: 1684
Последний ответ 17.11.2017, 10:38:08
от DragonbyKuzya