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

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Здравствуйте! Joomla 3.2.1 Проблема такая: был удалён (стандартным способом) родной компонент баннеров. Без него при проверке состояния базы данных выдается ошибка - отсутствие таблиц ..._banners. Пробовал из установленного параллельно дистрибутива такой же версии скопировать папки компонента на свой сайт (в админку и фронт), а так же импортнул из него все 3 таблицы компонента в свою БД, и установить с помощью поиска, но выдает ошибку. Вообщем всё, чего добился, это после импорта таблиц пропадает ошибка при проверке состояния БД, но сам компонент остается неустановленным. При попытке его установить - ошибка, при сносе его таблиц - ошибка. Собственно вопрос:

Как правильно установить родной компонент баннеров (может есть готовый дистр-в?)?

или

Само наличие этого компонента мне не обязательно, но как в таком случае справиться с ошибкой БД, если я удаляю таблицы этого компонента или с причиной её вызывающей (люблю чистоту :-) )? При сносе таблиц ошибка такая:
SQL=SHOW COLUMNS IN `хххххх_banners` WHERE field = 'created_by'

Поиск по форуму ничего не дал, Google выдает статьи 3-х летней давности с устаревшими решениями. Просьба помочь с правильным алгоритмом действий.

Спасибо.
*

kreker92

  • Захожу иногда
  • 390
  • 18 / 0
Бекап не помог?
Если, кончено же, сайт на хостинге висит.
Все вопросы и предложения на почту.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
У меня была та же проблема. добрый человек мне помог здесь: http://joomlaforum.ru/index.php/topic,280332.msg1395558.html#msg1395558
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Весь текст ошибки покажите, там обычно и место происхождения указывается.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Цитировать
Бекап не помог?
Если, кончено же, сайт на хостинге висит.
Нет, с тех пор много бекапов было...

Цитировать
Весь текст ошибки покажите, там обычно и место происхождения указывается.
Ошибку, возникающую после удаления таблиц показал полностью. Ошибку при попытке установить компонент поиском (через менеджер расширений) не помню, но она была довольно большая. Сейчас попробовал смоделировать ситуацию заново (чтобы показать эту ошибку), но поиск не дает результатов - система почему то перестала видеть загруженный вручную компонент.  :( Чистки кеша и т.п. ситуацию не исправляют - не видит и всё тут.

Цитировать
У меня была та же проблема. добрый человек мне помог здесь...
Спасибо, пойду смотреть.

Через 15 мин... Посмотрел. Не то. У меня обновления проходят как по маслу, никаких ошибок после них не появляется. Свою ошибку я заметил случайно, когда решил проверить состояние БД. Кстати никакой кнопки типа "исправить ошибку" нету. Есть кнопка "вернуться в панель управления", и всё. Я уже написал как я её поборол - залил таблицы компонента баннеров из такой же, свежеустановленной версии Joomla. Ошибка пропала. БД стала "в актуальном состоянии". Но дело в том, что компонент баннеров так и остался не установленным... Поиск его не видит.
В Google читал, правда про старые версии Joomla, что после ручной заливки компонента нужно не таблицы заливать в БД, а делать в ней какой-то запрос. Вопчем тёмный лес, однако. Потому я и просил помочь пошагово.
А мож это я... того... туплю потихоньку?
« Последнее редактирование: 25.12.2013, 13:26:43 от ruppert »
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Вот еще что обнаружил: в МЕНЕДЖЕР РАСШИРЕНИЙ - УПРАВЛЕНИЕ - КОМПОНЕНТЫ компонент баннеров отображается, и даже "включается" и "выключается". Вот только в АДМИНКА - КОМПОНЕНТЫ не появляется ни при каком раскладе, зараза.
« Последнее редактирование: 28.12.2013, 01:52:04 от ruppert »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
есть отдельная таблица меню, видимо у вас нету там записи для этого компонента.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
есть отдельная таблица меню, видимо у вас нету там записи для этого компонента.

Совершенно верно. Ни одного упоминания в таблице меню о компоненте баннеров я не увидел. Собсно как и о некоторых других компонентах, но они работают. Да и вносить в таблицы какие то записи - для меня темный лес. Если только по подробным подсказкам.
Думаю что Вы правы, спасибо за совет. Жаль что он мне не поможет.
На крайняк ошибку исправлю вышеописанным способом, а компонент поставлю сторонний, благо не проблема. Будем жить так, видимо.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
возьмите эту запись из запросов дистрибутива. Не сможете - напишите, я сделаю запрос на добавление.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Не сможете - напишите...

Сам не смогу. Я с базой работаю только на уровне простых базовых функций. Могу, конечно, залезть, изменить/добавить/удалить, но не по собственной инициативе. Буду рад воспользоваться Вашей помощью.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Запрос на таблицу jos_extensions (jos замените своим префиксом), обязательно проверьте, может эта строка уже есть, тогда не надо. Это касается и остальных запросов.
Код: sql
INSERT INTO `jos_extensions` (`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
('com_banners', 'component', 'com_banners', '', 1, 1, 1, 0, '{"name":"com_banners","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2013 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_BANNERS_XML_DESCRIPTION","group":""}', '{"purchase_type":"3","track_impressions":"0","track_clicks":"0","metakey_prefix":"","save_history":"1","history_limit":10}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
Запрос на таблицу jos_menu
Код: sql
INSERT INTO `jos_menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES
('menu', 'com_banners', 'Banners', '', 'Banners', 'index.php?option=com_banners', 'component', 0, 1, 1, 4, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners', 0, '', 5, 14, 0, '*', 1),
('menu', 'com_banners', 'Banners', '', 'Banners/Banners', 'index.php?option=com_banners', 'component', 0, 2, 2, 4, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners', 0, '', 6, 7, 0, '*', 1),
('menu', 'com_banners_categories', 'Categories', '', 'Banners/Categories', 'index.php?option=com_categories&extension=com_banners', 'component', 0, 2, 2, 6, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-cat', 0, '', 8, 9, 0, '*', 1),
('menu', 'com_banners_clients', 'Clients', '', 'Banners/Clients', 'index.php?option=com_banners&view=clients', 'component', 0, 2, 2, 4, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-clients', 0, '', 10, 11, 0, '*', 1),
('menu', 'com_banners_tracks', 'Tracks', '', 'Banners/Tracks', 'index.php?option=com_banners&view=tracks', 'component', 0, 2, 2, 4, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-tracks', 0, '', 12, 13, 0, '*', 1);
Так-же проверить строки чтобы не плодить дубли.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Хочу уточнить немного, какое исходное состояние д.б.перед выполнением запросов? Я понимаю так, что файлы компонента д.б. загружены, но его таблицы нет. Правильно? Или таблицы тоже предварительно загрузить из дистр-ва?
« Последнее редактирование: 28.12.2013, 01:50:15 от ruppert »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вы же написали что таблицы восстановили. Если грохнули поставьте назад.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Не, не грохнул. Спросил в смысле НЕ ГРОХНУТЬ ЛИ? Всё понял. Буду пробовать. Спасибо за ответ. Отпишусь чё-как.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Сделал запрос №1. Получил:
Добавлена 1 строка.
Идентификатор вставленной строки: 10175 ( Запрос занял 0.0515 сек. )


После второго запроса выдало:
Добавлено 5 строк.
Идентификатор вставленной строки: 322 ( Запрос занял 0.0764 сек. )


Только в списке компонентов (Админка - Компоненты) com_banners так и не появился. :-(((
Почистился, бестолку. Поиск в менеджере расширений ничего не находит.
В предупреждениях пусто. БД в актуальном состоянии.

« Последнее редактирование: 29.12.2013, 01:30:29 от ruppert »
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Базу откатил. Других решений никто не подскажет?

А вообще, если родной компонент не защищен от удаления, которое вызывает ошибки в БД, то это можно считать багом Joomla, ну, или, как минимум, большой недоработкой. Сейчас для перестраховки поставил чистую 3.2.1, проверил БД. Нормуль. Деинсталлировал копт-т баннеров. Проверяю БД - SQL=SHOW COLUMNS IN `jos_banners` WHERE field = 'created_by'

Почему то "защиту от дурака" сделали (я имею ввиду подстановку ID единиц контента в URL-ы, которая всех угнетает), а в данном случае такой прогляд. И нет никаких решений этого момента с официальной стороны. Или есть, да я не нашел?

Хотелось бы услышать мнение b2z и других сведущих людей на этот счёт.
« Последнее редактирование: 28.12.2013, 03:22:14 от ruppert »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Да легко, выполнить
Базу откатил. Других решений никто не подскажет?
А какое решение? Выполните запросы в phpMyAdmin для создания таблиц для баннеров:
Спойлер
[свернуть]

вместо kd_ поставить префикс который у ваших таблиц в вашей базе!
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
to Istaan:
Никаких изменений, спасибо, снова откатился.

Бажина чёртова, уже зла не хватает!
« Последнее редактирование: 28.12.2013, 05:59:00 от ruppert »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Так сейчас проблема только в том, что его нет в пункте меню Компоненты? Если открыть ссылку index.php?option=com_banners в админке компонент работает?
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Да, проблема именно в этом. Ссылку попробовал - да, работает. Полностью не тестил, но все его вкладки (баннеры, категории, клиенты, статистика) открываются. Теперь хотелось бы увидеть компонент в списке компонентов (в пункте меню "Компоненты").
« Последнее редактирование: 28.12.2013, 12:15:47 от ruppert »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ок, я у себя проверил. Удалил из таблицы #__menu все, что связано с com_banners. Компонент пропал из меню. Далее я выполнил запрос:

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

Компонент появился.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Не помогло  :( (префикс, конечно же поменял).



Может дело в том, КАК я пытался его восстановить? Кратко повторю. Установил на локаль чистую 3.2.1. Скопировал из неё папки компонента (из админки и фронта) на свой сайт. Так же экспортнул из неё и импортнул себе все таблицы компонента баннеров - 3 штуки: ххх_banners, ххх_banner_clients, ххх_banner_tracks.

Может ли быть дело в том, что я брал "запчасти" из 3.2.1 (потому что у меня сайт работает на обновленной до 3.2.1 Joomla), но изначально я начинал на 3.1.х (не помню точно), на ней же и деинсталлировал com_banners?

Если заглянуть в <Менеджер расширений - Управление> то вот он, родимый, и даже типа включен:



Снова откатил базу. Вот как-то так "на сейчас".
« Последнее редактирование: 29.12.2013, 01:46:18 от ruppert »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Да нет, это не должно влиять. очень странно, что не появляется. По сути вставка в таблицу #__menu никак не связана с компонентом. Туда можно вставить что угодно и оно должно появиться в меню.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Я вот тоже так думаю, но с какой еще стороны подойти к решению этой бяки ума не приложу. По сути, сейчас БД в "актуальном состоянии", никаких ошибок нет. Можно поставить сторонний компонент и забыть, но я вот как-то не люблю корявостей и недоделок. И думаю что я не последний "умник", который решил удалить родной компонент. По этим граблям обязательно пройдется кто-нибудь. Поэтому, думаю, нужно таки решить эту проблему.
« Последнее редактирование: 29.12.2013, 07:06:14 от ruppert »
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
b2z, попробуйте смоделировать (если конечно не затруднит) мою ситуацию так, как я только что сделал:

Поставил чистую 3.2.1.
Деинсталлировал компонент баннеров (штатно).
Проверяю БД - выдает ошибку (приводил ее выше).
Копирую из инсталяхи папки компонента баннеров и таблицы.
Проверяю БД - ошибок нет.
Делаю запрос, который Вы привели выше. Ошибка: #1062 - Duplicate entry '2' for key 'PRIMARY'
Ну и соответственно в "Компоненты" - ничего не появилось.

Думаю что в Ваш запрос вкралась какая-то очепятка, либо он сработал только в Вашей ситуации, т.е. просто предварительное удаление записей из таблицы _меню. Попробуйте как я описал, может чего прояснится?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вместо запроса Дмитрия (b2z) нужно использовать соответствующий мой запрос, который я приводил выше. Идентификаторы я убрал из запроса, по этому он не вызывает ошибку.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В базе данных компонент упоминается еще в таблтце прав, возможно из-за того, что права не выставлены, компонент не показывается. Так-же есть упоминание компонента еще в какой-то таблице.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
В базе данных компонент упоминается еще в таблтце прав, возможно из-за того, что права не выставлены, компонент не показывается. Так-же есть упоминание компонента еще в какой-то таблице.

Я проверял, удалял из таблицы #__assets - суперюзеру показывается в любом случае. Но, лучше всего в таблицу #__assets тоже добавить com_banners.

По поводу ошибки в запросе - да, ID надо убрать, так как мой запрос с чистой Joomla. У Вас эти ID уже могут быть заняты.
*

ruppert

  • Захожу иногда
  • 65
  • 0 / 3
Парни, спасибо вам конечно за подсказки, но все они сформулированы таким образом, что меня, как простого юзера CMS, нисколько не приближают к решению проблемы. Можно, пожалуйста, конкретнее, а то всё на догадки и предположения похоже. И большая просьба, прочитайте, если не трудно, пост 24, особенно последнее предложение. Спасибо.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
На пост 24 я ответил в посте 25.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Медиа менеджер стандартный

Автор phvsfpgs

Ответов: 0
Просмотров: 814
Последний ответ 11.09.2023, 15:55:40
от phvsfpgs
Стандартный рейтинг / Вывод количества проголосовавших за каждую оценку

Автор Vlad1

Ответов: 5
Просмотров: 936
Последний ответ 17.10.2021, 11:23:15
от NewUsers
Стандартный поиск всегда перенаправляет на страницу 404

Автор max_max

Ответов: 2
Просмотров: 1276
Последний ответ 23.08.2021, 20:06:33
от sivers
Как включить стандартный плагин Joomla через Cron?

Автор Damarkuzz

Ответов: 1
Просмотров: 678
Последний ответ 25.11.2020, 15:19:52
от NewUsers
Восстановить пользователя! Удалил админку

Автор Socrat

Ответов: 6
Просмотров: 1475
Последний ответ 16.04.2020, 19:32:13
от beliyadm