Новости Joomla

Process Forge — фреймворк для создания AI-процессов.

Process Forge — фреймворк для создания AI-процессов.

На новогодних каникулах 2026 в одном из чатов Joomla-сообщества коллега по цеху поделился промптом для ИИ-агента и результатом этого промпта. За неделю до этого он впервые попробовал Gemini CLI. Я до этого ИИ пользовался только в веб версиях и в целом меня это устраивало. Увидев простыню текста, запрос в CLI и простыню ответа первое, что меня охватило: "Я НЕ ХОЧУ вот это всё изучать! Опять что-то новое, надоело...".

Потом были стадии проб и ошибок, попыток использовать готовые пакеты community skills с гитхаба с ролевым внушением "ты супер-пупер мега-бэкенд-Joomla разработчик с 40-летним опытом, сделай мне красиво". Где-то в середине этого полугодия я стал формализовать свои процессы (а это не только разработка, но и SEO, аналитика, бизнес-аналитика, проработка и выстраивание процессов и т.д., но в итоге это, как правило, или связано с или ведёт к сайту на Joomla). Формализация привела к моему пониманию некоторых базисов, которые общие для всех процессов. Об этом чуть ниже.

Теперь я хочу представить на суд уважаемой публике свои наработки по фреймворку для создания формализованных процессов работы для ИИ-агентов - Process Forge.

- Читать статью на Хабре
- Process Forge (GitHub)

@joomlafeed

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

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

tnex

  • Новичок
  • 5
  • 3 / 0
Под настроение, решил поделиться  ^-^
У меня работает на JomSocial 1.6.288
Итак, для автоматического оповещения о сообщениях надо:

1. В файл /components/com_community/controllers/notification.php после строк
Код
class CommunityNotificationController extends CommunityBaseController
{
добавить следующий код
Код
	function ajaxNotifyUser()
{
if (!isRegisteredUser()) {
return $this->ajaxBlockUnregister();
}

$objResponse = new JAXResponse ();

$my = CFactory::getUser();
$inboxModel =& CFactory::getModel( 'inbox' );
$friendModel =& CFactory::getModel ( 'friends' );
$unreadInbox = $inboxModel->getUnReadInbox();
$pendingFren = $friendModel->getPending($my->id);
$msgCount = 0;
if(! empty( $unreadInbox ))
                      {
$msgCount += count($unreadInbox);
}
if(! empty( $pendingFren ))
                      {
$msgCount += count($pendingFren);
}

if ($msgCount > 0)
{
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify-count").text('. $msgCount . ');');
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify").show();');
}

return $objResponse->sendResponse();
}

2. В файл /components/com_community/jax.community.php после строки
Код
/** notification **/
(что, конечно же, для удобства) добавить
Код
$jaxFuncNames[]= 'notification,ajaxNotifyUser';

3. В папке /components/com_community/assets/ создать файл automsg.js
Код
function AutoMsg() {
if ((jQuery('#cWindow').length < 1) || (jQuery('#cWindow').css('display') == 'none')) {
jax.call("community", "notification,ajaxNotifyUser");
}
setTimeout("AutoMsg()", 10000);
}

jQuery(document).ready(function() {
AutoMsg();
});

4. В шаблоне (я вставил в шаблон Joomla сразу перед
Код
</head>
) добавляем вызов скрипта
Код
<script type="text/javascript" src="/components/com_community/assets/automsg.js"></script>

5. В шаблоне в файле toolbar.index.php заменяем
Код
<?php if ( (!empty($notiAlert)) && ($notiAlert > 0) ) { ?>
<li id="toolbar-item-notify">
<a href="javascript:joms.notifications.showWindow();">
<span id="toolbar-item-notify-count"><?php echo $notiAlert; ?></span>
</a>
</li>
<?php }//end if?>
на
Код
<?php  //if ( (!empty($notiAlert)) && ($notiAlert > 0) ) { ?>
<li id="toolbar-item-notify" class="toolbar-item" style="display: none;">
<a href="javascript:joms.notifications.showWindow();">
<span id="toolbar-item-notify-count"><?php //echo $notiAlert; ?></span>
</a>
</li>
<?php  //}//end if?>



Пользуйтесь! Буду рад, если кому пригодится  ^-^
Да, и еще, могу модифицировать под нужды, но уже за $$, точнее рубли

Да и еще, всплывающих окошек не будет. Просто должен появиться блок количеством новых сообщений. Если нужно всплывающее окошко, то в модуле notification.php в функции ajaxNotifyUser код
Код
		if ($msgCount > 0)
{
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify-count").text('. $msgCount . ');');
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify").show();');
}
надо заменить на
Код
		if ($msgCount > 0)
{
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify-count").text('. $msgCount . ');');
$objResponse->addScriptCall( 'jQuery("#toolbar-item-notify").show();');
$objResponse->addScriptCall( 'joms.notifications.showWindow();');
}

Вроде все  ^-^
« Последнее редактирование: 06.04.2010, 14:41:43 от tnex »
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Цитировать
Да и еще, всплывающих окошек не будет. Просто должен появиться блок количеством новых сообщений. Если нужно всплывающее окошко, то в модуле notification.php в функции ajaxNotifyUser код
Код:

      if ($msgCount > 0)
      {
         $objResponse->addScriptCall( 'jQuery("#toolbar-item-notify-count").text('. $msgCount . ');');
         $objResponse->addScriptCall( 'jQuery("#toolbar-item-notify").show();');
      }

надо заменить на
Код:

      if ($msgCount > 0)
      {
         $objResponse->addScriptCall( 'jQuery("#toolbar-item-notify-count").text('. $msgCount . ');');
         $objResponse->addScriptCall( 'jQuery("#toolbar-item-notify").show();');
         $objResponse->addScriptCall( 'joms.notifications.showWindow();');
      }

а вот это неправильно :) вот некогда мне смотреть новое сообщение... ну, к примеру я пишу сообщение другому пользователю, а эта зараза будет раз в 10 секунд мне надоедать...
*

Stiffman

  • Новичок
  • 4
  • 1 / 0
Получилось внедрить, правда есть еще интересный момент!
Модуль "Кто on-line" гости - показывает каждое обращение к серверу и количество гостей - огого )
*

tnex

  • Новичок
  • 5
  • 3 / 0
а вот это неправильно :) вот некогда мне смотреть новое сообщение... ну, к примеру я пишу сообщение другому пользователю, а эта зараза будет раз в 10 секунд мне надоедать...

Все решаемо, было бы желание, имхо. А придраться можно ко всему. Я же сказал, это базовое решение.

Например, так:
Файл automsg.js
Код
function AutoMsg() {
if ((jQuery('#cWindow').length < 1) || (jQuery('#cWindow').css('display') == 'none')) {
jax.call("community", "notification,ajaxNotifyUser");
}
setTimeout("AutoMsg()", 10000);
}

jQuery(document).ready(function() {
AutoMsg();
});

Я в шапке код поправил с учетом пожеланий Zombeee :)
« Последнее редактирование: 31.03.2010, 13:59:52 от tnex »
*

tnex

  • Новичок
  • 5
  • 3 / 0
Получилось внедрить, правда есть еще интересный момент!
Модуль "Кто on-line" гости - показывает каждое обращение к серверу и количество гостей - огого )


Не знаю, я не пользуюсь этим модулем. Надо подумать :) Выход всегда есть :)
*

Stiffman

  • Новичок
  • 4
  • 1 / 0
Такой вопрос!
А как можно сделать, чтоб уведомление выходило только при загрузке любой страницы ?
Я сделал вот так:
Код
function AutoMsg() {
jax.call("community", "notification,ajaxNotifyUser");
//setTimeout("AutoMsg()", 10000);
}

jQuery(document).ready(function() {
AutoMsg();
});
Но получается, что при загрузке страницы мы посылаем AJAX зарос.
Можно как-то сразу проверять, если новое сообщение есть - выводить всплывающее окно
(а то получается лишний запрос к серверу)?
*

Frizzka

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
А может кто нибудь знает, как сделать чтоб вмсето новых сообщений в всплывающем окне были показаны новые заявки в друзья!!
Знающие люди помогите найти решение, очень надо...За ранее спасибо))
*

jana

  • Захожу иногда
  • 63
  • 2 / 0
  • Яна
А как сделать в новых версиях, например JomSocial 2.4?, а то в реальном времени когда приходит сообщение вместо окна с сообщениями всплывает окно ,,Общее оповещение,, с надписью В данное время у Вас нет новых извещений
*

Trampypys

  • Захожу иногда
  • 132
  • 3 / 1
Большое спасибо! tnex
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] проблема с eventlist

Автор deners

Ответов: 16
Просмотров: 3929
Последний ответ 15.01.2012, 09:11:31
от kharol
help! (Почти решено) JSPT Обработчик события onclick как на полигоне

Автор zevs_1993

Ответов: 4
Просмотров: 2668
Последний ответ 15.07.2011, 00:20:32
от zevs_1993
[Решено]Некоректная работа с модулем Hello me.

Автор delta6

Ответов: 4
Просмотров: 2322
Последний ответ 07.06.2011, 16:52:45
от delta6
[Решено] Выдернуть Аватар из JS

Автор Darknemo

Ответов: 17
Просмотров: 3754
Последний ответ 02.08.2010, 14:36:02
от Darknemo
ищу плагин для jomsocial (список юзеров в личных сообщениях)

Автор maximt

Ответов: 0
Просмотров: 2007
Последний ответ 20.05.2009, 14:15:19
от maximt