Extension:BetaFeatures/uk

Розширення BetaFeature дозволяє іншим розширенням MediaWiki реєструвати бета-функції зі списком налаштувань користувача у вікі. Він використовує існуючу архітектуру налаштувань користувача та кілька спеціальних сторінок для виконання своєї функції.

Використання нових гачків у вашому розширенні
Використовувати це розширення для підтримки вашої бета-функції легко. Зареєструйте хук типу «» у вашому файлі — синтаксис майже ідентичний хуку, з невеликими змінами для підтримки типу переваги, який нам потрібен у цьому випадку.

У :

У :

Потім ви можете скористатися зручною функцією, наданою бета-функціями, щоб перевірити, чи ввімкнено цю функцію.

Ви також можете використовувати звичайну перевірку налаштувань, але не перевіряйте істинні чи хибні значення – використовуйте значення з класу HTMLFeatureField.

Оскільки клас бета-функцій повинен бути присутнім скрізь, ви можете використовувати функцію зручності в будь-якому хуку, спеціальній сторінці чи будь-якому іншому, що забажаєте. Просто пам’ятайте про потенційні проблеми із продуктивністю або кешуванням, які можуть виникнути внаслідок цих змін.

Якщо ви також хочете використовувати своє розширення без бета-функцій, Ви також повинні перевірити його існування, наприклад:

Конфігурація
Змінну конфігурації  можна використовувати, щоб обмежити, які бета-функції відображаються в налаштуваннях. За замовчуванням він порожній, і відображаються всі бета-функції.

Якщо вона використовується, то для того, щоб бета-функція відображалася в налаштуваннях, її потрібно занести в білий список. Ця змінна конфігурації приймає масив рядків. Кожен рядок має бути ім’ям бета-функції, як зазначено у визначенні налаштувань, переданому до. Наприклад, у коді, наведеному вище, назва бета-функції —, тому вам потрібно буде додати цей рядок до масиву   у конфігурація вашої вікі:

Розширене використання
Хочете побачити щось дійсно круте?

Автоматична реєстрація груп
У цьому прикладі ми реєструємо параметр «автоматична реєстрація» — якщо користувач перевірить це, і з’являться нові функції, які входять до певної групи, користувач буде автоматично зареєстрований в цих функціях.

Управління залежностями
Далі ми можемо визначити управління залежностями для кожної функції. Для цього ми спочатку реєструємо ім’я хука, який ми хочемо використовувати для цього, за допомогою гачка «GetBetaFeatureDependencyHooks», потім ми реєструємо хук цього типу, який перевіряє деяку залежність і повертає true якщо він виконаний або false, якщо ні.

Ви можете зловживати використанням цієї функції, щоб вимкнути функції для кожної вікі, якщо вони позначені як залежні. Але це звучить дійсно халтурно. Ви, мабуть, не повинні. Я чую, як ти зараз думаєш про це, просто перестань.

Речі бази даних
There's a database table defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.

Ми використовуємо чергу завдань для запуску оновлень для цієї таблиці, коли закінчується термін дії кешу (30 хвилин TTL). Якщо ваша вікі налаштована на виконання завдань за кожним запитом, це буде робити приблизно один запит кожні 30 хвилин дуже повільно, але решта буде відносно швидкою. Якщо ви налаштуєте свою вікі на виконання завдань через cron, все буде працювати набагато краще.

Див. також

 * Бета-функції
 * Дорожня мапа
 * План розгортання