Информационная страница Википедии
Гаджет Википедии – это программа JavaScript и/или фрагмент CSS , который можно включить, просто отметив соответствующий параметр в настройках . Функции гаджета обеспечивает расширение MediaWiki Gadgets.
Многие гаджеты начинались как пользовательские сценарии . Как только пользовательский сценарий будет одобрен в качестве гаджета, он будет удален из Википедии:Пользовательские сценарии/Список .
Общие критерии гаджетов
Для размещения в англоязычной Википедии гаджеты обычно должны соответствовать следующим условиям:
- Гаджеты должны работать, если их просто включить без дальнейшей настройки. Их можно настроить через личный файл common.js , но они должны работать без настройки.
- Гаджеты должны быть совместимы со всеми основными браузерами, то есть не должны завершаться с ошибками.
- Гаджеты должны работать в большинстве основных браузеров (кроссбраузерная совместимость). Исключения должны быть четко указаны.
- Дублирование гаджетов следует производить только в том случае, если это разумно.
- Коллекции скриптов следует разделить, если они имеют разнородные функции.
- Гаджеты, требующие разрешений, должны быть помечены и должны корректно завершать работу, если разрешения отсутствуют.
- Гаджеты, работающие только в некоторых скинах, должны быть помечены как таковые, если такие данные доступны.
Гаджеты, помеченные как стандартные и загружаемые для больших групп пользователей, имеют дополнительные критерии, которым они должны соответствовать.
Предложения
Новые гаджеты следует предлагать на техническом деревенском насосе .
Раньше новые гаджеты предлагались на подстранице этой страницы , но эта страница была помечена как историческая из-за низкого уровня участия. Кроме того, существующие пользовательские сценарии WikiProject раньше оценивались на предмет преобразования в гаджеты, но этот процесс также был отмечен как исторический.
Монтаж
Гаджеты могут быть установлены после обсуждения в техническом разделе поселкового насоса администраторами интерфейса следующим образом:
- Добавьте заголовок ниже и код сценария в MediaWiki:Gadget- scriptname.js .
- При желании добавьте приведенный ниже заголовок и код CSS в MediaWiki:Gadget- scriptname.css .
- Добавьте описание скрипта в MediaWiki:Gadget- scriptname . Пожалуйста, дайте ссылку на домашнюю страницу сценария и/или страницу справки и при необходимости укажите требования к браузеру.
- Добавьте в MediaWiki:Gadgets-definition под соответствующим заголовком.
* имя_скрипта|имя_скрипта.js [|имя_скрипта.css|otherscript.js|...]
Гаджет теперь должен появиться в разделе Special:Gadgets .
Комментарии
Комментарии или предупреждения в шаблоны описания гаджетов можно добавить двумя способами:
- Тег noinclude (виден на странице описания со ссылками):
<noinclude> comment </noinclude>
- HTML-комментарии (видны только в исходном тексте):
<!-- comment -->
Комментарии, добавленные таким образом, будут автоматически удалены в процессе создания страницы.
Заголовок
В файлы гаджета необходимо добавить следующий заголовок:
/* _________________________________________________________________________ * | | * | === ВНИМАНИЕ: ГЛОБАЛЬНЫЙ ФАЙЛ ГАДЖЕТА === | * | Изменения на этой странице затрагивают многих пользователей. | * | Пожалуйста, обсудите изменения на странице обсуждения или на [[WT:Gadget]] перед редактированием. | * |_____________________________________________________________________________________| * * Импортировано из версии XXXX по состоянию на DATE из [[SCRIPT_SOURCE]] * SHORT_DESCRIPTION, см. [[SCRIPT_HOME_PAGE]] */
Гаджеты по умолчанию
Гаджет с ключевым словом по умолчанию включен для всех посетителей Википедии, и только зарегистрированные пользователи могут его отключить. Гаджет с [default|rights=minoredit]
описанием будет автоматически включен только для зарегистрированных пользователей.
Критерии
Гаджеты, включенные по умолчанию для всех пользователей, должны соответствовать более строгим правилам. По сути, это те же правила, которые применяются ко всему коду, поставляемому по умолчанию. Это связано с тем, что у пользователей нет активного выбора их включения, и гаджеты могут влиять на производительность, безопасность и стабильность всего веб-сайта. Эти гаджеты должны:
- Были проверены опытным разработчиком JavaScript (обычно администратором интерфейса).
- Будьте «в хорошем состоянии».
- Соблюдайте политику использования сторонних ресурсов.
- Быть написанным для эффективной работы, т. е. с минимальным количеством кода. Если для полной функциональности гаджета требуется много JavaScript-кода, то этот код следует загружать условно и лениво или только по требованию (нажмите, чтобы загрузить).
- Не вызывает проблем с доступностью.
- Не требуется для обеспечения читаемости контента, за исключением гаджетов, использующих только стили.
- Не мешать печати страниц.
- Соблюдайте текущие стандарты безопасности и конфиденциальности.
Этот список не следует считать исчерпывающим.
Установленные гаджеты
Пользователи могут просмотреть список всех доступных гаджетов в разделе гаджетов на странице настроек:
Настройки → Гаджеты
См. раздел «Специальные: Гаджеты» для получения списка всех активных гаджетов и ссылок на их файлы сценариев.
Плюсы и минусы замены пользовательского скрипта на гаджет
Плюсы
- Добавляет скрипт в Special:Preferences , что значительно упрощает его установку.
- Добавляет скрипт в Special:Preferences , что поможет в его маркетинге и со временем увеличит количество установок.
- Предоставляет пользовательский сценарий сообществу, что повышает вероятность того, что администраторы интерфейса будут удовлетворять запросы на редактирование от других пользователей, уменьшая необходимость разветвления пользовательского сценария, если сопровождающий становится неактивным.
- Возможность пометить его как «гаджет по умолчанию», который будет загружаться у всех.
- Модули ResourceLoader и CSS скрипта зависят от загрузки страницы, что позволяет скрипту быстрее подготовиться.
Особенно, если у пользовательского сценария много пользователей...
- Гаджеты обеспечивают минификацию и объединение с другими гаджетами, что уменьшает размеры файлов и HTTP-трафик.
- Возможна защита от взлома. Все администраторы интерфейса имеют двухфакторную аутентификацию и удаляются, если становятся неактивными. Обычный сопровождающий может стать неактивным, а его учетная запись позже будет скомпрометирована.
- Возможная защита от мошеннического разработчика пользовательских сценариев. Администраторы интерфейсов прошли RFA и, возможно, с меньшей вероятностью станут мошенниками.
Минусы
- Позволяет использовать функции JavaScript только до ES7 . С этим флагом можно использовать некоторые функции ES8, такие как async-await
requiresES6
. - Если сопровождающий не является администратором интерфейса, ему теперь придется делать запросы {{ Edit Interface-protected }}, чтобы внести какие-либо изменения в код, что замедляет разработку.
- Много шагов. Необходимо убедиться, что с сопровождающим все в порядке, добиться консенсуса на WP:VPT , а затем попросить администратора интерфейса все настроить. Возможно, понадобится план по переводу всех со старого пользовательского скрипта на гаджет. Если есть какие-либо опасения по поводу ошибок, возможно, придется выполнить поэтапное развертывание.
Смотрите также