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

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Неактивная ссылка, которая получается в результате неправильного присвоения атрибутов тегу <a>, и белый экран (или что означает "пустое объявление"?) - одно и то же? Однако, странное изложение... Действительно, разобраться можно было только методом тыка :)
проблем было несколько,решений тоже,одно из решений было в русификаторе,остальные уже не помню,было давно)но все решения были взяты из этой темы.
*

Миша_М

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Новая проблема.
Благодаря этой теме все заработало - уведомление отправляется, ссылка на продление работает, объявление продлевается (проверил сто раз), но! уведомления начали отправляться бесконечно, и сайт в это время (после 12 ночи) стал подвисать.
Если я проверяю, то все нормально, а пользователям шлются десятки писем о продлении! Узнал только от "автоотвечиков" пользователей.
Ставил разный срок для отправки уведомления, переставлял AdsManager (делая описанные выше поправки) - бесполезно.
« Последнее редактирование: 03.02.2013, 16:46:18 от Миша_М »
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Видимо задел гдето редирект в файле, либо с подсчетом даты проблема...
Других мыслей пока нет...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

Миша_М

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Новая проблема.
Благодаря этой теме все заработало - уведомление отправляется, ссылка на продление работает, объявление продлевается (проверил сто раз), но! уведомления начали отправляться бесконечно, и сайт в это время (после 12 ночи) стал подвисать.
Если я проверяю, то все нормально, а пользователям шлются десятки писем о продлении! Узнал только от "автоотвечиков" пользователей.
Ставил разный срок для отправки уведомления, переставлял AdsManager (делая описанные выше поправки) - бесполезно.

Бесконечно - в смысле, по одному и тому же объявлению пользователю приходят сотни писем за одни сутки? Или бесконечно в том смысле, что уведомления о продлении отсылаются не один раз, а каждые сутки до того момента, пока пользователь не продлит срок? Или что-то ещё?
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

Миша_М

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Бесконечно - в смысле, по одному и тому же объявлению пользователю приходят сотни писем за одни сутки? Или бесконечно в том смысле, что уведомления о продлении отсылаются не один раз, а каждые сутки до того момента, пока пользователь не продлит срок? Или что-то ещё?
Пользователю идут уведомления до тех пор, пока сайт не повиснет (за 1 час около 10 штук), но через 2-3 часа сайт подвисает окончательно, и я просто удаляю эти объявы, и сайт возобновляет работу.
« Последнее редактирование: 03.02.2013, 21:25:50 от Миша_М »
*

Kivik

  • Новичок
  • 4
  • 0 / 0
Добрый вечер друзья!
У Меня AdsManager 6.1.5
Из всего преречисленного помогло выключение SEF.
Теперь товар обновляется и перемещается на сегодня. Не на верх, я так понимаю то ли от времени обновления, то ли от времени размещения зависит в какую часть сегодня он публикуется.
Кто смог это решить не выключая SEF - очень нужны оптимизированные ссылки.
*

Kivik

  • Новичок
  • 4
  • 0 / 0
Пользователю идут уведомления до тех пор, пока сайт не повиснет (за 1 час около 10 штук), но через 2-3 часа сайт подвисает окончательно, и я просто удаляю эти объявы, и сайт возобновляет работу.
Я пока поставила 3 года, по -этому не в курсе, что будет приходить. Сайт как раз раскрутится так что можно будет не жалеть каждый товар.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Пользователю идут уведомления до тех пор, пока сайт не повиснет (за 1 час около 10 штук), но через 2-3 часа сайт подвисает окончательно, и я просто удаляю эти объявы, и сайт возобновляет работу.
Чтобы от отправки сообщений на электронную почту сайт "подвисал"... Либо огромное количество запросов к базе данных начинает создаваться, либо... Вероятно, есть какие-то ошибки в скриптах. В частности, возможно, в функции manage_expiration (/administrator/components/com_adsmanager/models/content.php).

Версия у вас 2.6.5? С официального сайта скачивали? Логи сервера не смотрели, режим отладки? После отправки сообщений в базе прописывается единичка в колонке recall_mail_sent (для объявлений, у которых истекает срок действия)?

Полагаю, если на каждого пользователя в час по 10 сообщений приходится, должно быть несколько сотен или тысяч пользователей, чтобы так нагрузить сервер, что он перестаёт отвечать. И сколько ж у вас объявлений на сайте?
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Здравствуйте!
Подскажите, пожалуйста, как можно поправить такую штуку.

AdsManager 2.8.0. Продление объявлений, скорее всего, организовано как в обсуждаемой версии.
Продление работает, но есть один косяк - человек подает объявление, оно не соответствует правилам сайта. Объявление не публикуется (человеку отсылается письмо с разъяснением причины). Проходит время, подходит срок завершения публикации - появляется кнопка "Продлить объявление" в списке объявлений пользователя. Он нажимает на "Продлить" - объявление продляется и публикуется на сайте.

Подскажите, как можно это поправить?

Можно добавить проверку, чтоб при обновлении проверялось, опубликовано оно или нет, и если нет, то не меняло статус на опубликовано?
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Пердыдущий вопрос решил.
В файле \administrator\components\com_adsmanager\models\content.php
есть функция
function renewContent($contentid,$ad_duration)
в ней есть строчка
Код
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid."");//TODO and recall_mail_sent = 1
удалил из нее published=1 - теперь при обновлении неопубликованные объявления не публикуются.

Заметил новую проблему. Приходят по 2 уведомления о возможности продления на почту пользователя.
Делал перевод при помощи компонента Falang - вообще приходило по 4 или 5 на одно объявления, на 2-х языках. Убрал перевод - приходит по 2 одинаковых.
Подскажите, пожалуйста, куда смотреть, где копать?
*

moonaway

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Пердыдущий вопрос решил.
В файле \administrator\components\com_adsmanager\models\content.php
есть функция
function renewContent($contentid,$ad_duration)
в ней есть строчка
Код
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid."");//TODO and recall_mail_sent = 1
удалил из нее published=1 - теперь при обновлении неопубликованные объявления не публикуются.

Заметил новую проблему. Приходят по 2 уведомления о возможности продления на почту пользователя.
Делал перевод при помощи компонента Falang - вообще приходило по 4 или 5 на одно объявления, на 2-х языках. Убрал перевод - приходит по 2 одинаковых.
Подскажите, пожалуйста, куда смотреть, где копать?

1. Есть решение правильней. Если объявление опубликовано было, то оставлять опубликованным, если не было, то не публиковать. полная функция должна выглядеть так:
Код
	function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT expiration_date, published FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$contents = $this->_db->loadObject();
$time = strtotime($contents->expiration_date);
if ($time < time())
{
$time = time();
}
$time = $time + ( $ad_duration * 3600 *24);
$newdate = date("Y-m-d H:i:s",$time);

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = NOW(),recall_mail_sent=0,published='$contents->published' WHERE id=".(int)$contentid."");//TODO and recall_mail_sent = 1
$this->_db->query();
}

2. Если установлен com_paidsystem, то модифицировать нужно функцию renewPaidAd в файле 'components/com_paidsystem/api.paidsystem.php', но там сложней.

3. Чтобы Expirtion Date в компоненте записывалось в формате 'Y-m-d H:i:s' нужно изменить помимо функций и саму БД через MyPhpAdmin. В таблице ###_adsmanager_ads сменить параметр столбца 'expiration_date ' с 'date' на 'datetime'

4. Чтобы добавить возможность ввода даты завершения в формате 'Y-m-d H:i:s' через админку, нужно поменять в файле 'administrator/components/com_adsmanager/views/admin/tmpl/editcontent.php' (строка 260) '%Y-%m-%d' на '%Y-%m-%d %H:%M:%S'
Код
<?php echo JHTML::_('calendar', $expiration_date, "expiration_date", "expiration_date", "%Y-%m-%d %H:%M:%S", null); ?>
« Последнее редактирование: 28.09.2016, 11:22:48 от moonaway »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 9715
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 20440
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 18035
Последний ответ 25.11.2021, 10:43:38
от FlexNL
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 8732
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 19334
Последний ответ 27.03.2020, 22:39:23
от Pavel