Википедия:Вики-конференция 2008/Программа/Доклады/Клиентские скрипты Википедии

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Скрипты на стороне браузера клиента позволяют оптимизировать ряд возможностей Википедии, и разгрузить её серверы от избыточных запросов на запись и поиск информации, которые на практике являются наиболее ресурсоёмкими. В своей карточке участника http://ru.wikipedia.org/wiki/Участник:X-romix я представил ряд скриптов, которые я лично использую при написании статей, и рекомендую другим участникам для практического применения (при этом каждый участник, хотя бы поверхностно владеющий программированием, имеет возможность затачивать скрипты «под себя», пользуясь имеющимися скриптами как образцом с открытым исходным кодом). При использовании этих или подобных скриптов у пользователя появляются следующие возможности:

  • Поиск по различным проектам Википедии с применением поисковых возможностей сервера Google. Для пользователя запрос выполняется быстрее, он оказывается ранжированным (вверху — самые часто упоминаемые ссылки), и затрагивает все интервики и нужные проекты фонда. Дополнительно поддерживается поиск по БСЭ, географическим картам, Яндекс-словарям и перевод слов и фраз с одного языка на другой (с английского на русский и обратно). С «точки зрения» сервера, запросы на поиск являются наиболее ресурсоёмкими, и их перенаправление серверу Google позволит серверам «вздохнуть свободнее». Поиск с использованием кнопок «Перейти» и «Найти» работает без изменений, за тем исключением, что я открываю его в новом окне (эту особенность можно отключить). Google не является единственным поисковым сервером, на который можно перенаправить поисковые запросы — по той же технологии можно подключить любимый поисковый сервер участника Википедии (при условии, что он напишет для него скрипт).
  • Контроль вики-разметки. Не секрет, что при написании статьи пользователи могут позабыть закрыть тот или иной тег, или сделать другую ошибку. Обычно эта напасть случается с тегом <ref>, который предназначен для расстановки подстрочных примечаний. При этом статья будет сохранена с ошибкой, и хорошо, если пользователь её во-время заметит. Скрипт на стороне клиента позволяет проконтролировать правильность закрытия элементов разметки, и выдать пользователю предупреждение с точным указанием, где именно в тексте статьи содержится ошибка. Предупреждение можно проигнорировать, нажав кнопку «Записать страницу» ещё раз. По роду своей работы я являюсь программистом 1С:Предприятие, и могу с уверенностью сказать, что контроль пользовательского ввода — это общепринятая и хорошая практика при использовании клиент-серверных приложений (к которым в полной мере относится и Википедия). Пользователю этот контроль ввода даёт ощущение уверенности в своих действиях, а серверу — разгрузку от избыточных запросов на запись. Соответственно, конечные пользователи получают в меньшей степени подверженный ошибкам продукт.
  • И, наконец, скрипты дают такие возможности, как транслитерация латиницы в кириллицу (два известных мне зарубежных участника пользовались сервером translit.ru, и были рады внедрению такой возможности в форму ввода Википедии); Для оформления таблиц удобен скрипт — «таблификатор», который позволяет быстро оформить скопированную из другого источника (например, Excel) таблицу; перевод текста в нижний регистр также удобно производить не вручную, а скриптом. Есть и другие «полезности», число которых можно увеличивать по мере появления новых идей.

В русском разделе написанием скриптов занимается также пользователь User:Alex Smotrov; в Википедии действует проект Проект:Персональные скрипты с другими языковыми разделами, из которого можно черпать идеи, образцы кода и готовые скрипты.

Резюмируя, отмечу, что клиентские скрипты, о которых я только что говорил, позволяют дать значительный ресурс серверам Википедии и других вики-проектов, и обеспечить удобство и правильность ввода информации авторами энциклопедических статей.