Как вызвать сигнал / зацепку при редактировании конкретной страницы? - PullRequest
0 голосов
/ 21 марта 2012

Можно ли инициировать какой-либо сигнал или настроить хук (например, выполнение определенного / жестко закодированного сценария оболочки) после редактирования одной конкретной страницы MediaWiki?

Сценарий выглядит следующим образом.
До сих пор RSS-канал генерируется из содержимого одной конкретной страницы MediaWiki (назовите ее wiki/index.php?title=News) каждый раз, когда запрашивается RSS-канал.Поскольку эта страница редактируется только один раз в пару дней, наличие PHP-скрипта Perl :: CGI oder в качестве источника RSS-канала (например, URL для читателей канала: example.com/rss-feed.php) должно быть лучше - с точки зрения нагрузки на сервер.Этот сценарий генерирует статический канал RSS (например, example.com/rss.xml) только после редактирования страницы вики.

Примечание:
Страница вики, о которой я говорю, защищена иредактировать его могут только доверенные пользователи.Я не могу думать о проблеме безопасности в рамках предложенного выше рабочего процесса.Я счастлив, что в противном случае убедился.

1 Ответ

1 голос
/ 27 марта 2012

Конечно, вполне возможно.

Параметр ArticleSaveComplete hook * $article содержит заголовок и пространство имен только что сохраненной статьи (в частности, вы хотите получить доступ к свойствамиз $article->mTitle).

Просто определите функцию с оператором if, которая будет просто возвращать true, если заголовок (и пространство имен!) не соответствуют заданным данным.Если они совпадают, он сгенерирует необходимый вам статический файл.

На странице руководства MediaWiki Hooks есть несколько примеров и дополнительная информация о том, как работают хуки и как написать новую функциюэто будет работать с определенным хуком.

Тем не менее, я бы действительно посоветовал вам отказаться от этой идеи, если вы на самом деле не видите отрицательных последствий для производительности вашей машины.При нормальной конфигурации MediaWiki должен использовать кеш анализатора, чтобы позаботиться о наиболее ресурсоемкой операции для таких запросов, как этот.

...