UPD: Тема была автоматически перенесено сюда после закрытия форума. Но тут что-либо обсуждать невозможно, поэтому закрываю. Если есть что сказать по теме, пишите на вики-форум или в Дискорд.
Столкнулся с проблемой, что сейчас в Убежище невозможно вывести количество всех статей «к улучшению», «незавершённых», «неэнциклопедичных» и т.п. не превысив при этом лимит по вызову ресурсоёмких функций.
Уточню, что количество страниц в категории выводится конструкцией {{PAGESINCATEGORY: название}}, и, например, для отображения количества незавершённых статей, шаблон {{Сумма по категориям}} банально проходит данной функцией по всем категориям вида «Незавершённые статьи (Fallout)», «Незавершённые статьи (Fallout 2)», «Незавершённые статьи (J.E. Sawyer's Fallout Role-Playing Game)» и т.д., что не очень-то рационально.
Даже если брать только каноничные игры и DLC, то их получается более двух десятков. А если же брать вообще все игры, официальные дополнения и т.п., то выходит почти полсотни подкатегорий (их количество в будущем будет увеличиваться), и, соответственно, столько же вызовов русерсоёмких функций (при их допустимом лимите в 100).
Поэтому появилась идея рассмотреть возможность создания чего-то вроде корневых категорий (мастер-категорий) поверх уже существующих. Хотя, создавать, возможно, и не придётся, так как можно сделать мастер-категориями уже существующие.
Наверное, немного запутано написал, поэтому объясню на примере:
Сейчас есть большое количество категорий незавершённых статей по играм, и, чтобы скрипту не приходилось по отдельности считать количество страниц в каждой из них, все страницы из них будут дублироваться в мастер-категории (например, в той же «Незавершённые статьи», либо в какой-то отдельно созданной).
Тоже самое, вероятно, можно попробовать сделать и с обычной категоризацией по предмету статьи, но там всё сложнее. Можно попробовать отталкиваться от сегментации, которую я использовал в статистике несколько лет назад, но немного дополнив её.
Т.е., иными словами, можно создать в Убежище два типа корневых-категорий:
Пример из старой статистики
1. Статьи по качеству: в каждой статье может быть максимум одна категория данного типа, или не быть вообще.
Примерный список:
К улучшению
Незавершённые статьи *
Неэнциклопедичные статьи
Статьи к доработке
Неоднозначности
Диалоговые файлы
* В мастер-категорию «Незавершённые статьи», вероятно, можно будет также отнести статьи из следующих категории:
Пример из старой статистики
2. Статьи по типу описываемого предмета: в каждой статье без исключения должна быть строго одна категорию из данного типа. Например, все персонажи будут в категории «Персонажи».
В итоге мы получим примерно 2-3 десятка мастер-категорий, который покроют все статьи на 100%, что позволит очень легко анализировать количество статей в реальном времени.
Очень-очень примерный список:
Персонажи
Предметы — условная/виртуальная категория, формирующаяся из нескольких других: Оружие Броня и одежда Боеприпасы Прочие предметы
Локации
Квесты
Способности (и особенности? навыки? уточнить)
Организации
Статьи по годам
Объекты
Существа
Игровая механика (уточнить)
Неоднозначности
Внутриигровые заметки
Диалоговые файлы
Прочие статьи (уточнить)
Для реализации первого пункта достаточно одной лишь перенастройки шаблонов. Для второго же придётся добавлять категории в полу-автоматическом режиме, прогоняя бота по дочерним категориям.
Все мастер-категории будут помечаться шаблоном по-аналогии с метакатегориями. Возможно,будут скрытыми и/или иметь какой-то специальный префикс.
Не судите строго, это просто сырая идей. Я пока думаю над её состоятельностью.
Просьба кидать камнями ниже этой линии...