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

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Помогите, пожалуйста, разобраться новичку. Пытаюсь создать модуль показа залогинившемуся на сайт юзеру информации о его текущих платежах. Каркас довольно сложной HTML-таблицы разработал (это для меня - уже подвиг), теперь хочу его "поженить" с PHP+MySQL. Для этого мне надо запрограммировать обращение к БД и поиск соответствующей записи с id-юзера. С этой целью попытался подсмотреть в Joomla код модуля авторизации, чтобы найти в нём, как именно происходит обращение из этого модуля к БД и сравнение логина/пароля с соответствующими полями. Странно, но ничего там похожего нет, даже издалека. Хотя запись текущего юзера в таблице prefix_users - имеется, я через панель phpMyAdmin просмотрел: id, имя, логин, кодированный_пароль, куча других непонятных полей - всё есть. А раз всё это там имеется, значит, процесс авторизации как-то ж к этому обращается? Но как, если в коде модуля авторизации (mod_login) нет никакого даже намёка на это?..
Вот, привожу коды составляющих файлов этого загадочного модуля (комментарии убрал):
mod_login.php
Спойлер
[свернуть]
helper.php
Спойлер
[свернуть]
default.php
Спойлер
[свернуть]
Для полноты картины вот ещё и код файла
mod_login.xml
хотя в нём, по-логике, точно не может быть обращения к БД:
Спойлер
[свернуть]
Подскажите, пожалуйста, в какой из этих командных строк осуществляется это сверхзасекреченное обращение к базе данных MySql?  :'(
« Последнее редактирование: 08.05.2011, 21:25:19 от Neznajka »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Код: php
$user = & JFactory::getUser();
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
To lcd25:
Спасибо большое! Я только-только нашёл, что это и есть она, "секретная" команда Joomla -   $user =& JFactory::getUser();
Оказывается, в Тырнете почти всё есть, если напряжённо поискать. Не нашёл только, как можно подключиться не к текущей базе данных. В PHP, я читал, есть возможность явно указать имя желаемой БД в команде подключения, а вот в доках по Joomla ничего такого не нашёл - везде применяется JFactory::getDBO() без каких бы то ни было параметров. А можно ли в скобки впихнуть имя БД? Например, если у меня на хостинге их 3 штуки, и я хочу подконнектится не к текущей, то Joomla имеет такие команды? Подскажите, пожалуйста.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Используйте обычное соединение sql.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Спасибо!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Спасибо, SmokerMan! Хоть и не по-нашему там написано, но в общем-то всё понятно и доступно.
Теперь я пытаюсь сообразить, как лучше поступить - сформировать на хостинге новую БД из нужных мне 5-ти таблиц (их общий вес - 35 МБ , до конвертации из dbf в MySQL), или добавить эти 5 таблиц к уже существующей Joomla'шной базе? Имеет ли какие-либо преимущества разделение юзерских и чисто Joomla'шных данных по разным БД? Ну, разумеется, помимо возможности установить другие атрибуты доступа к БД.
И вот ещё - главный вопрос.
В таблице prefix_users в поле пароля содержится, естественно, закодированная строка. Как узнать, как именно её Joomla формирует? Это мне нужно вот зачем. По тех.заданию регистрация новых пользователей должна осуществляться в абонбюро, а не на сайте, поэтому он-лайн регистрацию я отключил. Т.е., для каждого нового пользователя в таком случае необходимо формировать кодированную строку пароля вручную. Думаю, я бы смог создать соответствующий модуль для админа, только для этого мне необходимо подсмотреть, как именно Joomla при инсталяции сформировала пароль админа (это пока единственная строка в таблице prefix_users). Понимаю, что, скорее всего где-то в Joomla'шном коде есть PHP-команда с обращением к алгоритму md5 или подобному. А в каком именно файле Joomla это можно подсмотреть?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Имеет ли какие-либо преимущества разделение юзерских и чисто Joomla'шных данных по разным БД?
нет не имеет, т.к. сервер используется один и тот же. Если бы  были разные сервера тогда выигрыш может и был бы.
Ну или можно сделать если стоит ограничение на кол-во подключений к одной БД.
А в каком именно файле Joomla это можно подсмотреть?
libraries/joomla/user/user.php
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Ещё раз большое спасибо, SmokerMan!
М-да, код того файла и соответствующего ему хэлпера мне пока не по зубам. Но, к счастью, регистрация новых юзеров доступна прямо на админпанели Joomla - я просто не досмотрел. Т.е., теперь заморачиваться над созданием и кодированием паролей, вроде и не надо. Но одна проблемка всё же осталась - как показать юзеру именно его данные? Эти данные у меня будут формироваться SQL-запросом из 5-ти таблиц. Правильно ли я понимаю, что сопоставлять юзера и его данные в этих таблицах следует по id-шнику этого юзера? Тогда, выходит, что мне всего-то понадобится добавить к этим таблицам соответствующее поле, да? Или при таком подходе окажется возможным каким-нибудь "левым" sql-inject-манёвром просмотреть записи всех юзеров (или не свою запись)?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Или при таком подходе окажется возможным каким-нибудь "левым" sql-inject-манёвром просмотреть записи всех юзеров (или не свою запись)?
ну если id авторизованного пользоввателя определять через фреймворк Joomla (как выше было), а потом уже тащить данные, то инъекцию, думаю, будет сделать проблематично. Т.к. оно будет либо null либо id пользователя.
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: В какой команде Joomla обращается к БД?
« Ответ #10 : 10.05.2011, 19:43:17 »
О, тогда это мне подходит. Спасибо.
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: В какой команде Joomla обращается к БД?
« Ответ #11 : 12.05.2011, 14:52:47 »
Вот, столкнулся с ещё одним новым для меня моментом.
5 импортируемых мной из dbf в MySQL таблиц с юзерскими платёжными данными связаны меж собой по полю Schet (лицевой счёт, уникален для каждого конкретного пользователя). А Joomla привязывает пользователя полем ID. Так вот, напрашиваются следующие варианты внутреннего связывания этих идентификаторов:
1) добавить к таблице #_users поле Schet;
2) создать дополнительную таблицу соответствия полей ID и Schet.
Но в обоих вариантах встаёт вопрос - как можно реализовать возможность ручного ввода значения Schet админом (наряду с логином и паролем) при регистрации нового юзера с админпанели? Иными словами - как можно проще всего добавить окошко ввода ещё одного параметра в модуль регистрации нового пользователя? Чтоб, разумеется, при этом также обеспечивалась запись этого нового значения в соответствующее поле БД. Сориентируйте, пожалуйста, хоть приблизительно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 11931
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 15045
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 9004
Последний ответ 14.08.2020, 07:16:44
от rsn
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 14085
Последний ответ 12.09.2018, 19:36:32
от PaLyCH
Не войду в админку Joomla 1.5.26, пишет соединение с сервером было сброшено

Автор rom_4

Ответов: 4
Просмотров: 7767
Последний ответ 16.05.2018, 17:28:18
от Алексей MeRsOvOd