Страницы дуэтов, трио, ансамблей, групп и творческих проектов. Это wiki-компонент на Cargo, PageForms и Scribunto; отдельного PHP-расширения он не устанавливает.

Инструкция редактора · Каталог · Создать страницу

Состав компонента

Требуются Cargo, PageForms, Scribunto, TemplateStyles, Variables и существующие таблицы Бард-Вики song, Performance, Persona. Variables используется только для однократного вывода заголовков при нескольких шаблонах участников/периодов на странице.

Данные

Collective
Name, FullName, OtherNames, Type, Description, Image, ImageDes, Founded, Ended, PlaceFounded, Country, City, Genre, Founders, Clubs, Websites, Contacts. OtherNames, Country, City, Founders и Clubs разделяются точкой с запятой; Genre — запятой. Поле Test предназначено для проверок и исключает запись из каталога и подсказок.
CollectiveMember
Person — ссылка на персоналию с разрешением перенаправления; Role, StartDate, EndDate, Status, Note. Каждое возвращение человека в состав можно оформить отдельной записью.
CollectivePeriod
StartDate, EndDate, Note. Несколько периодов не требуют отдельных страниц коллектива.

Все строки связаны с wiki-страницей штатными полями Cargo _pageID и _pageName. Данные записываются только для основного пространства имён.

Даты

Founded, Ended и даты периодов имеют тип Date. Форма позволяет оставить только год. Cargo хранит точность отдельно: год — precision 3, полная дата — precision 1. В карточке отображается исходная точность; неизвестные день и месяц не выдаются за 1 января. DateBirth и DateDeath персоналий не используются. Даты основания не входят в календарь дней рождения и памяти персоналий.

Связи

Состав ссылается на страницы персоналий. В PersonaInfobox добавлен вызов personGroups: записи состава объединяются со старым полем Ensemble, совпадающие ссылки не повторяются. Старые данные персоналий не переписываются.

Исполнения выбираются из Performance, где performer явно содержит название страницы коллектива, Name или одно из OtherNames. Данные песни берутся из song. Разные записи одной песни сохраняются раздельно. Авторские песни показываются только при явном указании коллектива в Composer, Lyric или Translation. Сольные произведения и исполнения участников не включаются автоматически.

В формах Song и Performance подсказки исполнителей объединяют имена персоналий и коллективов. Можно ввести значение, которого ещё нет в подсказках. Существующее разделение исполнителей запятыми сохранено.

Создание авторов

В шаблон Song добавлен необязательный параметр CollectiveAuthors. Это список коллективов из полей авторства через запятую, а не новое поле Cargo-таблицы song. Шаблон Автор песни направляет неизвестного автора в соответствующую форму; существующие страницы сохраняются. PageForms создаёт заготовку после сохранения песни через штатную очередь, а не при предпросмотре. В обычном случае нужно дождаться обработки очереди.

BardAIFormatSong 0.2.4 поддерживает collectiveAuthors в редакторе/JSON и проверяет соответствие полям авторства. BardSearchOrder 1.1.3 помещает коллективы вместе с персоналиями в первую группу поиска, сохраняя обычную релевантность.

Установка, проверка и откат

На другой вики сначала сохраните исходные страницы, расширения и данные. Перенесите перечисленные wiki-компоненты, затем создайте только три новые Cargo-таблицы штатными средствами Cargo. Не пересоздавайте существующие song, Persona и Performance. Изменения их схем для этого компонента не требуются.

Связанные изменения нужны в Song, PersonaInfobox, формах Song и Performance. Для первоначального наполнения создавайте страницы через форму; существующие персоналии массово не преобразовывайте.

Проверка: создание и повторное редактирование формы с годом/полной датой, несколько участников и периодов, обратная ссылка из персоналии, несколько записей исполнения, авторство коллектива, предпросмотр без создания заготовки и автоматическая заготовка после сохранения.

Откат: восстановить предыдущие версии двух PHP-расширений и изменённых wiki-страниц. Перед удалением новых таблиц/шаблонов сохранить созданные пользователями страницы коллективов. Восстановление всей базы не требуется и затёрло бы посторонние правки.

Границы первого этапа

Клубы, концертные площадки, фестивали и выпуски фестивалей ещё не реализованы. Поле Clubs пока хранит обычные ссылки. Эти объекты будут отдельными типами; клубам не нужен блок исполнения.