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

From Wiki4Intranet
Jump to: navigation, search
(Доработки)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Mediawiki4Intranet_Hg.svg|300px|thumb|right|Граф ветвлений патчей]]
+
В виде патчей оформляются либо мелкие доработки расширений, либо любые доработки ядра MediaWiki. Сами патчи хранятся в Git-репозитории в виде обычных коммитов, организованных в серию, по принципу 1 коммит = 1 патч.  
Патчи содержат в себе изменения в код самой MediaWiki, а также небольшие изменения в расширениях, ради которых не хочется поддерживать отдельную версию этих расширений.
+
  
В '''MediaWiki4Intranet''' патчи хранятся в Feature Branches, то есть, в Mercurial-репозитории есть ветка «'''mediawiki-x.xx'''» (например, mediawiki-1.16), содержащая оригинальный код MediaWiki (плюс расширения, в которые изменения вносятся только патчами), по ветке на каждый патч, и ветка «'''all'''», содержащая все патчи, объединённые вместе. Для удобства слияний используется расширение Mercurial [http://arrenbrecht.ch/mercurial/pbranch/ pbranch].
+
Ранее патчи хранились в Mercurial-репозитории на Google Code в виде ''feature branches''. Однако данный путь приводил к абсолютной нечитаемости графа ревизий, поэтому мы, как и Wikimedia, перешли на [[rupedia:Git|Git]] и простое хранение патчей. Кроме того, патчи каждого расширения теперь находятся не в общем репозитории, а в репозитории именно этого расширения, что тоже удобно.
  
Какие плюсы это даёт:
+
{{warning}} При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит ''переписывание истории''! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать git reset), но зато, по крайней мере, каждый патч достаточно легко выделить и отправить авторам.
* Патчи не смешиваются, поэтому поддерживается высокий порядок — можно взять отдельный патч и отправить в upstream или, например, удалить.
+
* Содержимое патчей удобно и красиво версионируется — каждое изменение, вносимое в патч, видно не как изменение diff’а, а как обычное изменение самих файлов, которые патчим — это гораздо более читаемо.
+
* Если патчи экспортировать в [http://www.gnu.org/software/diffutils/ Unified diff]-формате, между ними гарантированно не возникнет конфликтов, так как ещё на стадии слияния либо устраняются конфликты, либо вносится зависимость между патчами.
+
  
А единственный минус — высокая сложность графа ветвлений в Mercurial-репозитории.
+
Всего: 44 патча.
 
+
Ветки отдельных патчей отпочкованы от оригинальной, и все изменения, ''вносимые в эти патчи'', просто фиксируются в соответствующие ветки. Обновления кода MediaWiki и расширений коммитятся в «оригинальную» ветку и merge’атся в ветки патчей, а затем и в ветку «all».
+
 
+
Далее ко всему этому безобразию, тоже отдельной веткой ('''mw4i-ext'''), добавляются SVN-репозиторий, содержащий собственные и сильно доработанные расширения, инструменты и конфигурационные файлы; после чего ветки '''all''' и '''mw4i-ext''' объединяются в «установочную» ветку '''mw4install'''.
+
 
+
Всего: 41 патч.
+
  
 
=== Исправления багов ===
 
=== Исправления багов ===
  
То есть патчи, исправляющие какие-либо ошибки. Всего: 17.
+
То есть патчи, исправляющие какие-либо ошибки. Всего: 19.
  
 
<tab sep="bar" class="wikitable sortable" head="topleft">
 
<tab sep="bar" class="wikitable sortable" head="topleft">
Аббр. | Дата добавления | Имя | Описание патча
+
Дата добавления | Имя | Описание патча
CEB | 2010-02-03 | categorytree-empty-bullets | Патч расширения CategoryTree, чтобы оно не предлагало разворачивать пустые на самом деле категории.
+
2016-02-15 | fix-specialupload-charinsert | Исправление работы CharInsert на странице загрузки файла
CRNR | 2011-03-28 | cite-refsnoreferences | Патч расширения Cite + в код MediaWiki, в большей части случаев исправляющий ошибку «Ошибка цитирования: для несуществующего тега &lt;ref> не найдено тега &lt;references />», некорректно возникающую при использовании расширений, которые сами где-нибудь используют парсер без сброса состояния.
+
2015-11-27 | limit-thumb-names | Ограничение имён файлов миниатюр 232 символами, чтобы расширению [[PdfHandler]] было куда дописывать номера страниц.
DCLD | 2009-11-11 | dont-call-linkholders-__destruct | Исправление некорректного явного вызова деструктора mLinkHolders в парсере. Патч принят в trunk, в новых версиях MediaWiki не потребуется.
+
2015-11-25 | resourceloader-fix-1.26 | Исправление ошибки позиционирования в одном из ресурсных модулей
DCS | 2009-11-24 | debug-categorized-specialrecentchanges | Исправление выбора по категориям в «[[Special:RecentChanges|Свежих правках]]».
+
2014-08-07 | reset-input-font-size | Переопределение встроенного в Chrome стиля -webkit-small-control для полей ввода
DNL | 2009-08-12 | discussion-newsection-links | Ссылки на несуществующие страницы обсуждений сделаны по умолчанию ссылками на добавление секции.
+
2014-06-03 | parser-disable-extra-lf | Отключение "спорного поведения" из бага 529 wikimedia, а именно - отключение добавления перевода строки перед выводом шаблона или функции парсера
DSSUC | 2010-03-26 | dont-suppress-same-user-conflicts | Не игнорировать конфликты редактирования, произошедшие из-под одного юзера.
+
2014-01-27 | disable-git-info | Отключение информации о git репозиториях на странице Special:Version
EHC | 2009-09-11 | bug53818-empty-heading-crutch | Ликвидация пустых заголовков (строк вида ====) из текста статьи, вместо того, чтобы принимать б'''о'''льшую часть = за маркеры заголовка, а два внутренних = — за текст заголовка.
+
2013-08-22 | fix-reset-articleid | Корректный сброс кэша ID статей в долгоживущих скриптах
EMB | 2011-04-01 | email-mime-base64 | Использовать кодировку MIME Base64 в заголовках email-писем. Полезно для виндузятников, сидящих на M$ Exchange.
+
2013-03-20 | allow-msword-as-vsd | Временный обход бага php fileinfo 64462
FFP3 | 2009-08-12 | fixes-for-php-5.3.0 | Исправления предупреждений (warnings) под PHP 5.3 и выше, в некоторых файлах MediaWiki и расширении Interwiki.
+
2009-08-12 | discussion-newsection-links | Ссылки на несуществующие страницы обсуждений сделаны по умолчанию ссылками на добавление секции.
FL | 2010-12-29 | fix-l10n | Исправление сообщения noarticletext в русском языке, добавление формата даты «YYYY-MM-DD HH:MM:SS» без дурацкого «T» между ними.
+
2010-03-26 | dont-suppress-same-user-conflicts | Не игнорировать конфликты редактирования, произошедшие из-под одного юзера.
FDU | 2011-06-15 | fix-deletebatch-uploads | Патч расширения [[mediawikiwiki:Extension:DeleteBatch|DeleteBatch]], исправляющий удаление загруженных файлов (отправлен на страницу обсуждения).
+
2009-09-11 | bug53818-empty-heading-crutch | Ликвидация пустых заголовков (строк вида ====) из текста статьи, вместо того, чтобы принимать б'''о'''льшую часть = за маркеры заголовка, а два внутренних = — за текст заголовка.
GS | 2009-11-19 | gdalwaysresample-setting | Настройка <tt>$wgGDAlwaysResample</tt> GD, если true, то миниатюры gif’ок получаются более качественными (они всегда уменьшаются с интерполяцией).
+
2011-04-01 | email-mime-base64 | Использовать кодировку MIME Base64 в заголовках email-писем. Полезно для виндузятников, сидящих на M$ Exchange.
NSF | 2010-06-25 | no-session-fail | Ликвидация лишней попытки сохранения и «ошибок потери данных сессии» при переходе на форму редактирования статьи с передачей текста в окно редактирования.
+
2010-12-29 | ymd-hms-date-format | Добавление формата даты «YYYY-MM-DD HH:MM:SS» без дурацкого «T» между ними.
UALE | 2009-12-21 | upload-autofill-lowercase-extensions | Автоматическая смена регистра расширения загружаемого файла на нижний. Плюс настройка <tt>$wgMaxFilenameLength</tt> максимальной длины имени файла в списках файлов с миниатюрами — в оригинале забито гвоздями значение 20, что очень мало, и из-за чего имена файлов часто обрезаются.
+
2009-11-19 | gdalwaysresample-setting | Настройка <tt>$wgGDAlwaysResample</tt> GD, если true, то миниатюры gif’ок получаются более качественными (они всегда уменьшаются с интерполяцией).
USDMS | 2009-06-03 | unauth-save-display-modified-source | Показ '''изменённого''', а не оригинального текста статьи при запрещённой попытке сохранения. Нужен, чтобы пользователь не потерял свои изменения при нажатии «Сохранить», если сохранять ему на самом деле запрещено.
+
2010-06-25 | no-session-fail | Ликвидация лишней попытки сохранения и «ошибок потери данных сессии» при переходе на форму редактирования статьи с передачей текста в окно редактирования.
WDCS | 2009-12-14 | wfmsg-dont-clear-stripstate | По умолчанию не очищать <tt>$parser->mStripState</tt> при дополнительных вызовах <tt>parse()</tt>. Исправляет некоторое количество ошибок с непонятными длинными иероглифическими маркерами «--……..uniq--» в тексте статьи на месте каких-либо данных. На самом деле причина ошибки более глубока: ''парсер MediaWiki нереентерабелен'', авторы об этом знают и, возможно, когда-нибудь исправят.
+
2009-12-21 | upload-autofill-lowercase-extensions | Автоматическая смена регистра расширения загружаемого файла на нижний. Плюс настройка <tt>$wgMaxFilenameLength</tt> максимальной длины имени файла в списках файлов с миниатюрами — в оригинале забито гвоздями значение 20, что очень мало, и из-за чего имена файлов часто обрезаются.
ZOM | 2011-04-27 | zip-ooxml-mime | Корректное определение типов OOXML (M$ Office >= 2007)
+
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-02-11 | fix-noeditsection | Исправление бага, иногда приводящего к показу ссылок на редактирование секций, в тех случаях, когда в реальности это не нужно
 
</tab>
 
</tab>
  
 
=== Доработки ===
 
=== Доработки ===
  
То есть патчи, добавляющие какой-либо новый функционал. Всего: 24.
+
То есть патчи, добавляющие какой-либо новый функционал. Всего: 25.
  
 
<tab sep="bar" class="wikitable sortable" head="topleft">
 
<tab sep="bar" class="wikitable sortable" head="topleft">
Аббр. | Дата добавления | Имя | Описание патча
+
Дата добавления | Имя | Описание патча
AH | 2010-07-23 | add-hooks | Добавление хуков и отключение проверки параметра action для спецстраниц. Требуется в частности для расширений <tt>HttpAuth</tt> (для авторизации методом HTTP Basic), <tt>Wikilog</tt> (для группировки свежих правок комментариев в блогах по имени поста на странице «улучшенных» свежих правок).
+
2015-11-27 | html-emails | Отправка почты в HTML+Plaintext виде, а не только Plaintext.
ALT | 2009-11-20 | anchor-link-tocnumbers | Поддержка автоматической простановки номеров секций в ссылках на секции текущей страницы. То есть в ссылки вида «<tt><nowiki>[[#Раздел]]</nowiki></tt>» будет автоматически добавлен номер секции («2. Раздел»).
+
2014-03-25 | emulate-printable-styles | Эмуляция печатного вида при передаче параметра ?printable=yes в ResourceLoader
ARC | 2011-04-27 | any-raw-ctype | Поддержка произвольного Content-Type для ?action=raw (получения текста страницы).
+
2013-12-17 | msoffice-mime-types | Добавление MIME типов для некоторых видов офисных документов
CSL | 2010-03-25 | category-subcatlist | Патч расширения CategoryTree. Новый метод группировки страниц в категориях — не по первой букве имени, а по другим категориям, в которых они также перечислены. Чтобы включить этот метод, на страницу категории нужно добавить магическое слово &#x5F;_CATEGORYSUBCATLIST__. Плюс магическое слово, отключающее 3-колоночный список в категориях - &#x5F;_NOCATEGORYCOLUMNS__.
+
2013-12-03 | login-by-email-extension | Поддержка расширения [[LoginByEmail]]
DAT | 2009-08-07 | dot-after-tocnumber | Настройка <tt>$wgDotAfterTocnumber</tt>, если true, то после номеров разделов в оглавлении ставится точка.
+
2013-07-04 | urldecode-printable-links | Раскодирование печатного вида ссылок
DBT | 2010-05-21 | detailed-badtitle | Детализация сообщений об ошибках недопустимого имени страницы.
+
2012-11-16 | usermessage-extension | Поддержка расширения [[UserMessage]]
DSAH | 2009-10-23 | detect-script-allow-html | Разрешение изменения списка тегов, запрещённых в тексте загруженных файлов — настройка <tt>$wgForbiddenTagsInUploads</tt>.
+
2014-01-16 | gzipped-xml-types | Поддержка GZIP-сжатых XML-типов файлов (например, для [[Dia]]).
EP | 2011-02-18 | env-proxy | Поддержка настроек HTTP прокси, заданных в стандартных переменных окружения http_proxy, http_no_proxy, при загрузке изображений по URL.
+
2012-11-16 | sql-categorized-specialrecentchanges | Фильтрация по категориям в «[[Special:RecentChanges|Свежих правках]]» на уровне SQL
FVS | 2011-02-11 | fix-vector-skin | Небольшая доработка и исправление скина Vector — возвращение возможности поместить поле поиска в левую панель через [[MediaWiki:Sidebar]] (что за тупость — удалять возможность). Плюс увеличение ширины верхнего поля поиска.
+
2010-07-23 | add-hooks | Добавление хуков и отключение проверки параметра action для спецстраниц. Требуется в частности для расширений [[HttpAuth]] (для авторизации методом HTTP Basic), [[Wikilog]] (для группировки свежих правок комментариев в блогах по имени поста на странице «улучшенных» свежих правок), [[TikaMW]] (вообще для работы, для восстановения удалённого в оригинале хука).
HE | 2010-04-21 | html-emails | Часть расширения EnotifDiff. Поддержка отправки почты об изменениях и подтверждении e-mail адреса в формате HTML, а не в виде чистого текста.
+
2009-11-20 | anchor-link-tocnumbers | Поддержка автоматической простановки номеров секций в ссылках на секции текущей страницы. То есть в ссылки вида «<tt><nowiki>[[#Раздел]]</nowiki></tt>» будет автоматически добавлен номер секции («2. Раздел»).
IAR | 2011-02-25 | intraacl-rights | Часть расширения [[IntraACL]]. Проверки прав доступа к страницам во всём коде MediaWiki. Собственно это и обеспечивает защиту.
+
2011-04-27 | any-raw-ctype | Поддержка произвольного Content-Type для ?action=raw (получения текста страницы).
IEIC | 2009-05-13 | import-export-images-and-conflicts | [[MW_Import&Export|Очень сильно улучшенный импорт/экспорт]] страниц MediaWiki. Отправлен в [https://bugzilla.wikimedia.org/show_bug.cgi?id=22881 Wikimedia Bug 22881].
+
2009-08-07 | dot-after-tocnumber | Настройка <tt>$wgDotAfterTocnumber</tt>, если true, то после номеров разделов в оглавлении ставится точка.
ITF | 2011-02-11 | imagethumb-transform-flags | Передавать данные о том, откуда вызывается создание миниатюры файла. Нужно для FlvHandler’а, чтобы не вставлять код видеоплеера в галереи файлов и в миниатюры файлов в истории ревизий.
+
2009-10-23 | detect-script-allow-html | Разрешение изменения списка тегов, запрещённых в тексте загруженных файлов — настройка <tt>$wgForbiddenTagsInUploads</tt>.
LPWC | 2011-03-23 | longpagewarning-config | Поддержка настройки лимита размера статьи, по истечении которого показывается предупреждение [[MediaWiki:Longpagewarning]]. Баг такой у разработчиков mediawiki стоит, но решение они для него предложили очень странное — убрали нафиг проверку и разрешили делать эту проверку на уровне функций парсера. Глупость.
+
2011-02-18 | env-proxy | Поддержка настроек HTTP прокси, заданных в стандартных переменных окружения http_proxy, http_no_proxy, при загрузке изображений по URL.
LSA | 2011-03-23 | lcstore-accel | Поддержка кэширования локализации (LocalisationCache) в PHP ускорителе типа XCache. <s>Странно, что этого нет в оригинале.</s> Патч принят в trunk, в новых версиях MediaWiki (1.18 или новее) не понадобится.
+
2011-02-25 | intraacl-rights | Часть расширения [[IntraACL]]. Проверки прав доступа к страницам во всём коде MediaWiki. Собственно это и обеспечивает защиту.
LT      | 2011-11-22    | long-titles | Возможность поднятия максимальной длины названия страницы (с 255 до 767 байт в случае MySQL). Чтобы заработало, нужно прописать <tt>$wgMaxTitleBytes = 767</tt> и выполнить в базе SQL-команду {{Cmd|ALTER TABLE page CHANGE page_title page_title VARBINARY(767) NOT NULL}}.
+
2009-05-13 | import-export-images-and-conflicts | [[MW_Import&Export|Очень сильно улучшенный импорт/экспорт]] страниц MediaWiki. Отправлен в [https://bugzilla.wikimedia.org/show_bug.cgi?id=22881 Wikimedia Bug 22881].
MCE | 2011-05-16 | mergeconflicts-extension | Патч - часть расширения '''MergeConflicts''', позволяющий отображать конфликты редактирования в 3 колонки.
+
2011-02-11 | imagethumb-transform-flags | Передавать данные о том, откуда вызывается создание миниатюры файла. Нужно для FlvHandler’а, чтобы не вставлять код видеоплеера в галереи файлов и в миниатюры файлов в истории ревизий.
PDD | 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-11-22    | long-titles | Возможность поднятия максимальной длины названия страницы (с 255 до 767 байт в случае MySQL). Чтобы заработало, нужно прописать <tt>$wgMaxTitleBytes = 767</tt> и выполнить в базе SQL-команду {{Cmd|ALTER TABLE page CHANGE page_title page_title VARBINARY(767) NOT NULL}}.
REF | 2010-12-14 | rearrange-editform | Перемещение списков использованных в статье шаблонов и скрытых категорий на странице редактирования '''под форму редактирования''', то есть, за пределы элемента &lt;form>. Что необходимо для того, чтобы текст <tt>[[wikipedia:User:Cacycle/wikEd|WikEd]]</tt>'овского AJAX-предпросмотра, то есть HTML-текст статьи, не включался в форму, потому что он сам может включать в себя формы, и тогда их содержимое некорректным образом попадает в форму редактирования, что потенциально приводит к неприятным багам. Плюс настройка <tt>$wgNoCopyrightWarnings</tt> для отключения предупреждений о копирайте (MediaWiki:Copyrightwarning, MediaWiki:Copyrightwarning2).
+
2011-05-16 | mergeconflicts-extension | Патч - часть расширения '''MergeConflicts''', позволяющий отображать конфликты редактирования в 3 колонки.
 
+
2010-12-14 | rearrange-editform | Перемещение списков использованных в статье шаблонов и скрытых категорий на странице редактирования '''под форму редактирования''', то есть, за пределы элемента &lt;form>. Что необходимо для того, чтобы текст <tt>[[wikipedia:User:Cacycle/wikEd|WikEd]]</tt>'овского AJAX-предпросмотра, то есть HTML-текст статьи, не включался в форму, потому что он сам может включать в себя формы, и тогда их содержимое некорректным образом попадает в форму редактирования, что потенциально приводит к неприятным багам. Плюс настройка <tt>$wgNoCopyrightWarnings</tt> для отключения предупреждений о копирайте (MediaWiki:Copyrightwarning, MediaWiki:Copyrightwarning2).
SDR | 2010-05-29 | svg-double-render | Вставка SVG-изображений как пары векторное+растровое изображение, а не просто как растровое.
+
2010-05-29 | svg-double-render | Вставка SVG-изображений как пары векторное+растровое изображение, а не просто как растровое.
 
+
2009-06-18 | shift-included-templates-heading-levels | «Сдвиг» уровня заголовков статьи при её включении в подзаголовок. То есть если она включается под заголовком уровня N, то её заголовки 1-го уровня станут (1+N)-ого уровня, 2-го — (2+N), и т. п.
SHL | 2009-06-18 | shift-included-templates-heading-levels | «Сдвиг» уровня заголовков статьи при её включении в подзаголовок. То есть если она включается под заголовком уровня N, то её заголовки 1-го уровня станут (1+N)-ого уровня, 2-го — (2+N), и т. п.
+
2009-05-13 | signature-nohyphen | Вставка подписей нажатием кнопки без двух лидирующих минусов «--». Плюс <tt><nowiki><m>...</m></nowiki></tt> вместо <tt><nowiki><math>...</math></nowiki></tt> на кнопке вставки TeX-формул (обрабатывается расширением MarkupBabel).
SNH | 2009-05-13 | signature-nohyphen | Вставка подписей нажатием кнопки без двух лидирующих минусов «--». Плюс <tt><nowiki><m>...</m></nowiki></tt> вместо <tt><nowiki><math>...</math></nowiki></tt> на кнопке вставки TeX-формул (обрабатывается расширением MarkupBabel).
+
2009-05-13 | translit-upload-filenames | Автоматическое транслитерирование физических имён файлов (то есть имён файлов на диске) с кириллицы на латиницу под Windows.
TFN | 2009-05-13 | translit-upload-filenames | Автоматическое транслитерирование физических имён файлов (то есть имён файлов на диске) с кириллицы на латиницу под Windows.
+
2010-10-15 | transclude-sections | Поддержка включений секций страниц с помощью синтаксиса вида <tt><nowiki>{{:Статья#Секция}}</nowiki></tt>.
TS | 2010-10-15 | transclude-sections | Поддержка включений секций страниц с помощью синтаксиса вида <tt><nowiki>{{:Статья#Секция}}</nowiki></tt>.
+
 
</tab>
 
</tab>
  
 
=== Устаревшие патчи ===
 
=== Устаревшие патчи ===
  
Под устаревшими понимаются патчи, более не нужные в связи с обновлением лежащего в основе кода. По сути, это означает, что данный патч либо исправлял какой-то баг, который исправили уже и сами авторы, либо был сам принят в состав MediaWiki (таких пока что, правда, нет), либо был переименован.
+
Под устаревшими понимаются патчи, более не нужные в связи с обновлением лежащего в основе кода. По сути, это означает, что данный патч либо исправлял какой-то баг, который исправили уже и сами авторы, либо был сам принят в состав MediaWiki, либо был переименован.
  
 
<tab sep="bar" class="wikitable sortable" head="topleft">
 
<tab sep="bar" class="wikitable sortable" head="topleft">
Аббр. | Дата добавления | Имя | Описание патча
+
Дата добавления | Имя | Описание патча | Причина удаления
CRDP | 2010-01-12 | cite-reenterability-for-different-parser-objects | Патч расширения Cite, направленный на его реентерабельность.
+
2010-02-03 | categorytree-empty-bullets | Патч расширения CategoryTree, чтобы оно не предлагало разворачивать пустые на самом деле категории. | Перемещено в репозиторий расширения
FCRW | 2009-05-13 | fix-cannot-redeclare-wfspecialupload | Исправление ошибки «Fatal error: Cannot redeclare wfspecialupload()» при загрузке изображения без авторизации. Плюс поддержка HTTP прокси, заданной в стандартной переменной окружения http_proxy, при загрузке изображений по ссылке.
+
2011-03-28 | cite-refsnoreferences | Патч расширения Cite + в код MediaWiki, в большей части случаев исправляющий ошибку «Ошибка цитирования: для несуществующего тега &lt;ref> не найдено тега &lt;references />», некорректно возникающую при использовании расширений, которые сами где-нибудь используют парсер без сброса состояния. | Уже поддерживается в оригинале
FPH | 2010-12-14 | fix-pdfhandler | Патч расширения PdfHandler, убрано экранирование <tt>$wgPdfProcessor</tt>'а, ссылки на PDF-файл с его страниц теперь ведут на саму страницу.
+
2009-11-24 | debug-categorized-specialrecentchanges | Исправление выбора по категориям в «[[Special:RecentChanges|Свежих правках]]».
HAR | 2010-04-27 | haloacl-rights | ''/* переименован в intraacl-rights */'' Часть расширения HaloACL. Проверки прав доступа к страницам во всём коде MediaWiki. Собственно это и обеспечивает защиту.
+
2009-08-12 | fixes-for-php-5.3.0 | <s>Исправления предупреждений (warnings) под PHP 5.3 и выше, в некоторых файлах MediaWiki и расширении Interwiki.</s> Новые версии MediaWiki сами совместимы с PHP 5.3, так что теперь этот патч исправляет разные мелкие ошибки MediaWiki и расширений (см. подробнее [http://wiki.4intra.net/svn/mediawiki4intranet/custisinstall/patches/Y-000-fixes-for-php-5.3.0.diff шапку патча]). | Уже исправлено в оригинале
IGTT | 2009-09-11 | imagegallery-tell-transform, imagepage-tell-transform | ''/* патчи объединены в imagethumb-transform-flags */'' Передавать данные о том, откуда вызывается создание миниатюры файла. Нужно для FlvHandler’а, чтобы не вставлять код видеоплеера в галереи файлов и в миниатюры файлов в истории ревизий.
+
2010-12-29 | fix-l10n | Исправление формата сообщений gotaccountlink, nologinlink с HTML на Wiki-код. Добавление формата даты «YYYY-MM-DD HH:MM:SS» без дурацкого «T» между ними. | Разделено в разные патчи
TMF4 | 2009-11-24 | trunk-mediafunctions-for-1.14 | Патч trunk-версии расширения MediaFunctions, позволяющий ей работать в MediaWiki 1.14.1.
+
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, убрано экранирование <tt>$wgPdfProcessor</tt>'а, ссылки на 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 | Патч расширения [[mediawikiwiki:Extension:DeleteBatch|DeleteBatch]], исправляющий удаление загруженных файлов (отправлен на страницу обсуждения). | Перемещено в репозиторий расширения
 +
2012-02-02 | fix-drafts-extension | Патч расширения [[mediawikiwiki:Extension:Drafts|Drafts]] — делает так, чтобы оно сохраняло черновик действительно каждую минуту, а не ''через минуту после последнего действия пользователя''. | Перемещено в репозиторий расширения
 +
2012-03-07 | fix-1.18-uploadfromstash | Исправляет баг оригинальной MediaWiki 1.18.1, найденный нами ([https://bugzilla.wikimedia.org/show_bug.cgi?id=35032 MediaWikiBug 35032]) — сломанные кнопочки «Отправить изменённое описание файла» и «Игнорировать предупреждения и сохранить файл». | Уже исправлено в оригинале
 +
2012-02-16 | fix-openid-extension | Патч расширения [[mediawikiwiki:Extension:OpenID|OpenID]] — добавляет ссылку на вход по OpenID на страницу входа, включает использование GET-запросов вместо POST, если длина запрашиваемого URL <= 2048 символов. То есть, почти всегда при OpenID-авторизации используются GET-запросы, что удобнее, так как не включает отправку скрытой формы javascript’ом. | Перемещено в репозиторий расширения
 +
2012-05-25 | objectcache-inc-ttl | Исправление [https://bugzilla.wikimedia.org/show_bug.cgi?id=20595 бага 20595], из-за которого в случае использования APC, XCache или DBA кэша 5 минут, которые должен подождать пользователь после большого числа неудачных попыток входа, никогда не истекают (то есть, пользователь не может войти вообще). | Уже исправлено в оригинале
 +
2010-03-25 | category-subcatlist | Патч расширения CategoryTree. Новый метод группировки страниц в категориях — не по первой букве имени, а по другим категориям, в которых они также перечислены. Чтобы включить этот метод, на страницу категории нужно добавить магическое слово &#x5F;_CATEGORYSUBCATLIST__. Плюс магическое слово, отключающее 3-колоночный список в категориях - &#x5F;_NOCATEGORYCOLUMNS__. | Перемещено в репозиторий расширения
 +
2011-12-27 | catlinks-top | Патч, позволяющий настраивать положение ссылок на категории в скинах Monobook и Vector с помощью переменной $wgCatlinksTop: false &rarr; внизу, true &rarr; вверху, «only» — только вверху. | Перемещено в отдельное расширение
 +
2010-05-21 | detailed-badtitle | Детализация сообщений об ошибках недопустимого имени страницы. | Принято в оригинал
 +
2010-04-21 | html-emails | Часть расширения EnotifDiff. Поддержка отправки почты об изменениях и подтверждении e-mail адреса в формате HTML, а не в виде чистого текста. | Переработан, более не требует расширения
 +
2011-03-23 | lcstore-accel | Поддержка кэширования локализации (LocalisationCache) в PHP ускорителе типа XCache. <s>Странно, что этого нет в оригинале.</s> | Принято в оригинале и затем удалено из него, ибо работает некорректно
 +
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]] | Перенесено в репозиторий расширения
 +
2009-06-03 | unauth-save-display-modified-source | Показ '''изменённого''', а не оригинального текста статьи при запрещённой попытке сохранения. Нужен, чтобы пользователь не потерял свои изменения при нажатии «Сохранить», если сохранять ему на самом деле запрещено. | Перемещено в mergeconflicts-extension (?)
 
</tab>
 
</tab>

Latest revision as of 12:43, 28 June 2016

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

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

Attention niels epting.svg При внесении изменений в уже существующий патч вместо добавления новых коммитов происходит переписывание истории! Это приводит к некоторым неудобствам при обновлении веток (нужно руками делать 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 Исправления предупреждений (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 (?)