Difference between revisions of "Mediawiki4Intranet/Патчи"

From Wiki4Intranet
Jump to: navigation, search
Line 5: Line 5:
 
{{warning}} При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит ''переписывание истории''! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать git reset), но зато, по крайней мере, каждый патч достаточно легко выделить и отправить авторам.
 
{{warning}} При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит ''переписывание истории''! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать git reset), но зато, по крайней мере, каждый патч достаточно легко выделить и отправить авторам.
  
Всего: 45 патчей.
+
Всего: 43 патча.
  
 
=== Исправления багов ===
 
=== Исправления багов ===
  
То есть патчи, исправляющие какие-либо ошибки. Всего: 20.
+
То есть патчи, исправляющие какие-либо ошибки. Всего: 18.
  
 
<tab sep="bar" class="wikitable sortable" head="topleft">
 
<tab sep="bar" class="wikitable sortable" head="topleft">
Line 16: Line 16:
 
2015-11-25 | resourceloader-fix-1.26 | Исправление ошибки позиционирования в одном из ресурсных модулей
 
2015-11-25 | resourceloader-fix-1.26 | Исправление ошибки позиционирования в одном из ресурсных модулей
 
2014-08-07 | reset-input-font-size | Переопределение встроенного в Chrome стиля -webkit-small-control для полей ввода
 
2014-08-07 | reset-input-font-size | Переопределение встроенного в Chrome стиля -webkit-small-control для полей ввода
2012-11-16 | sql-categorized-specialrecentchanges | Фильтрация по категориям в «[[Special:RecentChanges|Свежих правках]]» на уровне SQL
 
 
2014-06-03 | parser-disable-extra-lf | Отключение "спорного поведения" из бага 529 wikimedia, а именно - отключение добавления перевода строки перед выводом шаблона или функции парсера
 
2014-06-03 | parser-disable-extra-lf | Отключение "спорного поведения" из бага 529 wikimedia, а именно - отключение добавления перевода строки перед выводом шаблона или функции парсера
 
2014-01-27 | disable-git-info | Отключение информации о git репозиториях на странице Special:Version
 
2014-01-27 | disable-git-info | Отключение информации о git репозиториях на странице Special:Version
Line 29: Line 28:
 
2010-06-25 | no-session-fail | Ликвидация лишней попытки сохранения и «ошибок потери данных сессии» при переходе на форму редактирования статьи с передачей текста в окно редактирования.
 
2010-06-25 | no-session-fail | Ликвидация лишней попытки сохранения и «ошибок потери данных сессии» при переходе на форму редактирования статьи с передачей текста в окно редактирования.
 
2009-12-21 | upload-autofill-lowercase-extensions | Автоматическая смена регистра расширения загружаемого файла на нижний. Плюс настройка <tt>$wgMaxFilenameLength</tt> максимальной длины имени файла в списках файлов с миниатюрами — в оригинале забито гвоздями значение 20, что очень мало, и из-за чего имена файлов часто обрезаются.
 
2009-12-21 | upload-autofill-lowercase-extensions | Автоматическая смена регистра расширения загружаемого файла на нижний. Плюс настройка <tt>$wgMaxFilenameLength</tt> максимальной длины имени файла в списках файлов с миниатюрами — в оригинале забито гвоздями значение 20, что очень мало, и из-за чего имена файлов часто обрезаются.
2009-06-03 | unauth-save-display-modified-source | Показ '''изменённого''', а не оригинального текста статьи при запрещённой попытке сохранения. Нужен, чтобы пользователь не потерял свои изменения при нажатии «Сохранить», если сохранять ему на самом деле запрещено.
 
 
2009-12-14 | wfmsg-dont-clear-stripstate | По умолчанию не очищать <tt>$parser->mStripState</tt> при дополнительных вызовах <tt>parse()</tt>. Исправляет некоторое количество ошибок с непонятными длинными иероглифическими маркерами «--………uniq--» в тексте статьи на месте каких-либо данных. На самом деле причина ошибки более глубока: ''парсер MediaWiki нереентерабелен'', авторы об этом знают и, возможно, когда-нибудь исправят.
 
2009-12-14 | wfmsg-dont-clear-stripstate | По умолчанию не очищать <tt>$parser->mStripState</tt> при дополнительных вызовах <tt>parse()</tt>. Исправляет некоторое количество ошибок с непонятными длинными иероглифическими маркерами «--………uniq--» в тексте статьи на месте каких-либо данных. На самом деле причина ошибки более глубока: ''парсер MediaWiki нереентерабелен'', авторы об этом знают и, возможно, когда-нибудь исправят.
 
2011-04-27 | zip-ooxml-mime | Корректное определение типов OXML офисных документов, добавление типов M$ Visio, отключение проверки на Java апплет для офисных документов
 
2011-04-27 | zip-ooxml-mime | Корректное определение типов OXML офисных документов, добавление типов M$ Visio, отключение проверки на Java апплет для офисных документов
Line 48: Line 46:
 
2012-11-16 | usermessage-extension | Поддержка расширения [[UserMessage]]
 
2012-11-16 | usermessage-extension | Поддержка расширения [[UserMessage]]
 
2014-01-16 | gzipped-xml-types | Поддержка GZIP-сжатых XML-типов файлов (например, для [[Dia]]).
 
2014-01-16 | gzipped-xml-types | Поддержка GZIP-сжатых XML-типов файлов (например, для [[Dia]]).
 +
2012-11-16 | sql-categorized-specialrecentchanges | Фильтрация по категориям в «[[Special:RecentChanges|Свежих правках]]» на уровне SQL
 
2010-07-23 | add-hooks | Добавление хуков и отключение проверки параметра action для спецстраниц. Требуется в частности для расширений [[HttpAuth]] (для авторизации методом HTTP Basic), [[Wikilog]] (для группировки свежих правок комментариев в блогах по имени поста на странице «улучшенных» свежих правок), [[TikaMW]] (вообще для работы, для восстановения удалённого в оригинале хука).
 
2010-07-23 | add-hooks | Добавление хуков и отключение проверки параметра action для спецстраниц. Требуется в частности для расширений [[HttpAuth]] (для авторизации методом HTTP Basic), [[Wikilog]] (для группировки свежих правок комментариев в блогах по имени поста на странице «улучшенных» свежих правок), [[TikaMW]] (вообще для работы, для восстановения удалённого в оригинале хука).
 
2009-11-20 | anchor-link-tocnumbers | Поддержка автоматической простановки номеров секций в ссылках на секции текущей страницы. То есть в ссылки вида «<tt><nowiki>[[#Раздел]]</nowiki></tt>» будет автоматически добавлен номер секции («2. Раздел»).
 
2009-11-20 | anchor-link-tocnumbers | Поддержка автоматической простановки номеров секций в ссылках на секции текущей страницы. То есть в ссылки вида «<tt><nowiki>[[#Раздел]]</nowiki></tt>» будет автоматически добавлен номер секции («2. Раздел»).
Line 98: Line 97:
 
2011-02-11<br />&larr; 2010-07-26 | parser-debug-doblocklevels | Разрешать включать <tt><nowiki><center>...</center></nowiki></tt> и <tt><nowiki><blockquote>...</blockquote></nowiki></tt> внутрь абзаца. Две даты добавления — потому что патч, по сути, имел две версии — первая добавляла тупой хак, местами ломавший тесты, а вторая включает почти полностью переписанный корректный метод doBlockLevels(). | Баг, ради которого это затевалось, уже исправлен в оригинале
 
2011-02-11<br />&larr; 2010-07-26 | parser-debug-doblocklevels | Разрешать включать <tt><nowiki><center>...</center></nowiki></tt> и <tt><nowiki><blockquote>...</blockquote></nowiki></tt> внутрь абзаца. Две даты добавления — потому что патч, по сути, имел две версии — первая добавляла тупой хак, местами ломавший тесты, а вторая включает почти полностью переписанный корректный метод doBlockLevels(). | Баг, ради которого это затевалось, уже исправлен в оригинале
 
2012-02-29 | svgedit-allow-create | Поддержка создания файлов расширением [[mediawikiwiki:Extension:SVGEdit|SVGEdit]] | Перенесено в репозиторий расширения
 
2012-02-29 | svgedit-allow-create | Поддержка создания файлов расширением [[mediawikiwiki:Extension:SVGEdit|SVGEdit]] | Перенесено в репозиторий расширения
 +
2009-06-03 | unauth-save-display-modified-source | Показ '''изменённого''', а не оригинального текста статьи при запрещённой попытке сохранения. Нужен, чтобы пользователь не потерял свои изменения при нажатии «Сохранить», если сохранять ему на самом деле запрещено. | Перемещено в mergeconflicts-extension (?)
 
</tab>
 
</tab>

Revision as of 14:42, 27 January 2016

В виде патчей оформляются либо мелкие доработки расширений, либо любые доработки ядра MediaWiki. Сами патчи хранятся в Git-репозитории в виде обычных коммитов, организованных в серию, по принципу 1 коммит = 1 патч.

Ранее патчи хранились в Mercurial-репозитории на Google Code в виде feature branches. Однако данный путь приводил к абсолютной нечитаемости графа ревизий, поэтому мы, как и Wikimedia, перешли на Git и простое хранение патчей. Кроме того, патчи каждого расширения теперь находятся не в общем репозитории, а в репозитории именно этого расширения, что тоже удобно.

Attention niels epting.svg При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит переписывание истории! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать git reset), но зато, по крайней мере, каждый патч достаточно легко выделить и отправить авторам.

Всего: 43 патча.

Исправления багов

То есть патчи, исправляющие какие-либо ошибки. Всего: 18.

Дата добавления Имя Описание патча
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 Исправления предупреждений (warnings) под PHP 5.3 и выше, в некоторых файлах MediaWiki и расширении Interwiki. Новые версии MediaWiki сами совместимы с PHP 5.3, так что теперь этот патч исправляет разные мелкие ошибки MediaWiki и расширений (см. подробнее шапку патча). Уже исправлено в оригинале
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 (?)