Mediawiki4Intranet/Патчи
В виде патчей оформляются либо мелкие доработки расширений, либо любые доработки ядра MediaWiki. Сами патчи хранятся в Git-репозитории в виде обычных коммитов, организованных в серию, по принципу 1 коммит = 1 патч.
Ранее патчи хранились в Mercurial-репозитории на Google Code в виде feature branches. Однако данный путь приводил к абсолютной нечитаемости графа ревизий, поэтому мы, как и Wikimedia, перешли на Git и простое хранение патчей. Кроме того, патчи каждого расширения теперь находятся не в общем репозитории, а в репозитории именно этого расширения, что тоже удобно.
При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит переписывание истории! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать git reset), но зато, по крайней мере, каждый патч достаточно легко выделить и отправить авторам.
Всего: 44 патча.
Исправления багов
То есть патчи, исправляющие какие-либо ошибки. Всего: 19.
Дата добавления | Имя | Описание патча |
---|---|---|
2016-02-15 | fix-specialupload-charinsert | Исправление работы CharInsert на странице загрузки файла |
2015-11-27 | limit-thumb-names | Ограничение имён файлов миниатюр 232 символами, чтобы расширению PdfHandler было куда дописывать номера страниц. |
2015-11-25 | resourceloader-fix-1.26 | Исправление ошибки позиционирования в одном из ресурсных модулей |
2014-08-07 | reset-input-font-size | Переопределение встроенного в Chrome стиля -webkit-small-control для полей ввода |
2014-06-03 | parser-disable-extra-lf | Отключение "спорного поведения" из бага 529 wikimedia, а именно - отключение добавления перевода строки перед выводом шаблона или функции парсера |
2014-01-27 | disable-git-info | Отключение информации о git репозиториях на странице Special:Version |
2013-08-22 | fix-reset-articleid | Корректный сброс кэша ID статей в долгоживущих скриптах |
2013-03-20 | allow-msword-as-vsd | Временный обход бага php fileinfo 64462 |
2009-08-12 | discussion-newsection-links | Ссылки на несуществующие страницы обсуждений сделаны по умолчанию ссылками на добавление секции. |
2010-03-26 | dont-suppress-same-user-conflicts | Не игнорировать конфликты редактирования, произошедшие из-под одного юзера. |
2009-09-11 | bug53818-empty-heading-crutch | Ликвидация пустых заголовков (строк вида ====) из текста статьи, вместо того, чтобы принимать большую часть = за маркеры заголовка, а два внутренних = — за текст заголовка. |
2011-04-01 | email-mime-base64 | Использовать кодировку MIME Base64 в заголовках email-писем. Полезно для виндузятников, сидящих на M$ Exchange. |
2010-12-29 | ymd-hms-date-format | Добавление формата даты «YYYY-MM-DD HH:MM:SS» без дурацкого «T» между ними. |
2009-11-19 | gdalwaysresample-setting | Настройка $wgGDAlwaysResample GD, если true, то миниатюры gif’ок получаются более качественными (они всегда уменьшаются с интерполяцией). |
2010-06-25 | no-session-fail | Ликвидация лишней попытки сохранения и «ошибок потери данных сессии» при переходе на форму редактирования статьи с передачей текста в окно редактирования. |
2009-12-21 | upload-autofill-lowercase-extensions | Автоматическая смена регистра расширения загружаемого файла на нижний. Плюс настройка $wgMaxFilenameLength максимальной длины имени файла в списках файлов с миниатюрами — в оригинале забито гвоздями значение 20, что очень мало, и из-за чего имена файлов часто обрезаются. |
2009-12-14 | wfmsg-dont-clear-stripstate | По умолчанию не очищать $parser->mStripState при дополнительных вызовах parse(). Исправляет некоторое количество ошибок с непонятными длинными иероглифическими маркерами «--………uniq--» в тексте статьи на месте каких-либо данных. На самом деле причина ошибки более глубока: парсер MediaWiki нереентерабелен, авторы об этом знают и, возможно, когда-нибудь исправят. |
2011-04-27 | zip-ooxml-mime | Корректное определение типов OXML офисных документов, добавление типов M$ Visio, отключение проверки на Java апплет для офисных документов |
2011-02-11 | fix-noeditsection | Исправление бага, иногда приводящего к показу ссылок на редактирование секций, в тех случаях, когда в реальности это не нужно |
Доработки
То есть патчи, добавляющие какой-либо новый функционал. Всего: 25.
Дата добавления | Имя | Описание патча |
---|---|---|
2015-11-27 | html-emails | Отправка почты в HTML+Plaintext виде, а не только Plaintext. |
2014-03-25 | emulate-printable-styles | Эмуляция печатного вида при передаче параметра ?printable=yes в ResourceLoader |
2013-12-17 | msoffice-mime-types | Добавление MIME типов для некоторых видов офисных документов |
2013-12-03 | login-by-email-extension | Поддержка расширения LoginByEmail |
2013-07-04 | urldecode-printable-links | Раскодирование печатного вида ссылок |
2012-11-16 | usermessage-extension | Поддержка расширения UserMessage |
2014-01-16 | gzipped-xml-types | Поддержка GZIP-сжатых XML-типов файлов (например, для Dia). |
2012-11-16 | sql-categorized-specialrecentchanges | Фильтрация по категориям в «Свежих правках» на уровне SQL |
2010-07-23 | add-hooks | Добавление хуков и отключение проверки параметра action для спецстраниц. Требуется в частности для расширений HttpAuth (для авторизации методом HTTP Basic), Wikilog (для группировки свежих правок комментариев в блогах по имени поста на странице «улучшенных» свежих правок), TikaMW (вообще для работы, для восстановения удалённого в оригинале хука). |
2009-11-20 | anchor-link-tocnumbers | Поддержка автоматической простановки номеров секций в ссылках на секции текущей страницы. То есть в ссылки вида «[[#Раздел]]» будет автоматически добавлен номер секции («2. Раздел»). |
2011-04-27 | any-raw-ctype | Поддержка произвольного Content-Type для ?action=raw (получения текста страницы). |
2009-08-07 | dot-after-tocnumber | Настройка $wgDotAfterTocnumber, если true, то после номеров разделов в оглавлении ставится точка. |
2009-10-23 | detect-script-allow-html | Разрешение изменения списка тегов, запрещённых в тексте загруженных файлов — настройка $wgForbiddenTagsInUploads. |
2011-02-18 | env-proxy | Поддержка настроек HTTP прокси, заданных в стандартных переменных окружения http_proxy, http_no_proxy, при загрузке изображений по URL. |
2011-02-25 | intraacl-rights | Часть расширения IntraACL. Проверки прав доступа к страницам во всём коде MediaWiki. Собственно это и обеспечивает защиту. |
2009-05-13 | import-export-images-and-conflicts | Очень сильно улучшенный импорт/экспорт страниц MediaWiki. Отправлен в Wikimedia Bug 22881. |
2011-02-11 | imagethumb-transform-flags | Передавать данные о том, откуда вызывается создание миниатюры файла. Нужно для FlvHandler’а, чтобы не вставлять код видеоплеера в галереи файлов и в миниатюры файлов в истории ревизий. |
2011-11-22 | long-titles | Возможность поднятия максимальной длины названия страницы (с 255 до 767 байт в случае MySQL). Чтобы заработало, нужно прописать $wgMaxTitleBytes = 767 и выполнить в базе SQL-команду ALTER TABLE page CHANGE page_title page_title VARBINARY(767) NOT NULL. |
2011-05-16 | mergeconflicts-extension | Патч - часть расширения MergeConflicts, позволяющий отображать конфликты редактирования в 3 колонки. |
2010-12-14 | rearrange-editform | Перемещение списков использованных в статье шаблонов и скрытых категорий на странице редактирования под форму редактирования, то есть, за пределы элемента <form>. Что необходимо для того, чтобы текст WikEd'овского AJAX-предпросмотра, то есть HTML-текст статьи, не включался в форму, потому что он сам может включать в себя формы, и тогда их содержимое некорректным образом попадает в форму редактирования, что потенциально приводит к неприятным багам. Плюс настройка $wgNoCopyrightWarnings для отключения предупреждений о копирайте (MediaWiki:Copyrightwarning, MediaWiki:Copyrightwarning2). |
2010-05-29 | svg-double-render | Вставка SVG-изображений как пары векторное+растровое изображение, а не просто как растровое. |
2009-06-18 | shift-included-templates-heading-levels | «Сдвиг» уровня заголовков статьи при её включении в подзаголовок. То есть если она включается под заголовком уровня N, то её заголовки 1-го уровня станут (1+N)-ого уровня, 2-го — (2+N), и т. п. |
2009-05-13 | signature-nohyphen | Вставка подписей нажатием кнопки без двух лидирующих минусов «--». Плюс <m>...</m> вместо <math>...</math> на кнопке вставки TeX-формул (обрабатывается расширением MarkupBabel). |
2009-05-13 | translit-upload-filenames | Автоматическое транслитерирование физических имён файлов (то есть имён файлов на диске) с кириллицы на латиницу под Windows. |
2010-10-15 | transclude-sections | Поддержка включений секций страниц с помощью синтаксиса вида {{:Статья#Секция}}. |
Устаревшие патчи
Под устаревшими понимаются патчи, более не нужные в связи с обновлением лежащего в основе кода. По сути, это означает, что данный патч либо исправлял какой-то баг, который исправили уже и сами авторы, либо был сам принят в состав MediaWiki, либо был переименован.
Дата добавления | Имя | Описание патча | Причина удаления |
---|---|---|---|
2010-02-03 | categorytree-empty-bullets | Патч расширения CategoryTree, чтобы оно не предлагало разворачивать пустые на самом деле категории. | Перемещено в репозиторий расширения |
2011-03-28 | cite-refsnoreferences | Патч расширения Cite + в код MediaWiki, в большей части случаев исправляющий ошибку «Ошибка цитирования: для несуществующего тега <ref> не найдено тега <references />», некорректно возникающую при использовании расширений, которые сами где-нибудь используют парсер без сброса состояния. | Уже поддерживается в оригинале |
2009-11-24 | debug-categorized-specialrecentchanges | Исправление выбора по категориям в «Свежих правках». | |
2009-08-12 | fixes-for-php-5.3.0 | | Уже исправлено в оригинале |
2010-12-29 | fix-l10n | Исправление формата сообщений gotaccountlink, nologinlink с HTML на Wiki-код. Добавление формата даты «YYYY-MM-DD HH:MM:SS» без дурацкого «T» между ними. | Разделено в разные патчи |
2010-01-12 | cite-reenterability-for-different-parser-objects | Патч расширения Cite, направленный на его реентерабельность. | Уже исправлено в оригинале |
2009-11-11 | dont-call-linkholders-__destruct | Исправление некорректного явного вызова деструктора mLinkHolders в парсере. | Уже исправлено в оригинале |
2009-05-13 | fix-cannot-redeclare-wfspecialupload | Исправление ошибки «Fatal error: Cannot redeclare wfspecialupload()» при загрузке изображения без авторизации. Плюс поддержка HTTP прокси, заданной в стандартной переменной окружения http_proxy, при загрузке изображений по ссылке. | Уже исправлено в оригинале |
2010-12-14 | fix-pdfhandler | Патч расширения PdfHandler, убрано экранирование $wgPdfProcessor'а, ссылки на PDF-файл с его страниц теперь ведут на саму страницу. | Перемещено в репозиторий расширения |
2010-04-27 | haloacl-rights | Часть расширения HaloACL. Проверки прав доступа к страницам во всём коде MediaWiki. Собственно это и обеспечивает защиту. | Переименован в intraacl-rights |
2009-09-11 | imagegallery-tell-transform, imagepage-tell-transform | Передавать данные о том, откуда вызывается создание миниатюры файла. Нужно для FlvHandler’а, чтобы не вставлять код видеоплеера в галереи файлов и в миниатюры файлов в истории ревизий. | Патчи объединены в imagethumb-transform-flags |
2009-11-24 | trunk-mediafunctions-for-1.14 | Патч trunk-версии расширения MediaFunctions, позволяющий ей работать в MediaWiki 1.14.1. | Уже исправлено в оригинале |
2011-03-23 | longpagewarning-config | Поддержка настройки лимита размера статьи, по истечении которого показывается предупреждение MediaWiki:Longpagewarning. | Перенесено в detailed-badtitle и принято в оригинал |
2011-06-15 | fix-deletebatch-uploads | Патч расширения DeleteBatch, исправляющий удаление загруженных файлов (отправлен на страницу обсуждения). | Перемещено в репозиторий расширения |
2012-02-02 | fix-drafts-extension | Патч расширения Drafts — делает так, чтобы оно сохраняло черновик действительно каждую минуту, а не через минуту после последнего действия пользователя. | Перемещено в репозиторий расширения |
2012-03-07 | fix-1.18-uploadfromstash | Исправляет баг оригинальной MediaWiki 1.18.1, найденный нами (MediaWikiBug 35032) — сломанные кнопочки «Отправить изменённое описание файла» и «Игнорировать предупреждения и сохранить файл». | Уже исправлено в оригинале |
2012-02-16 | fix-openid-extension | Патч расширения OpenID — добавляет ссылку на вход по OpenID на страницу входа, включает использование GET-запросов вместо POST, если длина запрашиваемого URL <= 2048 символов. То есть, почти всегда при OpenID-авторизации используются GET-запросы, что удобнее, так как не включает отправку скрытой формы javascript’ом. | Перемещено в репозиторий расширения |
2012-05-25 | objectcache-inc-ttl | Исправление бага 20595, из-за которого в случае использования APC, XCache или DBA кэша 5 минут, которые должен подождать пользователь после большого числа неудачных попыток входа, никогда не истекают (то есть, пользователь не может войти вообще). | Уже исправлено в оригинале |
2010-03-25 | category-subcatlist | Патч расширения CategoryTree. Новый метод группировки страниц в категориях — не по первой букве имени, а по другим категориям, в которых они также перечислены. Чтобы включить этот метод, на страницу категории нужно добавить магическое слово __CATEGORYSUBCATLIST__. Плюс магическое слово, отключающее 3-колоночный список в категориях - __NOCATEGORYCOLUMNS__. | Перемещено в репозиторий расширения |
2011-12-27 | catlinks-top | Патч, позволяющий настраивать положение ссылок на категории в скинах Monobook и Vector с помощью переменной $wgCatlinksTop: false → внизу, true → вверху, «only» — только вверху. | Перемещено в отдельное расширение |
2010-05-21 | detailed-badtitle | Детализация сообщений об ошибках недопустимого имени страницы. | Принято в оригинал |
2010-04-21 | html-emails | Часть расширения EnotifDiff. Поддержка отправки почты об изменениях и подтверждении e-mail адреса в формате HTML, а не в виде чистого текста. | Переработан, более не требует расширения |
2011-03-23 | lcstore-accel | Поддержка кэширования локализации (LocalisationCache) в PHP ускорителе типа XCache. | Принято в оригинале и затем удалено из него, ибо работает некорректно |
2011-02-11 ← 2010-07-26 | parser-debug-doblocklevels | Разрешать включать <center>...</center> и <blockquote>...</blockquote> внутрь абзаца. Две даты добавления — потому что патч, по сути, имел две версии — первая добавляла тупой хак, местами ломавший тесты, а вторая включает почти полностью переписанный корректный метод doBlockLevels(). | Баг, ради которого это затевалось, уже исправлен в оригинале |
2012-02-29 | svgedit-allow-create | Поддержка создания файлов расширением SVGEdit | Перенесено в репозиторий расширения |
2009-06-03 | unauth-save-display-modified-source | Показ изменённого, а не оригинального текста статьи при запрещённой попытке сохранения. Нужен, чтобы пользователь не потерял свои изменения при нажатии «Сохранить», если сохранять ему на самом деле запрещено. | Перемещено в mergeconflicts-extension (?) |