BardSongbooks: различия между версиями
Admin (обсуждение | вклад) BardSongbooks 0.1.9: оглавление и мелкий список |
Admin (обсуждение | вклад) BardSongbooks 0.2.0: публичные книги, каталог и доступ по ссылке |
||
| Строка 1: | Строка 1: | ||
= BardSongbooks = | = BardSongbooks = | ||
== Скачать == | == Скачать == | ||
* [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/BardSongbooks-0. | * [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/BardSongbooks-0.2.0.zip BardSongbooks-0.2.0.zip] | ||
* [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/BardSongbooks-0. | * [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/BardSongbooks-0.2.0.tar.gz BardSongbooks-0.2.0.tar.gz] | ||
* [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/SHA256SUMS | * [https://new.bard-wiki.net/downloads/extensions/BardSongbooks/SHA256SUMS SHA256SUMS] | ||
<pre> | <pre> | ||
88ce1e49927439a4bed65e4a27d6b2a0e695dd98d34a7f3104c3426c02658798 BardSongbooks-0.2.0.zip | |||
18e8e1823a41c15d2c6777ce546041db76ab613374ab2c48bfa8cbdb1260db1a BardSongbooks-0.2.0.tar.gz | |||
</pre> | </pre> | ||
<code>BardSongbooks</code> — самописное расширение MediaWiki для личных песенников Бард-Вики. Зарегистрированный пользователь может создать несколько приватных или публичных песенников, добавить в них страницы песен, расположить песни в любом порядке и подготовить печатную версию или PDF. | |||
Текущая версия: '''0.2.0'''. | |||
== Возможности == | == Возможности == | ||
* несколько | * несколько песенников у одного пользователя; | ||
* добавление песни прямо со страницы песни | * добавление песни прямо со страницы песни; | ||
* управление добавлением в служебной | * управление добавлением в служебной колонке темы: справа в инструментах страницы Vector 2022 и слева в старых Vector/MonoBook; | ||
* добавление из поиска в редакторе песенника; | |||
* поиск по основному, альтернативному и оригинальному названию, композиторам, авторам текста, первой строке и всему индексированному тексту песни; | * поиск по основному, альтернативному и оригинальному названию, композиторам, авторам текста, первой строке и всему индексированному тексту песни; | ||
* одновременный запрос по разным полям; | * одновременный запрос по разным полям: например, по автору и словам из текста; | ||
* результаты | * результаты в формате <code>Название (авторы) — Первая строка</code>; | ||
* произвольная перестановка песен перетаскиванием или кнопками вверх/вниз; | * произвольная перестановка песен перетаскиванием или кнопками вверх/вниз; | ||
* ссылки на исходные страницы песен; | * ссылки на исходные страницы песен в списке и печатном представлении; | ||
* печать песен подряд или каждой с новой страницы; | * печать песен подряд или каждой с новой страницы; | ||
* от одной до трёх колонок внутри песни | * от одной до трёх колонок внутри каждой песни; | ||
* сохранение строф | * размер шрифта от 8 до 16 пунктов; | ||
* сохранение строф при разбиении на колонки; | |||
* возможность скрыть сведения о песне; | * возможность скрыть сведения о песне; | ||
* режим «Только первый раздел песни», исключающий | * режим «Только первый раздел песни», исключающий последующие разделы, например «Аккорды»; | ||
* дополнительное нумерованное оглавление без номеров страниц со ссылками на песни внутри печатного представления; | * дополнительное нумерованное оглавление без номеров страниц со ссылками на песни внутри печатного представления; | ||
* печать и сохранение в PDF средствами браузера. | * печать и сохранение в PDF средствами браузера. | ||
Новые и существующие песенники по умолчанию приватны. Владелец может опубликовать выбранную книгу для чтения всеми посетителями; право редактирования остаётся только у владельца. | |||
== Требования == | == Требования == | ||
* MediaWiki 1.43 или новее; | * MediaWiki 1.43 или новее; | ||
* PHP 8.1 или новее; | * PHP 8.1 или новее; рабочая конфигурация проверена на PHP 8.3; | ||
* MySQL или MariaDB, поддерживаемые установленной версией MediaWiki; | * MySQL или MariaDB, поддерживаемые установленной версией MediaWiki; | ||
* расширение Cargo и таблица <code>cargo__song</code>; | * расширение Cargo и таблица <code>cargo__song</code>; | ||
* | * стандартная таблица полнотекстового индекса MediaWiki <code>searchindex</code>. | ||
Расширение ожидает в Cargo-таблице песен поля: | |||
* <code>Name</code>; | |||
* <code>AlterName__full</code>; | |||
* <code>OriginalName__full</code>; | |||
* <code>Composer__full</code>; | |||
* <code>Lyric__full</code>; | |||
* <code>FirstString</code>; | |||
* <code>_pageID</code>. | |||
Это расширение сделано для структуры Бард-Вики. На другой вики с иной схемой Cargo поиск потребуется адаптировать. | |||
== Установка == | == Установка == | ||
# Сделайте резервную копию базы данных | # Сделайте резервную копию базы данных и <code>LocalSettings.php</code>. | ||
# Распакуйте архив | # Распакуйте архив так, чтобы файл <code>extension.json</code> находился по пути: | ||
```text | |||
extensions/BardSongbooks/extension.json | |||
``` | |||
# Добавьте в <code>LocalSettings.php</code>: | # Добавьте в <code>LocalSettings.php</code>: | ||
```php | |||
wfLoadExtension( 'BardSongbooks' ); | wfLoadExtension( 'BardSongbooks' ); | ||
``` | |||
# Из корня MediaWiki выполните: | # Из корня MediaWiki выполните: | ||
```bash | |||
php maintenance/run.php update --quick | php maintenance/run.php update --quick | ||
``` | |||
# | # Откройте <code>Служебная:Версия</code> и убедитесь, что <code>BardSongbooks</code> показан в списке расширений. | ||
# Войдите как зарегистрированный пользователь и откройте | # Войдите как обычный зарегистрированный пользователь и откройте <code>Служебная:Мои песенники</code>. | ||
== Обновление == | == Обновление == | ||
# | # Сделайте резервную копию текущего каталога <code>extensions/BardSongbooks</code> и базы данных. | ||
# Замените каталог файлами новой версии. | # Замените каталог расширения файлами новой версии. | ||
# Выполните <code>php maintenance/run.php update --quick</code>. | # Выполните <code>php maintenance/run.php update --quick</code>. Для 0.2.0 он добавляет <code>bsb_is_public</code> с DEFAULT 0 и индекс публичного каталога, не меняя существующие книги, порядок или настройки. | ||
# | # Сбросьте кеш браузера или добавьте <code>?debug=1</code>, если интерфейс продолжает использовать старые JavaScript/CSS-ресурсы. | ||
# Проверьте создание песенника, поиск, перестановку и | # Проверьте создание тестового песенника, поиск, перестановку песен и печатное представление. | ||
== Использование == | == Использование == | ||
=== Создание === | === Создание песенника === | ||
После входа в систему откройте ссылку «Мои песенники» в меню пользователя или страницу <code>Служебная:Мои песенники</code>. Введите название и нажмите «Создать». | |||
Один пользователь может иметь не более 50 песенников. Названия песенников одного пользователя не должны повторяться. | |||
=== Добавление песен === | |||
Песню можно добавить двумя способами: | |||
# открыть страницу песни и воспользоваться появившимся элементом добавления в песенник; | |||
# открыть редактор песенника, ввести запрос в поле «Добавить песню» и выбрать результат. | |||
В Vector 2022 блок выбора песенника находится внутри служебной панели «Инструменты»: при закреплённых инструментах — в правой колонке, при незакреплённых — в раскрывающемся меню «Инструменты». В старом Vector и MonoBook блок помещается в левую служебную колонку после обычных инструментов. Над содержимым статьи блок не выводится. Для других тем, где подходящей служебной области нет, используется запасной полноширинный вариант в начале содержимого. | |||
В один песенник нельзя дважды добавить одну и ту же страницу. Максимум — 500 песен в песеннике. | |||
=== Поиск === | |||
Запрос разбивается максимум на десять слов. Каждое слово должно встретиться хотя бы в одном из поддерживаемых полей, но разные слова могут находиться в разных полях. Поэтому запрос может одновременно содержать имя автора, часть названия и слова из текста. | |||
Поиск охватывает: | |||
* основное название; | |||
* альтернативные названия; | |||
* оригинальные названия; | |||
* композиторов и авторов текста; | |||
* первую строку; | |||
* весь индексированный MediaWiki текст страницы песни. | |||
Минимальная длина запроса — два символа. За один запрос возвращается до 30 результатов. | |||
=== Порядок песен === | |||
Песни можно перетаскивать мышью. Для клавиатуры и точной перестановки доступны кнопки вверх и вниз. Новый полный порядок сохраняется только для данного песенника. | |||
=== | === Приватность, публикация и ссылка === | ||
В редакторе откройте «Доступ к песеннику», выберите «Публичный — доступен всем» и нажмите «Сохранить доступ». До нажатия кнопки состояние книги не меняется. Новые книги и все книги после обновления с 0.1.9 остаются приватными; автоматической публикации нет. | |||
После публикации появляется поле «Ссылка на песенник» и кнопка «Копировать ссылку». Ссылка ведёт на обычную <code>Служебная:Песенник/<id></code> и работает без входа. Название можно менять: ID и адрес книги сохраняются. При недоступном Clipboard API ссылка выделяется для обычного Ctrl+C. | |||
Получатель видит упорядоченный список песен, ссылки на исходные страницы и печатное представление/PDF. У него нет поиска/добавления, перестановки, переименования, удаления, настроек или изменения видимости чужой книги. Все операции записи по-прежнему проверяют зарегистрированного владельца, POST и CSRF. | |||
Для закрытия выберите «Приватный — только я» и сохраните. Книга исчезнет из каталога, её HTML, печать и API станут недоступны остальным, даже по старой ссылке. Уже скачанные PDF и сделанные другими людьми копии вернуть невозможно. Права чтения исходных страниц Wiki не расширяются: недоступные конкретному читателю песни исключаются из списка и печати. | |||
=== Общий каталог всех пользователей === | |||
<code>Служебная:Публичные песенники</code> доступна без входа. Ссылки на неё есть в инструментах страницы и на странице «Мои песенники». Каталог показывает публичные книги '''всех пользователей''', а не только текущего. | |||
Четыре колонки: «Название песенника» (ссылка), «Пользователь» (имя в Wiki, без email/настоящего имени), «Количество песен», «Дата последнего изменения». Сортировка — сначала недавно изменённые, при равенстве дат по ID. По 20 книг на страницу. Приватные книги не попадают в каталог. | |||
=== API === | |||
* <code>action=bardsongbooks&mode=public&limit=20&offset=0</code> — общий каталог, без входа; | |||
* <code>action=bardsongbooks&mode=items&book=<id></code> — содержимое: владелец для приватной книги, любой читатель для публичной; | |||
* <code>mode=list</code> и <code>mode=search</code> сохраняют прежнее требование входа и права <code>bard-songbooks-use</code>; | |||
* <code>action=bardsongbookedit&op=visibility&book=<id>&public=1&token=<csrf></code> — публикация, только POST зарегистрированного владельца; | |||
* для закрытия выполните тот же POST '''без параметра <code>public</code>'''. Boolean-параметры API MediaWiki истинны по присутствию; <code>public=0</code> тоже означает присутствие и не закрывает книгу. | |||
Чтение видимости и публичного каталога использует primary DB для немедленного закрытия доступа без задержки реплик. Ответы HTML и API не предназначены для общего кеширования. | |||
=== Печать и PDF === | === Печать и PDF === | ||
В редакторе | В редакторе песенника задаются: | ||
* песни подряд или каждая с новой страницы; | |||
* 1, 2 или 3 колонки внутри текста каждой песни; | |||
* шрифт 8–16 пунктов; | |||
* показ сведений о песне; | |||
* печать только первого раздела песни. | |||
Строфы распределяются между колонками целиком и не должны разрываться внутри строфы. Заголовок песни остаётся ссылкой на исходную страницу. Кнопка «Печать / сохранить в PDF» открывает диалог браузера; создание PDF выполняет сам браузер. | |||
Флажок «Оглавление» добавляет | Режим «Только первый раздел песни» сохраняет основной раздел и отбрасывает содержимое начиная со следующего прямого заголовка H2–H6. Он предназначен, в частности, для исключения раздела «Аккорды». | ||
Флажок «Оглавление» добавляет в начало печатного превью нумерованный список песен без номеров страниц. Названия в списке являются внутренними ссылками и переводят к соответствующей песне ниже. Настройка сохраняется в песеннике вместе с остальными параметрами печати. | |||
== Данные и безопасность == | == Данные и безопасность == | ||
Расширение создаёт | Расширение создаёт две собственные таблицы: | ||
* <code>bard_songbook</code> — песенники, владелец, название, параметры печати и <code>bsb_is_public</code> (0/1, по умолчанию 0); | |||
* <code>bard_songbook_item</code> — страницы песен и их порядок в песеннике. | |||
Страницы песен, формы PageForms, шаблоны, Lua-модули и данные Cargo не изменяются. | |||
Право <code>bard-songbooks-use</code> по умолчанию выдано группе <code>user</code>. Анонимные посетители видят только публичные песенники. Приватные названия, состав и параметры закрыты в HTML, печати и API. Все операции изменения требуют входа, проверки владельца, POST-запроса и CSRF-токена MediaWiki. | |||
== Удаление и откат == | |||
Для отката замените каталог расширения сохранённой предыдущей версией. Новую колонку/индекс удалять не требуется. Код 0.1.9 снова закрывает все книги для посторонних; при повторном обновлении до 0.2.0 сохранённый выбор публичности вернётся. Полный откат данных выполняется отдельно по проверенной резервной копии. | |||
Для | Для отключения удалите или закомментируйте строку <code>wfLoadExtension( 'BardSongbooks' );</code> в <code>LocalSettings.php</code>. Собственные таблицы при этом остаются в базе, поэтому песенники можно вернуть повторным включением расширения. | ||
Если расширение удаляется окончательно, таблицы <code>bard_songbook_item</code> и <code>bard_songbook</code> можно удалить вручную только после отдельной проверенной резервной копии. Сначала удаляется таблица элементов, затем таблица песенников. | |||
== Ограничения версии 0.2.0 == | |||
* песенники привязаны к текущим версиям страниц песен и не фиксируют конкретную ревизию; | |||
* совместное редактирование отсутствует: публичность даёт только чтение и печать; | |||
* PDF создаётся браузером, серверного PDF-генератора нет; | |||
* качество поиска полного текста зависит от актуальности стандартного индекса MediaWiki; | |||
* схема поиска зависит от полей Cargo, используемых в Бард-Вики. | |||
== Структура расширения == | |||
* <code>includes/SongbookStore.php</code> — хранение, права владельца и поиск; | |||
* <code>includes/SongPrintRenderer.php</code> — подготовка песен для печати; | |||
* <code>includes/Special/</code> — страницы списка, редактора и печати; | |||
* <code>includes/Api/</code> — API чтения и изменения песенников; | |||
* <code>modules/</code> — JavaScript и CSS интерфейса; | |||
* <code>sql/mysql/tables-generated.sql</code> — схема собственных таблиц; | |||
* <code>i18n/</code> — сообщения интерфейса; | |||
* <code>CHANGELOG.md</code> — история выпусков. | |||
== Лицензия == | |||
GPL-2.0-or-later. Краткое уведомление находится в <code>LICENSE.md</code>, полный текст GNU GPL версии 2 — в <code>COPYING</code>. | |||
Версия от 15:10, 6 октября 2026
BardSongbooks
Скачать
88ce1e49927439a4bed65e4a27d6b2a0e695dd98d34a7f3104c3426c02658798 BardSongbooks-0.2.0.zip 18e8e1823a41c15d2c6777ce546041db76ab613374ab2c48bfa8cbdb1260db1a BardSongbooks-0.2.0.tar.gz
BardSongbooks — самописное расширение MediaWiki для личных песенников Бард-Вики. Зарегистрированный пользователь может создать несколько приватных или публичных песенников, добавить в них страницы песен, расположить песни в любом порядке и подготовить печатную версию или PDF.
Текущая версия: 0.2.0.
Возможности
- несколько песенников у одного пользователя;
- добавление песни прямо со страницы песни;
- управление добавлением в служебной колонке темы: справа в инструментах страницы Vector 2022 и слева в старых Vector/MonoBook;
- добавление из поиска в редакторе песенника;
- поиск по основному, альтернативному и оригинальному названию, композиторам, авторам текста, первой строке и всему индексированному тексту песни;
- одновременный запрос по разным полям: например, по автору и словам из текста;
- результаты в формате
Название (авторы) — Первая строка; - произвольная перестановка песен перетаскиванием или кнопками вверх/вниз;
- ссылки на исходные страницы песен в списке и печатном представлении;
- печать песен подряд или каждой с новой страницы;
- от одной до трёх колонок внутри каждой песни;
- размер шрифта от 8 до 16 пунктов;
- сохранение строф при разбиении на колонки;
- возможность скрыть сведения о песне;
- режим «Только первый раздел песни», исключающий последующие разделы, например «Аккорды»;
- дополнительное нумерованное оглавление без номеров страниц со ссылками на песни внутри печатного представления;
- печать и сохранение в PDF средствами браузера.
Новые и существующие песенники по умолчанию приватны. Владелец может опубликовать выбранную книгу для чтения всеми посетителями; право редактирования остаётся только у владельца.
Требования
- MediaWiki 1.43 или новее;
- PHP 8.1 или новее; рабочая конфигурация проверена на PHP 8.3;
- MySQL или MariaDB, поддерживаемые установленной версией MediaWiki;
- расширение Cargo и таблица
cargo__song; - стандартная таблица полнотекстового индекса MediaWiki
searchindex.
Расширение ожидает в Cargo-таблице песен поля:
Name;AlterName__full;OriginalName__full;Composer__full;Lyric__full;FirstString;_pageID.
Это расширение сделано для структуры Бард-Вики. На другой вики с иной схемой Cargo поиск потребуется адаптировать.
Установка
- Сделайте резервную копию базы данных и
LocalSettings.php. - Распакуйте архив так, чтобы файл
extension.jsonнаходился по пути:
```text extensions/BardSongbooks/extension.json ```
- Добавьте в
LocalSettings.php:
```php wfLoadExtension( 'BardSongbooks' ); ```
- Из корня MediaWiki выполните:
```bash php maintenance/run.php update --quick ```
- Откройте
Служебная:Версияи убедитесь, чтоBardSongbooksпоказан в списке расширений. - Войдите как обычный зарегистрированный пользователь и откройте
Служебная:Мои песенники.
Обновление
- Сделайте резервную копию текущего каталога
extensions/BardSongbooksи базы данных. - Замените каталог расширения файлами новой версии.
- Выполните
php maintenance/run.php update --quick. Для 0.2.0 он добавляетbsb_is_publicс DEFAULT 0 и индекс публичного каталога, не меняя существующие книги, порядок или настройки. - Сбросьте кеш браузера или добавьте
?debug=1, если интерфейс продолжает использовать старые JavaScript/CSS-ресурсы. - Проверьте создание тестового песенника, поиск, перестановку песен и печатное представление.
Использование
Создание песенника
После входа в систему откройте ссылку «Мои песенники» в меню пользователя или страницу Служебная:Мои песенники. Введите название и нажмите «Создать».
Один пользователь может иметь не более 50 песенников. Названия песенников одного пользователя не должны повторяться.
Добавление песен
Песню можно добавить двумя способами:
- открыть страницу песни и воспользоваться появившимся элементом добавления в песенник;
- открыть редактор песенника, ввести запрос в поле «Добавить песню» и выбрать результат.
В Vector 2022 блок выбора песенника находится внутри служебной панели «Инструменты»: при закреплённых инструментах — в правой колонке, при незакреплённых — в раскрывающемся меню «Инструменты». В старом Vector и MonoBook блок помещается в левую служебную колонку после обычных инструментов. Над содержимым статьи блок не выводится. Для других тем, где подходящей служебной области нет, используется запасной полноширинный вариант в начале содержимого.
В один песенник нельзя дважды добавить одну и ту же страницу. Максимум — 500 песен в песеннике.
Поиск
Запрос разбивается максимум на десять слов. Каждое слово должно встретиться хотя бы в одном из поддерживаемых полей, но разные слова могут находиться в разных полях. Поэтому запрос может одновременно содержать имя автора, часть названия и слова из текста.
Поиск охватывает:
- основное название;
- альтернативные названия;
- оригинальные названия;
- композиторов и авторов текста;
- первую строку;
- весь индексированный MediaWiki текст страницы песни.
Минимальная длина запроса — два символа. За один запрос возвращается до 30 результатов.
Порядок песен
Песни можно перетаскивать мышью. Для клавиатуры и точной перестановки доступны кнопки вверх и вниз. Новый полный порядок сохраняется только для данного песенника.
Приватность, публикация и ссылка
В редакторе откройте «Доступ к песеннику», выберите «Публичный — доступен всем» и нажмите «Сохранить доступ». До нажатия кнопки состояние книги не меняется. Новые книги и все книги после обновления с 0.1.9 остаются приватными; автоматической публикации нет.
После публикации появляется поле «Ссылка на песенник» и кнопка «Копировать ссылку». Ссылка ведёт на обычную Служебная:Песенник/<id> и работает без входа. Название можно менять: ID и адрес книги сохраняются. При недоступном Clipboard API ссылка выделяется для обычного Ctrl+C.
Получатель видит упорядоченный список песен, ссылки на исходные страницы и печатное представление/PDF. У него нет поиска/добавления, перестановки, переименования, удаления, настроек или изменения видимости чужой книги. Все операции записи по-прежнему проверяют зарегистрированного владельца, POST и CSRF.
Для закрытия выберите «Приватный — только я» и сохраните. Книга исчезнет из каталога, её HTML, печать и API станут недоступны остальным, даже по старой ссылке. Уже скачанные PDF и сделанные другими людьми копии вернуть невозможно. Права чтения исходных страниц Wiki не расширяются: недоступные конкретному читателю песни исключаются из списка и печати.
Общий каталог всех пользователей
Служебная:Публичные песенники доступна без входа. Ссылки на неё есть в инструментах страницы и на странице «Мои песенники». Каталог показывает публичные книги всех пользователей, а не только текущего.
Четыре колонки: «Название песенника» (ссылка), «Пользователь» (имя в Wiki, без email/настоящего имени), «Количество песен», «Дата последнего изменения». Сортировка — сначала недавно изменённые, при равенстве дат по ID. По 20 книг на страницу. Приватные книги не попадают в каталог.
API
action=bardsongbooks&mode=public&limit=20&offset=0— общий каталог, без входа;action=bardsongbooks&mode=items&book=<id>— содержимое: владелец для приватной книги, любой читатель для публичной;mode=listиmode=searchсохраняют прежнее требование входа и праваbard-songbooks-use;action=bardsongbookedit&op=visibility&book=<id>&public=1&token=<csrf>— публикация, только POST зарегистрированного владельца;- для закрытия выполните тот же POST без параметра
public. Boolean-параметры API MediaWiki истинны по присутствию;public=0тоже означает присутствие и не закрывает книгу.
Чтение видимости и публичного каталога использует primary DB для немедленного закрытия доступа без задержки реплик. Ответы HTML и API не предназначены для общего кеширования.
Печать и PDF
В редакторе песенника задаются:
- песни подряд или каждая с новой страницы;
- 1, 2 или 3 колонки внутри текста каждой песни;
- шрифт 8–16 пунктов;
- показ сведений о песне;
- печать только первого раздела песни.
Строфы распределяются между колонками целиком и не должны разрываться внутри строфы. Заголовок песни остаётся ссылкой на исходную страницу. Кнопка «Печать / сохранить в PDF» открывает диалог браузера; создание PDF выполняет сам браузер.
Режим «Только первый раздел песни» сохраняет основной раздел и отбрасывает содержимое начиная со следующего прямого заголовка H2–H6. Он предназначен, в частности, для исключения раздела «Аккорды».
Флажок «Оглавление» добавляет в начало печатного превью нумерованный список песен без номеров страниц. Названия в списке являются внутренними ссылками и переводят к соответствующей песне ниже. Настройка сохраняется в песеннике вместе с остальными параметрами печати.
Данные и безопасность
Расширение создаёт две собственные таблицы:
bard_songbook— песенники, владелец, название, параметры печати иbsb_is_public(0/1, по умолчанию 0);bard_songbook_item— страницы песен и их порядок в песеннике.
Страницы песен, формы PageForms, шаблоны, Lua-модули и данные Cargo не изменяются.
Право bard-songbooks-use по умолчанию выдано группе user. Анонимные посетители видят только публичные песенники. Приватные названия, состав и параметры закрыты в HTML, печати и API. Все операции изменения требуют входа, проверки владельца, POST-запроса и CSRF-токена MediaWiki.
Удаление и откат
Для отката замените каталог расширения сохранённой предыдущей версией. Новую колонку/индекс удалять не требуется. Код 0.1.9 снова закрывает все книги для посторонних; при повторном обновлении до 0.2.0 сохранённый выбор публичности вернётся. Полный откат данных выполняется отдельно по проверенной резервной копии.
Для отключения удалите или закомментируйте строку wfLoadExtension( 'BardSongbooks' ); в LocalSettings.php. Собственные таблицы при этом остаются в базе, поэтому песенники можно вернуть повторным включением расширения.
Если расширение удаляется окончательно, таблицы bard_songbook_item и bard_songbook можно удалить вручную только после отдельной проверенной резервной копии. Сначала удаляется таблица элементов, затем таблица песенников.
Ограничения версии 0.2.0
- песенники привязаны к текущим версиям страниц песен и не фиксируют конкретную ревизию;
- совместное редактирование отсутствует: публичность даёт только чтение и печать;
- PDF создаётся браузером, серверного PDF-генератора нет;
- качество поиска полного текста зависит от актуальности стандартного индекса MediaWiki;
- схема поиска зависит от полей Cargo, используемых в Бард-Вики.
Структура расширения
includes/SongbookStore.php— хранение, права владельца и поиск;includes/SongPrintRenderer.php— подготовка песен для печати;includes/Special/— страницы списка, редактора и печати;includes/Api/— API чтения и изменения песенников;modules/— JavaScript и CSS интерфейса;sql/mysql/tables-generated.sql— схема собственных таблиц;i18n/— сообщения интерфейса;CHANGELOG.md— история выпусков.
Лицензия
GPL-2.0-or-later. Краткое уведомление находится в LICENSE.md, полный текст GNU GPL версии 2 — в COPYING.