MediaWiki
mediawikiwiki
https://www.mediawiki.org/wiki/MediaWiki
MediaWiki 1.47.0-wmf.3
first-letter
Media
Special
Talk
User
User talk
Project
Project talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Thread
Thread talk
Summary
Summary talk
Manual
Manual talk
Extension
Extension talk
API
API talk
Skin
Skin talk
TimedText
TimedText talk
Module
Module talk
Translations
Translations talk
Event
Event talk
Topic
Newsletter
Newsletter talk
Project:Sandbox
4
1428
8390309
8385454
2026-05-25T06:33:49Z
~2026-30959-11
18405770
8390309
wikitext
text/x-wiki
{{Please leave this line alone and write below (this is the coloured heading)}}
{{Short description | 中国专用运输解决方案提供商}}
{{About | 本条目介绍的是中国专用运输装备品牌 | 其他含义 | 宏昌天马 (消歧义)}}
{{Refimprove|date=2026 年 5 月}}
{{Infobox company
| name = 宏昌天马
| native_name = 宏昌天马
| native_name_lang = zh
| logo = SUNHUNK logo.png
| logo_caption = 宏昌天马品牌标识
| slogan = MAKE EVERY MOVE COUNT
让每次运输更有价值
| founded = {{Start date and year|1993}}
| founder = [[蒋晓冬]]
| headquarters = [[中华人民共和国 | 中国]] [[河北省]] [[三河市]]
| industry = 专用车辆制造业
| products = 自卸车、随车吊、冷藏车
| parent = 新宏昌重工集团
| employees = 3,000+(全球)
| revenue = ¥35 亿元(年产值)
| website = {{URL|https://www.sunhunk.com}}
}}
''' 宏昌天马 '''({{zh|s = 宏昌天马 | t = 宏昌天馬| p=Hóngchāng Tiānmǎ}},英文品牌名:SUNHUNK)是新宏昌重工集团旗下核心品牌,全球专用运输解决方案提供商,专注于随车吊、自卸车、冷藏车的研发、制造与配套服务,聚焦自卸运输、公路货运和起重搬运三大专用运输领域。
发展历史
宏昌天马由蒋晓冬于 1993 年在河北省三河市创立, 30 余年深耕专用运输行业。
• 1993 年:事业起步于河北三河汽配门市部
• 2001 年:三河制造基地建成,正式进军专用车制造行业
• 2004 年:自卸车产销量位列中国第一,开创中国专用车定制化生产先河
• 2005 年:云南宏昌天马汽车销售服务公司成立,推出首款煤矿专用自卸车
• 2006 年:石家庄制造基地建成,推出首款应用高强材料的轻量化自卸车
• 2009 年:包头制造基地建成
• 2011 年:燕郊制造基地建成
• 2012 年:启动随车吊业务,技术对标日韩、欧美
• 2015 年:进军冷链运输装备板块,斥巨资引进欧洲开式发泡技术
• 2016 年:江苏制造基地建成,正式进入西非市场
• 2018 年:推出中国首台大吨位随车吊,成为大吨位全球两大品牌之一;同年进入印尼、南美市场
• 2020 年:进入中亚市场
• 2021 年:联合研发制造国内首创 2022 北京冬奥会雪蜡车;三河市新宏昌专用车有限公司被评为 "国家绿色工厂"
• 2023 年:半挂冷藏车市场占有率超 20%,成为中国半挂冷藏车两大品牌之一;同年进入中东沙特市场
• 2024 年:进入韩国、欧洲市场;实现 8-185 吨全系列随车吊与飞臂研发制造能力
• 2025 年:推出 H4680 随车吊、39 吨国内欧式冷藏半挂车等多款新产品;取得 TIR 国际公路运输许可证
业务范围
宏昌天马核心业务涵盖自卸车、随车吊、冷藏车三大板块,提供覆盖 88 个自卸场景、20 类吊运场景、18 类温控货运场景的全场景解决方案。
自卸车
• 掌握材料创新、结构设计、液压系统等核心科技,拥有相关发明专利 300 余项
• 首创智能渣土车,参与制定中国 40 多个城市的渣土运输行业标准
• 自卸车产销量自 2004 年起连续 20 余年位列中国第一
• 产品远销 40 多个国家和地区,应用于城市建设、大宗货物运输、矿山开采等领域
随车吊
• 中国唯一具备全系列随车吊与辅具研发制造能力的企业
• 折臂吊技术亚洲领先,连续多年大吨位与折臂吊出口量第一
• 产品涵盖直臂吊、折臂吊、飞臂及各类抓辅具,起重范围覆盖 8-185 吨
• 应用于建筑、基础设施、工业设施、农业林业、消防、石油等多个行业
冷藏车
• 亚洲唯一采用欧洲开式发泡技术的企业,引领中国高端冷藏车迈入 4.0 时代
• 中国单笔整车出口订单记录保持者
• 半挂冷藏车市场占有率达 50% 以上
• 产品适用于疫苗运输、跨境物流、生鲜果蔬、医药试剂等各类冷链运输场景
技术研发
宏昌天马拥有行业领先的研发体系,截至 2026 年,拥有技术研发团队 200 余人,其中工程师占比 60% 以上,累计获得专利 300 余项。
研发平台
• 三大自主研发中心:省级专用车技术研发中心、省级工业设计中心、省级技术创新中心
• 联合研究中心:与首钢集团、太原钢铁集团、宝钢股份、华菱涟钢等建立联合工作室或实验基地
• 校企合作:与燕山大学、扬州大学、河北工业大学、河北科技大学、中北大学等 50 余所高校开展产学研合作
核心技术
• 液压系统:多泵合流负载敏感系统、浮动阀 0 背压多级油缸顺序伸臂技术、全车远程遥控及安全系统
• 材料技术:独家联合全球一流钢厂研发耐磨 K450TUF 级材料,推动高强钢与轻量化材料应用
• 冷藏技术:亚洲唯一开式发泡生产线,搭配自主研发的隔热板技术
• 智能技术:智能渣土车管理系统、随车吊智能操控系统
验证体系
宏昌天马构建了涵盖液压系统试验室、结构强度试验室、环境模拟试验室、整机可靠性验证车间的全维度验证体系,包括:
• 万次负载循环测试
• 120% 极限载重装载试验
• 极端雨淋、隔热性能、盐雾、紫外、高低温试验
• 出厂全工况调试试验
生产基地
宏昌天马投资数十亿打造三大现代化生产基地,总年产能达 6 万台:
• 北京东燕郊工业园:年产能 25,000 台
• 扬州专用车生产基地:年产能 15,000 台
• 石家庄专用车生产基地:年产能 20,000 台
生产基地配备智能焊接机器人、比利时 LVD 大吨位折弯机、大族激光切割机等先进设备,实现货箱焊接覆盖率 100%,钢板切割精度达 ±0.1mm。公司通过 ISO9001 质量管理体系认证、EN 15085 国际焊接体系认证、欧盟 CE 认证等多项国际标准认证。
全球布局
宏昌天马销售网络覆盖全球 44 个国家和地区,形成了以中国为中心,辐射亚洲、欧洲、非洲、中东、南美、北美、大洋洲的全球市场格局:
• 亚洲:中国、韩国、印度尼西亚、越南、中亚五国等
• 欧洲:德国、西班牙等
• 非洲:尼日利亚、南非等
• 中东:沙特阿拉伯、土耳其等
• 南美:巴西、阿根廷、墨西哥等
• 大洋洲:澳大利亚等
社会责任
绿色发展
• 2021 年被评为首批国家级绿色工厂
• 投入近千万元建设 VOCs 有机废气吸附催化净化系统,排放低于国家标准 99.6%
• 启动江苏宏昌天马房顶光伏项目
• 采用水性漆环保涂装和绿色发泡剂,推动全链路降碳
• 每年节约铁矿石约 300 万吨、煤炭约 100 万吨、柴油约 1300 万吨
公益事业
• 生态建设:在甘肃凉州区栽植沙生苗木 3.6 万余株,压沙造林 180 余亩
• 教育支持:累计捐资 1000 余万元,资助学生 300 余人,设立爱心助学金
• 灾害救援:累计捐资 500 余万元用于抗洪抗震救灾,派出驰援人员 100 余人次
企业治理
• 通过 ISO45001 职业健康安全管理体系、ISO14001 环境管理体系、ISO5001 能源管理体系认证
• 建立《廉洁管理制度》《反贿赂政策》等 100 余项规范,推行阳光采购
• 累计创造 10 万 + 就业岗位,海外员工本土化率达 5%
• 年均投入 30 万小时员工培训,认证 60 + 内部培训师
企业荣誉
• 中国专用汽车领军企业
• 全国工人先锋号
• 中国机械 500 强
• 河北省制造业单项冠军企业
• 河北省名牌产品、河北省著名商标
• 省级专用车技术研发中心、省级技术创新中心、省级工业设计中心
• 北汽福田 "战略合作伙伴"、中国重汽 "最佳合作伙伴奖"、一汽解放 "优秀委改合作奖"、陕汽重卡 "委改合作共赢奖"
5i6midkl3eyjzbykl5rseyhsnpmufu5
8390310
8390309
2026-05-25T06:45:23Z
Hazard-Bot
560685
Bot: Automatically cleaned
8390310
wikitext
text/x-wiki
{{Please leave this line alone and write below (this is the coloured heading)}}
ni8p3ypkq39hxrmit1g3300saroa1mk
User:Brooke Vibber
2
2626
8390103
8374215
2026-05-24T16:29:58Z
Brooke Vibber
79
/* Stuff for 2020-2024 */
8390103
wikitext
text/x-wiki
Note to self, note to others:<div
class="shrine"
style="
border: solid 2px black;
background-color: #fefdff;
font-size: 200%;
font-weight: bold;
padding: 20px;
text-align: center;
">
Always remember to [[:en:Wikipedia:Assume_good_faith|assume good faith]]!
</div>
I'm a longtime MediaWiki developer, since before we called it MediaWiki. I expect to continue to be around for a long time, and am always happy to help if I can. :)
Please report bugs to [[phab:|https://phabricator.wikimedia.org/]] to make sure folks see them!
== Contact info ==
* [[m:IRC/Channels|Wikimedia IRC channels]]: <code>bvibber</code>
* [[phab:p/bvibber/|Wikimedia Phabricator]]: <code>bvibber</code>
* email:
** Personal address is best right now: <code>bvibber</code> at <code>pobox.com</code>
** Please be aware I can no longer receive mails sent to <s><code>bvibber</code> at <code>wikimedia.org</code></s>
* Signal: <code>bvibber.78</code>
* Fediverse/Mastodon:
** [https://wikis.world/@bvibber wikis.world/@bvibber] - MediaWiki/webdev work stuff
** [https://bikeshed.vibber.net/@brooke bikeshed.vibber.net/@brooke] - personal/silly stuff
== Stuff for 2026 ==
* Helping with [[phab:T99740|LCStoreStaticArray test deployment]]: should improve MediaWiki performance at a modest memory cost, while speeding up backport deployments
* Back to the grind on [[Extension:TimedMediaHandler]] improvements? :D
Older notes:
== Stuff for 2020-2026 ==
* Readers Growth team, FY2025-26
** [[Extension:ReaderExperiments|ReaderExperiments]] extension
* Charts taskforce, FY2024-25
** [[Extension:Chart|Chart extension]]
* General research, maintenance, 2020-2024
** [[Extension:TimedMediaHandler|TimedMediaHandler]] maintenance, HLS experiments
** general improvements
** further sandboxing research
== Stuff for 2019 ==
* [[/EmbedScript 2019]] reconception of old sandboxing ideas
== Stuff for 2016 ==
* [[/Secure code modules through iframe sandboxing]]
* [[/ResourceLoader and latency]]
* [[/Media handler and renderer thoughts]]
== Stuff for 2015 ==
* [[/2015 scratchpad]]
== Stuff for 2011 ==
* [[Parser 2011|Future]]
* [[/Touch testing]]
== Silly ideas ==
* [[Global session threat assessment]]
* [[Bitfields for rev_deleted]]
** [[Extension:Oversight|Hiding revisions]]
* [[Markup spec]]
* [[Unicode normalization considerations]]
* [[FileStore]]
* [[Watchlist subscriptions]]
* [[Snapshot work branch]]
* [[/tasks for noobs]]
* [[Mobile browser testing]]
* [[Extension:CentralAuth]]
* [[/Media codec alternatives]]
9d3o8ovutkc26r6od64j6ochf5carp6
Talk:SELinux
1
7234
8390195
7597481
2026-05-24T21:12:56Z
Rusty Cat
17575755
/* A warning should be involed here */
8390195
wikitext
text/x-wiki
Using RedHat Enterprise Linux 4, with SELinux enabled, you need to allow mySQL certain permissions:
/usr/sbin/setsebool -P mysqld_disable_trans 1"
I don't quite understand what is does or how SELinx works yet, but mySQL doesn't work unless you do this.
Once the installation for MediaWiki begins, httpd tries to open a connection to mySQL and SELinux is not allowing it. I get this error message in /var/log/messages:
kernel: audit(1155757761.753:257): avc: denied { connectto } for pid=8080 comm="httpd" name="mysql.sock" scontext=root:system_r:httpd_t tcontext=root:system_r:initrc_t tclass=unix_stream_socket
I'm not sure how to correct for this (just yet) and I don't want to disable SELinux. If anyone knows, please email me, golharam@umdnj.edu. Until then I'll look for a solution and if I find out, I'll post it here.
== Setting the Context ==
This text was originally on [[Manual:Installing MediaWiki]] but I think it is covered by the stuff on this page. Please add it back in if it is different.
If you are running a distribution with SELinux, e.g. Fedora Core, be sure to set the context on the installation directory correctly e.g.:
ls -aZ
chcon -R -t httpd_sys_content_t /var/www/html/wiki
--[[User:Cneubauer|Cneubauer]] 19:02, 29 August 2007 (UTC)
==Better context set method?==
/sbin/restorecon -R -v /var/www/html/wiki
This sets the context (on centos5.1) to type: httpd_sys_content_t instead of type: httpd_user_content_t similar to how Cneubauer mentions.
Does anybody know the practical differences between the _sys_ and _user_ types? Both seem to work fine on my box. Also, I didn't have to do any tweaking for mysql, but it lives on localhost, so maybe that's the difference.
And while I'm here talking about mediawiki on SELinux, I have a problem with file uploads and ulimit causing an audit warning. Also sendmail.sendmail causes an audit warning. Haven't figured out how to fix those yet.
--sankeyl(a)colorado.edu 30 Jan 2008
==A warning should be involed here==
I run SELinux, but issuing these commands in an attempt to fix file uploading broke my wiki. Reverting to httpd_sys_content_t resolved this. <small><span class="autosigned">— Preceding [[Special:MyLanguage/Help:Signatures|unsigned]] comment added by [[User:130.219.8.234 |130.219.8.234 ]] ([[User talk:130.219.8.234 |{{int:talkpagelinktext}}]] • [[Special:Contributions/130.219.8.234 |{{int:contribslink}}]]) 15:29, 26 January 2017 (UTC)</span></small><!-- Template:Unsigned -->
== Pygments for SyntaxHighlight ==
In my judgement, the instructions related to Pygments for SyntaxHighlight are incorrect and over-broad. Specifically:
# My experience is that only the single file <code>/YOUR-PATH-HERE/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize</code> needs to have its SELinux label changed, whereas the current instructions call for the entire <code>pygments/</code> directory to be relabeled recursively. In particular, the various Readme files should not be labeled as script-executable.
# The current instructions indicate the correct label to be <code>httpd_sys_script_exec_t</code>. That did not work in my case, but label <code>mediawiki_script_exec_t</code> did. Additionally, the MediaWiki-related label seems more narrow, and therefore preferable as a lower security risk.
[[User:Christopher.ursich|Christopher.ursich]] ([[User talk:Christopher.ursich|talk]]) 17:48, 6 August 2017 (UTC)
== Updating Local Policy Contexts ==
Is it supposed to be <code>.*\/php5</code>? or should it be <code>.*\.php5</code>?
<syntaxhighlight lang="php">
semanage fcontext -a -t httpd_user_content_t '''/path/to/mediawiki/install''(/.*)?'
semanage fcontext -a -t httpd_user_script_exec_t '''/path/to/mediawiki/install''/.*\/php5?'
semanage fcontext -a -t httpd_user_script_exec_t '''/path/to/mediawiki/install''/includes/.*\.php5?'
semanage fcontext -a -t httpd_user_rw_content_t '''/path/to/mediawiki/install''/images(/.*)?'
semanage fcontext -a -t httpd_user_rw_content_t '''/path/to/mediawiki/install''/cache(/.*)?'
</syntaxhighlight>
: I believe that you are correctly noticing that line 2 should be corrected to specify <code>/path/to/mediawiki/install/.*\.php5?</code>. (In other words, the final backslash should instead be a dot.)
: <small>[[User:Cursich|Cursich]] ([[User talk:Cursich|talk]]) 00:53, 3 July 2018 (UTC)</small>
:: You're right about that much, and I've just corrected it. I also threw away the entry for "/path/to/mediawiki/install/includes/.*\.php5?" because it's completely redundant and will only serve to cause confusion later. The remaining invocation will match ''all'' php scripts inside the install location--even those used by Pygments/SyntaxHighlight. Frankly, even the optional "5?" match could probably also be deleted out because 1) we're up to PHP v7 now 2) that number was only needed while systems were transitioning, 3) MediaWiki ships exactly zero files that end in ".php5" and 4) no one should be doing that anymore, seriously. The only reason I left it is that it can't exactly break anything. I also clarified what each type is doing, and split the section into two because for the majority of modern systems using SELinux the user types '''will not work''' for things in /var. (I gave it a shot yesterday on a RHEL 8 knockoff just to see if it might.) Other things that should probably have been addressed (I am trying to be gentle and not throw out the entire page) is that using <syntaxhighlight lang=shell inline>chcon</syntaxhighlight> should be '''strongly discouraged'''. It will only cause problems in the long run, either by something like an autorelabel job destroying the chcon-applied changes, or by the silent creeping doom that is "what labels will be applied to new files created here later". I also replaced the /path/to/mediawiki/install text (which is basically never going to look good) with a simple variable. This approach is more understandable, less likely to blow up because of a typo or a misinterpretation (or mistranslation hem-hem), and gets the color syntax highlighter involved to generally improve readability. Also, this way lazy people can copy-paste and change just the variable name and be much less likely to do the horrible thing and disable SELinux because "it's too hard". There's enough semantic linkage that every reader should understand that the variable is the location of the MediaWiki files. Separate from all this, about half of the remaining page should probably be thrown out because it's not our job to teach people all about SELinux and it's all so disorganized without properly focusing on just the sebools and why/when they're needed. Audit2allow shouldn't even need a mention here becuase MediaWiki just isn't doing anything exotic enough that it should ever be needed. I'm just not feeling quite that edit-happy today. [[User:Dagmar d'Surreal|Dagmar d'Surreal]] ([[User talk:Dagmar d'Surreal|talk]]) 18:50, 17 September 2021 (UTC)
m36ny772xjh0zhvd1cfuhvnzufosoxk
8390196
8390195
2026-05-24T21:13:26Z
Rusty Cat
17575755
/* A warning should be involed here */ Reply
8390196
wikitext
text/x-wiki
Using RedHat Enterprise Linux 4, with SELinux enabled, you need to allow mySQL certain permissions:
/usr/sbin/setsebool -P mysqld_disable_trans 1"
I don't quite understand what is does or how SELinx works yet, but mySQL doesn't work unless you do this.
Once the installation for MediaWiki begins, httpd tries to open a connection to mySQL and SELinux is not allowing it. I get this error message in /var/log/messages:
kernel: audit(1155757761.753:257): avc: denied { connectto } for pid=8080 comm="httpd" name="mysql.sock" scontext=root:system_r:httpd_t tcontext=root:system_r:initrc_t tclass=unix_stream_socket
I'm not sure how to correct for this (just yet) and I don't want to disable SELinux. If anyone knows, please email me, golharam@umdnj.edu. Until then I'll look for a solution and if I find out, I'll post it here.
== Setting the Context ==
This text was originally on [[Manual:Installing MediaWiki]] but I think it is covered by the stuff on this page. Please add it back in if it is different.
If you are running a distribution with SELinux, e.g. Fedora Core, be sure to set the context on the installation directory correctly e.g.:
ls -aZ
chcon -R -t httpd_sys_content_t /var/www/html/wiki
--[[User:Cneubauer|Cneubauer]] 19:02, 29 August 2007 (UTC)
==Better context set method?==
/sbin/restorecon -R -v /var/www/html/wiki
This sets the context (on centos5.1) to type: httpd_sys_content_t instead of type: httpd_user_content_t similar to how Cneubauer mentions.
Does anybody know the practical differences between the _sys_ and _user_ types? Both seem to work fine on my box. Also, I didn't have to do any tweaking for mysql, but it lives on localhost, so maybe that's the difference.
And while I'm here talking about mediawiki on SELinux, I have a problem with file uploads and ulimit causing an audit warning. Also sendmail.sendmail causes an audit warning. Haven't figured out how to fix those yet.
--sankeyl(a)colorado.edu 30 Jan 2008
==A warning should be involed here==
I run SELinux, but issuing these commands in an attempt to fix file uploading broke my wiki. Reverting to httpd_sys_content_t resolved this. <small><span class="autosigned">— Preceding [[Special:MyLanguage/Help:Signatures|unsigned]] comment added by [[User:130.219.8.234 |130.219.8.234 ]] ([[User talk:130.219.8.234 |{{int:talkpagelinktext}}]] • [[Special:Contributions/130.219.8.234 |{{int:contribslink}}]]) 15:29, 26 January 2017 (UTC)</span></small><!-- Template:Unsigned -->
:9 years later, same here. I switched to httpd_user_content_t as per the top of the page but this stopped my wiki working. Had to revert to httpd_sys_content_t [[User:Rusty Cat|<span style="background-color:#15c;color:#ff0">'''Rusty'''</span>]] [[User talk:Rusty Cat|🐈]] 21:13, 24 May 2026 (UTC)
== Pygments for SyntaxHighlight ==
In my judgement, the instructions related to Pygments for SyntaxHighlight are incorrect and over-broad. Specifically:
# My experience is that only the single file <code>/YOUR-PATH-HERE/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize</code> needs to have its SELinux label changed, whereas the current instructions call for the entire <code>pygments/</code> directory to be relabeled recursively. In particular, the various Readme files should not be labeled as script-executable.
# The current instructions indicate the correct label to be <code>httpd_sys_script_exec_t</code>. That did not work in my case, but label <code>mediawiki_script_exec_t</code> did. Additionally, the MediaWiki-related label seems more narrow, and therefore preferable as a lower security risk.
[[User:Christopher.ursich|Christopher.ursich]] ([[User talk:Christopher.ursich|talk]]) 17:48, 6 August 2017 (UTC)
== Updating Local Policy Contexts ==
Is it supposed to be <code>.*\/php5</code>? or should it be <code>.*\.php5</code>?
<syntaxhighlight lang="php">
semanage fcontext -a -t httpd_user_content_t '''/path/to/mediawiki/install''(/.*)?'
semanage fcontext -a -t httpd_user_script_exec_t '''/path/to/mediawiki/install''/.*\/php5?'
semanage fcontext -a -t httpd_user_script_exec_t '''/path/to/mediawiki/install''/includes/.*\.php5?'
semanage fcontext -a -t httpd_user_rw_content_t '''/path/to/mediawiki/install''/images(/.*)?'
semanage fcontext -a -t httpd_user_rw_content_t '''/path/to/mediawiki/install''/cache(/.*)?'
</syntaxhighlight>
: I believe that you are correctly noticing that line 2 should be corrected to specify <code>/path/to/mediawiki/install/.*\.php5?</code>. (In other words, the final backslash should instead be a dot.)
: <small>[[User:Cursich|Cursich]] ([[User talk:Cursich|talk]]) 00:53, 3 July 2018 (UTC)</small>
:: You're right about that much, and I've just corrected it. I also threw away the entry for "/path/to/mediawiki/install/includes/.*\.php5?" because it's completely redundant and will only serve to cause confusion later. The remaining invocation will match ''all'' php scripts inside the install location--even those used by Pygments/SyntaxHighlight. Frankly, even the optional "5?" match could probably also be deleted out because 1) we're up to PHP v7 now 2) that number was only needed while systems were transitioning, 3) MediaWiki ships exactly zero files that end in ".php5" and 4) no one should be doing that anymore, seriously. The only reason I left it is that it can't exactly break anything. I also clarified what each type is doing, and split the section into two because for the majority of modern systems using SELinux the user types '''will not work''' for things in /var. (I gave it a shot yesterday on a RHEL 8 knockoff just to see if it might.) Other things that should probably have been addressed (I am trying to be gentle and not throw out the entire page) is that using <syntaxhighlight lang=shell inline>chcon</syntaxhighlight> should be '''strongly discouraged'''. It will only cause problems in the long run, either by something like an autorelabel job destroying the chcon-applied changes, or by the silent creeping doom that is "what labels will be applied to new files created here later". I also replaced the /path/to/mediawiki/install text (which is basically never going to look good) with a simple variable. This approach is more understandable, less likely to blow up because of a typo or a misinterpretation (or mistranslation hem-hem), and gets the color syntax highlighter involved to generally improve readability. Also, this way lazy people can copy-paste and change just the variable name and be much less likely to do the horrible thing and disable SELinux because "it's too hard". There's enough semantic linkage that every reader should understand that the variable is the location of the MediaWiki files. Separate from all this, about half of the remaining page should probably be thrown out because it's not our job to teach people all about SELinux and it's all so disorganized without properly focusing on just the sebools and why/when they're needed. Audit2allow shouldn't even need a mention here becuase MediaWiki just isn't doing anything exotic enough that it should ever be needed. I'm just not feeling quite that edit-happy today. [[User:Dagmar d'Surreal|Dagmar d'Surreal]] ([[User talk:Dagmar d'Surreal|talk]]) 18:50, 17 September 2021 (UTC)
igp4po5ldhzms6yiqbvmpxah0t3j60e
Manual:Cur table
100
10527
8390212
8366071
2026-05-24T22:23:16Z
Nintendofan885
12068159
invert on dark mode
8390212
wikitext
text/x-wiki
<languages />
{{Database layout}}
{{MW 1.4|and before}}
[[File:Database-restructure.png|thumb|class=skin-invert-image|The cur and old table were {{ll|Proposed Database Schema Changes/October 2004|replaced in 2004}}.]]
<translate>
<!--T:1-->
The <tvar name=1><code>cur</code></tvar> table was used in older versions of MediaWiki wikis to store the current revision of a page.
<!--T:2-->
In MediaWiki 1.5 the contents of the <tvar name=2><code>cur</code></tvar> table and of the <tvar name=old>'''{{ll|Manual:Old table|old}}'''</tvar> table were {{<tvar name=1>ll|Proposed Database Schema Changes/October 2004</tvar>|merged together}} and moved to the <tvar name=page>'''{{ll|Manual:Page table|page}}'''</tvar> table, the <tvar name=revision>'''{{ll|Manual:Revision table|revision}}'''</tvar> table and the <tvar name=text>'''{{ll|Manual:Text table|text}}'''</tvar> table.
<!--T:3-->
After running the updater when updating from MediaWiki 1.4 or older to a newer version, this table is not needed anymore and '''can be safely deleted.'''
</translate>
<translate><!--T:4--> One way of uniquely accessing the current version of an article was via <tvar name=1><code>cur_id</code></tvar>, another is through the combination of <tvar name=2><code>cur_title</code></tvar> and <tvar name=3><code>cur_namespace</code></tvar>.</translate>
<translate><!--T:5--> Note that there may be several entries with the same <tvar name=1><code>cur_title</code></tvar> in the <tvar name=2><code>cur</code></tvar> table, for example, "Stuff" and "Talk:Stuff" will differ in the <tvar name=3><code>cur_namespace</code></tvar> field; the integer values and their corresponding names (e.g., 1="Talk") are set in the appropriate <tvar name=4>LanguageXX.php</tvar> file and are also shown using [[<tvar name=5>Special:MyLanguage/Help:Magic words</tvar>|variables]].</translate>
<translate><!--T:6--> Some information in the <tvar name=2><code>cur</code></tvar> table relates to the last change of the article (which might well be its creation, which is indicated by <tvar name=1><code>cur_is_new</code></tvar>).</translate>
<translate><!--T:7--> <tvar name=1><code>cur_text</code></tvar> holds the wikitext.</translate>
<translate><!--T:8--> <tvar name=1><code>cur_comment</code></tvar> is the [[<tvar name=2>Special:MyLanguage/Help:Edit summary</tvar>|edit summary]] of the last change; <tvar name=3><code>cur_user</code></tvar> and <tvar name=4><code>cur_user_text</code></tvar> identify the user that made that change, where <tvar name=3><code>cur_user</code></tvar> holds the ID of that user, if they were logged in.</translate>
<translate><!--T:9--> <tvar name=1><code>cur_timestamp</code></tvar> notes the time and date of the change, <tvar name=2><code>cur_minor_edit</code></tvar> carries the state of that checkbox upon saving.</translate>
<translate>
<!--T:10-->
The other fields mainly serve decorative purposes:
</translate>
*'''cur_restrictions''' - <translate><!--T:11--> says who can edit that page.</translate> <translate><!--T:12--> Given the nature of Wikipedia, this field will be empty for all articles, except the protected ones.</translate>
*'''cur_counter''' - <translate><!--T:13--> was once supposed to count the views of each page.</translate> <translate><!--T:14--> That function was turned off due to heavy database traffic and some bugs.</translate>
*'''cur_is_redirect''' - <translate><!--T:15--> a fast and easy way of checking if the <tvar name=1><code>cur_text</code></tvar> starts with "#REDIRECT".</translate>
*'''cur_random''' - <translate><!--T:16--> used by the "random page" function.</translate> <translate><!--T:17--> It stores a randomly selected floating-point number between 0 and 1.</translate> <translate><!--T:18--> When someone visits <tvar name=1>[[Special:Random]]</tvar> the wiki picks another random number and grabs the page with the closest <tvar name=2><code>cur_random</code></tvar> value.</translate> <translate><!--T:19--> This seems to be much, much faster than <tvar name=1>'ORDER BY RAND() LIMIT 1'</tvar> with large numbers of pages, as it's a simple column index lookup.</translate>
*'''inverse_timestamp''' - <translate><!--T:20--> inverse of the <tvar name=1><code>cur_timestamp</code></tvar> field for reverse sorting on mysql 3.x; this isn't necessary on mysql 4.x and at some point should be removed.</translate>
*'''cur_touched''' - <translate><!--T:21--> timestamp for cache invalidation; updated on page save and the creation/deletion of linked pages</translate>
<translate>
==Schema summary== <!--T:22-->
</translate>
{{MW version|version=1.4|comment=and before}}
{{describe table}}
<pre>
+-------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------+----------------+
| cur_id | int(8) unsigned | | PRI | 0 | auto_increment |
| cur_namespace | tinyint(2) unsigned | | MUL | | |
| cur_title | varchar(255) binary | | MUL | | |
| cur_text | mediumtext | | | | |
| cur_comment | tinyblob | | | | |
| cur_user | int(5) unsigned | | MUL | 0 | |
| cur_user_text | varchar(255) binary | | MUL | | |
| cur_timestamp | varchar(14) binary | | MUL | | |
| cur_restrictions | tinyblob | | | | |
| cur_counter | bigint(20) unsigned | | | 0 | |
| cur_is_redirect | tinyint(1) unsigned | | | 0 | |
| cur_minor_edit | tinyint(1) unsigned | | | 0 | |
| cur_is_new | tinyint(1) unsigned | | | 0 | |
| cur_random | double unsigned | | MUL | 0 | |
| inverse_timestamp | varchar(14) binary | | | | |
| cur_touched | varchar(14) binary | | | | |
+-------------------+---------------------+------+-----+---------+----------------+
</pre>
<translate>
==Indexes== <!--T:23-->
</translate>
{{MW 1.4}}<!--only-->
{{show index in table}}
<pre style="overflow-x: scroll; white-space: pre;">
+-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| cur | 0 | PRIMARY | 1 | cur_id | A | 0 | NULL | NULL | | BTREE | | |
| cur | 0 | name_title | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | |
| cur | 0 | name_title | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | cur_title | 1 | cur_title | A | 0 | 20 | NULL | | BTREE | | |
| cur | 1 | cur_timestamp | 1 | cur_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | cur_random | 1 | cur_random | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | name_title_timestamp | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | name_title_timestamp | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | name_title_timestamp | 3 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | user_timestamp | 1 | cur_user | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | user_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | usertext_timestamp | 1 | cur_user_text | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | usertext_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | namespace_redirect_timestamp | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | namespace_redirect_timestamp | 2 | cur_is_redirect | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | namespace_redirect_timestamp | 3 | cur_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | id_title_ns_red | 1 | cur_id | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | id_title_ns_red | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | id_title_ns_red | 3 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | |
| cur | 1 | id_title_ns_red | 4 | cur_is_redirect | A | 0 | NULL | NULL | | BTREE | | |
+-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
</pre>
{{databases}}
[[Category:MediaWiki database tables{{#translation:}}|Cur table]]
ltdwki5p9yvwz2hkxjuwjbk6jcobmbe
Manual:Old table
100
10531
8390209
6752228
2026-05-24T22:20:23Z
Nintendofan885
12068159
invert on dark mode
8390209
wikitext
text/x-wiki
<languages/>
{{Database layout}}
{{MW 1.4|and before}}
[[File:Database-restructure.png|thumb|class=skin-invert-image|<translate><!--T:18--> The <tvar name=1><code>cur</code></tvar> and <tvar name=2><code>old</code></tvar> table were [[<tvar name=3>Special:MyLanguage/Proposed Database Schema Changes/October 2004</tvar>|replaced in 2004]].</translate>]]
<translate><!--T:1--> The <tvar name=1>'''old'''</tvar> table is where MediaWiki versions up to MediaWiki 1.4 store historical versions of articles.</translate>
<translate><!--T:2--> These MediaWiki versions store the current version of articles in the <tvar name=cur>{{ll|Manual:cur table|cur}}</tvar> table.</translate>
<translate><!--T:3--> Most fields of the <tvar name=1><code>old</code></tvar> table correspond to the same fields in the <tvar name=cur>{{ll|Manual:cur table|cur}}</tvar> table. </translate>
<translate><!--T:4--> In MediaWiki 1.5 the contents of the <tvar name=2><code>old</code></tvar> table and of the <tvar name=3>{{ll|Manual:cur table|cur}}</tvar> table {{<tvar name=1>ll|Proposed Database Schema Changes/October 2004</tvar>|were merged together}} and moved to the <tvar name=4>{{ll|Manual:page table|page}}</tvar> table and the <tvar name=5>{{ll|Manual:revision table|revision}}</tvar> table.</translate>
<translate><!--T:5--> Finally the <tvar name=1><code>old</code></tvar> table was renamed to <tvar name=text>{{ll|Manual:text table|text}}</tvar> table.</translate>
<translate><!--T:6--> That way the <tvar name=1><code>text</code></tvar> table also contains some old columns, which were part of the <tvar name=2><code>old</code></tvar> table, but are now no longer needed in the <tvar name=1><code>text</code></tvar> table.</translate>
<translate><!--T:7--> After running the updater when updating from MediaWiki 1.4 or older to a newer version, all fields in the <tvar name=2><code>text</code></tvar> table '''except <tvar name=1>old_id, old_text, old_flags</tvar>''' are not needed anymore and '''can be safely deleted.'''</translate>
For MediaWiki 1.35 and older, these fields '''must''' no longer be present to avoid database errors when attempting to edit a page.
<translate><!--T:8--> <tvar name=1><code>old_text</code></tvar> contents may be compressed, as indicated by "gzip" in the <tvar name=2><code>old_flags</code></tvar> field.</translate>
<translate><!--T:9--> (Data is compressed with the <tvar name=gzdeflate>[https://php.net/function.gzdeflate gzdeflate]</tvar> function of PHP: there is no gzip header or checksum, set the window size to negative(?) if not using PHP to read data.)</translate>
<translate>
<!--T:10-->
<tvar name=1><code>old_id</code></tvar> serves as a unique index for a given revision, with some caveats:
<!--T:11-->
* Since the <tvar name=2><code>cur</code></tvar> table carried the most recent revision separately, <tvar name=1><code>old_id</code></tvar> was not assigned to a revision until it was no longer the most recent version of a page</translate>
<translate>
<!--T:12-->
* Since the <tvar name=archive>{{ll|Manual:archive table|archive}}</tvar> table does not preserve the <tvar name=1><code>old_id</code></tvar> number, it will be different after deletion/restoration (the old number is not reused).</translate> <translate><!--T:13--> The revision number (<tvar name=1><code>rev_id</code></tvar>) however ''will'' be used so that links pointing to a specific revision will still work after deletion/restoration.</translate>
<translate>
<!--T:14-->
* <tvar name=1><code>old_id</code></tvar> is not necessarily numerically chronological, either within a given page's history or in the whole database
<!--T:15-->
<tvar name=1><code>old_timestamp</code></tvar> also may not be unique in a page history series.
== Schema summary == <!--T:16-->
</translate>
{{MW 1.4|and before}}
{{describe table}}
<pre style="overflow-x: scroll; white-space: pre;">
mysql> DESCRIBE old;
+-------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------+----------------+
| old_id | int(8) unsigned | | PRI | NULL | auto_increment |
| old_namespace | tinyint(2) unsigned | | | 0 | |
| old_title | varchar(255) binary | | | | |
| old_text | mediumtext | | | | |
| old_comment | tinyblob | | | | |
| old_user | int(5) unsigned | | | 0 | |
| old_user_text | varchar(255) binary | | | | |
| old_timestamp | varchar(14) binary | | | | |
| old_minor_edit | tinyint(1) | | | 0 | |
| old_flags | tinyblob | | | | |
| inverse_timestamp | varchar(14) binary | | | | |
+-------------------+---------------------+------+-----+---------+----------------+
</pre>
<translate>
==Indexes== <!--T:17-->
</translate>
{{MW 1.4}}<!--only-->
{{show index in table}}
<pre style="overflow-x: scroll; white-space: pre;">
+-------+------------+----------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| old | 0 | PRIMARY | 1 | old_id | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | old_timestamp | 1 | old_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | name_title_timestamp | 1 | old_namespace | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | name_title_timestamp | 2 | old_title | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | name_title_timestamp | 3 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | user_timestamp | 1 | old_user | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | user_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | usertext_timestamp | 1 | old_user_text | A | 0 | NULL | NULL | | BTREE | | |
| old | 1 | usertext_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | |
+-------+------------+----------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
</pre>
{{databases}}
[[Category:MediaWiki database tables{{#translation:}}|Old table]]
e2uh2gw2xygnlk2ztmegbsikx905boj
Extension:InputBox
102
18306
8390503
8376558
2026-05-25T10:26:28Z
~2026-31303-23
18406036
/* */
8390503
wikitext
text/x-wiki
<translate><!--T:2--> The extension adds already created HTML forms to wiki pages.</translate>
<translate> Users can "complete" a form (entering text, selecting menu items, etc.) by entering text into the box.</translate>
<translate>
InputBox was originally created by <tvar name=user></tvar> for the purpose of adding a <tvar name=create-article>''{{int|Articleplaceholder-abouttopic-create-article-button}}''</tvar> box to .
== Installation == <!--T:5-->
</translate>
{{bundled|1.21}}
{{ExtensionInstall
|repo-name=InputBox
|registration=required
}}
<translate>
== Example == <!--T:6-->
<!--T:7-->
Box for starting a new article.
===Wiki code=== <!--T:8-->
</translate>
<syntaxhighlight lang="html">
<inputbox>
type = create
width = 30px <!-- <translate nowrap><!--T:150--> with unit of measurement</translate> -->
break = no
placeholder = Page title
</inputbox>
</syntaxhighlight>
<translate>
===Result=== <!--T:9-->
</translate>
<div style="float:{{dir|{{pagelang}}|right|left}};">
<inputbox>
type = create
width = 30px
break = no
placeholder = Page title
</inputbox>
</div>
{{clr}}
<translate>
== General syntax == <!--T:10-->
<!--T:11-->
Input boxes are constructed like this:
</translate>
<syntaxhighlight lang="html">
<inputbox>
type = <!-- <input> type == search search2 create comment commenttitle fulltext move -->
bgcolor = <!-- Background color of parent <form>. -->
width = <!-- <translate nowrap><!--T:151--> Width of text field (searchbox) in 'characters'.</translate> <translate nowrap><!--T:152--> Default:</translate> 50 -->
page = <!-- Wiki pagename (i.e. page title) to post comment to, or move page to. No [[X]]. -->
default = <!-- Initial value of the text field. -->
preloadtitle = <!-- Content to prepopulate the title field with for a new comment -->
preload = <!-- Content to prepopulate the source editor with for a new topic/comment, or new page. -->
editintro = <!-- Wiki pagename of page to be transcluded as 'help text' shown above source editor window. -->
hidden = <!-- Any value will hide the text field, but not buttons whose links will still work. -->
searchbuttonlabel = <!-- Visual label for "Search full text" in type == search == fulltext. -->
searchengine = <!-- Either 'MediaSearch' or 'Search'. Defaults to the wiki's value for the search-special-page preference. -->
searchtype = <!-- If 'MediaSearch' is selected for searchengine, the result type. One of 'image' (default), 'video', 'audio', 'page', or 'other'. -->
fulltextbutton = <!-- Visual label for "Search full text" -->
labeltext = <!-- labeltext -->
break = <!-- break -->
namespaces = <!-- namespaces -->
prefix = <!-- prefix -->
placeholder = <!-- placeholder -->
minor = <!-- minor -->
nosummary = <!-- nosummary -->
summary = <!-- summary -->
id = <!-- id -->
inline = <!-- inline -->
dir = <!-- dir -->
preloadparams[] = <!-- preloadparams[] -->
searchfilter = <!-- searchfilter -->
useve = <!-- useve -->
usedt = <!-- usedt -->
arialabel = <!-- arialabel -->
buttonlabel = <!-- Visual label for primary search button. -->
</inputbox>
</syntaxhighlight>
<translate><!--T:140--> '''Buttons are not exposed to assistive technology''': currently the button elements generated by this template have no accessible label. Screen readers therefore announce only the element role (for example, "Button.") rather than a meaningful label.</translate>
<translate><!--T:141--> There is no reliable way to add an accessible label without access to the HTML code.</translate>
<translate><!--T:12--> The <tvar name=type><code>type</code></tvar> parameter is mandatory.</translate>
<translate><!--T:13--> All other parameters are optional.</translate>
<translate><!--T:14--> <tvar name=preloadparams><code>preloadparams[]</code></tvar> can appear more than once.</translate>
<translate>
== Box types == <!--T:15-->
<!--T:16-->
The default location of the “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button(s) is below the input box.
<!--T:17-->
The “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button can be moved to the right by using the line break parameter to eliminate the line break between the box and the button: <tvar name=break><code>break=no</code></tvar>.
<!--T:18-->
Having the “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button to the right is useful for search boxes when search suggestions would otherwise cover up a search button below the search box.
</translate>
{| class="wikitable"
! <translate><!--T:19--> type</translate>
! <translate><!--T:20--> Example</translate>
! <translate><!--T:21--> Description</translate>
|-
| {{pval|search}}
|
<inputbox>
type=search
</inputbox>
| <translate><!--T:22--> Creates a search box which has a default width of 50 characters.</translate> <translate><!--T:23--> Information added in the text box is searched for the exact page title (first button) or text in articles (second button).</translate>
|-
| {{pval|create}}
|
<inputbox>
type=create
</inputbox>
| <translate><!--T:24--> Creates a new page.</translate> <translate><!--T:25--> Information added in the text box is the name of the page to be created (or page to edit if it already exists).</translate>
|-
| {{pval|comment}}
|
<inputbox>
type=comment
</inputbox>
| <translate><!--T:26--> Adds a new section to the bottom of the page specified in the text box (creates the page if new).</translate>
|-
| {{pval|commenttitle}}
|
<inputbox>
type=commenttitle
page={{TALKPAGENAME}}
</inputbox>
| <translate><!--T:27--> Adds a new section with the section header typed into the text box.</translate> <translate><!--T:28--> The title can be specified with <tvar name=default><code>default=</code></tvar> parameter. The page has to be specified with <tvar name=page><code>page=</code></tvar> parameter.</translate> <translate><!--T:135--> For some reason this does NOT work when using the extension by invoking it with <tvar name=1><nowiki>{{#tag}}</nowiki></tvar>, only when using <tvar name=2>{{tag|inputbox|open}}</tvar>.</translate> {{introduced-inline|[[rev:47203]]}}
|-
| {{pval|fulltext}}
|
<inputbox>
type=fulltext
</inputbox>
| <translate><!--T:30--> Search only with the fulltext search button, without the exact match button (“<tvar name=go>{{int|Go}}</tvar>” button).</translate> {{introduced-inline|[[rev:45269]]}}
|-
| {{pval|move}}
|
<inputbox>
type=move
page={{PAGENAME}}
</inputbox>
| <translate><!--T:32--> Move a page to a different name.</translate> This also doesn't work when creating it by invoking a tag. {{introduced-inline|[[gerrit:97559]]}}
|}
<translate><!--T:34--> For <tvar name=search2><code>type=search2</code></tvar>, the default location for the search button is inline to the right.</translate>
<translate><!--T:35--> Currently, it does not seem to be possible to add other parameters to this type of input box.</translate>
<translate><!--T:36--> This search box searches the entire wiki that it is placed on.</translate>
{| class="wikitable"
! <translate><!--T:37--> type</translate>
! <translate><!--T:38--> Example</translate>
|-
| {{pval|search2}}
|
<inputbox>
type=search2
</inputbox>
|}
<div style="clear:both;"></div>
<translate>
== Parameters == <!--T:39-->
</translate>
<div class="noresize">
{| class="wikitable"
! <translate><!--T:40--> Parameter</translate>
! <translate><!--T:41--> Description</translate>
! <translate><!--T:42--> Scope</translate>
! <translate><!--T:45--> Result</translate>
! <translate><!--T:44--> Example</translate>
! <translate><!--T:43--> Compatibility</translate>
|-
| {{inline-code|lang=wikitext|arialabel{{=}}}}
| <translate><!--T:130--> Supply the aria-label attribute to the InputBox to ensure generated markup is accessible to screen readers.</translate> <translate><!--T:139--> See [<tvar name=url>https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label</tvar> ARIA: aria-label attribute].</translate>
| <translate><!--T:126--> All types</translate>
| <inputbox>
type=search
arialabel=Search the wiki
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
arialabel=Search the wiki
</inputbox></syntaxhighlight>
|{{MW version|version=1.35|comment=and later|gerrit change=572050|compact=1}}
|-
| {{inline-code|lang=wikitext|bgcolor{{=}}}}
| <translate><!--T:46--> Sets the table background color ([[w:Web colors|HTML color values]]).</translate> <translate><!--T:47--> Do not use quotes.</translate>
| <translate><!--T:48--> All types</translate>
| <inputbox>
type=search
bgcolor=gray
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
bgcolor=gray
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|width{{=}}}}
| <translate><!--T:49--> Sets the width of the InputBox in characters.</translate>
| <translate><!--T:50--> All types</translate>
| <inputbox>
type=create
width=24
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
width=24
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|default{{=}}}}
| <translate><!--T:51--> Default text to put in the InputBox.</translate>
| <translate><!--T:52--> All types</translate>
| <inputbox>
type=comment
default=User talk:Eloquence
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
default=User talk:Eloquence
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|preloadtitle{{=}}}}
| <translate><!--T:145--> Default text to add as the title for a new comment.</translate>
| comment
| <inputbox>
type=comment
preloadtitle=My comment title
default=Extension talk:InputBox
</inputbox>
| <syntaxhighlight lang="html"><inputbox>
type=comment
preloadtitle=My comment title
default=Extension talk:InputBox
</inputbox></syntaxhighlight>
| {{MW version|version=1.45|comment=and later|gerrit change=1191433|compact=1}}
|-
|rowspan=2 | {{inline-code|lang=wikitext|preload{{=}}}}
| <translate><!--T:53--> The page under this title will be preloaded (see <tvar name=1>{{ll|Manual:Creating pages with preloaded text}}</tvar>) into the blank editbox when a new page is created.</translate>
| create, comment, commenttitle
| <inputbox>
type=create
preload=Log
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
preload=Log
</inputbox></syntaxhighlight>
|''?''
|-
| colspan="3" | <translate><!--T:54--> Enter the title of a non-existent page in the example InputBox above or below, and click "<tvar name=create>{{int|inputbox-createarticle}}</tvar>" or "<tvar name=new>{{int|inputbox-postcomment}}</tvar>" respectively to test this effect.</translate>
|
|
|-
| {{inline-code|lang=wikitext|editintro{{=}}}}
| <translate><!--T:55--> The page which is given under this parameter will be shown, as instructions, ''above'' the editing window.</translate>
| create, comment
| <inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|buttonlabel{{=}}}}
| <translate><!--T:56--> This label will be used for the main button of the form.</translate>
| <translate><!--T:57--> All types</translate>
| <inputbox>
type=comment
buttonlabel=<translate nowrap><!--T:128--> Add new rumor</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
buttonlabel=<translate nowrap><!--T:127--> Add new rumor</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|hidden{{=}}}}
| <translate><!--T:58--> This specifies that there is no InputBox.</translate>
<translate><!--T:59--> It is used with parameter <tvar name=default><code>default</code></tvar>, now not being a default, but the fixed value of the name of the page.</translate>
<translate><!--T:133--> Any value means ''yes/true''.</translate>
| create, comment
| <inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preloadtitle=Comment title
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=<translate nowrap><!--T:61--> Post a comment on the talk page</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preloadtitle=Comment title
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=<translate nowrap><!--T:60--> Post a comment on the talk page</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|searchbuttonlabel{{=}}}}
| <translate><!--T:62--> This label will be used for the "Search full text" button of the search form.</translate>
| search, fulltext
| <inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:64--> Dig deeper</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:63--> Dig deeper</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|searchengine{{=}}}}
| <translate><!--T:136--> If <tvar name=1>{{ll|Extension:MediaSearch}}</tvar> is installed, this parameter sets the search special page to either <tvar name=2><code>Search</code></tvar> or <tvar name=3><code>MediaSearch</code></tvar>.</translate> <translate><!--T:137--> If this parameter is not used, the user's (or wiki's default) preference will be used.</translate>
| search, search2
| <inputbox>
type=search
searchengine=MediaSearch
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchengine=MediaSearch
</inputbox></syntaxhighlight>
| {{MW version|version=1.45|comment=and later|gerrit change=1167841|compact=1}}
|-
| {{inline-code|lang=wikitext|searchtype{{=}}}}
| <translate><!--T:148--> If <tvar name=1><code>searchengine=MediaSearch</code></tvar>, this parameter configures which results' tab to display.</translate> <translate><!--T:149--> One of the following:</translate> <code>image</code>, <code>video</code>, <code>audio</code>, <code>page</code>, <code>other</code>
| search, search2
| <inputbox>
type=search
searchengine=MediaSearch
searchtype=audio
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchengine=MediaSearch
searchtype=audio
</inputbox></syntaxhighlight>
| {{MW version|version=1.46|comment=and later|gerrit change=1174925|compact=1}}
|-
| {{inline-code|lang=wikitext|fulltextbutton{{=}}}}
| <translate><!--T:65--> Show the full text search button on search2 form</translate>
| search2
| <inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:67--> Dig deeper</translate>
fulltextbutton=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search2
searchbuttonlabel=<translate nowrap><!--T:66--> Dig deeper</translate>
fulltextbutton=true
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|labeltext{{=}}}}
| <translate><!--T:68--> Text to display beside the button</translate>
| search2
| <inputbox>
type=search2
width=15px
searchbuttonlabel=<translate nowrap><!--T:71--> Dig deeper</translate>
labeltext=<translate nowrap><!--T:72--> Look for:</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search2
searchbuttonlabel=<translate nowrap><!--T:69--> Dig deeper</translate>
labeltext=<translate nowrap><!--T:70--> Look for:</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|break{{=}}}}
| <translate><!--T:73--> Whether or not to insert a line break between the input box and the button(s).</translate> <translate><!--T:74--> Defaults to <tvar name=yes>'''yes'''</tvar> (use a line break).</translate>
| <translate><!--T:75--> All types</translate>
| <inputbox>
type=create
width=24
break=no
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
width=24
break=no
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|namespaces{{=}}}}
| <translate><!--T:76--> Support for namespace checkboxes in fulltext search.</translate>
<translate><!--T:77--> With "<tvar name=main><code>Main'''**'''</code></tvar>", main article namespace is checked by default.</translate>
| search, fulltext
| <inputbox>
type=search
namespaces=Main**,Help
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
namespaces=Main**,Help
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|prefix{{=}}}}
|
<translate>
<!--T:78-->
* Narrow down search to pages beginning with certain prefix.</translate> <translate><!--T:79--> Note this only works with certain search back-ends, currently only <tvar name=ext>{{ll|Extension:CirrusSearch}}</tvar>.</translate> <translate><!--T:80--> Defaults to empty string (search all pages).</translate>
<translate>
<!--T:81-->
* Create new page beginning with a certain prefix.</translate>
<translate>
<!--T:82-->
* In <tvar name=tmove>type=move</tvar>, the prefix is prepended to the default parameter.
<!--T:83-->
Remark: underscores aren't recognized as spaces.
</translate>
| search, fulltext, create
| <inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>
<translate><!--T:84--> The button below prefixes the name with <tvar name=mypage><code>Special:Mypage/</code></tvar>.</translate>
<inputbox>
type=create
preload=Template:Article wizard/userpageskeleton
default=<translate nowrap><!--T:129--> new article name here</translate>
prefix=Special:Mypage/
editintro=Wikipedia:Article wizard/Wizard-New edit instructions userdraft
buttonlabel=<translate nowrap><!--T:85--> Create a userspace draft</translate>
width=50
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|placeholder{{=}}}}
| <translate><!--T:86--> Define placeholder text that will display in the input box when it is empty.</translate>
| <translate><!--T:87--> All types</translate>
| <inputbox>
type=search
placeholder=<translate nowrap><!--T:89--> Search this wiki</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
placeholder=<translate nowrap><!--T:88--> Search this wiki</translate>
</inputbox></syntaxhighlight>
|{{MW version|version=1.19|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|page{{=}}}}
| <translate><!--T:90--> Page to posts comment to, or page to move.</translate>
| comment, move
| <inputbox>
type=comment
page=Project:Sandbox
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|minor{{=}}}}
| <translate><!--T:91--> Minor edit.</translate>
| comment, create
| <inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|nosummary{{=}}}}
| <translate><!--T:92--> Edit summary (headline) not required for new comment.</translate>
| comment
| <inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|summary{{=}}}}
| <translate><!--T:93--> Edit summary or move reason.</translate>
| create, move
| <inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|id{{=}}}}
| <translate><!--T:94--> ID attribute for <tvar name=1>{{tag|form|open}}</tvar>.</translate>
| <translate><!--T:95--> All types</translate>
| <inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox></syntaxhighlight>
|{{MW version|version=1.23|comment=and later|gerrit change=|compact=1}}<br/>for some types
|-
| {{inline-code|lang=wikitext|inline{{=}}}}
| <translate><!--T:97--> Make the InputBox be an inline element (no line break at beginning).</translate> <translate><!--T:134--> Any value means ''yes/true''.</translate>
| search2
| <translate><!--T:99--> Text here:</translate> <inputbox>
type=search2
inline=true
width=10
</inputbox>
|<syntaxhighlight lang="html"><translate nowrap><!--T:98--> Text here:</translate> <inputbox>
type=search2
inline=true
width=10
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|dir{{=}}}}
| <translate><!--T:100--> Right to left (rtl) or left to right (ltr).</translate> <translate><!--T:101--> Defaults to directionality of the page's language.</translate>
| <translate><!--T:102--> All types</translate>
| <inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox></syntaxhighlight>
|
|-
| id="preloadparams" | {{inline-code|lang=wikitext|preloadparams[]{{=}}}}
| <translate><!--T:103--> Specify parameters to the preload text.</translate> <translate><!--T:104--> See [[<tvar name=man>Manual:Creating pages with preloaded text#Using parameters</tvar>|Creating pages with preloaded text]].</translate>
| create, comment, commenttitle
| <inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox></syntaxhighlight>
|{{MW version|version=1.25|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|searchfilter{{=}}}}
| <translate><!--T:123--> Specify parameters to append to the search.</translate> <translate><!--T:153--> See <tvar name=1>{{Ll|Help:CirrusSearch}}</tvar> for details.</translate>
| search, fulltext
| <inputbox>
type=search
searchfilter=insource:foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchfilter=insource:foo
</inputbox></syntaxhighlight>
|{{MW version|version=1.30|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|useve{{=}}}}
| <translate><!--T:124--> When creating a page the input box will use the new visual editor, if the extension is installed, and this parameter is set to any value.</translate>
| create, comment
| <inputbox>
type=create
break=no
useve=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
break=no
useve=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|usedt{{=}}}}
| <translate><!--T:131--> When adding a new section, the input box will open the [[<tvar name=1>Special:MyLanguage/Help:DiscussionTools#New topic tool</tvar>|DiscussionTools new topic tool]], if the extension is installed, and this parameter is set to any value.</translate>
| comment, commenttitle
| <inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox></syntaxhighlight>
|
|}
</div>
<translate><!--T:107--> Applying <tvar name=create>''create''</tvar> to an existing page simply gives the edit page.</translate>
<translate><!--T:108--> In that case <tvar name=preload><code>preload</code></tvar> is ignored.</translate>
<translate><!--T:109--> Applying <tvar name=comment>''comment''</tvar> for a new page works.</translate>
<translate><!--T:110--> The texts taken from the <tvar name=mediawiki><code>MediaWiki:</code></tvar> namespace are of course only examples, any existing page can be used for <tvar name=editintro><code>editintro</code></tvar> or <tvar name=preload><code>preload</code></tvar>.</translate>
<translate><!--T:111--> Unfortunately <tvar name=preload><code>preload</code></tvar> does not yet work for the [[<tvar name=special>Special:Upload</tvar>|Upload]] summary.</translate>
<translate>
== Customizing with CSS == <!--T:142-->
</translate>
<translate><!--T:143--> You can customize the inputbox in templates using CSS. First, wrap the inputbox in <tvar name=1>{{tag|div|o}}</tvar> tags with an unique ID then use CSS selectors to change its appearance.</translate>
<translate><!--T:144--> You could also give the inputbox itself an ID and use the ID in the CSS selectors. You could also add a custom search button or icon.</translate>
<!-- {{Exampleinputbox}} -->
{{codesample-header|<kbd>Template:Exampleinputbox</kbd>}}
{{#tag:syntaxhighlight|
<<nowiki/>templatestyles src="Template:Example/styles.css"/><div id = "inputbox-search-wrapper">
{<nowiki/>{#tag: inputbox{{!}}
type = search
id = inputbox-search
placeholder = {{int:search-filter-title-prefix-reset}}
namespaces = Main**,Help**
}<nowiki/>}<div class = "inputbox-search-icon"></div>
</div>|lang=wikitext}}
{{codesample-header|<kbd>Exampleinputbox/styles.css</kbd>}}
{{#tag:syntaxhighlight|
#inputbox-search-wrapper {
box-sizing: border-box;
height: 32px;
display: flex;
border: 1px solid var(--border-color-base, #a2a9b1);
border-radius: 10px;
}
#inputbox-search-wrapper input {
all: unset;
padding-left: 8px;
padding-top: 6px;
padding-bottom: 6px;
width: 180px !important;
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input::placeholder {
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input.mw-ui-button,
.searchbox .cdx-checkbox--inline,
#inputbox-search-wrapper .cdx-button,
#inputbox-search-wrapper div.mw-ui-checkbox {
display: none;
}
.inputbox-search-icon {
padding-left: 8px;
width: 25px;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Vector_search_icon.svg");
background-size: 18px;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
}
|lang=css}}
<translate>
=== Alignment === <!--T:112-->
<!--T:113-->
If you want to create an inputbox on the right side of the page, do something like:
</translate>
{{#tag:syntaxhighlight|
<div style="float:{{dir|{{pagelang}}|left|right}}; width:42em">
<inpu<nowiki />tbox>
type=create
</inp<nowiki />utbox>
</div>
|lang="html"
}}
<translate><!--T:132--> Gives:</translate>
<div style="float:{{dir|{{pagelang}}|left|right}}; width:42em">
<inputbox>
type=create
</inputbox>
</div>
{{clear}}
<translate>
== Using InputBox in a template == <!--T:138-->
</translate>
{{MW version|version=1.45|comment=and before|gerrit change=1224857}}
<translate><!--T:116--> In order to create many similar input boxes, InputBox can be used in a template.</translate>
<translate><!--T:117--> However, passing template parameters to InputBox parameters only works if the <tvar name=1>{{tag|inputbox}}</tvar> tag is used via the <tvar name=2>{{ll|Help:Magic_words#tag|#tag}}</tvar> parser function with <tvar name=3><code><nowiki>{{#tag:inputbox | ...}}</nowiki></code></tvar> inside the template.</translate>
<translate>
<!--T:118-->
The following example is a template to create a new wiki page from a named template:
</translate>
<syntaxhighlight lang=wikitext>
{{#tag:inputbox |
type=create
buttonlabel=<translate nowrap><!--T:119--> Create new {{{1|article}}}</translate>
preload={{{2|Template:Article}}}
}}
</syntaxhighlight>
<translate>
<!--T:120-->
When instantiating the template, the first parameter gives the item that is created (default: <tvar name=article><code>article</code></tvar>) as spelled out in the button, the second parameter gives the name of the template used to create the item (default: <tvar name=template><code>Template:Article</code></tvar>).
<!--T:121-->
E.g., the code for an input box to create a new project from a project template might look like this:
</translate>
<syntaxhighlight lang=moin>
{{CreateNew|project|Template:Project}}
</syntaxhighlight>
As of version 1.46 template parameters work as expected with the {{tag|inputbox}} syntax and it is no longer necessary to use the <code><nowiki>{{#tag:}}</nowiki></code> workaround.
<translate>
== Notes == <!--T:146-->
<!--T:147-->
This extension splits the {{<tvar name=1>ll|Manual:Parser cache</tvar>|parser cache}} based on the {{<tvar name=2>ll|Manual:Language</tvar>|user interface language}} (<tvar name=3>[[git:mediawiki/extensions/InputBox/+/e18b7e6|git:e18b7e6]]</tvar>), in order to show localized label texts.
== See also == <!--T:122-->
</translate>
*{{ll|Extension:Create Page}}
{{OnWikimedia}}
{{Used by}}
[[Category:Form extensions{{#translation:}}]]
[[Category:Page creation extensions{{#translation:}}]]
[[Category:Search widget extensions{{#translation:}}]]
[[Category:Edit box extensions{{#translation:}}]]
ncxvrihrnlytdotu0v7ryjvpzv557z9
8390504
8390503
2026-05-25T10:26:58Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31303-23|~2026-31303-23]] ([[User talk:~2026-31303-23|talk]]) to last version by ZandDev
8376558
wikitext
text/x-wiki
<languages />
{{ReadersExperienceExtension/passive}}
{{Extension
|status = stable
|type1 = tag
|type2 = page action
|type3 = search
|username =
|author = * Erik Möller
* Leonardo Pimenta
* Rob Church
* Trevor Parscal
* Daniel Schuba
|description = <translate><!--T:1--> Allows users to add predefined HTML forms to wiki pages</translate>
|image = Simple_Input_Form.png{{!}}class=skin-invert
|imagesize = border{{!}}325
|version = Continuous updates
|update =
|download = {{WikimediaDownload|phab=EINB}}
|needs-updatephp = No
|readme =
|changelog =
|parameters =
|tags = * <inputbox>
|rights =
|example =
|compatibility =
|phabricator = MediaWiki-extensions-InputBox
}}
<translate><!--T:2--> The '''InputBox''' extension adds already created [[w:HTML form|HTML forms]] to wiki pages.</translate>
<translate><!--T:3--> Users can "complete" a form (entering text, selecting menu items, etc.) by entering text into the box.</translate>
<translate>
<!--T:4-->
InputBox was originally created by <tvar name=user>[[User:Eloquence|Erik Möller]]</tvar> for the purpose of adding a <tvar name=create-article>''{{int|Articleplaceholder-abouttopic-create-article-button}}''</tvar> box to [[<tvar name=1>m:Special:MyLanguage/Wikinews</tvar>|Wikinews]].
== Installation == <!--T:5-->
</translate>
{{bundled|1.21}}
{{ExtensionInstall
|repo-name=InputBox
|registration=required
}}
<translate>
== Example == <!--T:6-->
<!--T:7-->
Box for starting a new article.
===Wiki code=== <!--T:8-->
</translate>
<syntaxhighlight lang="html">
<inputbox>
type = create
width = 30px <!-- <translate nowrap><!--T:150--> with unit of measurement</translate> -->
break = no
placeholder = Page title
</inputbox>
</syntaxhighlight>
<translate>
===Result=== <!--T:9-->
</translate>
<div style="float:{{dir|{{pagelang}}|right|left}};">
<inputbox>
type = create
width = 30px
break = no
placeholder = Page title
</inputbox>
</div>
{{clr}}
<translate>
== General syntax == <!--T:10-->
<!--T:11-->
Input boxes are constructed like this:
</translate>
<syntaxhighlight lang="html">
<inputbox>
type = <!-- <input> type == search search2 create comment commenttitle fulltext move -->
bgcolor = <!-- Background color of parent <form>. -->
width = <!-- <translate nowrap><!--T:151--> Width of text field (searchbox) in 'characters'.</translate> <translate nowrap><!--T:152--> Default:</translate> 50 -->
page = <!-- Wiki pagename (i.e. page title) to post comment to, or move page to. No [[X]]. -->
default = <!-- Initial value of the text field. -->
preloadtitle = <!-- Content to prepopulate the title field with for a new comment -->
preload = <!-- Content to prepopulate the source editor with for a new topic/comment, or new page. -->
editintro = <!-- Wiki pagename of page to be transcluded as 'help text' shown above source editor window. -->
hidden = <!-- Any value will hide the text field, but not buttons whose links will still work. -->
searchbuttonlabel = <!-- Visual label for "Search full text" in type == search == fulltext. -->
searchengine = <!-- Either 'MediaSearch' or 'Search'. Defaults to the wiki's value for the search-special-page preference. -->
searchtype = <!-- If 'MediaSearch' is selected for searchengine, the result type. One of 'image' (default), 'video', 'audio', 'page', or 'other'. -->
fulltextbutton = <!-- Visual label for "Search full text" -->
labeltext = <!-- labeltext -->
break = <!-- break -->
namespaces = <!-- namespaces -->
prefix = <!-- prefix -->
placeholder = <!-- placeholder -->
minor = <!-- minor -->
nosummary = <!-- nosummary -->
summary = <!-- summary -->
id = <!-- id -->
inline = <!-- inline -->
dir = <!-- dir -->
preloadparams[] = <!-- preloadparams[] -->
searchfilter = <!-- searchfilter -->
useve = <!-- useve -->
usedt = <!-- usedt -->
arialabel = <!-- arialabel -->
buttonlabel = <!-- Visual label for primary search button. -->
</inputbox>
</syntaxhighlight>
<translate><!--T:140--> '''Buttons are not exposed to assistive technology''': currently the button elements generated by this template have no accessible label. Screen readers therefore announce only the element role (for example, "Button.") rather than a meaningful label.</translate>
<translate><!--T:141--> There is no reliable way to add an accessible label without access to the HTML code.</translate>
<translate><!--T:12--> The <tvar name=type><code>type</code></tvar> parameter is mandatory.</translate>
<translate><!--T:13--> All other parameters are optional.</translate>
<translate><!--T:14--> <tvar name=preloadparams><code>preloadparams[]</code></tvar> can appear more than once.</translate>
<translate>
== Box types == <!--T:15-->
<!--T:16-->
The default location of the “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button(s) is below the input box.
<!--T:17-->
The “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button can be moved to the right by using the line break parameter to eliminate the line break between the box and the button: <tvar name=break><code>break=no</code></tvar>.
<!--T:18-->
Having the “<tvar name=submit>{{int|Htmlform-submit}}</tvar>” button to the right is useful for search boxes when search suggestions would otherwise cover up a search button below the search box.
</translate>
{| class="wikitable"
! <translate><!--T:19--> type</translate>
! <translate><!--T:20--> Example</translate>
! <translate><!--T:21--> Description</translate>
|-
| {{pval|search}}
|
<inputbox>
type=search
</inputbox>
| <translate><!--T:22--> Creates a search box which has a default width of 50 characters.</translate> <translate><!--T:23--> Information added in the text box is searched for the exact page title (first button) or text in articles (second button).</translate>
|-
| {{pval|create}}
|
<inputbox>
type=create
</inputbox>
| <translate><!--T:24--> Creates a new page.</translate> <translate><!--T:25--> Information added in the text box is the name of the page to be created (or page to edit if it already exists).</translate>
|-
| {{pval|comment}}
|
<inputbox>
type=comment
</inputbox>
| <translate><!--T:26--> Adds a new section to the bottom of the page specified in the text box (creates the page if new).</translate>
|-
| {{pval|commenttitle}}
|
<inputbox>
type=commenttitle
page={{TALKPAGENAME}}
</inputbox>
| <translate><!--T:27--> Adds a new section with the section header typed into the text box.</translate> <translate><!--T:28--> The title can be specified with <tvar name=default><code>default=</code></tvar> parameter. The page has to be specified with <tvar name=page><code>page=</code></tvar> parameter.</translate> <translate><!--T:135--> For some reason this does NOT work when using the extension by invoking it with <tvar name=1><nowiki>{{#tag}}</nowiki></tvar>, only when using <tvar name=2>{{tag|inputbox|open}}</tvar>.</translate> {{introduced-inline|[[rev:47203]]}}
|-
| {{pval|fulltext}}
|
<inputbox>
type=fulltext
</inputbox>
| <translate><!--T:30--> Search only with the fulltext search button, without the exact match button (“<tvar name=go>{{int|Go}}</tvar>” button).</translate> {{introduced-inline|[[rev:45269]]}}
|-
| {{pval|move}}
|
<inputbox>
type=move
page={{PAGENAME}}
</inputbox>
| <translate><!--T:32--> Move a page to a different name.</translate> This also doesn't work when creating it by invoking a tag. {{introduced-inline|[[gerrit:97559]]}}
|}
<translate><!--T:34--> For <tvar name=search2><code>type=search2</code></tvar>, the default location for the search button is inline to the right.</translate>
<translate><!--T:35--> Currently, it does not seem to be possible to add other parameters to this type of input box.</translate>
<translate><!--T:36--> This search box searches the entire wiki that it is placed on.</translate>
{| class="wikitable"
! <translate><!--T:37--> type</translate>
! <translate><!--T:38--> Example</translate>
|-
| {{pval|search2}}
|
<inputbox>
type=search2
</inputbox>
|}
<div style="clear:both;"></div>
<translate>
== Parameters == <!--T:39-->
</translate>
<div class="noresize">
{| class="wikitable"
! <translate><!--T:40--> Parameter</translate>
! <translate><!--T:41--> Description</translate>
! <translate><!--T:42--> Scope</translate>
! <translate><!--T:45--> Result</translate>
! <translate><!--T:44--> Example</translate>
! <translate><!--T:43--> Compatibility</translate>
|-
| {{inline-code|lang=wikitext|arialabel{{=}}}}
| <translate><!--T:130--> Supply the aria-label attribute to the InputBox to ensure generated markup is accessible to screen readers.</translate> <translate><!--T:139--> See [<tvar name=url>https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label</tvar> ARIA: aria-label attribute].</translate>
| <translate><!--T:126--> All types</translate>
| <inputbox>
type=search
arialabel=Search the wiki
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
arialabel=Search the wiki
</inputbox></syntaxhighlight>
|{{MW version|version=1.35|comment=and later|gerrit change=572050|compact=1}}
|-
| {{inline-code|lang=wikitext|bgcolor{{=}}}}
| <translate><!--T:46--> Sets the table background color ([[w:Web colors|HTML color values]]).</translate> <translate><!--T:47--> Do not use quotes.</translate>
| <translate><!--T:48--> All types</translate>
| <inputbox>
type=search
bgcolor=gray
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
bgcolor=gray
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|width{{=}}}}
| <translate><!--T:49--> Sets the width of the InputBox in characters.</translate>
| <translate><!--T:50--> All types</translate>
| <inputbox>
type=create
width=24
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
width=24
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|default{{=}}}}
| <translate><!--T:51--> Default text to put in the InputBox.</translate>
| <translate><!--T:52--> All types</translate>
| <inputbox>
type=comment
default=User talk:Eloquence
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
default=User talk:Eloquence
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|preloadtitle{{=}}}}
| <translate><!--T:145--> Default text to add as the title for a new comment.</translate>
| comment
| <inputbox>
type=comment
preloadtitle=My comment title
default=Extension talk:InputBox
</inputbox>
| <syntaxhighlight lang="html"><inputbox>
type=comment
preloadtitle=My comment title
default=Extension talk:InputBox
</inputbox></syntaxhighlight>
| {{MW version|version=1.45|comment=and later|gerrit change=1191433|compact=1}}
|-
|rowspan=2 | {{inline-code|lang=wikitext|preload{{=}}}}
| <translate><!--T:53--> The page under this title will be preloaded (see <tvar name=1>{{ll|Manual:Creating pages with preloaded text}}</tvar>) into the blank editbox when a new page is created.</translate>
| create, comment, commenttitle
| <inputbox>
type=create
preload=Log
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
preload=Log
</inputbox></syntaxhighlight>
|''?''
|-
| colspan="3" | <translate><!--T:54--> Enter the title of a non-existent page in the example InputBox above or below, and click "<tvar name=create>{{int|inputbox-createarticle}}</tvar>" or "<tvar name=new>{{int|inputbox-postcomment}}</tvar>" respectively to test this effect.</translate>
|
|
|-
| {{inline-code|lang=wikitext|editintro{{=}}}}
| <translate><!--T:55--> The page which is given under this parameter will be shown, as instructions, ''above'' the editing window.</translate>
| create, comment
| <inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|buttonlabel{{=}}}}
| <translate><!--T:56--> This label will be used for the main button of the form.</translate>
| <translate><!--T:57--> All types</translate>
| <inputbox>
type=comment
buttonlabel=<translate nowrap><!--T:128--> Add new rumor</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
buttonlabel=<translate nowrap><!--T:127--> Add new rumor</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|hidden{{=}}}}
| <translate><!--T:58--> This specifies that there is no InputBox.</translate>
<translate><!--T:59--> It is used with parameter <tvar name=default><code>default</code></tvar>, now not being a default, but the fixed value of the name of the page.</translate>
<translate><!--T:133--> Any value means ''yes/true''.</translate>
| create, comment
| <inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preloadtitle=Comment title
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=<translate nowrap><!--T:61--> Post a comment on the talk page</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preloadtitle=Comment title
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=<translate nowrap><!--T:60--> Post a comment on the talk page</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|searchbuttonlabel{{=}}}}
| <translate><!--T:62--> This label will be used for the "Search full text" button of the search form.</translate>
| search, fulltext
| <inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:64--> Dig deeper</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:63--> Dig deeper</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|searchengine{{=}}}}
| <translate><!--T:136--> If <tvar name=1>{{ll|Extension:MediaSearch}}</tvar> is installed, this parameter sets the search special page to either <tvar name=2><code>Search</code></tvar> or <tvar name=3><code>MediaSearch</code></tvar>.</translate> <translate><!--T:137--> If this parameter is not used, the user's (or wiki's default) preference will be used.</translate>
| search, search2
| <inputbox>
type=search
searchengine=MediaSearch
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchengine=MediaSearch
</inputbox></syntaxhighlight>
| {{MW version|version=1.45|comment=and later|gerrit change=1167841|compact=1}}
|-
| {{inline-code|lang=wikitext|searchtype{{=}}}}
| <translate><!--T:148--> If <tvar name=1><code>searchengine=MediaSearch</code></tvar>, this parameter configures which results' tab to display.</translate> <translate><!--T:149--> One of the following:</translate> <code>image</code>, <code>video</code>, <code>audio</code>, <code>page</code>, <code>other</code>
| search, search2
| <inputbox>
type=search
searchengine=MediaSearch
searchtype=audio
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchengine=MediaSearch
searchtype=audio
</inputbox></syntaxhighlight>
| {{MW version|version=1.46|comment=and later|gerrit change=1174925|compact=1}}
|-
| {{inline-code|lang=wikitext|fulltextbutton{{=}}}}
| <translate><!--T:65--> Show the full text search button on search2 form</translate>
| search2
| <inputbox>
type=search
searchbuttonlabel=<translate nowrap><!--T:67--> Dig deeper</translate>
fulltextbutton=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search2
searchbuttonlabel=<translate nowrap><!--T:66--> Dig deeper</translate>
fulltextbutton=true
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|labeltext{{=}}}}
| <translate><!--T:68--> Text to display beside the button</translate>
| search2
| <inputbox>
type=search2
width=15px
searchbuttonlabel=<translate nowrap><!--T:71--> Dig deeper</translate>
labeltext=<translate nowrap><!--T:72--> Look for:</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search2
searchbuttonlabel=<translate nowrap><!--T:69--> Dig deeper</translate>
labeltext=<translate nowrap><!--T:70--> Look for:</translate>
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|break{{=}}}}
| <translate><!--T:73--> Whether or not to insert a line break between the input box and the button(s).</translate> <translate><!--T:74--> Defaults to <tvar name=yes>'''yes'''</tvar> (use a line break).</translate>
| <translate><!--T:75--> All types</translate>
| <inputbox>
type=create
width=24
break=no
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
width=24
break=no
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|namespaces{{=}}}}
| <translate><!--T:76--> Support for namespace checkboxes in fulltext search.</translate>
<translate><!--T:77--> With "<tvar name=main><code>Main'''**'''</code></tvar>", main article namespace is checked by default.</translate>
| search, fulltext
| <inputbox>
type=search
namespaces=Main**,Help
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
namespaces=Main**,Help
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|prefix{{=}}}}
|
<translate>
<!--T:78-->
* Narrow down search to pages beginning with certain prefix.</translate> <translate><!--T:79--> Note this only works with certain search back-ends, currently only <tvar name=ext>{{ll|Extension:CirrusSearch}}</tvar>.</translate> <translate><!--T:80--> Defaults to empty string (search all pages).</translate>
<translate>
<!--T:81-->
* Create new page beginning with a certain prefix.</translate>
<translate>
<!--T:82-->
* In <tvar name=tmove>type=move</tvar>, the prefix is prepended to the default parameter.
<!--T:83-->
Remark: underscores aren't recognized as spaces.
</translate>
| search, fulltext, create
| <inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>
<translate><!--T:84--> The button below prefixes the name with <tvar name=mypage><code>Special:Mypage/</code></tvar>.</translate>
<inputbox>
type=create
preload=Template:Article wizard/userpageskeleton
default=<translate nowrap><!--T:129--> new article name here</translate>
prefix=Special:Mypage/
editintro=Wikipedia:Article wizard/Wizard-New edit instructions userdraft
buttonlabel=<translate nowrap><!--T:85--> Create a userspace draft</translate>
width=50
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox></syntaxhighlight>
|''?''
|-
| {{inline-code|lang=wikitext|placeholder{{=}}}}
| <translate><!--T:86--> Define placeholder text that will display in the input box when it is empty.</translate>
| <translate><!--T:87--> All types</translate>
| <inputbox>
type=search
placeholder=<translate nowrap><!--T:89--> Search this wiki</translate>
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
placeholder=<translate nowrap><!--T:88--> Search this wiki</translate>
</inputbox></syntaxhighlight>
|{{MW version|version=1.19|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|page{{=}}}}
| <translate><!--T:90--> Page to posts comment to, or page to move.</translate>
| comment, move
| <inputbox>
type=comment
page=Project:Sandbox
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|minor{{=}}}}
| <translate><!--T:91--> Minor edit.</translate>
| comment, create
| <inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|nosummary{{=}}}}
| <translate><!--T:92--> Edit summary (headline) not required for new comment.</translate>
| comment
| <inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|summary{{=}}}}
| <translate><!--T:93--> Edit summary or move reason.</translate>
| create, move
| <inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|id{{=}}}}
| <translate><!--T:94--> ID attribute for <tvar name=1>{{tag|form|open}}</tvar>.</translate>
| <translate><!--T:95--> All types</translate>
| <inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox></syntaxhighlight>
|{{MW version|version=1.23|comment=and later|gerrit change=|compact=1}}<br/>for some types
|-
| {{inline-code|lang=wikitext|inline{{=}}}}
| <translate><!--T:97--> Make the InputBox be an inline element (no line break at beginning).</translate> <translate><!--T:134--> Any value means ''yes/true''.</translate>
| search2
| <translate><!--T:99--> Text here:</translate> <inputbox>
type=search2
inline=true
width=10
</inputbox>
|<syntaxhighlight lang="html"><translate nowrap><!--T:98--> Text here:</translate> <inputbox>
type=search2
inline=true
width=10
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|dir{{=}}}}
| <translate><!--T:100--> Right to left (rtl) or left to right (ltr).</translate> <translate><!--T:101--> Defaults to directionality of the page's language.</translate>
| <translate><!--T:102--> All types</translate>
| <inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox></syntaxhighlight>
|
|-
| id="preloadparams" | {{inline-code|lang=wikitext|preloadparams[]{{=}}}}
| <translate><!--T:103--> Specify parameters to the preload text.</translate> <translate><!--T:104--> See [[<tvar name=man>Manual:Creating pages with preloaded text#Using parameters</tvar>|Creating pages with preloaded text]].</translate>
| create, comment, commenttitle
| <inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox></syntaxhighlight>
|{{MW version|version=1.25|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|searchfilter{{=}}}}
| <translate><!--T:123--> Specify parameters to append to the search.</translate> <translate><!--T:153--> See <tvar name=1>{{Ll|Help:CirrusSearch}}</tvar> for details.</translate>
| search, fulltext
| <inputbox>
type=search
searchfilter=insource:foo
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=search
searchfilter=insource:foo
</inputbox></syntaxhighlight>
|{{MW version|version=1.30|comment=and later|gerrit change=|compact=1}}
|-
| {{inline-code|lang=wikitext|useve{{=}}}}
| <translate><!--T:124--> When creating a page the input box will use the new visual editor, if the extension is installed, and this parameter is set to any value.</translate>
| create, comment
| <inputbox>
type=create
break=no
useve=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=create
break=no
useve=true
</inputbox></syntaxhighlight>
|
|-
| {{inline-code|lang=wikitext|usedt{{=}}}}
| <translate><!--T:131--> When adding a new section, the input box will open the [[<tvar name=1>Special:MyLanguage/Help:DiscussionTools#New topic tool</tvar>|DiscussionTools new topic tool]], if the extension is installed, and this parameter is set to any value.</translate>
| comment, commenttitle
| <inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox>
|<syntaxhighlight lang="html"><inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox></syntaxhighlight>
|
|}
</div>
<translate><!--T:107--> Applying <tvar name=create>''create''</tvar> to an existing page simply gives the edit page.</translate>
<translate><!--T:108--> In that case <tvar name=preload><code>preload</code></tvar> is ignored.</translate>
<translate><!--T:109--> Applying <tvar name=comment>''comment''</tvar> for a new page works.</translate>
<translate><!--T:110--> The texts taken from the <tvar name=mediawiki><code>MediaWiki:</code></tvar> namespace are of course only examples, any existing page can be used for <tvar name=editintro><code>editintro</code></tvar> or <tvar name=preload><code>preload</code></tvar>.</translate>
<translate><!--T:111--> Unfortunately <tvar name=preload><code>preload</code></tvar> does not yet work for the [[<tvar name=special>Special:Upload</tvar>|Upload]] summary.</translate>
<translate>
== Customizing with CSS == <!--T:142-->
</translate>
<translate><!--T:143--> You can customize the inputbox in templates using CSS. First, wrap the inputbox in <tvar name=1>{{tag|div|o}}</tvar> tags with an unique ID then use CSS selectors to change its appearance.</translate>
<translate><!--T:144--> You could also give the inputbox itself an ID and use the ID in the CSS selectors. You could also add a custom search button or icon.</translate>
<!-- {{Exampleinputbox}} -->
{{codesample-header|<kbd>Template:Exampleinputbox</kbd>}}
{{#tag:syntaxhighlight|
<<nowiki/>templatestyles src="Template:Example/styles.css"/><div id = "inputbox-search-wrapper">
{<nowiki/>{#tag: inputbox{{!}}
type = search
id = inputbox-search
placeholder = {{int:search-filter-title-prefix-reset}}
namespaces = Main**,Help**
}<nowiki/>}<div class = "inputbox-search-icon"></div>
</div>|lang=wikitext}}
{{codesample-header|<kbd>Exampleinputbox/styles.css</kbd>}}
{{#tag:syntaxhighlight|
#inputbox-search-wrapper {
box-sizing: border-box;
height: 32px;
display: flex;
border: 1px solid var(--border-color-base, #a2a9b1);
border-radius: 10px;
}
#inputbox-search-wrapper input {
all: unset;
padding-left: 8px;
padding-top: 6px;
padding-bottom: 6px;
width: 180px !important;
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input::placeholder {
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input.mw-ui-button,
.searchbox .cdx-checkbox--inline,
#inputbox-search-wrapper .cdx-button,
#inputbox-search-wrapper div.mw-ui-checkbox {
display: none;
}
.inputbox-search-icon {
padding-left: 8px;
width: 25px;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Vector_search_icon.svg");
background-size: 18px;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
}
|lang=css}}
<translate>
=== Alignment === <!--T:112-->
<!--T:113-->
If you want to create an inputbox on the right side of the page, do something like:
</translate>
{{#tag:syntaxhighlight|
<div style="float:{{dir|{{pagelang}}|left|right}}; width:42em">
<inpu<nowiki />tbox>
type=create
</inp<nowiki />utbox>
</div>
|lang="html"
}}
<translate><!--T:132--> Gives:</translate>
<div style="float:{{dir|{{pagelang}}|left|right}}; width:42em">
<inputbox>
type=create
</inputbox>
</div>
{{clear}}
<translate>
== Using InputBox in a template == <!--T:138-->
</translate>
{{MW version|version=1.45|comment=and before|gerrit change=1224857}}
<translate><!--T:116--> In order to create many similar input boxes, InputBox can be used in a template.</translate>
<translate><!--T:117--> However, passing template parameters to InputBox parameters only works if the <tvar name=1>{{tag|inputbox}}</tvar> tag is used via the <tvar name=2>{{ll|Help:Magic_words#tag|#tag}}</tvar> parser function with <tvar name=3><code><nowiki>{{#tag:inputbox | ...}}</nowiki></code></tvar> inside the template.</translate>
<translate>
<!--T:118-->
The following example is a template to create a new wiki page from a named template:
</translate>
<syntaxhighlight lang=wikitext>
{{#tag:inputbox |
type=create
buttonlabel=<translate nowrap><!--T:119--> Create new {{{1|article}}}</translate>
preload={{{2|Template:Article}}}
}}
</syntaxhighlight>
<translate>
<!--T:120-->
When instantiating the template, the first parameter gives the item that is created (default: <tvar name=article><code>article</code></tvar>) as spelled out in the button, the second parameter gives the name of the template used to create the item (default: <tvar name=template><code>Template:Article</code></tvar>).
<!--T:121-->
E.g., the code for an input box to create a new project from a project template might look like this:
</translate>
<syntaxhighlight lang=moin>
{{CreateNew|project|Template:Project}}
</syntaxhighlight>
As of version 1.46 template parameters work as expected with the {{tag|inputbox}} syntax and it is no longer necessary to use the <code><nowiki>{{#tag:}}</nowiki></code> workaround.
<translate>
== Notes == <!--T:146-->
<!--T:147-->
This extension splits the {{<tvar name=1>ll|Manual:Parser cache</tvar>|parser cache}} based on the {{<tvar name=2>ll|Manual:Language</tvar>|user interface language}} (<tvar name=3>[[git:mediawiki/extensions/InputBox/+/e18b7e6|git:e18b7e6]]</tvar>), in order to show localized label texts.
== See also == <!--T:122-->
</translate>
*{{ll|Extension:Create Page}}
{{OnWikimedia}}
{{Used by}}
[[Category:Form extensions{{#translation:}}]]
[[Category:Page creation extensions{{#translation:}}]]
[[Category:Search widget extensions{{#translation:}}]]
[[Category:Edit box extensions{{#translation:}}]]
d4ytwqj04bsvx2c4h2g2sf6799tfw08
Help:System message
12
18744
8390318
8389864
2026-05-25T07:50:59Z
Rebulka
17532855
příprava na překlad
8390318
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
{{i18n navigation}}
[[File:MediaWiki SpecialUpload interface labelled.png|thumb|<translate><!--T:1--> Labelled diagram of the <tvar name=1>[[Special:Upload]]</tvar> form, showing various system messages.</translate>]]
<translate><!--T:2--> A '''system message''' is a snippet of plain text (nowiki), wikitext, [[w:CSS|CSS]], or [[w:JavaScript|JavaScript]] that can be used to customize the behavior of MediaWiki and its appearance for each language and [[w:Locale (computer software)|locale]].</translate>
<translate><!--T:819--> MediaWiki uses messages for any user-facing part of the interface, allowing for internationalization and localization of the MediaWiki UI, for both core and extensions.</translate>
<translate><!--T:380--> All messages used in MediaWiki are defined in a [[<tvar name=1>#Localisation file format</tvar>|messages file]].</translate>
<translate>
== Overriding messages on-wiki == <!--T:381-->
</translate>
<translate><!--T:6--> Messages can be overridden from their default values by editing them on-wiki.</translate>
<translate><!--T:33--> Each message has a wiki page in the MediaWiki namespace with its message key as the name of the page.</translate>
<translate><!--T:34--> For example, the "aboutsite" message is stored at <tvar name=1>MediaWiki:aboutsite</tvar>.</translate>
<translate><!--T:35--> By default this namespace is restricted from editing unless the user has the "editinterface" permission.</translate>
<translate><!--T:36--> A list of all message pages can be found on <tvar name=1>[[Special:AllMessages]]</tvar>.</translate>
<translate><!--T:37--> Editing interface messages is typically straightforward, just like editing a normal wiki page, but it is restricted to users with the [[<tvar name=1>Special:MyLanguage/editinterface</tvar>|editinterface]] permission, which is assigned to administrators (and interface administrators) by default.</translate>
[[File:Wiki-system-messages.png|thumb|<translate><!--T:7--> Example row on the old <tvar name=1>[[Special:AllMessages]]</tvar>.</translate>]]
<translate><!--T:8--> The <tvar name=1>[[Special:AllMessages]]</tvar> table contains two columns: the linked interface name, and the text.</translate>
<translate><!--T:28--> The text is horizontally split to show the default text above, and the customized text below.</translate>
<translate><!--T:29--> When a custom message does not exist, only the default will be shown.</translate>
<translate><!--T:30--> To customize a message, click the upper link in the left column (the name of the message).</translate>
<translate><!--T:31--> This link is red if the default text is in use, because the edit page is empty.</translate>
<translate>
<!--T:9-->
The lower links in the left column cells lead to the discussion pages for that message.
<!--T:809-->
Overriding messages on the wiki is recommended only in the following cases:
</translate>
* <translate><!--T:810--> The message has a severe mistake that must be fixed as soon as possible.</translate> <translate><!--T:811--> In this case, it's recommended to also fix this mistake in the source code if it's in English or in the translation on translatewiki if it's not.</translate> <translate><!--T:812--> When the correction is deployed, the page with the local customization should be deleted.</translate>
* <translate><!--T:813--> If the local wiki uses different terminology.</translate> <translate><!--T:814--> For example, many messages use the word "page", but the English Wikipedia often says "article" instead.</translate>
* <translate><!--T:815--> The local message is trying to add some unique functionality, for example for a gadget or a template.</translate> <translate><!--T:816--> (In such a case, it is still recommended to consider changing the source message or to encapsulate this functionality in an extension, so that other wikis would be able to enjoy it conveniently, without having to copy customizations manually.)</translate>
<translate>
== Finding messages and documentation == <!--T:10-->
</translate>
<translate><!--T:11--> How each message is used by MediaWiki, variables available, parameters used, limitations, et cetera is explained with the [<tvar name=twn>//translatewiki.net/w/i.php?title=Special:Translate&task=reviewall&group=core&language=qqq&limit=5000&action=page&filter=</tvar> complete documentation in the qqq pseudo-language] files, as per [[<tvar name=localization>#Message_documentation</tvar>|message documentation guidelines]].</translate>
<translate><!--T:32--> Some longer explanation pages may exist for some interface messages at the older <tvar name=1>{{ll|Category:Interface messages}}</tvar>.</translate>
{{note
|1=<translate><!--T:22--> In the wiki base of translatewiki.net, qqq is the page which holds the user documentation of the message (in English because it is the same shown to all readers).</translate>
<translate><!--T:23--> In the same way as /en, /zu, /fr, ..., /qqq is a subpage of the article and is viewable directly.</translate>
* <translate><!--T:24--> Try <tvar name=1>[[translatewiki:MediaWiki:Tog-hideminor/en]]</tvar> to view a message in English,</translate>
* <translate><!--T:25--> Try <tvar name=1>[[translatewiki:MediaWiki:Tog-hideminor/fr]]</tvar> to view the same message in French,</translate>
* <translate><!--T:26--> Try <tvar name=1>[[translatewiki:MediaWiki:Tog-hideminor/qqq]]</tvar> to display its associated documentation (in English).</translate>
<translate>
<!--T:27-->
From this point of view <tvar name=1><code>qqq</code></tvar> is considered as a language in parameter <tvar name=2><code>language=</code></tvar> of the request.
</translate>
}}
{{MW 1.18|and later}}
<translate><!--T:12--> In MediaWiki 1.18 and above, you can find a message key by browsing a wiki in the special pseudo-language code <tvar name="qqx"><code>'''[[Special:MyLanguage/Help:Qqx|qqx]]'''</code></tvar>, which can be done by appending <tvar name="qqxparam1"><code>?[[Special:MyLanguage/uselang|uselang]]=qqx</code></tvar> to the URL, or <tvar name="qqxparam2"><code>&uselang=qqx</code></tvar> if the URL already contains a <tvar name=1><code>?</code></tvar> character ([{{fullurl:{{FULLPAGENAME}}|uselang=qqx}} example]).</translate>
<translate><!--T:820--> All the messages will then be replaced by their message keys, so you can identify which message is responsible.</translate>
<translate><!--T:821--> Messages that are always in the content language will not be shown using qqx.</translate>
<translate>
<!--T:19-->
In case the page uses tabs like e.g. [[<tvar name=prefs>Special:Preferences#mw-prefsection-rendering</tvar>|special page "Preferences"]] you will have to add the tab after the <tvar name=1><code>uselang</code></tvar> parameter, e.g. <tvar name=qqxparam3><code>Special:Preferences?uselang=qqx#mw-prefsection-rendering</code></tvar>.
</translate>
{{MW 1.38|and later|gerrit change=765385}}
<translate><!--T:832--> Before MediaWiki 1.38, fallback message keys were not shown, which made it difficult to identify the source of some messages, notably the [[<tvar name=1>Special:MyLanguage/Help:Navigation#Page tabs</tvar>|page navigation tabs]].</translate>
<translate><!--T:882--> Since MediaWiki 1.38 fallback message keys are shown separated by slashes (<tvar name=2><code>/</code></tvar>).</translate>
{{MW 1.43|and later|gerrit change=1025837}}
<translate><!--T:833--> Before MediaWiki 1.43, override message keys (using hooks like <tvar name=2>{{ll|Manual:Hooks/MessageCacheFetchOverrides|MessageCacheFetchOverrides}}</tvar>) were not shown either, which made it difficult to identify the source of messages overridden by extensions (such as <tvar name=4>{{ll|Extension:WikimediaMessages|WikimediaMessages}}</tvar>).</translate>
<translate><!--T:883--> Since MediaWiki 1.43 override message key is shown after an equals sign (<tvar name=3><code>=</code></tvar>).</translate>
{{Anchor|Messages file}}
<translate>
== Localisation file format == <!--T:784-->
<!--T:382-->
All messages used in MediaWiki are defined in a ''messages file''.
</translate>
<translate><!--T:383--> There are two types of message files in MediaWiki: JSON and PHP.</translate>
<translate><!--T:384--> As of April 2014, core MediaWiki and most of the maintained extensions were migrated to the JSON format.</translate>
<translate><!--T:385--> You should use JSON for all new development.</translate>
<translate><!--T:386--> For more information about the migration to JSON see <tvar name=1>[[Requests for comment/Localisation format]]</tvar>.</translate>
=== JSON ===
<translate><!--T:387--> Starting from late 2013 a new file format for messages was introduced: JSON.</translate>
<translate><!--T:388--> This is plain [[:w:JSON|JSON]], familiar as a common generic data storage format.</translate>
<translate><!--T:389--> Every key in it is a message key, and the value is the message text.</translate>
<translate><!--T:390--> In addition, the special <tvar name=1><code>@metadata</code></tvar> key is used to store information about the translation, such as the translation authors.</translate>
<translate><!--T:391--> Using JSON makes the localisation files more secure because it's not executable.</translate>
<translate><!--T:392--> It is also compatible with <tvar name=1>jquery.i18n</tvar>, a <tvar name=2>JavaScript</tvar> library developed as part of [[<tvar name=3>Milkshake</tvar>|Project Milkshake]], which provides MediaWiki-like frontend localisation capabilities and is used by some extensions that want to be less dependent on MediaWiki, such as [[<tvar name=4>Special:MyLanguage/Extension:VisualEditor</tvar>|VisualEditor]] and [[<tvar name=5>Special:MyLanguage/Extension:UniversalLanguageSelector</tvar>|UniversalLanguageSelector]].</translate>
<translate>
<!--T:393-->
Because the wider suite of internationalisation and localisation tools were called "<tvar name=1>[[Project Milkshake]]</tvar>", some people call this format "banana".
==== File location ==== <!--T:394-->
</translate>
<translate><!--T:395--> In MediaWiki core, localisation files are placed in the <tvar name=1><code>{{git file |file=languages/i18n |action=tree}}</code></tvar> directory.</translate>
<translate><!--T:396--> MediaWiki extensions usually place theirs in an <tvar name=1><code>i18n/</code></tvar> subdirectory.</translate>
<translate><!--T:397--> If a large number of messages exist within a project, one may want to split these into two or more topical subdirectories for maintainability.</translate>
<translate><!--T:398--> In MediaWiki context, the <tvar name=1>{{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}</tvar> configuration key is used to list these subdirectories.</translate>
<translate><!--T:399--> Here's an example from the <tvar name=1>VisualEditor</tvar> extension for MediaWiki:</translate>
<syntaxhighlight lang="json">
{
"MessagesDirs": {
"VisualEditor": [
"lib/ve/modules/ve/i18n",
"modules/ve-mw/i18n",
"modules/ve-wmf/i18n",
"lib/ve/lib/oojs-ui/i18n"
]
}
}
</syntaxhighlight>
<translate><!--T:400--> You add new messages to the English <tvar name=1><code>en</code></tvar> messages file <tvar name=2><code>en.json</code></tvar> and document them in the message documentation file with the special pseudo-language code <tvar name=3><code>qqq</code></tvar> – <tvar name=4><code>qqq.json</code></tvar>.</translate>
<translate><!--T:401--> ''See also: [[<tvar name=1>#Adding new messages</tvar>|Adding new messages]]''.</translate>
<translate>
==== Metadata ==== <!--T:402-->
<!--T:403-->
Currently the following metadata fields are used in the files:
</translate>
;authors
:<translate><!--T:404--> A JSON list of the authors of the messages.</translate> <translate><!--T:405--> For English (<tvar name=1>en</tvar>) and message documentation (<tvar name=2>qqq</tvar>) these are added manually when the messages file is edited.</translate> <translate><!--T:406--> For all other languages this is inserted automatically when the message file is exported from <tvar name=1>[[translatewiki.net]]</tvar>.</translate> <translate><!--T:407--> Message documentation can be edited on <tvar name=1>translatewiki.net</tvar>, and documentation editors are inserted to the <tvar name=2>qqq.json</tvar> file automatically as well.</translate>
;message-documentation
:<translate><!--T:408--> This is the pseudo-language code for storing the message documentation.</translate> <translate><!--T:409--> For MediaWiki this is always ''<tvar name=1>qqq</tvar>''.</translate> <translate><!--T:410--> (This appears in some extensions, but it's not actually processed in any way. It's not mandatory.)</translate>
<translate>
==== Conventions ==== <!--T:411-->
<!--T:412-->
Special characters like line breaks are escaped (<tvar name=1><code>"\n"</code></tvar>).
</translate>
<translate><!--T:413--> Unicode characters that represent letters in different alphabets are stored as real characters and not as character codes, because these files are sometimes read by people and because this makes the files smaller (<tvar name=1><code>"誼"</code></tvar> and not <tvar name=2><code>"\u8ABC"</code></tvar>).</translate>
<translate><!--T:414--> In any case, developers have few reasons to edit messages in any languages except English, because these are usually edited through <tvar name=1>translatewiki.net</tvar>.</translate>
<translate>
<!--T:415-->
HTML code is not escaped either, so <tvar name=1><code>"<strong>Warning</strong>"</code></tvar> and not <tvar name=2><code>"\u003cstrong\u003eWarning\u003c/strong\u003e"</code></tvar>.
<!--T:416-->
The JSON files are indented using tabs.
</translate>
=== PHP ===
{{note|type=warn|1=<translate><!--T:817--> This section refers to the use of <tvar name="1">[[MessagesXx.php]]</tvar> files for localizing messages, which has been [[<tvar name="2">Requests for comment/Localisation format</tvar>|deprecated in 2014]].</translate> <translate><!--T:818--> However, the files are still used for {{<tvar name=1>ll|Manual:Language#What can be localised</tvar>|other language-specific configuration}}.</translate>}}
<translate><!--T:417--> The older localisation file format is PHP.</translate>
<translate><!--T:418--> This is essentially a PHP array with all the messages.</translate>
<translate><!--T:419--> In core MediaWiki each language resides in its own file in the <tvar name=1>languages/message</tvar> directory of the MediaWiki source code.</translate>
<translate><!--T:420--> In the extensions all the languages and the message documentation (''<tvar name=1>qqq</tvar>'') are in the same file: ''<tvar name=2>ExtensionName.i18n.php</tvar>'', usually in the main directory of the extension.</translate>
<translate><!--T:421--> To migrate system messages from PHP to JSON, use the <tvar name=2>{{ll|Manual:GenerateJsonI18n.php|generateJsonI18n.php}}</tvar> script.</translate>
<translate><!--T:422--> It will move the messages to JSON files and replace the text of the PHP file with a shim that points to the JSON files.</translate>
<translate><!--T:423--> This boilerplate code is needed for backwards compatibility with MediaWiki 1.19.</translate>
<translate><!--T:424--> It is not used in new extensions that do not require MediaWiki 1.19 compatibility.</translate>
<translate>
== Using messages == <!--T:425-->
</translate>
<translate><!--T:426--> MediaWiki uses a ''central'' repository of messages which are referenced by keys in the code.</translate>
<translate><!--T:427--> This is different from, for example, the <tvar name=1>[https://www.gnu.org/software/gettext/ gettext]</tvar> system, which extracts the translatable strings from the source files.</translate>
<translate><!--T:428--> The key-based system makes some things easier, like refining the original texts and tracking changes to messages.</translate>
<translate><!--T:429--> The drawback is that the list of used messages and the list of source texts for those keys can get out of sync.</translate>
<translate><!--T:430--> In practice this isn't a big problem, and the only significant problem is that sometimes extra messages that are not used anymore still stay up for translation.</translate>
<translate>
=== Making messages findable ===
</translate>
<translate><!--T:431--> To make message keys more manageable and easier to search for, always write them completely and don't rely too much on creating them dynamically.</translate>
{{tmpl
|0=<translate><!--T:432--> You may concatenate parts of message keys if you feel that it gives your code better structure — but only do this when there definitely are multiple possibilities,<tvar name=1>$1</tvar> and be sure to put a comment nearby with a list of the possible resulting keys.</translate> <translate><!--T:806--> For example:</translate>
|1=<ref><translate><!--T:807--> Some linters will reject message lists with just one item, e.g.: [<tvar name=url>https://github.com/wikimedia/eslint-plugin-mediawiki/issues/57</tvar> mediawiki/msg-doc doesn't accept valid docs with 1 entry].</translate></ref>
}}
<syntaxhighlight lang="php">
// <translate nowrap><!--T:434--> Messages that can be used here:</translate>
// * myextension-connection-success
// * myextension-connection-warning
// * myextension-connection-error
$text = wfMessage( 'myextension-connection-' . $status )->parse();
</syntaxhighlight>
<translate>
<!--T:433-->
See also the [[<tvar name=ccdynamic>Special:MyLanguage/Manual:Coding_conventions#Dynamic_identifiers</tvar>|coding conventions for dynamic identifiers]].
=== Loading messages for use in JavaScript code === <!--T:858-->
<!--T:436-->
To use a message in JavaScript, you have to [[<tvar name=1>Special:MyLanguage/Manual:Messages API#Using a ResourceLoader module</tvar>|list it]] in the definition of your ResourceLoader module, in the <tvar name=2><code>"messages"</code></tvar> property.
</translate>
=== Message usage functions ===
<translate><!--T:437--> The detailed use of message functions in PHP and JavaScript is on <tvar name=1>{{ll|Manual:Messages API}}</tvar>.</translate>
'''<translate><!--T:438--> This is an important documentation page, and you should read it before you write code that uses messages.</translate>'''
<translate>
== Message sources == <!--T:439-->
<!--T:440-->
Code looks up system messages from these sources:
</translate>
* <translate><!--T:441--> The MediaWiki namespace.</translate> <translate><!--T:442--> This allows wikis to adopt, or override, all of their messages, when standard messages do not fit or are not desired.</translate>
** <translate><!--T:443--> MediaWiki:''Message-key'' is the default message,</translate>
** <translate><!--T:444--> MediaWiki:''Message-key''/''language-code'' is the message to be used when a user has selected a language other than the wiki's default language.</translate>
* <translate><!--T:445--> From message files:</translate>
** <translate><!--T:446--> Core MediaWiki itself and most currently maintained [[<tvar name=1>Special:MyLanguage/Category:All extensions</tvar>|extensions]] use a file per language, named <tvar name=2><code>''zyx''.json</code></tvar>, where <tvar name=3>''zyx''</tvar> is the language code for the language.</translate>
** <translate><!--T:447--> Some older extensions use a combined message file holding all messages in all languages, usually named {{<tvar name=1>tmpl|0=<code>''$1''.i18n.php</code></tvar>|MyExtensionName}}.</translate>
** <translate><!--T:448--> Many Wikimedia Foundation wikis access some messages from the <tvar name="1">{{ll|Extension:WikimediaMessages|nsp=0}}</tvar> extension, allowing them to standardise messages across WMF wikis without imposing them on every MediaWiki installation.</translate>
** <translate><!--T:449--> A few extensions use other techniques.</translate>
<translate>
== Caching == <!--T:450-->
</translate>
<translate><!--T:451--> System messages are one of the more significant components of MediaWiki, primarily because it is used in every web request.</translate>
<translate><!--T:452--> The PHP message files are large, since they store thousands of message keys and values.</translate>
<translate><!--T:453--> Loading this file (and possibly multiple files, if the user's language is different from the content language) has a large memory and performance cost.</translate>
<translate><!--T:454--> An aggressive, layered caching system is used to reduce this performance impact.</translate>
<translate><!--T:455--> MediaWiki has lots of caching mechanisms built in, which make the code somewhat more difficult to understand.</translate>
<translate><!--T:456--> Since 1.16 there is a new caching system, which caches messages either in <tvar name=1>[[cdb]]</tvar> files or in the database.</translate>
<translate><!--T:457--> Customised messages are cached in the filesystem and in <tvar name="1">[[Special:MyLanguage/memcached|memcached]]</tvar> (or alternative), depending on the configuration.</translate>
<translate><!--T:458--> The table below gives an overview of the settings involved:</translate>
{|class="wikitable"
|-
!colspan="2" rowspan="2"| <translate><!--T:459--> Location of cache storage</translate>
!colspan="4"| {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}
|-
! 'store' => 'db'<br /> !! 'store' => 'detect'<br />(<translate><!--T:460--> default</translate>) !! 'store' => 'files'<br /> !! 'store' => 'array'<br />''(<translate><!--T:461--> experimental since MW ≥ 1.26</translate>)''
|-
!rowspan="2"| {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}
! = false<br />(<translate><!--T:791--> default</translate>)
| {{ll|Manual:l10n cache table|l10n cache table}} || {{ll|Manual:l10n cache table|l10n cache table}} || ''<translate><!--T:462--> error</translate>'' (<translate><!--T:463--> undefined path</translate>) || ''<translate><!--T:464--> error</translate>'' (<translate><!--T:465--> undefined path</translate>)
|-
! = ''path''
| {{ll|Manual:l10n cache table|l10n cache table}} || <translate><!--T:379--> local filesystem</translate> (CDB) || <translate><!--T:466--> local filesystem</translate> (CDB) || <translate><!--T:467--> local filesystem (PHP array)</translate>
|}
{{MW version|version=1.27.0|version2=1.27.2|gerrit change=Id3e2d2b18ddb423647bf2e893bcf942722c0e097}}
<translate><!--T:468--> In MediaWiki 1.27.0 and 1.27.1, the autodetection was changed to favor the file backend.</translate>
<translate><!--T:469--> In case <tvar name=1><code>'store' => 'detect'</code></tvar> (the default), the file backend is used with the path from <tvar name=2>{{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}</tvar>.</translate>
<translate><!--T:470--> If this value is not set (which is the default), a temporary directory determined by the operating system is used.</translate>
<translate><!--T:471--> If a temporary directory cannot be detected, the database backend is used as a fallback.</translate>
<translate><!--T:472--> This was reverted from 1.27.2 and 1.28.0 because of conflict of files on shared hosts and security issues (see <tvar name=1>[[:phab:T127127|T127127]]</tvar> and <tvar name=2>[[:phab:T161453|T161453]]</tvar>).</translate>
<translate>
=== Function backtrace === <!--T:473-->
</translate>
<translate><!--T:474--> To better visually depict the layers of caching, here is a function backtrace of what methods are called when retrieving a message.</translate>
<translate><!--T:475--> See the below sections for an explanation of each layer.</translate>
* <code>Message::fetchMessage()</code>
* <code>MessageCache::get()</code>
* <code>Language::getMessage()</code>
* <code>LocalisationCache::getSubitem()</code>
* <code>LCStore::get()</code>
<translate>
=== MessageCache === <!--T:476-->
</translate>
<translate><!--T:477--> The <tvar name="1"><code>MessageCache</code></tvar> class is the top level of caching for messages.</translate>
<translate><!--T:478--> It is called from the Message class and returns the final raw contents of a message.</translate>
<translate><!--T:479--> This layer handles the following logic:</translate>
* <translate><!--T:480--> Checking for message overrides in the database</translate>
* <translate><!--T:481--> Caching over-ridden messages in <tvar name=1>{{ll|memcached}}</tvar>, or whatever <tvar name=2>{{ll|Manual:$wgMessageCacheType|$wgMessageCacheType}}</tvar> is set to</translate>
* <translate><!--T:482--> Resolving the remainder of the [[<tvar name=1>Special:MyLanguage/Manual:Language#Fallback languages</tvar>|language fallback]] sequence</translate>
<translate><!--T:483--> The last bullet is important.</translate>
<translate><!--T:484--> [[<tvar name=1>Special:MyLanguage/Manual:Language#Fallback languages</tvar>|Language fallbacks]] allow MediaWiki to fall back on another language if the original does not have a message being asked for.</translate>
<translate><!--T:485--> As mentioned in the next section, most of the language fallback resolution occurs at a lower level.</translate>
<translate><!--T:486--> However, only the <tvar name="1"><code>MessageCache</code></tvar> layer checks the database for overridden messages.</translate>
<translate><!--T:487--> Thus integrating overridden messages from the database into the fallback chain is done here.</translate>
<translate><!--T:488--> If not using the database, this entire layer can be disabled.</translate>
<translate>
=== LocalisationCache === <!--T:489-->
<!--T:490-->
See <tvar name=1>{{ll|Manual:LocalisationCache.php|LocalisationCache.php}}</tvar>
</translate>
=== LCStore ===
<translate><!--T:492--> The <tvar name="1"><code>LCStore</code></tvar> class is merely a back-end implementation used by the LocalisationCache class for actually caching and retrieving messages.</translate>
<translate><!--T:493--> Like the <tvar name=1><code>BagOStuff</code></tvar> class, which is used for general caching in MediaWiki, there are a number of different cache types (configured using <tvar name=2>{{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}</tvar>):</translate>
* <code>db</code> <translate><!--T:494--> (default) – Caches messages in the database</translate>
* <code>file</code> <translate><!--T:495--> (default if <tvar name="1"><code>$wgCacheDirectory</code></tvar> is set) – Uses [[w:cdb (software)|CDB]] to cache messages in a local file</translate>
* <code>accel</code> – <translate><!--T:496--> Uses [[<tvar name=1>Special:MyLanguage/Manual:Caching</tvar>|APC]] or another opcode cache to store the data</translate>
<translate>
<!--T:497-->
The <tvar name=1><code>file</code></tvar> option is used by the Wikimedia Foundation, and is recommended because it is faster than going to the database and more reliable than the APC cache, especially since APC is incompatible with PHP versions 5.5 or later.
== Adding new messages == <!--T:498-->
=== Choosing the message key === <!--T:499-->
</translate>
<translate><!--T:500--> See also:</translate>
{{ll|Manual:Coding conventions#System messages}}
<translate><!--T:501--> The message key must be globally unique.</translate>
<translate><!--T:502--> This includes core MediaWiki and all the extensions and skins.</translate>
<translate><!--T:503--> Stick to lower case letters, numbers, and dashes in message names; most other characters are between less practical or not working at all.</translate>
<translate><!--T:504--> Per MediaWiki convention, first character is case-insensitive and other chars are case-sensitive.</translate>
<translate><!--T:505--> Please follow global or local conventions for naming.</translate>
<translate><!--T:506--> For extensions, use a standard prefix, preferably the extension name in lower case, followed by a hyphen (<tvar name=1><code>-</code></tvar>).</translate>
<translate><!--T:507--> Exceptions are:</translate>
; <translate><!--T:508--> Messages used by the Action API</translate>
: <translate><!--T:509--> These must begin with <tvar name="1"><code>apihelp-</code></tvar>, <tvar name="2"><code>apiwarn-</code></tvar>, <tvar name="3"><code>apierror-</code></tvar>.</translate> <translate><!--T:510--> After this prefix put the extension prefix.</translate> (<translate><!--T:511--> Note that these messages should be in a separate file, usually under <tvar name=2>[[phab:source/mediawiki/browse/master/includes/api/i18n/|includes/i18/api]]</tvar>.</translate>)
; <translate><!--T:890--> Messages used by the REST API</translate>
: <code>rest-module-</code>, <code>rest-endpoint-desc-<HTTP_METHOD></code>, <code>rest-endpoint-summ-<HTTP_METHOD></code>, <code>rest-param-desc</code>, <code>rest-property-desc</code>, <code>rest-schema-desc</code>. <translate><!--T:891--> After this prefix put the extension prefix.</translate> <translate><!--T:892--> Note that these messages should be in a separate file, usually under <tvar name=1>[[phab:source/mediawiki/browse/master/includes/Rest/i18n/|includes/i18/Rest]]</tvar>.</translate>
; <translate><!--T:512--> Log-related messages</translate>
: <translate><!--T:513--> These must begin with <tvar name="1"><code>logentry-</code></tvar>, <tvar name="2"><code>log-name-</code></tvar>, <tvar name="3"><code>log-description</code></tvar>.</translate>
; <translate><!--T:514--> User rights</translate>
: <translate><!--T:515--> The key for the name of the right as displayed on <tvar name=1>Special:ListGroupRights</tvar> must begin with <tvar name="2"><code>right-</code></tvar>.</translate> <translate><!--T:516--> The name of the action that completes the sentence <tvar name="1"><code>{{int|Permissionserrorstext-withaction|unused}}</code></tvar> must begin with <tvar name="2"><code>action-</code></tvar>.</translate>
; <translate><!--T:802--> Revisions tags</translate>
: <translate><!--T:517--> Revisions tags must begin with <tvar name="1"><code>tag-</code></tvar>.</translate>
; <translate><!--T:803--> Special page titles</translate>
: <translate><!--T:518--> Special page titles must begin with <tvar name="1"><code>special-</code></tvar>.</translate>
; <translate><!--T:845--> Extension descriptions</translate>
: <translate><!--T:846--> Extension descriptions must begin with the extension name and end with <tvar name="1"><code>-desc</code></tvar>.</translate>
<translate>
<!--T:854-->
They appear in the table on <tvar name=1>[[Special:Version]]</tvar>, and their content must briefly explain what the extension does.
=== Gender === <!--T:822-->
</translate>
<translate><!--T:823--> English messages almost never need different words that change because of a user's gender.</translate>
<translate><!--T:828--> English only needs this in the third-person pronouns ("he" and "she"), but these are surprisingly rare in messages.</translate>
<translate><!--T:829--> When this is necessary, use <tvar name=1><code><nowiki>{{GENDER:$1|he|she|they}}</nowiki></code></tvar>.</translate>
<translate><!--T:824--> However, many other languages need different words depending on the user's gender, not only for third-person pronouns, but also for other pronouns, as well as for verbs in different tenses (e.g. "created", "deleted"), nouns (e.g. "mentor", "administrator"), adjectives (e.g. "new"), etc.</translate>
<translate><!--T:825--> It is therefore often useful to use <tvar name=1><code>GENDER</code></tvar> in English messages, even when there's only one English word.</translate>
<translate><!--T:826--> This gives translators a hint that <tvar name=1><code>GENDER</code></tvar> can be used in a message.</translate>
<translate><!--T:827--> It also avoids warnings on translatewiki about missing parameters when an optional username parameter is missing (this happens especially often in log entry messages).</translate>
<translate>
=== Other things to note when creating messages === <!--T:519-->
</translate>
# <translate><!--T:520--> Make sure that you are using suitable handling for the message (parsing, <tvar name=1><code><nowiki>{{</nowiki></code></tvar>-replacement, escaping for HTML, etc.)</translate>
# <translate><!--T:521--> If your message is part of core, it should usually be added to <tvar name=1><code>languages/i18n/en.json</code></tvar>, although some specific components, such as Installer, EXIF tags, ApiHelp, preferences, and some others, have their own message files.</translate>
# <translate><!--T:522--> If your message is in an extension add it to the <tvar name=1><code>i18n/en.json</code></tvar> file or the <tvar name=2><code>en.json</code></tvar> file in the appropriate subdirectory.</translate> <translate><!--T:523--> In particular, API messages that are only seen by developers and not by most end users are usually in a separate file, such as <tvar name=1><code>i18n/api/en.json</code></tvar>.</translate> <translate><!--T:524--> If an extension has a lot of messages, you may create subdirectories under <tvar name="1"><code>i18n</code></tvar>.</translate> <translate><!--T:525--> All the message directories, including the default <tvar name=1><code>i18n/</code></tvar>, must be listed in the <tvar name=2><code>MessagesDirs</code></tvar> section in <tvar name=3><code>extension.json</code></tvar> or in the <tvar name=4>{{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}</tvar> variable.</translate>
# <translate><!--T:526--> Take a pause and consider the wording of the message.</translate> <translate><!--T:527--> Is it as clear as possible?</translate> <translate><!--T:528--> Can it be misunderstood? Ask for comments from other developers or localisers if possible.</translate> <translate><!--T:529--> Follow the [[<tvar name="1">#Internationalisation hints</tvar>|Internationalisation hints]].</translate>
# <translate><!--T:530--> Add documentation to <tvar name="1"><code>qqq.json</code></tvar> in the same directory.</translate>
# <translate><!--T:804--> Don't sort messages arbitrarily by the alphabet.</translate> <translate><!--T:861--> The sequence of the messages in the file should roughly conform to the features of your project.</translate> <translate><!--T:862--> Put messages from the same feature next to each other.</translate> <translate><!--T:863--> This helps translators stay focused and be efficient and consistent.</translate>
# <translate><!--T:855--> If a message or its documentation (<tvar name=1><code>qqq</code></tvar>) refers to another message in the same JSON file, try to put this message after the message to which it refers, so that translators will have a chance to translate the referred message before they translate the referring message.</translate> <translate><!--T:856--> It's not always possible, for example when messages refer to each other, but please try to do it whenever it is possible.</translate> (<translate><!--T:857--> The referring is usually done using the {{<tvar name=1>tmpl|0=<code><nowiki>{{int:</nowiki>$1<nowiki>}}</nowiki></code></tvar>|''key''}} magic word in the message itself or using the <tvar name=2><code><nowiki>{{msg-mw}}</nowiki></code></tvar> template in the <tvar name=3><code>qqq</code></tvar> documentation.</translate> <translate><!--T:885--> See the section on [[<tvar name=4>#Message_documentation</tvar>|Message documentation]].</translate>
# <translate><!--T:805--> Put the messages that are expected to be the most basic and the most frequently used in the beginning of the file, and the messages that are rarer and more technically advanced towards the end.</translate>
<translate>
== Messages that should not be translated == <!--T:531-->
</translate>
# <translate><!--T:532--> '''Ignored''' messages are those which should exist only in the English [[<tvar name=1>#Localisation file format</tvar>|messages file]].</translate> <translate><!--T:533--> They are messages that should not need translation, because they reference only other messages or language-neutral features, ''e.g.'' a message of <tvar name=1><code><nowiki>{{SITENAME}}</nowiki></code></tvar>.</translate>
# <translate><!--T:534--> '''Optional''' messages may be translated only if changed in the target language.</translate>
<translate>
<!--T:535-->
To flag such messages:
</translate>
* <translate><!--T:536--> use the template in the <tvar name=1><code>qqq</code></tvar> message documentation, that is respectively</translate>
*# <code>{<nowiki/>{[[translatewiki:Template:Notranslate|notranslate]]}}</code> <translate><!--T:537--> or</translate>
*# <code>{<nowiki/>{[[translatewiki:Template:Optional|optional]]}}</code>;
* <translate><!--T:886--> Configure where the messages are exposed for translation:</translate>
** <translate><!--T:887--> For ignored messages in core, add the message keys to <tvar name=1>{{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/en.json}}</tvar> and their documentation to <tvar name=2>{{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/qqq.json}}</tvar>.</translate> <translate><!--T:888--> These files are used instead of listing the messages in translatewiki group configuration.</translate>
** <translate><!--T:889--> for optional messages in core, submit a patch to <tvar name=1>{{git file|project=translatewiki|file=groups/MediaWiki/MediaWiki.yaml}}</tvar> and add the message keys under <tvar name=2><code dir="ltr">optional:</code></tvar></translate>;
** <translate><!--T:542--> for extensions, submit a patch to <tvar name=1>{{git file|project=translatewiki|file=groups/MediaWiki/mediawiki-extensions.txt}}</tvar> and add a line under the extension's name like</translate>
**# <code>ignored = ''msg-key-1'',''msg-key-2''</code> or
**# <code>optional = ''msg-key-1'',''msg-key-2''</code>.
<translate>
== Removing existing messages == <!--T:543-->
</translate>
<translate><!--T:544--> Remove it from <tvar name="1"><code>en.json</code></tvar> and <tvar name="2"><code>qqq.json</code></tvar>.</translate>
<translate><!--T:545--> Don't bother with other languages.</translate>
<translate><!--T:546--> Updates from <tvar name=1>{{ll|translatewiki.net|translatewiki.net}}</tvar> will handle those automatically.</translate>
<translate><!--T:547--> In addition, check whether the message appears anywhere in translatewiki configuration, for example in the list of optional, ignored, or most used messages (a simple git grep should be enough).</translate>
<translate><!--T:548--> Remove it from these lists if needed.</translate>
<translate>
== Changing existing messages == <!--T:549-->
</translate>
# <translate><!--T:550--> Consider updating the [[<tvar name="1">#Message documentation</tvar> | message documentation]].</translate>
# <translate><!--T:551--> Change the message key if old translations are not suitable for the new meaning.</translate> <translate><!--T:552--> This also includes changes in message handling (parsing, escaping, parameters, etc.).</translate> <translate><!--T:553--> Improving the phrasing of a message without technical changes is usually not a reason for changing a key.</translate> <translate><!--T:554--> At <tvar name="1">translatewiki.net</tvar>, the translations will be marked as outdated so that they can be targeted by translators.</translate> <translate><!--T:555--> Changing a message key does not require talking to the i18n team or filing a support request.</translate> <translate><!--T:556--> However, if you have special circumstances or questions, ask in <tvar name=1>{{irc|translatewiki}}</tvar> or in the [[<tvar name=2>translatewiki:Support</tvar>|support page]] at <tvar name=3>{{ll|translatewiki.net|translatewiki.net}}</tvar>.</translate>
# <translate><!--T:557--> If the extension is supported by <tvar name=1>{{ll|translatewiki.net|translatewiki.net}}</tvar>, please only change the English source message and/or key, and the accompanying entry in <tvar name=2><code>qqq.json</code></tvar>.</translate> <translate><!--T:558--> If needed, the <tvar name="1">translatewiki.net</tvar> team will take care of updating the translations, marking them as outdated, cleaning up the file or renaming keys where possible.</translate> <translate><!--T:559--> This also applies when you're only changing things like HTML tags which you could change in other languages without speaking those languages.</translate> <translate><!--T:560--> Most of these actions will take place in [[<tvar name="1">translatewiki:</tvar>|translatewiki.net]] and will reach Git with about one day of delay.</translate>
<translate>
== Message documentation == <!--T:561-->
</translate>
<translate><!--T:562--> There is a pseudo-language code <tvar name="1"><code>qqq</code></tvar> for message documentation.</translate>
<translate><!--T:563--> It is one of the ISO 639 codes reserved for private use.</translate>
<translate><!--T:564--> There, we do not keep translations of each message, but collect English sentences ''about each message'': telling us where it is used, giving hints about how to translate it, and enumerating and describing its parameters, link to related messages, and so on.</translate>
<translate><!--T:565--> In [[<tvar name="1">translatewiki:</tvar>|translatewiki.net]], these hints are shown to translators when they edit messages.</translate>
<translate><!--T:566--> Programmers must document each and every message.</translate>
<translate><!--T:567--> Message documentation is an essential resource – not just for translators, but for all the maintainers of the module.</translate>
<translate><!--T:568--> Whenever a message is added to the software, a corresponding <tvar name="1"><code>qqq</code></tvar> entry ''must'' be added as well; revisions which don't do so are marked <tvar name="2"><code>V-1</code></tvar> until the documentation is added.</translate>
<translate><!--T:569--> Documentation in <tvar name="1"><code>qqq</code></tvar> files should be edited directly only when adding new messages or when changing an existing English message in a way that requires a documentation change, for example adding or removing parameters.</translate>
<translate><!--T:570--> In other cases, documentation should usually be edited in translatewiki.</translate>
<translate><!--T:571--> Each documentation string is accessible at <nowiki>https://translatewiki.net/wiki/MediaWiki:</nowiki>''message-key''<nowiki>/qqq</nowiki>, as if it were a translation.</translate>
<translate><!--T:572--> These edits will be exported to the source repositories along with the translations.</translate>
<translate><!--T:573--> Useful information that should be in the documentation includes:</translate>
# <translate><!--T:574--> Message handling (parsing, escaping, plain text).</translate>
# <translate><!--T:575--> Type of parameters with example values.</translate>
# <translate><!--T:576--> Where the message is used (pages, locations in the user interface).</translate>
# <translate><!--T:577--> How the message is used where it is used (a page title, button text, ''etc.'').</translate>
# <translate><!--T:578--> What other messages are used together with this message, or which other messages this message refers to.</translate>
# <translate><!--T:579--> Anything else that could be understood when the message is seen on the context, but not when the message is displayed alone (which is the case when it is being translated).</translate>
# <translate><!--T:580--> If applicable, notes about grammar.</translate> <translate><!--T:581--> For example, "open" in English can be both a verb and an adjective.</translate> <translate><!--T:582--> In many other languages the words are different and it's impossible to guess how to translate them without documentation.</translate>
# <translate><!--T:583--> Adjectives that describe things, such as "disabled", "open" or "blocked", must ''always'' say what are they describing.</translate> <translate><!--T:584--> In many languages adjectives must have the gender of the noun that they describe.</translate> <translate><!--T:585--> It may also happen that different kinds of things need different adjectives.</translate>
# <translate><!--T:586--> If the message has special properties, for example, if it is a page name, or if it should not be a direct translation, but adapted to the culture or the project.</translate>
# <translate><!--T:587--> Whether the message appears near other message, for example in a list or a menu.</translate> <translate><!--T:588--> The wording or the grammatical features of the words should probably be similar to the messages nearby.</translate> <translate><!--T:589--> Also, items in a list may have to be properly related to the heading of the list.</translate>
# <translate><!--T:590--> Parts of the message that must not be translated, such as generic namespace names, URLs or tags.</translate>
# <translate><!--T:591--> Explanations of potentially unclear words, for example abbreviations, like "CTA", or specific jargon, like "template", "suppress" or "stub".</translate> <translate><!--T:592--> (Note that it's best to avoid such words in the first place!)</translate>
# <translate><!--T:593--> Screenshots are very helpful.</translate> <translate><!--T:594--> Don't crop – an image of the full screen in which the message appears gives complete context and can be reused in several messages.</translate>
<translate>
<!--T:595-->
A few other hints:
</translate>
* <translate><!--T:596--> Remember that very, very often translators translate the messages without actually using the software.</translate>
* <translate><!--T:597--> Most usually, translators do not have any context information, neither of your module, nor of other messages in it.</translate>
* <translate><!--T:598--> A rephrased message alone is useless in most circumstances.</translate>
* <translate><!--T:599--> Don't use designers' jargon like "hamburger", "nav", or "comps".</translate>
* <translate><!--T:600--> Consider writing a [[<tvar name=1>betawiki:Terminology#Terminologies</tvar>|glossary]] of the technical terms that are used in your module.</translate> <translate><!--T:601--> If you do it, link to it from the messages' documentation.</translate>
* <translate><!--T:872--> Message documentation is shown on translatewiki and parsed as wikitext.</translate> <translate><!--T:873--> If you use mention wikitext or HTML tags that are supposed to be shown as is and not parsed, use <tvar name=1>{{tag|nowiki|open}}</tvar>.</translate>
<translate><!--T:602--> You can link to other messages by using {{<tvar name=1>tmpl|0=<code>{{((}}msg-mw{{!}}message key{{))}}</code></tvar>|message key}}.</translate>
<translate><!--T:603--> Please do this if parts of the messages come from other messages (if this cannot be avoided), or if some messages are shown together or in the same context.</translate>
<translate>
<!--T:604-->
<tvar name=1>translatewiki.net</tvar> provides some default templates that should be used in documentation, for example:
</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-action|doc-action]]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:605--> for <tvar name=1><code>action-</code></tvar> messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-right|doc-right]]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:606--> for <tvar name=1><code>right-</code></tvar> messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-group|doc-group]]|[...]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:607--> for messages around user groups (<tvar name=1><code>group</code>, <code>member</code>, <code>page</code>, <code>js</code></tvar> and <tvar name=2><code>css</code></tvar>)</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-accesskey|doc-accesskey]]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:608--> for <tvar name=1><code>accesskey-</code></tvar> messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:859--> a set of templates for API help and API error messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:<translate><!--T:864--> a set of templates for API help and API error messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Experimental|experimental]]<nowiki>}}</nowiki></code>
:<translate><!--T:865--> a template for marking messages that are likely to change in the near future (remember to remove it when the message stabilizes)</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Logentry|logentry]]<nowiki>}}</nowiki></code>
:<translate><!--T:866--> a template for marking log messages</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Optional|optional]]<nowiki>}}</nowiki></code>
:<translate><!--T:867--> a template for marking optional messages, which shouldn't be translated to most languages, and which aren't shown to translators by default</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Ignored|ignored]]<nowiki>}}</nowiki></code>
:<translate><!--T:868--> a template for marking ignored messages, which must not be translated at all</translate>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-important|doc-important]]<nowiki>}}</nowiki></code>
:<translate><!--T:869--> a template for emphasizing a paragraphs in the documentation.</translate>
<translate><!--T:860--> More templates of this kind can be found in the category <tvar name=1>[[:translatewiki:Category:Message Documentation Templates|Message Documentation Templates]]</tvar>.</translate>
<translate><!--T:609--> Have a look at the templates' pages for more information.</translate>
<translate>
== Internationalisation hints == <!--T:610-->
</translate>
<translate><!--T:611--> Besides [[<tvar name="1">#Message documentation</tvar>|documentation]], translators ask developers to consider some hints so as to make their work easier and more efficient and to allow an actual and good localisation for all languages.</translate>
<translate><!--T:612--> Even if only adding or editing messages in English, one should be aware of the needs of all languages.</translate>
<translate><!--T:613--> Each message is translated into more than 300 languages and this should be done in the best possible way.</translate>
<translate><!--T:614--> Correct implementation of these hints will very often help you write better messages in English, too.</translate>
<translate>
<!--T:792-->
[[<tvar name=1>Special:MyLanguage/Localisation#Help and contact info</tvar>|Localisation#Help and contact info]] lists the main places where you can find the assistance of experienced and knowledgeable people regarding i18n.
=== Use message parameters and switches properly === <!--T:793-->
<!--T:794-->
That's a prerequisite of a correct wording for your messages.
=== Avoid message re-use === <!--T:795-->
</translate>
<translate><!--T:615--> The translators discourage message re-use.</translate>
<translate><!--T:616--> This may seem counter-intuitive, because copying and duplicating code is usually a bad practice, but in system messages it is often needed.</translate>
<translate><!--T:617--> Although two concepts can be expressed with the same word in English, this doesn't necessarily mean they can be expressed with the same word in every language.</translate>
<translate><!--T:618--> "OK" is a good example: in English this is used for a generic button label, but in some languages they prefer to use a button label related to the operation which will be performed by the button.</translate>
<translate><!--T:619--> Another example is practically any adjective: a word like "multiple" changes according to gender in many languages, so you cannot reuse it to describe several different things, and you must create several separate messages.</translate>
<translate><!--T:620--> If you are adding multiple identical messages, please add message documentation to describe the differences in their contexts.</translate>
<translate><!--T:621--> Don't worry about the extra work for translators.</translate>
<translate><!--T:622--> Translation memory helps a lot in these while keeping the flexibility to have different translations if needed.</translate>
{{anchor|Avoid patchwork messages}}
<translate>
=== Avoid fragmented or "patchwork" messages === <!--T:623-->
</translate>
<translate><!--T:624--> Languages have varying word orders, and complex grammatical and syntactic rules.</translate>
<translate><!--T:625--> Messages formed by multiple pieces of text, possibly with some indirection, also called "string concatenation", in code that cannot be directly controlled by translators, are called "lego" or "patchwork" messages in developers' jargon. It's practically impossible to translate "lego" messages correctly.</translate>
<translate><!--T:626--> Make every message a complete phrase.</translate>
<translate><!--T:627--> Several sentences can usually be combined much more easily into a text block, if needed.</translate>
<translate><!--T:628--> When you want to combine several strings in one message, pass them in as parameters, as translators can order them correctly for their language when translating.</translate>
<translate>
==== Messages quoting each other ==== <!--T:629-->
</translate>
{{main|Manual:Messages API#Referring to other messages}}
<translate><!--T:630--> An exception from the rule may be messages referring to one another: 'Enter the original author's name in the field labelled <tvar name="1"><code><nowiki>{{int:name}}</nowiki></code></tvar> and click <tvar name="2"><code><nowiki>{{int:proceed}}</nowiki></code></tvar> when done'.</translate>
<translate><!--T:631--> This makes the message consistent when a software developer or wiki operator alters the messages "name" or "proceed" later.</translate>
<translate><!--T:632--> Without the int-trick, developers and operators would have to be aware of all related messages needing adjustment, when they alter one.</translate>
<translate>
=== Write messages in natural language === <!--T:831-->
</translate>
<translate><!--T:834--> As much as possible, write messages in natural, human language.</translate>
<translate><!--T:835--> Try reading the message aloud and think: is this something that sounds like correct, grammatical English that humans ''speak''?</translate>
<translate><!--T:836--> If it's complex, hard to pronounce, or in any way unnatural in English, it will be even harder for translators and for users in other languages.</translate>
<translate><!--T:837--> Avoid punctuation that is too technical or bureaucratic or that can't be read aloud.</translate>
<translate><!--T:838--> Slash (<tvar name=1><code>/</code></tvar>) should usually be replaced with "or".</translate>
<translate><!--T:839--> [[w:And/or|And/or]] should be replaced with "and" or "or".</translate>
<translate><!--T:840--> Sentences with [[w:comma splice|comma splice]] should be split into shorter sentences.</translate>
<translate>
=== Don't use terms and templates that are specific to particular projects === <!--T:633-->
</translate>
<translate><!--T:634--> MediaWiki is used by very diverse people, within the Wikimedia movement and outside of it.</translate>
<translate><!--T:635--> Even though it was originally built for an encyclopedia, it is now used for various kinds of content.</translate>
<translate><!--T:636--> Therefore, use general terms.</translate>
<translate><!--T:637--> For example, avoid terms like "article", and use "page" instead, unless you are absolutely sure that the feature you are developing will only be used on a site where pages are called "articles".</translate>
<translate><!--T:638--> Don't use "village pump", which is the name of an English Wikipedia community page, and use a generic term, such as "community discussion page", instead.</translate>
<translate><!--T:639--> Don't assume that a certain template exists on all wikis.</translate>
<translate><!--T:640--> Templates are local to wikis.</translate>
<translate><!--T:641--> This applies to both the source messages and to their translations.</translate>
<translate><!--T:642--> If messages use templates, they will only work if a template is created on ''each'' wiki where the feature is deployed.</translate>
<translate><!--T:643--> It's best to avoid using templates in messages completely.</translate>
<translate><!--T:644--> If you really have to use them, you must document this clearly in the message documentation and in the extension installation instructions.</translate>
<translate>
=== Separate times from dates in sentences === <!--T:645-->
</translate>
<translate><!--T:646--> Some languages have to insert something between a date and a time which grammatically depends on other words in a sentence.</translate>
<translate><!--T:647--> Thus, they will not be able to use date/time combined.</translate>
<translate><!--T:648--> Others may find the combination convenient, thus it is usually the best choice to supply three parameter values (date/time, date, time) in such cases, and in each translation leave either the first one or last two unused as needed.</translate>
<translate nowrap>
=== Avoid <tvar name=1><code><nowiki>{{SITENAME}}</nowiki></code></tvar> in messages === <!--T:649-->
</translate>
<translate><!--T:650--> <tvar name=1><code><nowiki>{{SITENAME}}</nowiki></code></tvar> has several disadvantages.</translate>
<translate><!--T:651--> It can be anything (acronym, word, short phrase, ''etc.'') and, depending on language, may need the use of <tvar name=1><code>{{ll|Manual:Messages_API#…on use context inside sentences via GRAMMAR|<nowiki>{{GRAMMAR}}</nowiki>}}</code></tvar> on each occurrence.</translate>
<translate><!--T:652--> No matter what, each message having <tvar name=1><code><nowiki>{{SITENAME}}</nowiki></code></tvar> will need review in most wiki languages for each new wiki on which your code is installed.</translate>
<translate><!--T:653--> In the majority of cases, when there is not a general <tvar name=1><code>GRAMMAR</code></tvar> configuration for a language, wiki operators will have to add or amend PHP code so as to get <tvar name=2><code><nowiki>{{GRAMMAR}}</nowiki></code></tvar> for <tvar name=3><code><nowiki>{{SITENAME}}</nowiki></code></tvar> working.</translate>
<translate><!--T:654--> This requires both more skills, and more understanding, than otherwise.</translate>
<translate><!--T:655--> It is more convenient to have generic references like "this wiki".</translate>
<translate><!--T:656--> This does not keep installations from locally altering these messages to use <tvar name=1><code><nowiki>{{SITENAME}}</nowiki></code></tvar>, but at least they don't have to, and they can postpone message adaption until the wiki is already running and used.</translate>
<translate>
=== Avoid references to visual layout and positions === <!--T:657-->
</translate>
<translate><!--T:658--> What is rendered where depends on skins.</translate>
<translate><!--T:659--> Most often screen layouts of languages written from left-to-right are mirrored compared to those used for languages written from right-to-left, but not always, and for some languages and wikis, not entirely.</translate>
<translate><!--T:660--> Handheld devices, narrow windows, and so on may show blocks underneath each other, that would appear side-by-side on larger displays.</translate>
<translate><!--T:661--> Since site- and user-written JavaScript scripts and gadgets can, and do, hide parts, or move things around in unpredictable ways, there is no reliable way of knowing the actual layout.</translate>
<translate><!--T:662--> It is wrong to tie layout information to content languages, since the user interface language may not be the page's content language, and layout may be a mixture of the two depending on circumstances.</translate>
<translate><!--T:663--> Non-visual user agents like acoustic screen readers and other auxiliary devices do not even have a concept of visual layout.</translate>
<translate><!--T:664--> Thus, you should not refer to visual layout positions in the majority of cases, though semantic layout terms may still be used ("previous steps in the form", ''etc.'').</translate>
<translate>
<!--T:665-->
MediaWiki does not support showing different messages or message fragments based on the current directionality of the interface (see <tvar name=1>[[phab:T30997|T30997]]</tvar>).
<!--T:666-->
The upcoming browser and MediaWiki support for East and North Asian top-down writing<tvar name=1><ref>http://dev.w3.org/csswg/css3-writing-modes/</ref></tvar> will make screen layouts even more unpredictable, with at least eight possible layouts (left/right starting position, top/bottom starting position, and which happens first).
=== Avoid references to screen colours === <!--T:667-->
</translate>
<translate><!--T:668--> The colour in which something is rendered depends on many factors, including skins, site- and user-written JavaScript scripts and gadgets, and local user agent over-rides for reasons of accessibility or technological limitations.</translate>
<translate><!--T:669--> Non-visual user agents like acoustic screen readers and other auxiliary devices do not even have a concept of colour.</translate>
<translate><!--T:670--> Thus, you should not refer to screen colours.</translate>
<translate><!--T:671--> (You should also not rely on colour alone as a mechanism for informing the user of state, for the same reason.)</translate>
<translate>
=== Avoid markup that doesn't need to be translated === <!--T:847-->
</translate>
<translate><!--T:680--> HTML markup not requiring translation, such as enclosing <tvar name="1">{{tag|div|open}}</tvar> tags, rulers above or below, and similar, should usually not be part of messages.</translate>
<translate><!--T:848--> It's an unnecessary burden on translators, and is often accidentally altered or skipped in the translation process.</translate>
<translate><!--T:849--> The translation interface has no syntax highlighting and limited validation, so mistakes are common.</translate>
<translate><!--T:850--> Avoid complex wikitext markup as well.</translate>
<translate><!--T:851--> Wikitext is sometimes terser than writing the same thing in PHP, and it's tempting to write something like:</translate>
{{codesample-header|[[MediaWiki:Revreview-basic/en]]}}
<syntaxhighlight lang="wikitext">
This is the [[{{MediaWiki:Validationpage}}|stable version]], [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} checked] on <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 pending {{PLURAL:$3|change|changes}}] {{PLURAL:$3|awaits|await}} review.
</syntaxhighlight>
<translate><!--T:852--> However, this is difficult for translators, especially when translating to right-to-left languages, because parts of the message must remain in English, resulting in text direction changing many times in one line:</translate>
{{codesample-header|[[MediaWiki:Revreview-basic/ar]]}}
<syntaxhighlight lang="wikitext" dir="rtl">
هذه هي [[{{MediaWiki:Validationpage}}|النسخة المستقرة]]، [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} المفحوصة] في <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} {{PLURAL:$3||تغيير واحد معلق|تغييران معلقان|$3 تغييرات معلقة|$3 تغييرا معلقا|$3 تغيير معلق}}] {{PLURAL:$3||ينتظر|ينتظران|تنتظر|ينتظر}} المراجعة.
</syntaxhighlight>
<translate><!--T:853--> It's best to pass any link targets as message parameters, and use only simple markup like {{<tvar name=1>tmpl|0=<code>[$1 $2]</code>|$1</tvar>|Label}} and {{<tvar name=2>tmpl|0=<code><nowiki>[[</nowiki>$1{{!}}Label<nowiki>]]</nowiki></code>|$1</tvar>|Label}}.</translate>
<translate><!--T:870--> Don't use the <tvar name=1><code>formatnum</code></tvar> {{<tvar name=2>ll|Help:Magic words</tvar>|magic word}} within messages.</translate>
<translate><!--T:871--> Format the number parameters in the code that loads the message according to the instructions in <tvar name=1>{{ll|Manual:Messages API}}</tvar>.</translate>
<translate>
=== Translated messages are often longer than you think! === <!--T:683-->
<!--T:684-->
Skimming foreign language message files, you almost never find translated messages shorter than Chinese ones and rarely shorter than English ones. However, you will often find translations that are much longer than English ones.
</translate>
<translate><!--T:685--> Especially in forms, in front of input fields, English messages tend to be terse, and short.</translate>
<translate><!--T:686--> That is often not kept in translations.</translate>
<translate><!--T:687--> Languages may lack the technical vocabulary present in English, and may require multiple words or even complete sentences to explain some concepts.</translate>
<translate><!--T:688--> For example, the brief English message "TSV file:" may have to be translated in a language as literally:</translate>
<blockquote>''<translate><!--T:689--> Please type a name here which denotes a collection of computer data that is comprised of a sequentially organised series of typewritten lines which themselves are organised as a series of informational fields each, where said fields of information are fenced, and the fences between them are single signs of the kind that slips a typewriter carriage forward to the next predefined position each. Here we go: _____ (thank you)</translate>''</blockquote>
<translate><!--T:690--> This is, admittedly, an extreme example, but you get the trait.</translate>
<translate><!--T:691--> Imagine this sentence in a column in a form where each word occupies a line of its own, and the input field is vertically centered in the next column.</translate> :-(
<translate>
=== Avoid using very close, similar, or identical words to denote different things, or concepts === <!--T:692-->
</translate>
<translate><!--T:693--> For example, pages may have older ''revisions'' (of a specific date, time, and edit), comprising past ''versions'' of said page.</translate>
<translate><!--T:694--> The words ''revision'', and ''version'' can be used interchangeably.</translate>
<translate><!--T:695--> A problem arises, when versioned pages are revised, and the revision, ''i.e.'' the process of revising them, is being mentioned, too.</translate>
<translate><!--T:696--> This may not pose a serious problem when the two synonyms of "revision" have different translations.</translate>
<translate><!--T:697--> Do not rely on that, however.</translate>
<translate><!--T:698--> It is better to avoid the use of "revision" ''aka'' "version" altogether, then, so as to avoid it being misinterpreted.</translate>
<translate>
=== Basic words may have unforeseen connotations, or not exist at all === <!--T:699-->
</translate>
<translate><!--T:700--> There are some words that are hard to translate because of their very specific use in MediaWiki.</translate>
<translate><!--T:701--> Some may [[<tvar name="1">#Expect untranslated words</tvar>|not be translated at all]].</translate>
<translate><!--T:702--> For example, there is no word "user" relating to "someone who uses something" in several languages.</translate>
<translate><!--T:703--> Similarly, in [[:en:Colognian language|Kölsch]] the English words "namespace" and "apartment" translate the same word.</translate>
<translate><!--T:704--> Also, in Kölsch, they say "corroborator and participant" in one word since any reference to "use" would too strongly imply "abuse".</translate>
<translate><!--T:705--> The term "wiki farm" is translated as "stable full of wikis", since a single-crop farm would be a contradiction in terms in the language, and not understood, ''etc.''.</translate>
{{anchor|Expect untranslated words}}
<translate nowrap>
=== Use <tvar name="1">{{tag|code|open}}</tvar>, <tvar name="2">{{tag|var|open}}</tvar>, and <tvar name="3">{{tag|kbd|open}}</tvar> tags where needed === <!--T:719-->
</translate>
<translate><!--T:720--> When talking about technical parameters, values, or keyboard inputs, mark them appropriately as such using the HTML tags <tvar name="1">{{tag|code|open}}</tvar>, <tvar name="2">{{tag|var|open}}</tvar>, or <tvar name="3">{{tag|kbd|open}}</tvar>.</translate>
<translate><!--T:721--> Thus they are typographically set off form the normal text.</translate>
<translate><!--T:722--> That clarifies their sense to readers, avoiding confusion, errors and mis-representations.</translate>
<translate><!--T:723--> Ensure that your message handler allows such markup.</translate>
<translate>
=== Symbols, colons, brackets, ''etc.'' are parts of messages === <!--T:724-->
</translate>
<translate><!--T:725--> Many symbols are localisable, too. Some scripts have other kinds of brackets than the Latin script has.</translate>
<translate><!--T:726--> A colon may not be appropriate after a label or input prompt in some languages.</translate>
<translate><!--T:727--> Having those symbols included in messages helps to make better and less Anglo-centric translations, and also reduces code clutter.</translate>
<translate>
<!--T:728-->
For example, there are different quotation mark conventions used in «Norwegian», ”Swedish”, »Danish«, „German”, and 「Japanese」.<ref>[[w:Quotation_mark#Summary_table]]</ref>
<!--T:729-->
If you need to wrap some text in localized parentheses, brackets, or quotation marks, you can use the <tvar name=1><code>parentheses</code> {{int|parentheses}}</tvar> or <tvar name=2><code>brackets</code> {{int|brackets}}</tvar> or <tvar name=3><code>quotation-marks</code> {{int|quotation-marks}}</tvar> messages like so:
</translate>
<syntaxhighlight lang=php>
wfMessage( 'parentheses' )->rawParams( /* <translate nowrap><!--T:841--> text to go inside parentheses</translate> */ )->escaped()
wfMessage( 'brackets' )->rawParams( /* <translate nowrap><!--T:842--> text to go inside brackets</translate> */ )->escaped()
wfMessage( 'quotation-marks' )->rawParams( /* <translate nowrap><!--T:843--> text to go inside quotation marks</translate> */ )->escaped()
</syntaxhighlight>
<translate>
=== Do not expect symbols and punctuation to survive translation === <!--T:730-->
</translate>
<translate><!--T:731--> Languages written from right to left (as opposed to English) usually swap arrow symbols being presented with "next" and "previous" links, and their placement relative to a message text may, or may not, be inverted as well.</translate>
<translate><!--T:732--> Ellipsis may be translated to "''etc.''", or to words.</translate>
<translate><!--T:733--> Question marks, exclamation marks, colons will be placed other than at the end of a sentence, not at all, or twice.</translate>
<translate><!--T:734--> As a consequence, always include all of those in the text of your messages, and never try to insert them programmatically.</translate>
<translate>
=== Use full stops === <!--T:735-->
</translate>
<translate><!--T:736--> '''Do''' terminate normal sentences with full stops.</translate>
<translate><!--T:737--> This is often the only indicator for a translator to know that they are not headlines or list items, which may need to be translated differently.</translate>
<translate>
=== Use meaningful link anchors === <!--T:746-->
</translate>
<translate><!--T:749--> Make sure that the anchor describes the target page well.</translate>
<translate><!--T:750--> Always avoid commonplace and generic words.</translate>
<translate><!--T:751--> For example, "Click here" is an absolute no-go,<tvar name=1><ref>http://www.w3.org/QA/Tips/noClickHere</ref></tvar> since target pages are almost never about "click here".</translate>
<translate><!--T:753--> Instead, Use precise action words telling what a user will get to when following the link, such as "You can [[<tvar name="1">Special:Upload</tvar>|upload a file]] if you wish."</translate>
<translate>
<!--T:754-->
See also ''[<tvar name="url">http://www.nngroup.com/articles/using-link-titles-to-help-users-predict-where-they-are-going/</tvar> Help users predict where they are going]'', and [[w:Mystery meat navigation|mystery meat navigation]], and ''[<tvar name="url2">https://tosbourn.com/click-here/</tvar> The main reasons why we shouldn't use click here as link text]''.
=== Avoid jargon and slang === <!--T:755-->
</translate>
<translate><!--T:756--> Avoid developer and power user jargon in messages. Try to use a simple language whenever possible.</translate>
<translate><!--T:757--> Avoid saying "success", "successfully", "fail", "error occurred while", etc., when you want to notify the user that something happened or didn't happen.</translate>
<translate><!--T:758--> This comes from developers' perspective of seeing everything as true or false, but users usually just want to know what actually happened or didn't, and what they should do about it (if at all). So:</translate>
* <translate><!--T:759--> "The file was successfully renamed" -> "The file was renamed"</translate>
* <translate><!--T:760--> "File renaming failed" -> "There is a file with this name already. Please choose a different name."</translate>
<translate>
=== Be aware of whitespace and line breaks === <!--T:765-->
</translate>
<translate><!--T:766--> MediaWiki's localised messages usually get edited within the wiki, either by wiki operations on live wikis, or by the translators on <tvar name="1">[[translatewiki.net]]</tvar>.</translate>
<translate><!--T:767--> You should be aware of how whitespace, especially at the beginning or end of your message, will affect editors:</translate>
* <translate><!--T:785--> Spaces and line breaks (newlines) at the end of the message are always automatically removed by the wikitext editor. Your message must not end with a space or line break, as it will be lost when it's edited on the wiki.</translate>
* <translate><!--T:786--> Spaces and line breaks at the beginning are not automatically removed, but they are likely to be removed by accident during editing, and should be avoided.</translate>
<translate>
<!--T:768-->
Start and end your message with active text; if you need a newline or paragraph break around it, your surrounding code should deal with adding it to the returned text.
</translate>
<translate><!--T:796--> There are some messages which require a space at the end, such as <tvar name=1><code>word-separator</code></tvar> (which consists of just a space character in most languages).</translate>
<translate><!--T:797--> To support such use cases, the following HTML entities are allowed in messages and transformed to the actual characters, even if the message otherwise doesn't allow wikitext or HTML formatting:</translate><ref>
https://github.com/wikimedia/mediawiki/blob/REL1_34/includes/cache/MessageCache.php#L887
</ref>
* <code>&#32;</code> – <translate><!--T:798--> space</translate>
* <translate><!--T:799--> <tvar name=1><code>&nbsp;</code></tvar> or <tvar name=2><code>&#160;</code></tvar> – [[w:non-breaking space|non-breaking space]]</translate>
* <translate><!--T:800--> <tvar name=1><code>&shy;</code></tvar> – [[w:soft hyphen|soft hyphen]]</translate>
<translate>
<!--T:801-->
On a related note, any other syntax elements affected by [[<tvar name=1>Special:MyLanguage/pre-save transforms</tvar>|pre-save transforms]] also must not be used in messages, as they will be transformed when the message is edited on the wiki.
=== Use standard capitalisation === <!--T:769-->
</translate>
<translate><!--T:770--> Capitalisation gives hints to translators as to what they are translating, such as single words, list or menu items, phrases, or full sentences.</translate>
<translate><!--T:771--> Correct (standard) capitalisation may also play a role in search engines' assessment of your pages.</translate>
<translate><!--T:772--> MediaWiki uses [[w:Letter case|sentence case]] (''The quick brown fox jumps over the lazy dog'') in interface messages.</translate>
<translate><!--T:773--> Always remember that many writing systems don't have capital letters at all, and some of those that do have them, use them differently from English.</translate>
<translate><!--T:774--> Therefore, don't use ALL-CAPS for emphasis.</translate>
<translate><!--T:775--> Use CSS, or HTML <tvar name="1">{{tag|em|open}}</tvar> or <tvar name="2">{{tag|strong|open}}</tvar> per below:</translate>
<translate>
==== Emphasis ==== <!--T:776-->
</translate>
<translate><!--T:777--> In normal text, [[w:Emphasis|emphasis]] like '''boldface''' or ''italics'' and similar should be part of message texts.</translate>
<translate><!--T:778--> Local conventions on emphasis often vary, especially some Asian scripts have their own.</translate>
<translate><!--T:779--> Translators must be able to adjust emphasis to their target languages and areas.</translate>
<translate><!--T:780--> Try to use <tvar name="1">{{tag|em|open}}</tvar> and <tvar name="2">{{tag|strong|open}}</tvar> in your user interface to allow mark-up on a per language or per script basis.</translate>
<translate><!--T:781--> In modern screen layouts of English and European styles, emphasis has become used less.</translate>
<translate><!--T:782--> Do convey it in your [[<tvar name=1>#Message documentation</tvar>|#Message documentation]] still, as it may give valuable hints as to how to translate.</translate>
<translate><!--T:783--> Emphasis can and should be used in other cultural contexts as appropriate, provided that translators know about it.</translate>
<translate>
==== Some things must be added to English messages even when they are not required ==== <!--T:874-->
</translate>
<translate><!--T:875--> It sometimes happens that English messages don't need some <tvar name=1>$</tvar> parameters or <tvar name=2>PLURAL</tvar> or <tvar name=3>GENDER</tvar> support, but translations of those messages into other languages do need them.</translate>
<translate><!--T:876--> In such cases, these parameters or keywords must be added to English, even if they don't do anything.</translate>
<translate><!--T:877--> This is necessary for two reasons:</translate>
* <translate><!--T:878--> It clearly shows the translator within the message that those parameters are available.</translate>
* <translate><!--T:879--> It prevents translatewiki from showing warnings about parameters that are used in the translation, but aren't used in English.</translate>
<translate><!--T:880--> For example, the English word "deleted" may refer to one deleted page or to several deleted pages, but in other languages the word would be different depending on the number of pages.</translate>
<translate><!--T:881--> So write something like this: <tvar name=1><code><nowiki>{{PLURAL:$1|deleted}}</nowiki></code></tvar>.</translate>
<translate>
== See also == <!--T:13-->
</translate>
* {{ll|Customization}}
* {{ll|Manual:Configuration settings}}
* {{ll|Manual:Skins}}
* {{ll|Manual:Messages API}}
* {{ll|Localisation}}
* {{ll|Manual:MediaWiki architecture#Localizing messages|2=<translate><!--T:844--> Manual:MediaWiki architecture and Localizing messages</translate>}}
* [[translatewiki:FAQ]]
<translate>
== Notes == <!--T:808-->
</translate>
<references />
[[Category:Customization techniques{{#translation:}}]]
[[Category:User interface{{#translation:}}]]
[[Category:Localisation{{#translation:}}]]
[[Category:System message{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
gzs9iyf44xk1rfs0jfff1itjjm0kwoh
Help:Namespaces/ja
12
18954
8390224
8386826
2026-05-24T23:15:37Z
~2026-31113-74
18405266
Created page with "ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。"
8390224
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
MediaWiki ウィキのページは「'''名前空間'''(ネームスペース)」と呼ばれる、ページの目的を大まかに区別するための集まりに分類されます。特定の名前区間にあるページは特別な性質を持っていたり、他のページとの相互作用のしかたが異なっていたりします。
名前空間はページタイトルのなかでページ名の前につく部分の「<code><nowiki><名前空間>:</nowiki></code>」で示されます。このページのタイトル(<code>{{FULLPAGENAME}}</code>)の <code>{{NAMESPACE}}:</code> はこのページが <code>{{NAMESPACE}}</code> 名前空間にあることを示しています。個々の名前空間は番号と名前で識別されます。名前は翻訳可能で、別名をもっていることがあります。
名前空間接頭辞がない名前のページは[[#blank-ns|標準名前空間]]にあります。 しかし、名前空間を示すのではないコロンと接頭辞が、ページ名に現れる可能性もあることに注意してください:名前空間「Foo」が存在しないため、ページ<code>Foo:{{PAGENAME}}</code>は標準名前空間にあるページです。 同様に、ページ<code>{{NAMESPACE}}:Foo:{{PAGENAME}}</code>は「{{NAMESPACE}}」名前空間にあります。
<span id="Standard_namespaces"></span>
== 標準的な名前空間 ==
標準のMediaWikiインストレーションには利用者が作成したコンテンツを格納できる16個の名前空間があります。また、MediaWikiソフトウェアによって「その場で」作成されたページを格納する2つの特別な名前空間も用意されています。標準的な名前空間は「主題名前空間」と「議論名前空間」のペアで編成されています。名前空間は、すべての主題名前空間が偶数、すべての議論(トーク)名前空間が奇数となるように、ゼロから番号付けされています。
{{Anchor|ns-media}}
<span id="Media"></span>
====メディア====
この名前空間は、メディアファイルへの直接リンクに使われます: リンク <code><nowiki>[[</nowiki>[[Media:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code> は、画像の説明ページではなく、画像だけにリンクします。画像の説明ページへのリンクは <code><nowiki>[[</nowiki>[[:File:MediaWiki-2020-logo.svg|:{{ns:6}}:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code>になります。
<span id="Special"></span>
====特別(special)====
{{main|Help:Special pages}}
この名前空間は、[[Special:MyLanguage/Help:Special pages|特別ページ]]をグループ化するために使用されます。特別ページは、「要求に応じて」MediaWiki が生成するレポートやインターフェイスであり、直接は編集できません。MediaWiki ソフトウェアを変更・拡張しない限り、この名前空間にはページを作成できません。
{{Anchor|blank-ns|Main}}
==== {{int|blanknamespace}} ====
コロンで区切られた接頭辞がない名前空間です。一般に「標準名前空間」または「メイン空間」と呼ばれます。通常この名前空間はウィキの{{ll|Manual:$wgContentNamespaces|コンテンツ ページ}}の大部分を含みます。この名前空間は通常特別な性質はありません。
<span id="Talk"></span>
====トーク (Talk)====
{{main|Help:Talk pages}}
{{ns:1}}名前空間はメイン空間に付属する議論の名前空間です。特別な性質はありません。
<span id="User"></span>
====利用者(User)====
{{main|Help:User page}}
個々の利用者は自分に対応するページを{{ns:2}}名前空間にもっています。このページは編集履歴、最近の更新ページなど、個別の利用者が同定されるときにはいつでもリンクされます。
このページおよびその下位ページは、利用者自身に関する情報を記録する目的や、新規コンテンツの下書きやテストのため、利用者により使用されます。
{{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.js'''</code>|利用者名}} または {{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.css'''</code>|利用者名}} という形式のページは、当該利用者自身または[[Special:MyLanguage/Help:Sysops and permissions|インターフェイス管理者]] (MediaWiki 1.32 未満の場合は管理者) のみが編集できます。
<span id="User_talk"></span>
====利用者・トーク (User talk) ====
この名前空間は"{{ns:2}}"に関連した会話スペースです。
この名前空間のページは主に特定のユーザーにメッセージを残すため、または彼らにとって興味のある議論を伝えるために使用されます。
これを容易に行うため、{{tmpl|0=<code>{{ns:3}}:$1</code>|UserName}}が編集された時、そのユーザーにこのような通知がページ上部に表示されます。
<div class="usermessage plainlinks" style="margin: 1em 0;">
{{int|new-messages-from-users
|2=[[{{ns:3}}:UserName|<span style="color:#002bb8">{{int|new-messages-link-plural|1}}</span>]]
|3=[{{fullurl:{{ns:3}}:UserName|diff=cur}} <span style="color:#002bb8">{{int|new-messages-diff-link-plural|1}}</span>]
|4=1}}
</div>
この通知は利用者が会話ページのメッセージを読むまで表示され続けます。
{{Admin tip|1={{ll|Extension:Echo|nsp=0}} のような拡張機能で、この挙動をオーバーライドできます。}}
<span id="Project"></span>
==== プロジェクト(Project) ====
この名前空間は通常、そのウィキの運営や発展についてのメタ議論のために使用されます。
自動的に利用者をwikiの名前が付けられた名前空間にリダイレクトします。例:
<nowiki>[[Project:Licenses]] → [[Wikipedia:Licenses]].</nowiki>
この名前空間の名前はWikiによって異なるため、すべての名前空間のリストを表示するドロップダウンリストの5番目の項目を確認することをお勧めします。
プロジェクト名前空間は利用者トーク名前空間の直後にリストされます。
一部のウィキファームではこの名前空間が<code>Meta</code>という名前のことがあります。
<span id="Project_talk"></span>
====プロジェクト・トーク(Project talk)====
これは通常、対応するプロジェクトページに関する議論に使われるトーク名前空間です。特別な性質はありません。
<span id="File"></span>
==== ファイル(File)====
{{main|Help:Images}}
[[Image:MediaWiki-2020-logo.svg|right]]
「{{ns:6}}」名前空間は、「{{ns:-2}}」名前空間を介してアクセスされる画像、ビデオ、音声ファイル、その他のメディアのメタデータを格納するために使用されます。
各ファイルには「{{ns:6}}」名前空間に対応するページがあり、これはライセンスデータを格納するためによく使用されます。
この名前空間のページを直接リンクさせると、メディアファイルはインラインで埋め込まれます。例えば<code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code>は右のような画像を生成します。
このリンク構文の詳細は{{ll|Help:Images}}を参照してください。
ファイルページへの[[Special:MyLanguage/Help:Links|ウィキ間リンク]]を作成するには、名前空間の前にコロンを付加する必要があります:<code><nowiki>[[:</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code> で [[:{{ns:6}}:MediaWiki-2020-logo.svg]] が出力されます。
標準的な MediaWiki のインストレーションには"{{ns:6}}"名前空間用に別名"Image"が含まれています (詳細は[[#ns-aliases|名前空間の別名]]を参照)。
説明ページを迂回してメディアファイルを直接リンクする場合は、[[#ns-media|メディア名前空間]]を参照してください。
<span id="File_talk"></span>
====ファイル・トーク (File talk)====
これは通常、対応するメディアファイルに関する議論に使用されるトーク名前空間です。特別な性質はありません。
==== MediaWiki ====
{{main|Help:System message}}
{{ns:8}}名前空間は、[[Special:MyLanguage/Help:System message#Overriding messages on-wiki|システムメッセージ]]やその他の重要なコンテンツを格納するために使用されます。
例えば、[[{{ns:8}}:Edit]]ページ(デフォルトの「Vector」外装では[[{{ns:8}}:Vector-view-edit]])には、各ページ上部の{{int|Edit}}タブを埋めるテキストが含まれています。
このようなページが存在する場合、デフォルトのEditを上書きします。同様に、[[{{ns:8}}:Common.css]] は、すべてのユーザー向けに読み込まれる各ページの[[w:Cascading Style Sheets|CSS]] コードを保持するシステム メッセージです。
この名前空間は、<code>(editinterface)</code>権限を持つユーザーのみが編集できるという特徴があります。
MediaWiki 1.32以降、JavaScriptとCSSページの編集には<code>editinterface</code>と<code>editsitejs</code>又は<code>editsitecss</code>の編集権限が必要です。
<span id="MediaWiki_talk"></span>
==== MediaWiki・トーク (MediaWiki talk) ====
これは通常、対応するシステム メッセージに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Template"></span>
==== テンプレート (Template)====
{{main|Help:Templates}}
「{{ns:10}}」名前空間は、[[Special:MyLanguage/Help:Templates|テンプレート]]、つまり複数のページに記載されることを意図したテキストまたはウィキコードを保持するために使用されます。
テンプレートを簡単に使用できるようにするため、テンプレート名前空間は参照読み込みのデフォルトの名前空間になっています。つまり<code><nowiki>{{Foo}}</nowiki></code>と<code><nowiki>{{</nowiki>'''{{ns:10}}:'''<nowiki>Foo}}</nowiki></code>は同じ結果になります。
<span id="Template_talk"></span>
====テンプレート・トーク (Template talk)====
これは通常、対応するテンプレート ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Help"></span>
====ヘルプ(Help)====
{{ns:12}}名前空間は通常、ヘルプファイル、説明書、使い方に関する文書などをおくために使われます。特別な性質はありません。
[[Special:MyLanguage/Help:Contents|名前空間のヘルプ]]を参照。
<span id="Help_talk"></span>
==== ヘルプトーク (Help talk) ====
これは通常、対応するヘルプページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Category"></span>
==== カテゴリ(Category) ====
{{main|Help:Categories}}
「{{ns:14}}」名前空間は[[Special:MyLanguage/Help:Categories|カテゴリー]]、つまり他のページの動的なリストを含んでいます。
利用しやすくするため、カテゴリページへの直接リンクはインラインリンクを出力せず、代わりにそのページを関連するカテゴリページに組み込みます。
そのため<code><nowiki>[[</nowiki>{{ns:14}}<nowiki>:Help]]</nowiki></code>というコードはページ下部(一番下の「{{int|Pagecategories}}」とマークされたボックス内)にカテゴリリンクを表示されます。
そのリンクをクリックするとカテゴリページに移動し、そのページがカテゴリ一覧に表示されます。
カテゴリ ページへのインライン リンクを作成するには、名前空間の先頭にコロンを追加する必要があります。<code><nowiki>[[</nowiki>:{{ns:14}}:Help<nowiki>]]</nowiki></code> は [[:{{ns:14}}:Help]] を生成します。
カテゴリリンクの構文の詳細については、{{ll|Help:Categories}} を参照してください。
<span id="Category_talk"></span>
====カテゴリ・トーク (Category talk)====
これは通常、対応するカテゴリ ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Localisation"></span>
==地域化==
{| class="wikitable" width="0" style="float:{{dir|{{pagelang}}|left|right}}; margin-{{dir|{{pagelang}}|right|left}}:0.7em;"
|-
!{{hl2}}|数
!{{hl2}}|標準名
!{{hl2}}|ローカル名
|-
| -2 || Media || メディア
|-
| -1 || Special || 特別
|-
| 0 || (Main) || {{ns:0}}
|-
| 1 || Talk || トーク
|-
| 2 || User || 利用者
|-
| 3 || User talk || 利用者・トーク
|-
| 4 || Project || プロジェクト
|-
| 5 || Project talk || プロジェクト・トーク
|-
| 6 || File || ファイル
|-
| 7 || File talk || ファイル・トーク
|-
| 8 || MediaWiki || MediaWiki
|-
| 9 || MediaWiki talk || MediaWiki・トーク
|-
| 10 || Template || テンプレート
|-
| 11 || Template talk || テンプレート・トーク
|-
| 12 || Help || ヘルプ
|-
| 13 || Help talk || ヘルプ・トーク
|-
| 14 || Category || カテゴリ
|-
| 15 || Category talk || カテゴリ・トーク
|}
名前空間名および別名は、開発者が地域化できます。
名前空間名の地域化を要望するには、{{ll|Phabricator}} で [https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Internationalization MediaWiki 国際化タスクを登録]してください。
タスクの説明には、右側の表にあるすべての名前空間の翻訳、およびWikiにある追加の名前空間(例えば「モジュール」や「ガジェット」など)の翻訳を記載してください。
サイトの言語が中国語の場合、名前空間名はコンテンツが変換されており、ページには <code>__<nowiki/>NOTITLECONVERT__</code>や<code>__<nowiki/>NOTC__</code>または [[Special:MyLanguage/Help:Magic words|マジックワード]] が存在しない時に翻訳されます。
<span id="Renaming_namespaces"></span>
===名前空間名の変更===
名前空間名は英語以外の言語に翻訳することができ、個々の名前空間は、Wikiのシステム管理者([[Namespace manager|名前空間マネージャー]]を使用)によって設定されたとおりに名前を変更できます。
これらの名前は「地域化された名前空間の名前」と呼ばれます。
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
<span lang="en" dir="ltr" class="mw-content-ltr">So linking to [[User:Foo]] will always locate the user page for the user foo, whether the wiki is in French (where the localized name would be [[:Utilisateur:Foo]]), Russian ([[:Участник:Foo]]), or Hindi ([[:सदस्य:Foo]]).</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The canonical namespace names are given in the table to the right along with their localized names on this wiki.
</div>
{{Anchor|ns-aliases}}
<span id="Custom_namespaces"></span>
==カスタム名前空間==
<span id="Namespace_aliases"></span>
===名前空間の別名===
<span lang="en" dir="ltr" class="mw-content-ltr">On some wikis there are also namespace ''aliases'': alternative names that will also be resolved to the localised names.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For instance, a wiki might define "T" as an alias for {{ns:10}}, such that typing [[T:Foo]] is equivalent to [[{{ns:10}}:Foo]], saving a few characters and seconds.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">An actual example would be on the [[wikipedia:|English Wikipedia]], where "WP" is an alias for {{ns:4}}, which is the namespace "Wikipedia".</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
By default, "Image" is an alias for {{ns:6}}, so <code><nowiki>[[Image:MediaWiki-2020-logo.svg]]</nowiki></code> is equivalent to <code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg]]</nowiki></code>.
</div>
<span id="Extra_namespaces"></span>
===カスタム名前空間===
:''<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Extension default namespaces}} for a list of namespaces used by various extensions, and {{ll|Manual:Using custom namespaces}} for information on how to set up extra namespaces on a wiki.</span>''
<div lang="en" dir="ltr" class="mw-content-ltr">
Some wikis may wish to organize their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.
</div>
<span id="Identifying_the_namespace_of_a_page"></span>
==名前空間の識別==
あるページの名前空間を識別する方法はいくつかあります。
;マジック ワード
[[Special:MyLanguage/Help:Magic word|マジック ワード]] <code><nowiki>{{NAMESPACE}}</nowiki></code> は、ページが属する名前空間の値を返します。
<div lang="en" dir="ltr" class="mw-content-ltr">
To refer to another namespace, use {{tmpl|0=<code>{{((}}ns:<$1>{{))}}</code>|name}} (e.g. <code><nowiki>{{ns:Project}}</nowiki></code>), or <code><nowiki>{{SUBJECTSPACE}}</nowiki></code> / <code><nowiki>{{TALKSPACE}}</nowiki></code> to refer to the namespace paired with the current one.
</div>
;JavaScript
<span lang="en" dir="ltr" class="mw-content-ltr">The JavaScript variable <code>wgCanonicalNamespace</code> contains the full namespace name.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The variable <code>wgNamespaceNumber</code> contains the numerical index of the namespace.</span>
;CSS
<span lang="en" dir="ltr" class="mw-content-ltr">The {{tag|body|open}} tag of the HTML page output is given two CSS classes that vary by namespace: A class <code>ns-#</code>, where # is the index of the namespace, and <code>ns-XXX</code>, where XXX is "<code>subject</code>" for all {{ll|Manual:Namespace#Subject and talk namespaces|subject namespaces}}, "<code>special</code>" for pages in the {{ns:-1}} namespace, and "<code>talk</code>" for {{ll|Manual:Namespace#Subject and talk namespaces|talk namespaces}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">So CSS code such as the following can be used to change the appearance of an object based on its namespace:</span>
<syntaxhighlight lang="css">
.ns-subject a { /* 主題ページの大部分のリンクを緑にする */
color: #0f0;
}
.ns-talk a { /* トークページ内のリンクを青にする */
color: #00f;
}
.ns-3 a { /* さらに利用者トークページのリンクを赤にする */
color: #f00;
}
</syntaxhighlight>
==Listing namespaces==
:''{{ll|Extension default namespaces}}でMediaWiki拡張機能で使用される名前空間のリストを確認できます。''
<div lang="en" dir="ltr" class="mw-content-ltr">
The special page [[Special:NamespaceInfo]] provides a table with information about the namespaces used on a wiki, including the ID, canonical name, local name, description, and properties.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also get a complete list of all namespace names of a MediaWiki installation from the Search results page ''Advanced'' tab, or from any ''recent changes'' page such as contributions or watchlist in its options box, in a drop-down list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For the system properties of each namespace, use the MediaWiki {{ll|API:Main page|API}}:
</div>
;API
{{ApiEx
| site=www.mediawiki.org
| p1=action=query
| p2=meta=siteinfo
| p3=siprop=namespaces
| p4=formatversion=2
}}
<span id="See_also"></span>
== 関連ページ ==
* {{ll|Manual:Namespace}}
* {{ll|Manual:Using custom namespaces}}
* {{ll|Manual:$wgNamespacesToBeSearchedDefault}}
[[Category:Help{{#translation:}}|Namespaces]]
[[Category:Namespace{{#translation:}}|Namespaces]]
4awva3e3d41pcbzz9gn77qni8hfzsbh
8390226
8390224
2026-05-24T23:17:50Z
~2026-31113-74
18405266
Created page with "そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]]) であっても、常に「foo」という ユーザーページにリンクします。"
8390226
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
MediaWiki ウィキのページは「'''名前空間'''(ネームスペース)」と呼ばれる、ページの目的を大まかに区別するための集まりに分類されます。特定の名前区間にあるページは特別な性質を持っていたり、他のページとの相互作用のしかたが異なっていたりします。
名前空間はページタイトルのなかでページ名の前につく部分の「<code><nowiki><名前空間>:</nowiki></code>」で示されます。このページのタイトル(<code>{{FULLPAGENAME}}</code>)の <code>{{NAMESPACE}}:</code> はこのページが <code>{{NAMESPACE}}</code> 名前空間にあることを示しています。個々の名前空間は番号と名前で識別されます。名前は翻訳可能で、別名をもっていることがあります。
名前空間接頭辞がない名前のページは[[#blank-ns|標準名前空間]]にあります。 しかし、名前空間を示すのではないコロンと接頭辞が、ページ名に現れる可能性もあることに注意してください:名前空間「Foo」が存在しないため、ページ<code>Foo:{{PAGENAME}}</code>は標準名前空間にあるページです。 同様に、ページ<code>{{NAMESPACE}}:Foo:{{PAGENAME}}</code>は「{{NAMESPACE}}」名前空間にあります。
<span id="Standard_namespaces"></span>
== 標準的な名前空間 ==
標準のMediaWikiインストレーションには利用者が作成したコンテンツを格納できる16個の名前空間があります。また、MediaWikiソフトウェアによって「その場で」作成されたページを格納する2つの特別な名前空間も用意されています。標準的な名前空間は「主題名前空間」と「議論名前空間」のペアで編成されています。名前空間は、すべての主題名前空間が偶数、すべての議論(トーク)名前空間が奇数となるように、ゼロから番号付けされています。
{{Anchor|ns-media}}
<span id="Media"></span>
====メディア====
この名前空間は、メディアファイルへの直接リンクに使われます: リンク <code><nowiki>[[</nowiki>[[Media:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code> は、画像の説明ページではなく、画像だけにリンクします。画像の説明ページへのリンクは <code><nowiki>[[</nowiki>[[:File:MediaWiki-2020-logo.svg|:{{ns:6}}:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code>になります。
<span id="Special"></span>
====特別(special)====
{{main|Help:Special pages}}
この名前空間は、[[Special:MyLanguage/Help:Special pages|特別ページ]]をグループ化するために使用されます。特別ページは、「要求に応じて」MediaWiki が生成するレポートやインターフェイスであり、直接は編集できません。MediaWiki ソフトウェアを変更・拡張しない限り、この名前空間にはページを作成できません。
{{Anchor|blank-ns|Main}}
==== {{int|blanknamespace}} ====
コロンで区切られた接頭辞がない名前空間です。一般に「標準名前空間」または「メイン空間」と呼ばれます。通常この名前空間はウィキの{{ll|Manual:$wgContentNamespaces|コンテンツ ページ}}の大部分を含みます。この名前空間は通常特別な性質はありません。
<span id="Talk"></span>
====トーク (Talk)====
{{main|Help:Talk pages}}
{{ns:1}}名前空間はメイン空間に付属する議論の名前空間です。特別な性質はありません。
<span id="User"></span>
====利用者(User)====
{{main|Help:User page}}
個々の利用者は自分に対応するページを{{ns:2}}名前空間にもっています。このページは編集履歴、最近の更新ページなど、個別の利用者が同定されるときにはいつでもリンクされます。
このページおよびその下位ページは、利用者自身に関する情報を記録する目的や、新規コンテンツの下書きやテストのため、利用者により使用されます。
{{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.js'''</code>|利用者名}} または {{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.css'''</code>|利用者名}} という形式のページは、当該利用者自身または[[Special:MyLanguage/Help:Sysops and permissions|インターフェイス管理者]] (MediaWiki 1.32 未満の場合は管理者) のみが編集できます。
<span id="User_talk"></span>
====利用者・トーク (User talk) ====
この名前空間は"{{ns:2}}"に関連した会話スペースです。
この名前空間のページは主に特定のユーザーにメッセージを残すため、または彼らにとって興味のある議論を伝えるために使用されます。
これを容易に行うため、{{tmpl|0=<code>{{ns:3}}:$1</code>|UserName}}が編集された時、そのユーザーにこのような通知がページ上部に表示されます。
<div class="usermessage plainlinks" style="margin: 1em 0;">
{{int|new-messages-from-users
|2=[[{{ns:3}}:UserName|<span style="color:#002bb8">{{int|new-messages-link-plural|1}}</span>]]
|3=[{{fullurl:{{ns:3}}:UserName|diff=cur}} <span style="color:#002bb8">{{int|new-messages-diff-link-plural|1}}</span>]
|4=1}}
</div>
この通知は利用者が会話ページのメッセージを読むまで表示され続けます。
{{Admin tip|1={{ll|Extension:Echo|nsp=0}} のような拡張機能で、この挙動をオーバーライドできます。}}
<span id="Project"></span>
==== プロジェクト(Project) ====
この名前空間は通常、そのウィキの運営や発展についてのメタ議論のために使用されます。
自動的に利用者をwikiの名前が付けられた名前空間にリダイレクトします。例:
<nowiki>[[Project:Licenses]] → [[Wikipedia:Licenses]].</nowiki>
この名前空間の名前はWikiによって異なるため、すべての名前空間のリストを表示するドロップダウンリストの5番目の項目を確認することをお勧めします。
プロジェクト名前空間は利用者トーク名前空間の直後にリストされます。
一部のウィキファームではこの名前空間が<code>Meta</code>という名前のことがあります。
<span id="Project_talk"></span>
====プロジェクト・トーク(Project talk)====
これは通常、対応するプロジェクトページに関する議論に使われるトーク名前空間です。特別な性質はありません。
<span id="File"></span>
==== ファイル(File)====
{{main|Help:Images}}
[[Image:MediaWiki-2020-logo.svg|right]]
「{{ns:6}}」名前空間は、「{{ns:-2}}」名前空間を介してアクセスされる画像、ビデオ、音声ファイル、その他のメディアのメタデータを格納するために使用されます。
各ファイルには「{{ns:6}}」名前空間に対応するページがあり、これはライセンスデータを格納するためによく使用されます。
この名前空間のページを直接リンクさせると、メディアファイルはインラインで埋め込まれます。例えば<code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code>は右のような画像を生成します。
このリンク構文の詳細は{{ll|Help:Images}}を参照してください。
ファイルページへの[[Special:MyLanguage/Help:Links|ウィキ間リンク]]を作成するには、名前空間の前にコロンを付加する必要があります:<code><nowiki>[[:</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code> で [[:{{ns:6}}:MediaWiki-2020-logo.svg]] が出力されます。
標準的な MediaWiki のインストレーションには"{{ns:6}}"名前空間用に別名"Image"が含まれています (詳細は[[#ns-aliases|名前空間の別名]]を参照)。
説明ページを迂回してメディアファイルを直接リンクする場合は、[[#ns-media|メディア名前空間]]を参照してください。
<span id="File_talk"></span>
====ファイル・トーク (File talk)====
これは通常、対応するメディアファイルに関する議論に使用されるトーク名前空間です。特別な性質はありません。
==== MediaWiki ====
{{main|Help:System message}}
{{ns:8}}名前空間は、[[Special:MyLanguage/Help:System message#Overriding messages on-wiki|システムメッセージ]]やその他の重要なコンテンツを格納するために使用されます。
例えば、[[{{ns:8}}:Edit]]ページ(デフォルトの「Vector」外装では[[{{ns:8}}:Vector-view-edit]])には、各ページ上部の{{int|Edit}}タブを埋めるテキストが含まれています。
このようなページが存在する場合、デフォルトのEditを上書きします。同様に、[[{{ns:8}}:Common.css]] は、すべてのユーザー向けに読み込まれる各ページの[[w:Cascading Style Sheets|CSS]] コードを保持するシステム メッセージです。
この名前空間は、<code>(editinterface)</code>権限を持つユーザーのみが編集できるという特徴があります。
MediaWiki 1.32以降、JavaScriptとCSSページの編集には<code>editinterface</code>と<code>editsitejs</code>又は<code>editsitecss</code>の編集権限が必要です。
<span id="MediaWiki_talk"></span>
==== MediaWiki・トーク (MediaWiki talk) ====
これは通常、対応するシステム メッセージに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Template"></span>
==== テンプレート (Template)====
{{main|Help:Templates}}
「{{ns:10}}」名前空間は、[[Special:MyLanguage/Help:Templates|テンプレート]]、つまり複数のページに記載されることを意図したテキストまたはウィキコードを保持するために使用されます。
テンプレートを簡単に使用できるようにするため、テンプレート名前空間は参照読み込みのデフォルトの名前空間になっています。つまり<code><nowiki>{{Foo}}</nowiki></code>と<code><nowiki>{{</nowiki>'''{{ns:10}}:'''<nowiki>Foo}}</nowiki></code>は同じ結果になります。
<span id="Template_talk"></span>
====テンプレート・トーク (Template talk)====
これは通常、対応するテンプレート ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Help"></span>
====ヘルプ(Help)====
{{ns:12}}名前空間は通常、ヘルプファイル、説明書、使い方に関する文書などをおくために使われます。特別な性質はありません。
[[Special:MyLanguage/Help:Contents|名前空間のヘルプ]]を参照。
<span id="Help_talk"></span>
==== ヘルプトーク (Help talk) ====
これは通常、対応するヘルプページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Category"></span>
==== カテゴリ(Category) ====
{{main|Help:Categories}}
「{{ns:14}}」名前空間は[[Special:MyLanguage/Help:Categories|カテゴリー]]、つまり他のページの動的なリストを含んでいます。
利用しやすくするため、カテゴリページへの直接リンクはインラインリンクを出力せず、代わりにそのページを関連するカテゴリページに組み込みます。
そのため<code><nowiki>[[</nowiki>{{ns:14}}<nowiki>:Help]]</nowiki></code>というコードはページ下部(一番下の「{{int|Pagecategories}}」とマークされたボックス内)にカテゴリリンクを表示されます。
そのリンクをクリックするとカテゴリページに移動し、そのページがカテゴリ一覧に表示されます。
カテゴリ ページへのインライン リンクを作成するには、名前空間の先頭にコロンを追加する必要があります。<code><nowiki>[[</nowiki>:{{ns:14}}:Help<nowiki>]]</nowiki></code> は [[:{{ns:14}}:Help]] を生成します。
カテゴリリンクの構文の詳細については、{{ll|Help:Categories}} を参照してください。
<span id="Category_talk"></span>
====カテゴリ・トーク (Category talk)====
これは通常、対応するカテゴリ ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Localisation"></span>
==地域化==
{| class="wikitable" width="0" style="float:{{dir|{{pagelang}}|left|right}}; margin-{{dir|{{pagelang}}|right|left}}:0.7em;"
|-
!{{hl2}}|数
!{{hl2}}|標準名
!{{hl2}}|ローカル名
|-
| -2 || Media || メディア
|-
| -1 || Special || 特別
|-
| 0 || (Main) || {{ns:0}}
|-
| 1 || Talk || トーク
|-
| 2 || User || 利用者
|-
| 3 || User talk || 利用者・トーク
|-
| 4 || Project || プロジェクト
|-
| 5 || Project talk || プロジェクト・トーク
|-
| 6 || File || ファイル
|-
| 7 || File talk || ファイル・トーク
|-
| 8 || MediaWiki || MediaWiki
|-
| 9 || MediaWiki talk || MediaWiki・トーク
|-
| 10 || Template || テンプレート
|-
| 11 || Template talk || テンプレート・トーク
|-
| 12 || Help || ヘルプ
|-
| 13 || Help talk || ヘルプ・トーク
|-
| 14 || Category || カテゴリ
|-
| 15 || Category talk || カテゴリ・トーク
|}
名前空間名および別名は、開発者が地域化できます。
名前空間名の地域化を要望するには、{{ll|Phabricator}} で [https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Internationalization MediaWiki 国際化タスクを登録]してください。
タスクの説明には、右側の表にあるすべての名前空間の翻訳、およびWikiにある追加の名前空間(例えば「モジュール」や「ガジェット」など)の翻訳を記載してください。
サイトの言語が中国語の場合、名前空間名はコンテンツが変換されており、ページには <code>__<nowiki/>NOTITLECONVERT__</code>や<code>__<nowiki/>NOTC__</code>または [[Special:MyLanguage/Help:Magic words|マジックワード]] が存在しない時に翻訳されます。
<span id="Renaming_namespaces"></span>
===名前空間名の変更===
名前空間名は英語以外の言語に翻訳することができ、個々の名前空間は、Wikiのシステム管理者([[Namespace manager|名前空間マネージャー]]を使用)によって設定されたとおりに名前を変更できます。
これらの名前は「地域化された名前空間の名前」と呼ばれます。
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]]) であっても、常に「foo」という ユーザーページにリンクします。
<div lang="en" dir="ltr" class="mw-content-ltr">
The canonical namespace names are given in the table to the right along with their localized names on this wiki.
</div>
{{Anchor|ns-aliases}}
<span id="Custom_namespaces"></span>
==カスタム名前空間==
<span id="Namespace_aliases"></span>
===名前空間の別名===
<span lang="en" dir="ltr" class="mw-content-ltr">On some wikis there are also namespace ''aliases'': alternative names that will also be resolved to the localised names.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For instance, a wiki might define "T" as an alias for {{ns:10}}, such that typing [[T:Foo]] is equivalent to [[{{ns:10}}:Foo]], saving a few characters and seconds.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">An actual example would be on the [[wikipedia:|English Wikipedia]], where "WP" is an alias for {{ns:4}}, which is the namespace "Wikipedia".</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
By default, "Image" is an alias for {{ns:6}}, so <code><nowiki>[[Image:MediaWiki-2020-logo.svg]]</nowiki></code> is equivalent to <code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg]]</nowiki></code>.
</div>
<span id="Extra_namespaces"></span>
===カスタム名前空間===
:''<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Extension default namespaces}} for a list of namespaces used by various extensions, and {{ll|Manual:Using custom namespaces}} for information on how to set up extra namespaces on a wiki.</span>''
<div lang="en" dir="ltr" class="mw-content-ltr">
Some wikis may wish to organize their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.
</div>
<span id="Identifying_the_namespace_of_a_page"></span>
==名前空間の識別==
あるページの名前空間を識別する方法はいくつかあります。
;マジック ワード
[[Special:MyLanguage/Help:Magic word|マジック ワード]] <code><nowiki>{{NAMESPACE}}</nowiki></code> は、ページが属する名前空間の値を返します。
<div lang="en" dir="ltr" class="mw-content-ltr">
To refer to another namespace, use {{tmpl|0=<code>{{((}}ns:<$1>{{))}}</code>|name}} (e.g. <code><nowiki>{{ns:Project}}</nowiki></code>), or <code><nowiki>{{SUBJECTSPACE}}</nowiki></code> / <code><nowiki>{{TALKSPACE}}</nowiki></code> to refer to the namespace paired with the current one.
</div>
;JavaScript
<span lang="en" dir="ltr" class="mw-content-ltr">The JavaScript variable <code>wgCanonicalNamespace</code> contains the full namespace name.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The variable <code>wgNamespaceNumber</code> contains the numerical index of the namespace.</span>
;CSS
<span lang="en" dir="ltr" class="mw-content-ltr">The {{tag|body|open}} tag of the HTML page output is given two CSS classes that vary by namespace: A class <code>ns-#</code>, where # is the index of the namespace, and <code>ns-XXX</code>, where XXX is "<code>subject</code>" for all {{ll|Manual:Namespace#Subject and talk namespaces|subject namespaces}}, "<code>special</code>" for pages in the {{ns:-1}} namespace, and "<code>talk</code>" for {{ll|Manual:Namespace#Subject and talk namespaces|talk namespaces}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">So CSS code such as the following can be used to change the appearance of an object based on its namespace:</span>
<syntaxhighlight lang="css">
.ns-subject a { /* 主題ページの大部分のリンクを緑にする */
color: #0f0;
}
.ns-talk a { /* トークページ内のリンクを青にする */
color: #00f;
}
.ns-3 a { /* さらに利用者トークページのリンクを赤にする */
color: #f00;
}
</syntaxhighlight>
==Listing namespaces==
:''{{ll|Extension default namespaces}}でMediaWiki拡張機能で使用される名前空間のリストを確認できます。''
<div lang="en" dir="ltr" class="mw-content-ltr">
The special page [[Special:NamespaceInfo]] provides a table with information about the namespaces used on a wiki, including the ID, canonical name, local name, description, and properties.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also get a complete list of all namespace names of a MediaWiki installation from the Search results page ''Advanced'' tab, or from any ''recent changes'' page such as contributions or watchlist in its options box, in a drop-down list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For the system properties of each namespace, use the MediaWiki {{ll|API:Main page|API}}:
</div>
;API
{{ApiEx
| site=www.mediawiki.org
| p1=action=query
| p2=meta=siteinfo
| p3=siprop=namespaces
| p4=formatversion=2
}}
<span id="See_also"></span>
== 関連ページ ==
* {{ll|Manual:Namespace}}
* {{ll|Manual:Using custom namespaces}}
* {{ll|Manual:$wgNamespacesToBeSearchedDefault}}
[[Category:Help{{#translation:}}|Namespaces]]
[[Category:Namespace{{#translation:}}|Namespaces]]
texz2lq7kcs5jsj5rf8vq1dla8g5kfy
8390229
8390226
2026-05-25T01:28:58Z
~2026-31113-74
18405266
8390229
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
MediaWiki ウィキのページは「'''名前空間'''(ネームスペース)」と呼ばれる、ページの目的を大まかに区別するための集まりに分類されます。特定の名前区間にあるページは特別な性質を持っていたり、他のページとの相互作用のしかたが異なっていたりします。
名前空間はページタイトルのなかでページ名の前につく部分の「<code><nowiki><名前空間>:</nowiki></code>」で示されます。このページのタイトル(<code>{{FULLPAGENAME}}</code>)の <code>{{NAMESPACE}}:</code> はこのページが <code>{{NAMESPACE}}</code> 名前空間にあることを示しています。個々の名前空間は番号と名前で識別されます。名前は翻訳可能で、別名をもっていることがあります。
名前空間接頭辞がない名前のページは[[#blank-ns|標準名前空間]]にあります。 しかし、名前空間を示すのではないコロンと接頭辞が、ページ名に現れる可能性もあることに注意してください:名前空間「Foo」が存在しないため、ページ<code>Foo:{{PAGENAME}}</code>は標準名前空間にあるページです。 同様に、ページ<code>{{NAMESPACE}}:Foo:{{PAGENAME}}</code>は「{{NAMESPACE}}」名前空間にあります。
<span id="Standard_namespaces"></span>
== 標準的な名前空間 ==
標準のMediaWikiインストレーションには利用者が作成したコンテンツを格納できる16個の名前空間があります。また、MediaWikiソフトウェアによって「その場で」作成されたページを格納する2つの特別な名前空間も用意されています。標準的な名前空間は「主題名前空間」と「議論名前空間」のペアで編成されています。名前空間は、すべての主題名前空間が偶数、すべての議論(トーク)名前空間が奇数となるように、ゼロから番号付けされています。
{{Anchor|ns-media}}
<span id="Media"></span>
====メディア====
この名前空間は、メディアファイルへの直接リンクに使われます: リンク <code><nowiki>[[</nowiki>[[Media:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code> は、画像の説明ページではなく、画像だけにリンクします。画像の説明ページへのリンクは <code><nowiki>[[</nowiki>[[:File:MediaWiki-2020-logo.svg|:{{ns:6}}:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code>になります。
<span id="Special"></span>
====特別(special)====
{{main|Help:Special pages}}
この名前空間は、[[Special:MyLanguage/Help:Special pages|特別ページ]]をグループ化するために使用されます。特別ページは、「要求に応じて」MediaWiki が生成するレポートやインターフェイスであり、直接は編集できません。MediaWiki ソフトウェアを変更・拡張しない限り、この名前空間にはページを作成できません。
{{Anchor|blank-ns|Main}}
==== {{int|blanknamespace}} ====
コロンで区切られた接頭辞がない名前空間です。一般に「標準名前空間」または「メイン空間」と呼ばれます。通常この名前空間はウィキの{{ll|Manual:$wgContentNamespaces|コンテンツ ページ}}の大部分を含みます。この名前空間は通常特別な性質はありません。
<span id="Talk"></span>
====トーク (Talk)====
{{main|Help:Talk pages}}
{{ns:1}}名前空間はメイン空間に付属する議論の名前空間です。特別な性質はありません。
<span id="User"></span>
====利用者(User)====
{{main|Help:User page}}
個々の利用者は自分に対応するページを{{ns:2}}名前空間にもっています。このページは編集履歴、最近の更新ページなど、個別の利用者が同定されるときにはいつでもリンクされます。
このページおよびその下位ページは、利用者自身に関する情報を記録する目的や、新規コンテンツの下書きやテストのため、利用者により使用されます。
{{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.js'''</code>|利用者名}} または {{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.css'''</code>|利用者名}} という形式のページは、当該利用者自身または[[Special:MyLanguage/Help:Sysops and permissions|インターフェイス管理者]] (MediaWiki 1.32 未満の場合は管理者) のみが編集できます。
<span id="User_talk"></span>
====利用者・トーク (User talk) ====
この名前空間は"{{ns:2}}"に関連した会話スペースです。
この名前空間のページは主に特定のユーザーにメッセージを残すため、または彼らにとって興味のある議論を伝えるために使用されます。
これを容易に行うため、{{tmpl|0=<code>{{ns:3}}:$1</code>|UserName}}が編集された時、そのユーザーにこのような通知がページ上部に表示されます。
<div class="usermessage plainlinks" style="margin: 1em 0;">
{{int|new-messages-from-users
|2=[[{{ns:3}}:UserName|<span style="color:#002bb8">{{int|new-messages-link-plural|1}}</span>]]
|3=[{{fullurl:{{ns:3}}:UserName|diff=cur}} <span style="color:#002bb8">{{int|new-messages-diff-link-plural|1}}</span>]
|4=1}}
</div>
この通知は利用者が会話ページのメッセージを読むまで表示され続けます。
{{Admin tip|1={{ll|Extension:Echo|nsp=0}} のような拡張機能で、この挙動をオーバーライドできます。}}
<span id="Project"></span>
==== プロジェクト(Project) ====
この名前空間は通常、そのウィキの運営や発展についてのメタ議論のために使用されます。
自動的に利用者をwikiの名前が付けられた名前空間にリダイレクトします。例:
<nowiki>[[Project:Licenses]] → [[Wikipedia:Licenses]].</nowiki>
この名前空間の名前はWikiによって異なるため、すべての名前空間のリストを表示するドロップダウンリストの5番目の項目を確認することをお勧めします。
プロジェクト名前空間は利用者トーク名前空間の直後にリストされます。
一部のウィキファームではこの名前空間が<code>Meta</code>という名前のことがあります。
<span id="Project_talk"></span>
====プロジェクト・トーク(Project talk)====
これは通常、対応するプロジェクトページに関する議論に使われるトーク名前空間です。特別な性質はありません。
<span id="File"></span>
==== ファイル(File)====
{{main|Help:Images}}
[[Image:MediaWiki-2020-logo.svg|right]]
「{{ns:6}}」名前空間は、「{{ns:-2}}」名前空間を介してアクセスされる画像、ビデオ、音声ファイル、その他のメディアのメタデータを格納するために使用されます。
各ファイルには「{{ns:6}}」名前空間に対応するページがあり、これはライセンスデータを格納するためによく使用されます。
この名前空間のページを直接リンクさせると、メディアファイルはインラインで埋め込まれます。例えば<code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code>は右のような画像を生成します。
このリンク構文の詳細は{{ll|Help:Images}}を参照してください。
ファイルページへの[[Special:MyLanguage/Help:Links|ウィキ間リンク]]を作成するには、名前空間の前にコロンを付加する必要があります:<code><nowiki>[[:</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code> で [[:{{ns:6}}:MediaWiki-2020-logo.svg]] が出力されます。
標準的な MediaWiki のインストレーションには"{{ns:6}}"名前空間用に別名"Image"が含まれています (詳細は[[#ns-aliases|名前空間の別名]]を参照)。
説明ページを迂回してメディアファイルを直接リンクする場合は、[[#ns-media|メディア名前空間]]を参照してください。
<span id="File_talk"></span>
====ファイル・トーク (File talk)====
これは通常、対応するメディアファイルに関する議論に使用されるトーク名前空間です。特別な性質はありません。
==== MediaWiki ====
{{main|Help:System message}}
{{ns:8}}名前空間は、[[Special:MyLanguage/Help:System message#Overriding messages on-wiki|システムメッセージ]]やその他の重要なコンテンツを格納するために使用されます。
例えば、[[{{ns:8}}:Edit]]ページ(デフォルトの「Vector」外装では[[{{ns:8}}:Vector-view-edit]])には、各ページ上部の{{int|Edit}}タブを埋めるテキストが含まれています。
このようなページが存在する場合、デフォルトのEditを上書きします。同様に、[[{{ns:8}}:Common.css]] は、すべてのユーザー向けに読み込まれる各ページの[[w:Cascading Style Sheets|CSS]] コードを保持するシステム メッセージです。
この名前空間は、<code>(editinterface)</code>権限を持つユーザーのみが編集できるという特徴があります。
MediaWiki 1.32以降、JavaScriptとCSSページの編集には<code>editinterface</code>と<code>editsitejs</code>又は<code>editsitecss</code>の編集権限が必要です。
<span id="MediaWiki_talk"></span>
==== MediaWiki・トーク (MediaWiki talk) ====
これは通常、対応するシステム メッセージに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Template"></span>
==== テンプレート (Template)====
{{main|Help:Templates}}
「{{ns:10}}」名前空間は、[[Special:MyLanguage/Help:Templates|テンプレート]]、つまり複数のページに記載されることを意図したテキストまたはウィキコードを保持するために使用されます。
テンプレートを簡単に使用できるようにするため、テンプレート名前空間は参照読み込みのデフォルトの名前空間になっています。つまり<code><nowiki>{{Foo}}</nowiki></code>と<code><nowiki>{{</nowiki>'''{{ns:10}}:'''<nowiki>Foo}}</nowiki></code>は同じ結果になります。
<span id="Template_talk"></span>
====テンプレート・トーク (Template talk)====
これは通常、対応するテンプレート ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Help"></span>
====ヘルプ(Help)====
{{ns:12}}名前空間は通常、ヘルプファイル、説明書、使い方に関する文書などをおくために使われます。特別な性質はありません。
[[Special:MyLanguage/Help:Contents|名前空間のヘルプ]]を参照。
<span id="Help_talk"></span>
==== ヘルプトーク (Help talk) ====
これは通常、対応するヘルプページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Category"></span>
==== カテゴリ(Category) ====
{{main|Help:Categories}}
「{{ns:14}}」名前空間は[[Special:MyLanguage/Help:Categories|カテゴリー]]、つまり他のページの動的なリストを含んでいます。
利用しやすくするため、カテゴリページへの直接リンクはインラインリンクを出力せず、代わりにそのページを関連するカテゴリページに組み込みます。
そのため<code><nowiki>[[</nowiki>{{ns:14}}<nowiki>:Help]]</nowiki></code>というコードはページ下部(一番下の「{{int|Pagecategories}}」とマークされたボックス内)にカテゴリリンクを表示されます。
そのリンクをクリックするとカテゴリページに移動し、そのページがカテゴリ一覧に表示されます。
カテゴリ ページへのインライン リンクを作成するには、名前空間の先頭にコロンを追加する必要があります。<code><nowiki>[[</nowiki>:{{ns:14}}:Help<nowiki>]]</nowiki></code> は [[:{{ns:14}}:Help]] を生成します。
カテゴリリンクの構文の詳細については、{{ll|Help:Categories}} を参照してください。
<span id="Category_talk"></span>
====カテゴリ・トーク (Category talk)====
これは通常、対応するカテゴリ ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Localisation"></span>
==地域化==
{| class="wikitable" width="0" style="float:{{dir|{{pagelang}}|left|right}}; margin-{{dir|{{pagelang}}|right|left}}:0.7em;"
|-
!{{hl2}}|数
!{{hl2}}|標準名
!{{hl2}}|ローカル名
|-
| -2 || Media || メディア
|-
| -1 || Special || 特別
|-
| 0 || (Main) || {{ns:0}}
|-
| 1 || Talk || トーク
|-
| 2 || User || 利用者
|-
| 3 || User talk || 利用者・トーク
|-
| 4 || Project || プロジェクト
|-
| 5 || Project talk || プロジェクト・トーク
|-
| 6 || File || ファイル
|-
| 7 || File talk || ファイル・トーク
|-
| 8 || MediaWiki || MediaWiki
|-
| 9 || MediaWiki talk || MediaWiki・トーク
|-
| 10 || Template || テンプレート
|-
| 11 || Template talk || テンプレート・トーク
|-
| 12 || Help || ヘルプ
|-
| 13 || Help talk || ヘルプ・トーク
|-
| 14 || Category || カテゴリ
|-
| 15 || Category talk || カテゴリ・トーク
|}
名前空間名および別名は、開発者が地域化できます。
名前空間名の地域化を要望するには、{{ll|Phabricator}} で [https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Internationalization MediaWiki 国際化タスクを登録]してください。
タスクの説明には、右側の表にあるすべての名前空間の翻訳、およびWikiにある追加の名前空間(例えば「モジュール」や「ガジェット」など)の翻訳を記載してください。
サイトの言語が中国語の場合、名前空間名はコンテンツが変換されており、ページには <code>__<nowiki/>NOTITLECONVERT__</code>や<code>__<nowiki/>NOTC__</code>または [[Special:MyLanguage/Help:Magic words|マジックワード]] が存在しない時に翻訳されます。
<span id="Renaming_namespaces"></span>
===名前空間名の変更===
名前空間名は英語以外の言語に翻訳することができ、個々の名前空間は、Wikiのシステム管理者([[Namespace manager|名前空間マネージャー]]を使用)によって設定されたとおりに名前を変更できます。
これらの名前は「地域化された名前空間の名前」と呼ばれます。
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]])にローカライズされていても、常に「foo」というユーザーページにリンクします。
<div lang="en" dir="ltr" class="mw-content-ltr">
The canonical namespace names are given in the table to the right along with their localized names on this wiki.
</div>
{{Anchor|ns-aliases}}
<span id="Custom_namespaces"></span>
==カスタム名前空間==
<span id="Namespace_aliases"></span>
===名前空間の別名===
<span lang="en" dir="ltr" class="mw-content-ltr">On some wikis there are also namespace ''aliases'': alternative names that will also be resolved to the localised names.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For instance, a wiki might define "T" as an alias for {{ns:10}}, such that typing [[T:Foo]] is equivalent to [[{{ns:10}}:Foo]], saving a few characters and seconds.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">An actual example would be on the [[wikipedia:|English Wikipedia]], where "WP" is an alias for {{ns:4}}, which is the namespace "Wikipedia".</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
By default, "Image" is an alias for {{ns:6}}, so <code><nowiki>[[Image:MediaWiki-2020-logo.svg]]</nowiki></code> is equivalent to <code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg]]</nowiki></code>.
</div>
<span id="Extra_namespaces"></span>
===カスタム名前空間===
:''<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Extension default namespaces}} for a list of namespaces used by various extensions, and {{ll|Manual:Using custom namespaces}} for information on how to set up extra namespaces on a wiki.</span>''
<div lang="en" dir="ltr" class="mw-content-ltr">
Some wikis may wish to organize their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.
</div>
<span id="Identifying_the_namespace_of_a_page"></span>
==名前空間の識別==
あるページの名前空間を識別する方法はいくつかあります。
;マジック ワード
[[Special:MyLanguage/Help:Magic word|マジック ワード]] <code><nowiki>{{NAMESPACE}}</nowiki></code> は、ページが属する名前空間の値を返します。
<div lang="en" dir="ltr" class="mw-content-ltr">
To refer to another namespace, use {{tmpl|0=<code>{{((}}ns:<$1>{{))}}</code>|name}} (e.g. <code><nowiki>{{ns:Project}}</nowiki></code>), or <code><nowiki>{{SUBJECTSPACE}}</nowiki></code> / <code><nowiki>{{TALKSPACE}}</nowiki></code> to refer to the namespace paired with the current one.
</div>
;JavaScript
<span lang="en" dir="ltr" class="mw-content-ltr">The JavaScript variable <code>wgCanonicalNamespace</code> contains the full namespace name.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The variable <code>wgNamespaceNumber</code> contains the numerical index of the namespace.</span>
;CSS
<span lang="en" dir="ltr" class="mw-content-ltr">The {{tag|body|open}} tag of the HTML page output is given two CSS classes that vary by namespace: A class <code>ns-#</code>, where # is the index of the namespace, and <code>ns-XXX</code>, where XXX is "<code>subject</code>" for all {{ll|Manual:Namespace#Subject and talk namespaces|subject namespaces}}, "<code>special</code>" for pages in the {{ns:-1}} namespace, and "<code>talk</code>" for {{ll|Manual:Namespace#Subject and talk namespaces|talk namespaces}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">So CSS code such as the following can be used to change the appearance of an object based on its namespace:</span>
<syntaxhighlight lang="css">
.ns-subject a { /* 主題ページの大部分のリンクを緑にする */
color: #0f0;
}
.ns-talk a { /* トークページ内のリンクを青にする */
color: #00f;
}
.ns-3 a { /* さらに利用者トークページのリンクを赤にする */
color: #f00;
}
</syntaxhighlight>
==Listing namespaces==
:''{{ll|Extension default namespaces}}でMediaWiki拡張機能で使用される名前空間のリストを確認できます。''
<div lang="en" dir="ltr" class="mw-content-ltr">
The special page [[Special:NamespaceInfo]] provides a table with information about the namespaces used on a wiki, including the ID, canonical name, local name, description, and properties.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also get a complete list of all namespace names of a MediaWiki installation from the Search results page ''Advanced'' tab, or from any ''recent changes'' page such as contributions or watchlist in its options box, in a drop-down list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For the system properties of each namespace, use the MediaWiki {{ll|API:Main page|API}}:
</div>
;API
{{ApiEx
| site=www.mediawiki.org
| p1=action=query
| p2=meta=siteinfo
| p3=siprop=namespaces
| p4=formatversion=2
}}
<span id="See_also"></span>
== 関連ページ ==
* {{ll|Manual:Namespace}}
* {{ll|Manual:Using custom namespaces}}
* {{ll|Manual:$wgNamespacesToBeSearchedDefault}}
[[Category:Help{{#translation:}}|Namespaces]]
[[Category:Namespace{{#translation:}}|Namespaces]]
afo2jrcdnxcmqn99fuphwxxrgj01hn9
8390231
8390229
2026-05-25T01:29:45Z
~2026-31113-74
18405266
Created page with "右側の表には、正規の名前空間名と、このWikiにおけるローカライズされた名前が記載されています。"
8390231
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
MediaWiki ウィキのページは「'''名前空間'''(ネームスペース)」と呼ばれる、ページの目的を大まかに区別するための集まりに分類されます。特定の名前区間にあるページは特別な性質を持っていたり、他のページとの相互作用のしかたが異なっていたりします。
名前空間はページタイトルのなかでページ名の前につく部分の「<code><nowiki><名前空間>:</nowiki></code>」で示されます。このページのタイトル(<code>{{FULLPAGENAME}}</code>)の <code>{{NAMESPACE}}:</code> はこのページが <code>{{NAMESPACE}}</code> 名前空間にあることを示しています。個々の名前空間は番号と名前で識別されます。名前は翻訳可能で、別名をもっていることがあります。
名前空間接頭辞がない名前のページは[[#blank-ns|標準名前空間]]にあります。 しかし、名前空間を示すのではないコロンと接頭辞が、ページ名に現れる可能性もあることに注意してください:名前空間「Foo」が存在しないため、ページ<code>Foo:{{PAGENAME}}</code>は標準名前空間にあるページです。 同様に、ページ<code>{{NAMESPACE}}:Foo:{{PAGENAME}}</code>は「{{NAMESPACE}}」名前空間にあります。
<span id="Standard_namespaces"></span>
== 標準的な名前空間 ==
標準のMediaWikiインストレーションには利用者が作成したコンテンツを格納できる16個の名前空間があります。また、MediaWikiソフトウェアによって「その場で」作成されたページを格納する2つの特別な名前空間も用意されています。標準的な名前空間は「主題名前空間」と「議論名前空間」のペアで編成されています。名前空間は、すべての主題名前空間が偶数、すべての議論(トーク)名前空間が奇数となるように、ゼロから番号付けされています。
{{Anchor|ns-media}}
<span id="Media"></span>
====メディア====
この名前空間は、メディアファイルへの直接リンクに使われます: リンク <code><nowiki>[[</nowiki>[[Media:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code> は、画像の説明ページではなく、画像だけにリンクします。画像の説明ページへのリンクは <code><nowiki>[[</nowiki>[[:File:MediaWiki-2020-logo.svg|:{{ns:6}}:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code>になります。
<span id="Special"></span>
====特別(special)====
{{main|Help:Special pages}}
この名前空間は、[[Special:MyLanguage/Help:Special pages|特別ページ]]をグループ化するために使用されます。特別ページは、「要求に応じて」MediaWiki が生成するレポートやインターフェイスであり、直接は編集できません。MediaWiki ソフトウェアを変更・拡張しない限り、この名前空間にはページを作成できません。
{{Anchor|blank-ns|Main}}
==== {{int|blanknamespace}} ====
コロンで区切られた接頭辞がない名前空間です。一般に「標準名前空間」または「メイン空間」と呼ばれます。通常この名前空間はウィキの{{ll|Manual:$wgContentNamespaces|コンテンツ ページ}}の大部分を含みます。この名前空間は通常特別な性質はありません。
<span id="Talk"></span>
====トーク (Talk)====
{{main|Help:Talk pages}}
{{ns:1}}名前空間はメイン空間に付属する議論の名前空間です。特別な性質はありません。
<span id="User"></span>
====利用者(User)====
{{main|Help:User page}}
個々の利用者は自分に対応するページを{{ns:2}}名前空間にもっています。このページは編集履歴、最近の更新ページなど、個別の利用者が同定されるときにはいつでもリンクされます。
このページおよびその下位ページは、利用者自身に関する情報を記録する目的や、新規コンテンツの下書きやテストのため、利用者により使用されます。
{{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.js'''</code>|利用者名}} または {{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.css'''</code>|利用者名}} という形式のページは、当該利用者自身または[[Special:MyLanguage/Help:Sysops and permissions|インターフェイス管理者]] (MediaWiki 1.32 未満の場合は管理者) のみが編集できます。
<span id="User_talk"></span>
====利用者・トーク (User talk) ====
この名前空間は"{{ns:2}}"に関連した会話スペースです。
この名前空間のページは主に特定のユーザーにメッセージを残すため、または彼らにとって興味のある議論を伝えるために使用されます。
これを容易に行うため、{{tmpl|0=<code>{{ns:3}}:$1</code>|UserName}}が編集された時、そのユーザーにこのような通知がページ上部に表示されます。
<div class="usermessage plainlinks" style="margin: 1em 0;">
{{int|new-messages-from-users
|2=[[{{ns:3}}:UserName|<span style="color:#002bb8">{{int|new-messages-link-plural|1}}</span>]]
|3=[{{fullurl:{{ns:3}}:UserName|diff=cur}} <span style="color:#002bb8">{{int|new-messages-diff-link-plural|1}}</span>]
|4=1}}
</div>
この通知は利用者が会話ページのメッセージを読むまで表示され続けます。
{{Admin tip|1={{ll|Extension:Echo|nsp=0}} のような拡張機能で、この挙動をオーバーライドできます。}}
<span id="Project"></span>
==== プロジェクト(Project) ====
この名前空間は通常、そのウィキの運営や発展についてのメタ議論のために使用されます。
自動的に利用者をwikiの名前が付けられた名前空間にリダイレクトします。例:
<nowiki>[[Project:Licenses]] → [[Wikipedia:Licenses]].</nowiki>
この名前空間の名前はWikiによって異なるため、すべての名前空間のリストを表示するドロップダウンリストの5番目の項目を確認することをお勧めします。
プロジェクト名前空間は利用者トーク名前空間の直後にリストされます。
一部のウィキファームではこの名前空間が<code>Meta</code>という名前のことがあります。
<span id="Project_talk"></span>
====プロジェクト・トーク(Project talk)====
これは通常、対応するプロジェクトページに関する議論に使われるトーク名前空間です。特別な性質はありません。
<span id="File"></span>
==== ファイル(File)====
{{main|Help:Images}}
[[Image:MediaWiki-2020-logo.svg|right]]
「{{ns:6}}」名前空間は、「{{ns:-2}}」名前空間を介してアクセスされる画像、ビデオ、音声ファイル、その他のメディアのメタデータを格納するために使用されます。
各ファイルには「{{ns:6}}」名前空間に対応するページがあり、これはライセンスデータを格納するためによく使用されます。
この名前空間のページを直接リンクさせると、メディアファイルはインラインで埋め込まれます。例えば<code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code>は右のような画像を生成します。
このリンク構文の詳細は{{ll|Help:Images}}を参照してください。
ファイルページへの[[Special:MyLanguage/Help:Links|ウィキ間リンク]]を作成するには、名前空間の前にコロンを付加する必要があります:<code><nowiki>[[:</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code> で [[:{{ns:6}}:MediaWiki-2020-logo.svg]] が出力されます。
標準的な MediaWiki のインストレーションには"{{ns:6}}"名前空間用に別名"Image"が含まれています (詳細は[[#ns-aliases|名前空間の別名]]を参照)。
説明ページを迂回してメディアファイルを直接リンクする場合は、[[#ns-media|メディア名前空間]]を参照してください。
<span id="File_talk"></span>
====ファイル・トーク (File talk)====
これは通常、対応するメディアファイルに関する議論に使用されるトーク名前空間です。特別な性質はありません。
==== MediaWiki ====
{{main|Help:System message}}
{{ns:8}}名前空間は、[[Special:MyLanguage/Help:System message#Overriding messages on-wiki|システムメッセージ]]やその他の重要なコンテンツを格納するために使用されます。
例えば、[[{{ns:8}}:Edit]]ページ(デフォルトの「Vector」外装では[[{{ns:8}}:Vector-view-edit]])には、各ページ上部の{{int|Edit}}タブを埋めるテキストが含まれています。
このようなページが存在する場合、デフォルトのEditを上書きします。同様に、[[{{ns:8}}:Common.css]] は、すべてのユーザー向けに読み込まれる各ページの[[w:Cascading Style Sheets|CSS]] コードを保持するシステム メッセージです。
この名前空間は、<code>(editinterface)</code>権限を持つユーザーのみが編集できるという特徴があります。
MediaWiki 1.32以降、JavaScriptとCSSページの編集には<code>editinterface</code>と<code>editsitejs</code>又は<code>editsitecss</code>の編集権限が必要です。
<span id="MediaWiki_talk"></span>
==== MediaWiki・トーク (MediaWiki talk) ====
これは通常、対応するシステム メッセージに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Template"></span>
==== テンプレート (Template)====
{{main|Help:Templates}}
「{{ns:10}}」名前空間は、[[Special:MyLanguage/Help:Templates|テンプレート]]、つまり複数のページに記載されることを意図したテキストまたはウィキコードを保持するために使用されます。
テンプレートを簡単に使用できるようにするため、テンプレート名前空間は参照読み込みのデフォルトの名前空間になっています。つまり<code><nowiki>{{Foo}}</nowiki></code>と<code><nowiki>{{</nowiki>'''{{ns:10}}:'''<nowiki>Foo}}</nowiki></code>は同じ結果になります。
<span id="Template_talk"></span>
====テンプレート・トーク (Template talk)====
これは通常、対応するテンプレート ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Help"></span>
====ヘルプ(Help)====
{{ns:12}}名前空間は通常、ヘルプファイル、説明書、使い方に関する文書などをおくために使われます。特別な性質はありません。
[[Special:MyLanguage/Help:Contents|名前空間のヘルプ]]を参照。
<span id="Help_talk"></span>
==== ヘルプトーク (Help talk) ====
これは通常、対応するヘルプページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Category"></span>
==== カテゴリ(Category) ====
{{main|Help:Categories}}
「{{ns:14}}」名前空間は[[Special:MyLanguage/Help:Categories|カテゴリー]]、つまり他のページの動的なリストを含んでいます。
利用しやすくするため、カテゴリページへの直接リンクはインラインリンクを出力せず、代わりにそのページを関連するカテゴリページに組み込みます。
そのため<code><nowiki>[[</nowiki>{{ns:14}}<nowiki>:Help]]</nowiki></code>というコードはページ下部(一番下の「{{int|Pagecategories}}」とマークされたボックス内)にカテゴリリンクを表示されます。
そのリンクをクリックするとカテゴリページに移動し、そのページがカテゴリ一覧に表示されます。
カテゴリ ページへのインライン リンクを作成するには、名前空間の先頭にコロンを追加する必要があります。<code><nowiki>[[</nowiki>:{{ns:14}}:Help<nowiki>]]</nowiki></code> は [[:{{ns:14}}:Help]] を生成します。
カテゴリリンクの構文の詳細については、{{ll|Help:Categories}} を参照してください。
<span id="Category_talk"></span>
====カテゴリ・トーク (Category talk)====
これは通常、対応するカテゴリ ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Localisation"></span>
==地域化==
{| class="wikitable" width="0" style="float:{{dir|{{pagelang}}|left|right}}; margin-{{dir|{{pagelang}}|right|left}}:0.7em;"
|-
!{{hl2}}|数
!{{hl2}}|標準名
!{{hl2}}|ローカル名
|-
| -2 || Media || メディア
|-
| -1 || Special || 特別
|-
| 0 || (Main) || {{ns:0}}
|-
| 1 || Talk || トーク
|-
| 2 || User || 利用者
|-
| 3 || User talk || 利用者・トーク
|-
| 4 || Project || プロジェクト
|-
| 5 || Project talk || プロジェクト・トーク
|-
| 6 || File || ファイル
|-
| 7 || File talk || ファイル・トーク
|-
| 8 || MediaWiki || MediaWiki
|-
| 9 || MediaWiki talk || MediaWiki・トーク
|-
| 10 || Template || テンプレート
|-
| 11 || Template talk || テンプレート・トーク
|-
| 12 || Help || ヘルプ
|-
| 13 || Help talk || ヘルプ・トーク
|-
| 14 || Category || カテゴリ
|-
| 15 || Category talk || カテゴリ・トーク
|}
名前空間名および別名は、開発者が地域化できます。
名前空間名の地域化を要望するには、{{ll|Phabricator}} で [https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Internationalization MediaWiki 国際化タスクを登録]してください。
タスクの説明には、右側の表にあるすべての名前空間の翻訳、およびWikiにある追加の名前空間(例えば「モジュール」や「ガジェット」など)の翻訳を記載してください。
サイトの言語が中国語の場合、名前空間名はコンテンツが変換されており、ページには <code>__<nowiki/>NOTITLECONVERT__</code>や<code>__<nowiki/>NOTC__</code>または [[Special:MyLanguage/Help:Magic words|マジックワード]] が存在しない時に翻訳されます。
<span id="Renaming_namespaces"></span>
===名前空間名の変更===
名前空間名は英語以外の言語に翻訳することができ、個々の名前空間は、Wikiのシステム管理者([[Namespace manager|名前空間マネージャー]]を使用)によって設定されたとおりに名前を変更できます。
これらの名前は「地域化された名前空間の名前」と呼ばれます。
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]])にローカライズされていても、常に「foo」というユーザーページにリンクします。
右側の表には、正規の名前空間名と、このWikiにおけるローカライズされた名前が記載されています。
{{Anchor|ns-aliases}}
<span id="Custom_namespaces"></span>
==カスタム名前空間==
<span id="Namespace_aliases"></span>
===名前空間の別名===
<span lang="en" dir="ltr" class="mw-content-ltr">On some wikis there are also namespace ''aliases'': alternative names that will also be resolved to the localised names.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For instance, a wiki might define "T" as an alias for {{ns:10}}, such that typing [[T:Foo]] is equivalent to [[{{ns:10}}:Foo]], saving a few characters and seconds.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">An actual example would be on the [[wikipedia:|English Wikipedia]], where "WP" is an alias for {{ns:4}}, which is the namespace "Wikipedia".</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
By default, "Image" is an alias for {{ns:6}}, so <code><nowiki>[[Image:MediaWiki-2020-logo.svg]]</nowiki></code> is equivalent to <code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg]]</nowiki></code>.
</div>
<span id="Extra_namespaces"></span>
===カスタム名前空間===
:''<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Extension default namespaces}} for a list of namespaces used by various extensions, and {{ll|Manual:Using custom namespaces}} for information on how to set up extra namespaces on a wiki.</span>''
<div lang="en" dir="ltr" class="mw-content-ltr">
Some wikis may wish to organize their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.
</div>
<span id="Identifying_the_namespace_of_a_page"></span>
==名前空間の識別==
あるページの名前空間を識別する方法はいくつかあります。
;マジック ワード
[[Special:MyLanguage/Help:Magic word|マジック ワード]] <code><nowiki>{{NAMESPACE}}</nowiki></code> は、ページが属する名前空間の値を返します。
<div lang="en" dir="ltr" class="mw-content-ltr">
To refer to another namespace, use {{tmpl|0=<code>{{((}}ns:<$1>{{))}}</code>|name}} (e.g. <code><nowiki>{{ns:Project}}</nowiki></code>), or <code><nowiki>{{SUBJECTSPACE}}</nowiki></code> / <code><nowiki>{{TALKSPACE}}</nowiki></code> to refer to the namespace paired with the current one.
</div>
;JavaScript
<span lang="en" dir="ltr" class="mw-content-ltr">The JavaScript variable <code>wgCanonicalNamespace</code> contains the full namespace name.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The variable <code>wgNamespaceNumber</code> contains the numerical index of the namespace.</span>
;CSS
<span lang="en" dir="ltr" class="mw-content-ltr">The {{tag|body|open}} tag of the HTML page output is given two CSS classes that vary by namespace: A class <code>ns-#</code>, where # is the index of the namespace, and <code>ns-XXX</code>, where XXX is "<code>subject</code>" for all {{ll|Manual:Namespace#Subject and talk namespaces|subject namespaces}}, "<code>special</code>" for pages in the {{ns:-1}} namespace, and "<code>talk</code>" for {{ll|Manual:Namespace#Subject and talk namespaces|talk namespaces}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">So CSS code such as the following can be used to change the appearance of an object based on its namespace:</span>
<syntaxhighlight lang="css">
.ns-subject a { /* 主題ページの大部分のリンクを緑にする */
color: #0f0;
}
.ns-talk a { /* トークページ内のリンクを青にする */
color: #00f;
}
.ns-3 a { /* さらに利用者トークページのリンクを赤にする */
color: #f00;
}
</syntaxhighlight>
==Listing namespaces==
:''{{ll|Extension default namespaces}}でMediaWiki拡張機能で使用される名前空間のリストを確認できます。''
<div lang="en" dir="ltr" class="mw-content-ltr">
The special page [[Special:NamespaceInfo]] provides a table with information about the namespaces used on a wiki, including the ID, canonical name, local name, description, and properties.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also get a complete list of all namespace names of a MediaWiki installation from the Search results page ''Advanced'' tab, or from any ''recent changes'' page such as contributions or watchlist in its options box, in a drop-down list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For the system properties of each namespace, use the MediaWiki {{ll|API:Main page|API}}:
</div>
;API
{{ApiEx
| site=www.mediawiki.org
| p1=action=query
| p2=meta=siteinfo
| p3=siprop=namespaces
| p4=formatversion=2
}}
<span id="See_also"></span>
== 関連ページ ==
* {{ll|Manual:Namespace}}
* {{ll|Manual:Using custom namespaces}}
* {{ll|Manual:$wgNamespacesToBeSearchedDefault}}
[[Category:Help{{#translation:}}|Namespaces]]
[[Category:Namespace{{#translation:}}|Namespaces]]
6lo31ryc8tee7yx63lh9423zo450coo
8390240
8390231
2026-05-25T03:52:29Z
SouyaSatsuki
18099517
Created page with "例えば文字数と時間を節約するために「T」を{{ns:10}}の代替名として設定している場合があります。[[{{ns:10}}:Foo]]は[[T:Foo]]と打つことができます。"
8390240
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
MediaWiki ウィキのページは「'''名前空間'''(ネームスペース)」と呼ばれる、ページの目的を大まかに区別するための集まりに分類されます。特定の名前区間にあるページは特別な性質を持っていたり、他のページとの相互作用のしかたが異なっていたりします。
名前空間はページタイトルのなかでページ名の前につく部分の「<code><nowiki><名前空間>:</nowiki></code>」で示されます。このページのタイトル(<code>{{FULLPAGENAME}}</code>)の <code>{{NAMESPACE}}:</code> はこのページが <code>{{NAMESPACE}}</code> 名前空間にあることを示しています。個々の名前空間は番号と名前で識別されます。名前は翻訳可能で、別名をもっていることがあります。
名前空間接頭辞がない名前のページは[[#blank-ns|標準名前空間]]にあります。 しかし、名前空間を示すのではないコロンと接頭辞が、ページ名に現れる可能性もあることに注意してください:名前空間「Foo」が存在しないため、ページ<code>Foo:{{PAGENAME}}</code>は標準名前空間にあるページです。 同様に、ページ<code>{{NAMESPACE}}:Foo:{{PAGENAME}}</code>は「{{NAMESPACE}}」名前空間にあります。
<span id="Standard_namespaces"></span>
== 標準的な名前空間 ==
標準のMediaWikiインストレーションには利用者が作成したコンテンツを格納できる16個の名前空間があります。また、MediaWikiソフトウェアによって「その場で」作成されたページを格納する2つの特別な名前空間も用意されています。標準的な名前空間は「主題名前空間」と「議論名前空間」のペアで編成されています。名前空間は、すべての主題名前空間が偶数、すべての議論(トーク)名前空間が奇数となるように、ゼロから番号付けされています。
{{Anchor|ns-media}}
<span id="Media"></span>
====メディア====
この名前空間は、メディアファイルへの直接リンクに使われます: リンク <code><nowiki>[[</nowiki>[[Media:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code> は、画像の説明ページではなく、画像だけにリンクします。画像の説明ページへのリンクは <code><nowiki>[[</nowiki>[[:File:MediaWiki-2020-logo.svg|:{{ns:6}}:MediaWiki-2020-logo.svg]]<nowiki>]]</nowiki></code>になります。
<span id="Special"></span>
====特別(special)====
{{main|Help:Special pages}}
この名前空間は、[[Special:MyLanguage/Help:Special pages|特別ページ]]をグループ化するために使用されます。特別ページは、「要求に応じて」MediaWiki が生成するレポートやインターフェイスであり、直接は編集できません。MediaWiki ソフトウェアを変更・拡張しない限り、この名前空間にはページを作成できません。
{{Anchor|blank-ns|Main}}
==== {{int|blanknamespace}} ====
コロンで区切られた接頭辞がない名前空間です。一般に「標準名前空間」または「メイン空間」と呼ばれます。通常この名前空間はウィキの{{ll|Manual:$wgContentNamespaces|コンテンツ ページ}}の大部分を含みます。この名前空間は通常特別な性質はありません。
<span id="Talk"></span>
====トーク (Talk)====
{{main|Help:Talk pages}}
{{ns:1}}名前空間はメイン空間に付属する議論の名前空間です。特別な性質はありません。
<span id="User"></span>
====利用者(User)====
{{main|Help:User page}}
個々の利用者は自分に対応するページを{{ns:2}}名前空間にもっています。このページは編集履歴、最近の更新ページなど、個別の利用者が同定されるときにはいつでもリンクされます。
このページおよびその下位ページは、利用者自身に関する情報を記録する目的や、新規コンテンツの下書きやテストのため、利用者により使用されます。
{{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.js'''</code>|利用者名}} または {{tmpl|0=<code>{{ns:2}}:''$1''/Foo'''.css'''</code>|利用者名}} という形式のページは、当該利用者自身または[[Special:MyLanguage/Help:Sysops and permissions|インターフェイス管理者]] (MediaWiki 1.32 未満の場合は管理者) のみが編集できます。
<span id="User_talk"></span>
====利用者・トーク (User talk) ====
この名前空間は"{{ns:2}}"に関連した会話スペースです。
この名前空間のページは主に特定のユーザーにメッセージを残すため、または彼らにとって興味のある議論を伝えるために使用されます。
これを容易に行うため、{{tmpl|0=<code>{{ns:3}}:$1</code>|UserName}}が編集された時、そのユーザーにこのような通知がページ上部に表示されます。
<div class="usermessage plainlinks" style="margin: 1em 0;">
{{int|new-messages-from-users
|2=[[{{ns:3}}:UserName|<span style="color:#002bb8">{{int|new-messages-link-plural|1}}</span>]]
|3=[{{fullurl:{{ns:3}}:UserName|diff=cur}} <span style="color:#002bb8">{{int|new-messages-diff-link-plural|1}}</span>]
|4=1}}
</div>
この通知は利用者が会話ページのメッセージを読むまで表示され続けます。
{{Admin tip|1={{ll|Extension:Echo|nsp=0}} のような拡張機能で、この挙動をオーバーライドできます。}}
<span id="Project"></span>
==== プロジェクト(Project) ====
この名前空間は通常、そのウィキの運営や発展についてのメタ議論のために使用されます。
自動的に利用者をwikiの名前が付けられた名前空間にリダイレクトします。例:
<nowiki>[[Project:Licenses]] → [[Wikipedia:Licenses]].</nowiki>
この名前空間の名前はWikiによって異なるため、すべての名前空間のリストを表示するドロップダウンリストの5番目の項目を確認することをお勧めします。
プロジェクト名前空間は利用者トーク名前空間の直後にリストされます。
一部のウィキファームではこの名前空間が<code>Meta</code>という名前のことがあります。
<span id="Project_talk"></span>
====プロジェクト・トーク(Project talk)====
これは通常、対応するプロジェクトページに関する議論に使われるトーク名前空間です。特別な性質はありません。
<span id="File"></span>
==== ファイル(File)====
{{main|Help:Images}}
[[Image:MediaWiki-2020-logo.svg|right]]
「{{ns:6}}」名前空間は、「{{ns:-2}}」名前空間を介してアクセスされる画像、ビデオ、音声ファイル、その他のメディアのメタデータを格納するために使用されます。
各ファイルには「{{ns:6}}」名前空間に対応するページがあり、これはライセンスデータを格納するためによく使用されます。
この名前空間のページを直接リンクさせると、メディアファイルはインラインで埋め込まれます。例えば<code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code>は右のような画像を生成します。
このリンク構文の詳細は{{ll|Help:Images}}を参照してください。
ファイルページへの[[Special:MyLanguage/Help:Links|ウィキ間リンク]]を作成するには、名前空間の前にコロンを付加する必要があります:<code><nowiki>[[:</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg|right]]</nowiki></code> で [[:{{ns:6}}:MediaWiki-2020-logo.svg]] が出力されます。
標準的な MediaWiki のインストレーションには"{{ns:6}}"名前空間用に別名"Image"が含まれています (詳細は[[#ns-aliases|名前空間の別名]]を参照)。
説明ページを迂回してメディアファイルを直接リンクする場合は、[[#ns-media|メディア名前空間]]を参照してください。
<span id="File_talk"></span>
====ファイル・トーク (File talk)====
これは通常、対応するメディアファイルに関する議論に使用されるトーク名前空間です。特別な性質はありません。
==== MediaWiki ====
{{main|Help:System message}}
{{ns:8}}名前空間は、[[Special:MyLanguage/Help:System message#Overriding messages on-wiki|システムメッセージ]]やその他の重要なコンテンツを格納するために使用されます。
例えば、[[{{ns:8}}:Edit]]ページ(デフォルトの「Vector」外装では[[{{ns:8}}:Vector-view-edit]])には、各ページ上部の{{int|Edit}}タブを埋めるテキストが含まれています。
このようなページが存在する場合、デフォルトのEditを上書きします。同様に、[[{{ns:8}}:Common.css]] は、すべてのユーザー向けに読み込まれる各ページの[[w:Cascading Style Sheets|CSS]] コードを保持するシステム メッセージです。
この名前空間は、<code>(editinterface)</code>権限を持つユーザーのみが編集できるという特徴があります。
MediaWiki 1.32以降、JavaScriptとCSSページの編集には<code>editinterface</code>と<code>editsitejs</code>又は<code>editsitecss</code>の編集権限が必要です。
<span id="MediaWiki_talk"></span>
==== MediaWiki・トーク (MediaWiki talk) ====
これは通常、対応するシステム メッセージに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Template"></span>
==== テンプレート (Template)====
{{main|Help:Templates}}
「{{ns:10}}」名前空間は、[[Special:MyLanguage/Help:Templates|テンプレート]]、つまり複数のページに記載されることを意図したテキストまたはウィキコードを保持するために使用されます。
テンプレートを簡単に使用できるようにするため、テンプレート名前空間は参照読み込みのデフォルトの名前空間になっています。つまり<code><nowiki>{{Foo}}</nowiki></code>と<code><nowiki>{{</nowiki>'''{{ns:10}}:'''<nowiki>Foo}}</nowiki></code>は同じ結果になります。
<span id="Template_talk"></span>
====テンプレート・トーク (Template talk)====
これは通常、対応するテンプレート ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Help"></span>
====ヘルプ(Help)====
{{ns:12}}名前空間は通常、ヘルプファイル、説明書、使い方に関する文書などをおくために使われます。特別な性質はありません。
[[Special:MyLanguage/Help:Contents|名前空間のヘルプ]]を参照。
<span id="Help_talk"></span>
==== ヘルプトーク (Help talk) ====
これは通常、対応するヘルプページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Category"></span>
==== カテゴリ(Category) ====
{{main|Help:Categories}}
「{{ns:14}}」名前空間は[[Special:MyLanguage/Help:Categories|カテゴリー]]、つまり他のページの動的なリストを含んでいます。
利用しやすくするため、カテゴリページへの直接リンクはインラインリンクを出力せず、代わりにそのページを関連するカテゴリページに組み込みます。
そのため<code><nowiki>[[</nowiki>{{ns:14}}<nowiki>:Help]]</nowiki></code>というコードはページ下部(一番下の「{{int|Pagecategories}}」とマークされたボックス内)にカテゴリリンクを表示されます。
そのリンクをクリックするとカテゴリページに移動し、そのページがカテゴリ一覧に表示されます。
カテゴリ ページへのインライン リンクを作成するには、名前空間の先頭にコロンを追加する必要があります。<code><nowiki>[[</nowiki>:{{ns:14}}:Help<nowiki>]]</nowiki></code> は [[:{{ns:14}}:Help]] を生成します。
カテゴリリンクの構文の詳細については、{{ll|Help:Categories}} を参照してください。
<span id="Category_talk"></span>
====カテゴリ・トーク (Category talk)====
これは通常、対応するカテゴリ ページに関する議論に使用されるトーク名前空間です。特別な性質はありません。
<span id="Localisation"></span>
==地域化==
{| class="wikitable" width="0" style="float:{{dir|{{pagelang}}|left|right}}; margin-{{dir|{{pagelang}}|right|left}}:0.7em;"
|-
!{{hl2}}|数
!{{hl2}}|標準名
!{{hl2}}|ローカル名
|-
| -2 || Media || メディア
|-
| -1 || Special || 特別
|-
| 0 || (Main) || {{ns:0}}
|-
| 1 || Talk || トーク
|-
| 2 || User || 利用者
|-
| 3 || User talk || 利用者・トーク
|-
| 4 || Project || プロジェクト
|-
| 5 || Project talk || プロジェクト・トーク
|-
| 6 || File || ファイル
|-
| 7 || File talk || ファイル・トーク
|-
| 8 || MediaWiki || MediaWiki
|-
| 9 || MediaWiki talk || MediaWiki・トーク
|-
| 10 || Template || テンプレート
|-
| 11 || Template talk || テンプレート・トーク
|-
| 12 || Help || ヘルプ
|-
| 13 || Help talk || ヘルプ・トーク
|-
| 14 || Category || カテゴリ
|-
| 15 || Category talk || カテゴリ・トーク
|}
名前空間名および別名は、開発者が地域化できます。
名前空間名の地域化を要望するには、{{ll|Phabricator}} で [https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Internationalization MediaWiki 国際化タスクを登録]してください。
タスクの説明には、右側の表にあるすべての名前空間の翻訳、およびWikiにある追加の名前空間(例えば「モジュール」や「ガジェット」など)の翻訳を記載してください。
サイトの言語が中国語の場合、名前空間名はコンテンツが変換されており、ページには <code>__<nowiki/>NOTITLECONVERT__</code>や<code>__<nowiki/>NOTC__</code>または [[Special:MyLanguage/Help:Magic words|マジックワード]] が存在しない時に翻訳されます。
<span id="Renaming_namespaces"></span>
===名前空間名の変更===
名前空間名は英語以外の言語に翻訳することができ、個々の名前空間は、Wikiのシステム管理者([[Namespace manager|名前空間マネージャー]]を使用)によって設定されたとおりに名前を変更できます。
これらの名前は「地域化された名前空間の名前」と呼ばれます。
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]])にローカライズされていても、常に「foo」というユーザーページにリンクします。
右側の表には、正規の名前空間名と、このWikiにおけるローカライズされた名前が記載されています。
{{Anchor|ns-aliases}}
<span id="Custom_namespaces"></span>
==カスタム名前空間==
<span id="Namespace_aliases"></span>
===名前空間の別名===
<span lang="en" dir="ltr" class="mw-content-ltr">On some wikis there are also namespace ''aliases'': alternative names that will also be resolved to the localised names.</span>
例えば文字数と時間を節約するために「T」を{{ns:10}}の代替名として設定している場合があります。[[{{ns:10}}:Foo]]は[[T:Foo]]と打つことができます。
<span lang="en" dir="ltr" class="mw-content-ltr">An actual example would be on the [[wikipedia:|English Wikipedia]], where "WP" is an alias for {{ns:4}}, which is the namespace "Wikipedia".</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
By default, "Image" is an alias for {{ns:6}}, so <code><nowiki>[[Image:MediaWiki-2020-logo.svg]]</nowiki></code> is equivalent to <code><nowiki>[[</nowiki>{{ns:6}}<nowiki>:MediaWiki-2020-logo.svg]]</nowiki></code>.
</div>
<span id="Extra_namespaces"></span>
===カスタム名前空間===
:''<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Extension default namespaces}} for a list of namespaces used by various extensions, and {{ll|Manual:Using custom namespaces}} for information on how to set up extra namespaces on a wiki.</span>''
<div lang="en" dir="ltr" class="mw-content-ltr">
Some wikis may wish to organize their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.
</div>
<span id="Identifying_the_namespace_of_a_page"></span>
==名前空間の識別==
あるページの名前空間を識別する方法はいくつかあります。
;マジック ワード
[[Special:MyLanguage/Help:Magic word|マジック ワード]] <code><nowiki>{{NAMESPACE}}</nowiki></code> は、ページが属する名前空間の値を返します。
<div lang="en" dir="ltr" class="mw-content-ltr">
To refer to another namespace, use {{tmpl|0=<code>{{((}}ns:<$1>{{))}}</code>|name}} (e.g. <code><nowiki>{{ns:Project}}</nowiki></code>), or <code><nowiki>{{SUBJECTSPACE}}</nowiki></code> / <code><nowiki>{{TALKSPACE}}</nowiki></code> to refer to the namespace paired with the current one.
</div>
;JavaScript
<span lang="en" dir="ltr" class="mw-content-ltr">The JavaScript variable <code>wgCanonicalNamespace</code> contains the full namespace name.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The variable <code>wgNamespaceNumber</code> contains the numerical index of the namespace.</span>
;CSS
<span lang="en" dir="ltr" class="mw-content-ltr">The {{tag|body|open}} tag of the HTML page output is given two CSS classes that vary by namespace: A class <code>ns-#</code>, where # is the index of the namespace, and <code>ns-XXX</code>, where XXX is "<code>subject</code>" for all {{ll|Manual:Namespace#Subject and talk namespaces|subject namespaces}}, "<code>special</code>" for pages in the {{ns:-1}} namespace, and "<code>talk</code>" for {{ll|Manual:Namespace#Subject and talk namespaces|talk namespaces}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">So CSS code such as the following can be used to change the appearance of an object based on its namespace:</span>
<syntaxhighlight lang="css">
.ns-subject a { /* 主題ページの大部分のリンクを緑にする */
color: #0f0;
}
.ns-talk a { /* トークページ内のリンクを青にする */
color: #00f;
}
.ns-3 a { /* さらに利用者トークページのリンクを赤にする */
color: #f00;
}
</syntaxhighlight>
==Listing namespaces==
:''{{ll|Extension default namespaces}}でMediaWiki拡張機能で使用される名前空間のリストを確認できます。''
<div lang="en" dir="ltr" class="mw-content-ltr">
The special page [[Special:NamespaceInfo]] provides a table with information about the namespaces used on a wiki, including the ID, canonical name, local name, description, and properties.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also get a complete list of all namespace names of a MediaWiki installation from the Search results page ''Advanced'' tab, or from any ''recent changes'' page such as contributions or watchlist in its options box, in a drop-down list.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For the system properties of each namespace, use the MediaWiki {{ll|API:Main page|API}}:
</div>
;API
{{ApiEx
| site=www.mediawiki.org
| p1=action=query
| p2=meta=siteinfo
| p3=siprop=namespaces
| p4=formatversion=2
}}
<span id="See_also"></span>
== 関連ページ ==
* {{ll|Manual:Namespace}}
* {{ll|Manual:Using custom namespaces}}
* {{ll|Manual:$wgNamespacesToBeSearchedDefault}}
[[Category:Help{{#translation:}}|Namespaces]]
[[Category:Namespace{{#translation:}}|Namespaces]]
dlza2le04ebog58x8n1ym1ari5r1aew
Help:Starting a new page/ko
12
24183
8390082
6701278
2026-05-24T14:10:45Z
YeBoy371
2746081
8390082
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
새 페이지를 시작하는 몇 가지 방법이 있습니다.
wiki와 namespace 뿐만 아니라 시작한 페이지에 따라 변할 수 있습니다.
<span id="Using_Wikilinks"></span>
== 위키링크 사용하기 ==
미디어위키에서는 표준 구문을 사용하여 위키 페이지 링크를 만드는 방법이 가장 쉽습니다({{ll|Help:Links}} 참조).
당신(또는 다른 누군가)이 아직 존재하지 않는 글의 링크를 생성한다면, 그 링크는 <span style="color: #ba0000">이와같이</span> 빨간색이 될 것입니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
: Notes:
:* This sample displays that underline style unconditionally. The underline displayed below the text of actual links will normally be hidden by default and made visible only when the link is hovered by the mouse or selected by keyboard navigation, if the wiki (or the user's preferences) uses the default MediaWiki styles.
:* The actual color of links is also dependent on the default wiki styles, and the design of Wiki pages may still override these default colors.
</div>
빨강 링크를 클릭하면 새 글에 대한 편집 페이지로 이동하게 됩니다.
그냥 텍스트를 입력하고 저장을 클릭하면 새 페이지가 생성됩니다.
페이지가 생성되고 나면, 링크가 <u style="color: #ba0000">빨강</u>에서 <u style="color: #002bb8;">파랑</u> (방문한 페이지는 <u style="color: #5a3696;">보라</u> ) 으로 변경되어 그 글이 이제 존재한다는 것을 나타냅니다.
대개 이것이 새 페이지를 생성하는 최상의 방법입니다, 왜냐하면 시작으로부터 페이지가 위키 상에서 최소한 한 곳으로부터 링크가 될 것이기 때문입니다(그리고 보통 추후에 다른 관련 페이지들로 연결을 추가하게 되곤 합니다)
만약 링크 생성없이 새로운 페이지를 만든다면, 다음의 질문을 자문할 필요가 있습니다: 이 페이지가 과연 위키 내에 이미 다루어진 주제들과 들어맞는가?
또한, 방문객들이 이 페이지를 어떻게 찾을 것인가?
일반적으로 새 페이지 연결을 위한 첫 빨강 링크를 생성하지 않고 페이지를 만들 이유는 없습니다.
<span id="From_the_search_box"></span>
== 검색으로 시작 ==
존재하지 않는 페이지를 검색하면 새 페이지를 만들 수 있는 링크가 제공됩니다.
<span id="Using_the_URL"></span>
== URL 사용하기 ==
위키의 URL을 새 페이지를 생성하는 데 사용할 수 있습니다.
위키 기사에 대한 URL 은 일반적으로 다음과 같습니다:
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code><nowiki>http://www.example.net/index.php/</nowiki>'''ARTICLE'''</code> or
* <code><nowiki>http://www.example.net/wiki/</nowiki>'''ARTICLE'''</code>
</div>
<code>'''ARTICLE'''</code> 부분을 생성하고자 하는 페이지의 이름으로 교체하면, 비어있는 페이지로 이동하게 되고, 이는 그 이름을 가진 글이 아직 존재하지 않는다는 것을 의미합니다.
페이지 상단에 있는 "{{int|edit}}" [[Special:MyLanguage/Help:Navigation#Page Tabs|페이지 탭]] 을 클릭하면 그 글의 편집 페이지로 이동하게 되고, 그 곳에서 텍스트를 입력하고 제출을 클릭하여 새 페이지를 생성할 수 있습니다.
<span id="Using_article_creation_template"></span>
== 글 생성 템플릿을 이용하기 ==
{{Note|1=이 기능은 {{ll|Extension:InputBox}} 가 설치되어 있어야 합니다.}}
위키 안의 페이지에 다음 텍스트를 복사해넣습니다.
<syntaxhighlight lang="html4strict">
<inputbox>
type=create
width=100
break=no
buttonlabel=Create new article
placeholder=Article title
</inputbox>
</syntaxhighlight>
사용자가 간단히 글제목을 적어서 페이지를 생성할 수 있는 입력상자를 만들어줍니다.
경험이 없는 편집자도 쉽게 페이지를 생성할 수 있습니다.
<span id="Create_redirects_to_your_new_page"></span>
== 새 페이지로 넘겨주기 생성 ==
하나의 페이지를 생성할 때, redirect를 설정하는 것을 잊지 마십시오.
당신이 생성한 페이지를 다른 사람이 다른 이름 혹은 다른 철자법을 사용하여 검색을 할 수도 있다고 생각이 드신 다면, 적절한 redirect를 생성하십시오.
{{ll|Help:Redirects}} 참고.
<span id="Protecting_your_new_page"></span>
== 새 페이지 보호하기 ==
일반적으로 새 위키 페이지는 다른 사람들에 의하여 편집될 수 있습니다 (이것은 위키의 주요 이념 중 하나입니다!)
하지만, 필요하다면 일반 사용자들이 편집하는 것을 금지하도록 ''[[Special:MyLanguage/Help:Protected pages|보호]]''할 수도 있습니다.
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
4q831518b4cpyxjsxu6d5n5ysurwfk0
8390084
8390082
2026-05-24T14:10:54Z
YeBoy371
2746081
8390084
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
새 페이지를 시작하는 몇 가지 방법이 있습니다.
wiki와 namespace 뿐만 아니라 시작한 페이지에 따라 변할 수 있습니다.
<span id="Using_Wikilinks"></span>
== 위키링크 사용하기 ==
미디어위키에서는 표준 구문을 사용하여 위키 페이지 링크를 만드는 방법이 가장 쉽습니다({{ll|Help:Links}} 참조).
당신(또는 다른 누군가)이 아직 존재하지 않는 글의 링크를 생성한다면, 그 링크는 <span style="color: #ba0000">이와같이</span> 빨간색이 될 것입니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
: Notes:
:* This sample displays that underline style unconditionally. The underline displayed below the text of actual links will normally be hidden by default and made visible only when the link is hovered by the mouse or selected by keyboard navigation, if the wiki (or the user's preferences) uses the default MediaWiki styles.
:* The actual color of links is also dependent on the default wiki styles, and the design of Wiki pages may still override these default colors.
</div>
빨강 링크를 클릭하면 새 글에 대한 편집 페이지로 이동하게 됩니다.
그냥 텍스트를 입력하고 저장을 클릭하면 새 페이지가 생성됩니다.
페이지가 생성되고 나면, 링크가 <u style="color: #ba0000">빨강</u>에서 <u style="color: #002bb8;">파랑</u> (방문한 페이지는 <u style="color: #5a3696;">보라</u> ) 으로 변경되어 그 글이 이제 존재한다는 것을 나타냅니다.
대개 이것이 새 페이지를 생성하는 최상의 방법입니다, 왜냐하면 시작으로부터 페이지가 위키 상에서 최소한 한 곳으로부터 링크가 될 것이기 때문입니다(그리고 보통 추후에 다른 관련 페이지들로 연결을 추가하게 되곤 합니다)
만약 링크 생성없이 새로운 페이지를 만든다면, 다음의 질문을 자문할 필요가 있습니다: 이 페이지가 과연 위키 내에 이미 다루어진 주제들과 들어맞는가?
또한, 방문객들이 이 페이지를 어떻게 찾을 것인가?
일반적으로 새 페이지 연결을 위한 첫 빨강 링크를 생성하지 않고 페이지를 만들 이유는 없습니다.
<span id="From_the_search_box"></span>
== 검색으로 시작 ==
존재하지 않는 페이지를 검색하면 새 페이지를 만들 수 있는 링크가 제공됩니다.
<span id="Using_the_URL"></span>
== URL 사용하기 ==
위키의 URL을 새 페이지를 생성하는 데 사용할 수 있습니다.
위키 기사에 대한 URL 은 일반적으로 다음과 같습니다:
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code><nowiki>http://www.example.net/index.php/</nowiki>'''ARTICLE'''</code> or
* <code><nowiki>http://www.example.net/wiki/</nowiki>'''ARTICLE'''</code>
</div>
<code>'''ARTICLE'''</code> 부분을 생성하고자 하는 페이지의 이름으로 교체하면, 비어있는 페이지로 이동하게 되고, 이는 그 이름을 가진 글이 아직 존재하지 않는다는 것을 의미합니다.
페이지 상단에 있는 "{{int|edit}}" [[Special:MyLanguage/Help:Navigation#Page Tabs|페이지 탭]] 을 클릭하면 그 글의 편집 페이지로 이동하게 되고, 그 곳에서 텍스트를 입력하고 제출을 클릭하여 새 페이지를 생성할 수 있습니다.
<span id="Using_article_creation_template"></span>
== 글 생성 템플릿을 이용하기 ==
{{Note|1=이 기능은 {{ll|Extension:InputBox}} 가 설치되어 있어야 합니다.}}
위키 안의 페이지에 다음 텍스트를 복사해넣습니다.
<syntaxhighlight lang="html4strict">
<inputbox>
type=create
width=100
break=no
buttonlabel=Create new article
placeholder=Article title
</inputbox>
</syntaxhighlight>
사용자가 간단히 글제목을 적어서 페이지를 생성할 수 있는 입력상자를 만들어줍니다.
경험이 없는 편집자도 쉽게 페이지를 생성할 수 있습니다.
<span id="Create_redirects_to_your_new_page"></span>
== 새 페이지로 넘겨주기 생성 ==
하나의 페이지를 생성할 때, 넘겨주기를 설정하는 것을 잊지 마십시오.
당신이 생성한 페이지를 다른 사람이 다른 이름 혹은 다른 철자법을 사용하여 검색을 할 수도 있다고 생각이 드신 다면, 적절한 redirect를 생성하십시오.
{{ll|Help:Redirects}} 참고.
<span id="Protecting_your_new_page"></span>
== 새 페이지 보호하기 ==
일반적으로 새 위키 페이지는 다른 사람들에 의하여 편집될 수 있습니다 (이것은 위키의 주요 이념 중 하나입니다!)
하지만, 필요하다면 일반 사용자들이 편집하는 것을 금지하도록 ''[[Special:MyLanguage/Help:Protected pages|보호]]''할 수도 있습니다.
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
784bvj0t5395qc97n20b792oixm8rjq
8390086
8390084
2026-05-24T14:11:05Z
YeBoy371
2746081
8390086
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
새 페이지를 시작하는 몇 가지 방법이 있습니다.
wiki와 namespace 뿐만 아니라 시작한 페이지에 따라 변할 수 있습니다.
<span id="Using_Wikilinks"></span>
== 위키링크 사용하기 ==
미디어위키에서는 표준 구문을 사용하여 위키 페이지 링크를 만드는 방법이 가장 쉽습니다({{ll|Help:Links}} 참조).
당신(또는 다른 누군가)이 아직 존재하지 않는 글의 링크를 생성한다면, 그 링크는 <span style="color: #ba0000">이와같이</span> 빨간색이 될 것입니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
: Notes:
:* This sample displays that underline style unconditionally. The underline displayed below the text of actual links will normally be hidden by default and made visible only when the link is hovered by the mouse or selected by keyboard navigation, if the wiki (or the user's preferences) uses the default MediaWiki styles.
:* The actual color of links is also dependent on the default wiki styles, and the design of Wiki pages may still override these default colors.
</div>
빨강 링크를 클릭하면 새 글에 대한 편집 페이지로 이동하게 됩니다.
그냥 텍스트를 입력하고 저장을 클릭하면 새 페이지가 생성됩니다.
페이지가 생성되고 나면, 링크가 <u style="color: #ba0000">빨강</u>에서 <u style="color: #002bb8;">파랑</u> (방문한 페이지는 <u style="color: #5a3696;">보라</u> ) 으로 변경되어 그 글이 이제 존재한다는 것을 나타냅니다.
대개 이것이 새 페이지를 생성하는 최상의 방법입니다, 왜냐하면 시작으로부터 페이지가 위키 상에서 최소한 한 곳으로부터 링크가 될 것이기 때문입니다(그리고 보통 추후에 다른 관련 페이지들로 연결을 추가하게 되곤 합니다)
만약 링크 생성없이 새로운 페이지를 만든다면, 다음의 질문을 자문할 필요가 있습니다: 이 페이지가 과연 위키 내에 이미 다루어진 주제들과 들어맞는가?
또한, 방문객들이 이 페이지를 어떻게 찾을 것인가?
일반적으로 새 페이지 연결을 위한 첫 빨강 링크를 생성하지 않고 페이지를 만들 이유는 없습니다.
<span id="From_the_search_box"></span>
== 검색으로 시작 ==
존재하지 않는 페이지를 검색하면 새 페이지를 만들 수 있는 링크가 제공됩니다.
<span id="Using_the_URL"></span>
== URL 사용하기 ==
위키의 URL을 새 페이지를 생성하는 데 사용할 수 있습니다.
위키 기사에 대한 URL 은 일반적으로 다음과 같습니다:
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code><nowiki>http://www.example.net/index.php/</nowiki>'''ARTICLE'''</code> or
* <code><nowiki>http://www.example.net/wiki/</nowiki>'''ARTICLE'''</code>
</div>
<code>'''ARTICLE'''</code> 부분을 생성하고자 하는 페이지의 이름으로 교체하면, 비어있는 페이지로 이동하게 되고, 이는 그 이름을 가진 글이 아직 존재하지 않는다는 것을 의미합니다.
페이지 상단에 있는 "{{int|edit}}" [[Special:MyLanguage/Help:Navigation#Page Tabs|페이지 탭]] 을 클릭하면 그 글의 편집 페이지로 이동하게 되고, 그 곳에서 텍스트를 입력하고 제출을 클릭하여 새 페이지를 생성할 수 있습니다.
<span id="Using_article_creation_template"></span>
== 글 생성 템플릿을 이용하기 ==
{{Note|1=이 기능은 {{ll|Extension:InputBox}} 가 설치되어 있어야 합니다.}}
위키 안의 페이지에 다음 텍스트를 복사해넣습니다.
<syntaxhighlight lang="html4strict">
<inputbox>
type=create
width=100
break=no
buttonlabel=Create new article
placeholder=Article title
</inputbox>
</syntaxhighlight>
사용자가 간단히 글제목을 적어서 페이지를 생성할 수 있는 입력상자를 만들어줍니다.
경험이 없는 편집자도 쉽게 페이지를 생성할 수 있습니다.
<span id="Create_redirects_to_your_new_page"></span>
== 새 페이지로 넘겨주기 생성 ==
하나의 페이지를 생성할 때, 넘겨주기를 설정하는 것을 잊지 마십시오.
당신이 생성한 페이지를 다른 사람이 다른 이름 혹은 다른 철자법을 사용하여 검색을 할 수도 있다고 생각이 드신 다면, 적절한 넘겨주기를 생성하십시오.
{{ll|Help:Redirects}} 참고.
<span id="Protecting_your_new_page"></span>
== 새 페이지 보호하기 ==
일반적으로 새 위키 페이지는 다른 사람들에 의하여 편집될 수 있습니다 (이것은 위키의 주요 이념 중 하나입니다!)
하지만, 필요하다면 일반 사용자들이 편집하는 것을 금지하도록 ''[[Special:MyLanguage/Help:Protected pages|보호]]''할 수도 있습니다.
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
hbthxviej4l2hh9yarm7b5s68y29qp6
8390088
8390086
2026-05-24T14:11:32Z
YeBoy371
2746081
8390088
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
새 페이지를 시작하는 몇 가지 방법이 있습니다.
위키와 이름공간 뿐만 아니라 시작한 페이지에 따라 변할 수 있습니다.
<span id="Using_Wikilinks"></span>
== 위키링크 사용하기 ==
미디어위키에서는 표준 구문을 사용하여 위키 페이지 링크를 만드는 방법이 가장 쉽습니다({{ll|Help:Links}} 참조).
당신(또는 다른 누군가)이 아직 존재하지 않는 글의 링크를 생성한다면, 그 링크는 <span style="color: #ba0000">이와같이</span> 빨간색이 될 것입니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
: Notes:
:* This sample displays that underline style unconditionally. The underline displayed below the text of actual links will normally be hidden by default and made visible only when the link is hovered by the mouse or selected by keyboard navigation, if the wiki (or the user's preferences) uses the default MediaWiki styles.
:* The actual color of links is also dependent on the default wiki styles, and the design of Wiki pages may still override these default colors.
</div>
빨강 링크를 클릭하면 새 글에 대한 편집 페이지로 이동하게 됩니다.
그냥 텍스트를 입력하고 저장을 클릭하면 새 페이지가 생성됩니다.
페이지가 생성되고 나면, 링크가 <u style="color: #ba0000">빨강</u>에서 <u style="color: #002bb8;">파랑</u> (방문한 페이지는 <u style="color: #5a3696;">보라</u> ) 으로 변경되어 그 글이 이제 존재한다는 것을 나타냅니다.
대개 이것이 새 페이지를 생성하는 최상의 방법입니다, 왜냐하면 시작으로부터 페이지가 위키 상에서 최소한 한 곳으로부터 링크가 될 것이기 때문입니다(그리고 보통 추후에 다른 관련 페이지들로 연결을 추가하게 되곤 합니다)
만약 링크 생성없이 새로운 페이지를 만든다면, 다음의 질문을 자문할 필요가 있습니다: 이 페이지가 과연 위키 내에 이미 다루어진 주제들과 들어맞는가?
또한, 방문객들이 이 페이지를 어떻게 찾을 것인가?
일반적으로 새 페이지 연결을 위한 첫 빨강 링크를 생성하지 않고 페이지를 만들 이유는 없습니다.
<span id="From_the_search_box"></span>
== 검색으로 시작 ==
존재하지 않는 페이지를 검색하면 새 페이지를 만들 수 있는 링크가 제공됩니다.
<span id="Using_the_URL"></span>
== URL 사용하기 ==
위키의 URL을 새 페이지를 생성하는 데 사용할 수 있습니다.
위키 기사에 대한 URL 은 일반적으로 다음과 같습니다:
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code><nowiki>http://www.example.net/index.php/</nowiki>'''ARTICLE'''</code> or
* <code><nowiki>http://www.example.net/wiki/</nowiki>'''ARTICLE'''</code>
</div>
<code>'''ARTICLE'''</code> 부분을 생성하고자 하는 페이지의 이름으로 교체하면, 비어있는 페이지로 이동하게 되고, 이는 그 이름을 가진 글이 아직 존재하지 않는다는 것을 의미합니다.
페이지 상단에 있는 "{{int|edit}}" [[Special:MyLanguage/Help:Navigation#Page Tabs|페이지 탭]] 을 클릭하면 그 글의 편집 페이지로 이동하게 되고, 그 곳에서 텍스트를 입력하고 제출을 클릭하여 새 페이지를 생성할 수 있습니다.
<span id="Using_article_creation_template"></span>
== 글 생성 템플릿을 이용하기 ==
{{Note|1=이 기능은 {{ll|Extension:InputBox}} 가 설치되어 있어야 합니다.}}
위키 안의 페이지에 다음 텍스트를 복사해넣습니다.
<syntaxhighlight lang="html4strict">
<inputbox>
type=create
width=100
break=no
buttonlabel=Create new article
placeholder=Article title
</inputbox>
</syntaxhighlight>
사용자가 간단히 글제목을 적어서 페이지를 생성할 수 있는 입력상자를 만들어줍니다.
경험이 없는 편집자도 쉽게 페이지를 생성할 수 있습니다.
<span id="Create_redirects_to_your_new_page"></span>
== 새 페이지로 넘겨주기 생성 ==
하나의 페이지를 생성할 때, 넘겨주기를 설정하는 것을 잊지 마십시오.
당신이 생성한 페이지를 다른 사람이 다른 이름 혹은 다른 철자법을 사용하여 검색을 할 수도 있다고 생각이 드신 다면, 적절한 넘겨주기를 생성하십시오.
{{ll|Help:Redirects}} 참고.
<span id="Protecting_your_new_page"></span>
== 새 페이지 보호하기 ==
일반적으로 새 위키 페이지는 다른 사람들에 의하여 편집될 수 있습니다 (이것은 위키의 주요 이념 중 하나입니다!)
하지만, 필요하다면 일반 사용자들이 편집하는 것을 금지하도록 ''[[Special:MyLanguage/Help:Protected pages|보호]]''할 수도 있습니다.
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
2q2vtp8pbu0j2169gkyoi5l5rjkr47n
Help:Editing pages/ko
12
24236
8390074
8199855
2026-05-24T14:07:20Z
YeBoy371
2746081
8390074
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
위키의 내용을 편집하는 것은 매우 쉬운 일입니다.
# <span class="mw-translate-fuzzy"># 페이지의 상단에 있는 '''<code>{{int|edit}}</code>''' [[Special:MyLanguage/Help:Navigation#page-tabs|탭]]을 클릭하십시오.
# 텍스트를 변경합니다.
# '''$3''' 버튼을 클릭합니다.</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">Make changes to the text.</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">Click the <code>{{int|savearticle}}</code> button.</span>
이것이 전부입니다!
<span id="Editing_rules,_editing_conventions,_and_formatting"></span>
== 편집 규칙, 편집 관례, 서식 ==
위키 편집에 있어서 으뜸가는 법은 바로 '''과감하라'''입니다. 뛰어들어서 문서를 수정하세요! 다른 사람들이 추후에 실수를 수정할 수 있기 때문에, 자신감을 가지고 시도를 하세요! 위키 페이지들의 편집을 관장하는 무수히 많은 종류의 편집 관습, 규칙, 철학이 있을 수 있지만, "과감하라" 규칙이 이 모든 것들보다 우위에 섭니다!
편집은 새 문단이나 정보를 추가하는 것일수도, 오타나 철자를 고치는 것처럼 간단한 일일수도 있습니다. 대개 명확하고 간결하도록 글을 추가하거나 편집합니다. 가장 중요한 것은 위키의 내용의 질을 높이도록 노력하는 것입니다.
새로운 부제목이나 혹은 굵은 글자 등 몇몇 유형의 서식을 사용해야 할 때는 위키 문법을 사용하거나 편집 영역 위에 있는 편집 도구 모음을 사용하십시오.
자주 쓰이는 서식에 대해서는 {{ll|Help:Formatting}} 문서를 참조하십시오.
만약 편집을 시도해 보고 싶다면, {{ll|Project:Sandbox}}이라는 페이지에서 편집을 테스트해 볼 수 있습니다. 이 페이지는 당신을 위해 편집을 테스트할 수 있도록 별도로 설정되었습니다.
<span id="Edit_summary"></span>
== 편집 요약 ==
변경 사항을 저장하기 전에, '''<code>{{int|summary}}</code>''' 텍스트 상자(500자 이하)안에 변경 내용을 설명하는 짧은 문구를 입력할 수 있습니다.
이것을 너무 걱정하거나, 여기에 많은 시간과 신경을 쓰지 않아도 되지만, 방금 변경한 내용에 대한 간단한 설명을 부여하려 시도하는 것은 좋은 습관입니다.
예: "''철자 고침''" 혹은 "''해바라기에 관한 추가 정보 더함''".
편집 요약은 편집과 함께 저장되며 사람들이 위키의 [[Special:MyLanguage/Help:Tracking changes|변경 내용 추적]]을 보다 더 효과적으로 할 수 있도록 합니다.
<span id="Preview"></span>
== 미리보기 ==
저장하기 전에 "'''<code>{{int|showpreview}}</code>'''" 버튼을 사용하여 변경 사항이 어떻게 보일 것인가를 보는 것이 좋은 생각입니다.
이는 [[Special:MyLanguage/Help:Tracking changes|변경 사항 추적]]과도 연관이 있습니다, 그 이유는, 매번 저장하는 것이 다른 사람들에게는 각각 별도의 변경으로 보이기 때문입니다.
너무 염려를 하지 않아도 되지만, 저장하기 전에 미리보기를 사용하여 자신의 작업에서 실수를 없애는 습관을 들이는 것이 추후에 잦은 사소한 수정을 저장하는 것보다 좋습니다.
<span id="Show_changes"></span>
== 차이 보기 ==
현재 버전과 편집된 버전의 차이점을 볼 수 있는 "'''<code>{{int|showdiff}}</code>'''" 버튼도 있습니다.
<span id="Protected_pages"></span>
==보호된 문서==
보호된 문서는 특정한 그룹에 속한 사용자가 아니라면 수정이 안됩니다. 보호된 문서의 편집 버튼을 누르면 편집 대신 "원본 보기"라고 뜹니다. 이러한 보호된 문서를 편집하고 싶으시다면 그 문서를 편집할 수 있는 권한을 가진 사용자에게 편집 요청을 하시면 됩니다. 기본적인 보호의 종류는 다음과 같습니다:
*보호 없음 (모두가 편집할 수 있습니다)
*준보호 (신규 사용자 또는 미등록, 즉 IP 사용자의 편집이 제한됩니다)
*완전보호 (관리자를 제외한 모두의 편집이 제한됩니다)
<span id="Other_types_of_editing"></span>
== 편집의 다른 종류 ==
편집 기능으로 새 페이지를 시작하거나, 문서를 이동하거나 (즉, 문서의 이름을 바꾸거나), 혹은 문서를 삭제할 수도 있습니다:
* {{ll|Help:Starting a new page}}
* {{ll|Help:Moving a page}}
* {{ll|Help:Deletion and undeletion}}
귀하의 편집으로 위키의 전체 내용이 향상된다는 목표를 항상 기억해 주시기 바랍니다.
<span id="Discussion"></span>
== 토론 ==
모든 글에는 질문, 토론 등이 가능한 고유의 '토론 문서'가 있습니다.
토론 문서에 대해서는 {{ll|Help:Talk pages}}를 참고하세요.
[[Category:Edit{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
n1wqb0hhlhiq0yprj8mv946iqti7g4v
8390076
8390074
2026-05-24T14:07:54Z
YeBoy371
2746081
8390076
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
위키의 내용을 편집하는 것은 매우 쉬운 일입니다.
# 페이지의 상단에 있는 '''<code>{{int|edit}}</code>''' [[Special:MyLanguage/Help:Navigation#page-tabs|탭]]을 클릭하십시오.
# <span lang="en" dir="ltr" class="mw-content-ltr">Make changes to the text.</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">Click the <code>{{int|savearticle}}</code> button.</span>
이것이 전부입니다!
<span id="Editing_rules,_editing_conventions,_and_formatting"></span>
== 편집 규칙, 편집 관례, 서식 ==
위키 편집에 있어서 으뜸가는 법은 바로 '''과감하라'''입니다. 뛰어들어서 문서를 수정하세요! 다른 사람들이 추후에 실수를 수정할 수 있기 때문에, 자신감을 가지고 시도를 하세요! 위키 페이지들의 편집을 관장하는 무수히 많은 종류의 편집 관습, 규칙, 철학이 있을 수 있지만, "과감하라" 규칙이 이 모든 것들보다 우위에 섭니다!
편집은 새 문단이나 정보를 추가하는 것일수도, 오타나 철자를 고치는 것처럼 간단한 일일수도 있습니다. 대개 명확하고 간결하도록 글을 추가하거나 편집합니다. 가장 중요한 것은 위키의 내용의 질을 높이도록 노력하는 것입니다.
새로운 부제목이나 혹은 굵은 글자 등 몇몇 유형의 서식을 사용해야 할 때는 위키 문법을 사용하거나 편집 영역 위에 있는 편집 도구 모음을 사용하십시오.
자주 쓰이는 서식에 대해서는 {{ll|Help:Formatting}} 문서를 참조하십시오.
만약 편집을 시도해 보고 싶다면, {{ll|Project:Sandbox}}이라는 페이지에서 편집을 테스트해 볼 수 있습니다. 이 페이지는 당신을 위해 편집을 테스트할 수 있도록 별도로 설정되었습니다.
<span id="Edit_summary"></span>
== 편집 요약 ==
변경 사항을 저장하기 전에, '''<code>{{int|summary}}</code>''' 텍스트 상자(500자 이하)안에 변경 내용을 설명하는 짧은 문구를 입력할 수 있습니다.
이것을 너무 걱정하거나, 여기에 많은 시간과 신경을 쓰지 않아도 되지만, 방금 변경한 내용에 대한 간단한 설명을 부여하려 시도하는 것은 좋은 습관입니다.
예: "''철자 고침''" 혹은 "''해바라기에 관한 추가 정보 더함''".
편집 요약은 편집과 함께 저장되며 사람들이 위키의 [[Special:MyLanguage/Help:Tracking changes|변경 내용 추적]]을 보다 더 효과적으로 할 수 있도록 합니다.
<span id="Preview"></span>
== 미리보기 ==
저장하기 전에 "'''<code>{{int|showpreview}}</code>'''" 버튼을 사용하여 변경 사항이 어떻게 보일 것인가를 보는 것이 좋은 생각입니다.
이는 [[Special:MyLanguage/Help:Tracking changes|변경 사항 추적]]과도 연관이 있습니다, 그 이유는, 매번 저장하는 것이 다른 사람들에게는 각각 별도의 변경으로 보이기 때문입니다.
너무 염려를 하지 않아도 되지만, 저장하기 전에 미리보기를 사용하여 자신의 작업에서 실수를 없애는 습관을 들이는 것이 추후에 잦은 사소한 수정을 저장하는 것보다 좋습니다.
<span id="Show_changes"></span>
== 차이 보기 ==
현재 버전과 편집된 버전의 차이점을 볼 수 있는 "'''<code>{{int|showdiff}}</code>'''" 버튼도 있습니다.
<span id="Protected_pages"></span>
==보호된 문서==
보호된 문서는 특정한 그룹에 속한 사용자가 아니라면 수정이 안됩니다. 보호된 문서의 편집 버튼을 누르면 편집 대신 "원본 보기"라고 뜹니다. 이러한 보호된 문서를 편집하고 싶으시다면 그 문서를 편집할 수 있는 권한을 가진 사용자에게 편집 요청을 하시면 됩니다. 기본적인 보호의 종류는 다음과 같습니다:
*보호 없음 (모두가 편집할 수 있습니다)
*준보호 (신규 사용자 또는 미등록, 즉 IP 사용자의 편집이 제한됩니다)
*완전보호 (관리자를 제외한 모두의 편집이 제한됩니다)
<span id="Other_types_of_editing"></span>
== 편집의 다른 종류 ==
편집 기능으로 새 페이지를 시작하거나, 문서를 이동하거나 (즉, 문서의 이름을 바꾸거나), 혹은 문서를 삭제할 수도 있습니다:
* {{ll|Help:Starting a new page}}
* {{ll|Help:Moving a page}}
* {{ll|Help:Deletion and undeletion}}
귀하의 편집으로 위키의 전체 내용이 향상된다는 목표를 항상 기억해 주시기 바랍니다.
<span id="Discussion"></span>
== 토론 ==
모든 글에는 질문, 토론 등이 가능한 고유의 '토론 문서'가 있습니다.
토론 문서에 대해서는 {{ll|Help:Talk pages}}를 참고하세요.
[[Category:Edit{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
ejhk5i1r0h50bm2d9en76iyu1alquyg
8390078
8390076
2026-05-24T14:08:58Z
YeBoy371
2746081
Created page with "$3 버튼을 클릭하십시오."
8390078
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
위키의 내용을 편집하는 것은 매우 쉬운 일입니다.
# 페이지의 상단에 있는 '''<code>{{int|edit}}</code>''' [[Special:MyLanguage/Help:Navigation#page-tabs|탭]]을 클릭하십시오.
# <span lang="en" dir="ltr" class="mw-content-ltr">Make changes to the text.</span>
# <code>{{int|savearticle}}</code> 버튼을 클릭하십시오.
이것이 전부입니다!
<span id="Editing_rules,_editing_conventions,_and_formatting"></span>
== 편집 규칙, 편집 관례, 서식 ==
위키 편집에 있어서 으뜸가는 법은 바로 '''과감하라'''입니다. 뛰어들어서 문서를 수정하세요! 다른 사람들이 추후에 실수를 수정할 수 있기 때문에, 자신감을 가지고 시도를 하세요! 위키 페이지들의 편집을 관장하는 무수히 많은 종류의 편집 관습, 규칙, 철학이 있을 수 있지만, "과감하라" 규칙이 이 모든 것들보다 우위에 섭니다!
편집은 새 문단이나 정보를 추가하는 것일수도, 오타나 철자를 고치는 것처럼 간단한 일일수도 있습니다. 대개 명확하고 간결하도록 글을 추가하거나 편집합니다. 가장 중요한 것은 위키의 내용의 질을 높이도록 노력하는 것입니다.
새로운 부제목이나 혹은 굵은 글자 등 몇몇 유형의 서식을 사용해야 할 때는 위키 문법을 사용하거나 편집 영역 위에 있는 편집 도구 모음을 사용하십시오.
자주 쓰이는 서식에 대해서는 {{ll|Help:Formatting}} 문서를 참조하십시오.
만약 편집을 시도해 보고 싶다면, {{ll|Project:Sandbox}}이라는 페이지에서 편집을 테스트해 볼 수 있습니다. 이 페이지는 당신을 위해 편집을 테스트할 수 있도록 별도로 설정되었습니다.
<span id="Edit_summary"></span>
== 편집 요약 ==
변경 사항을 저장하기 전에, '''<code>{{int|summary}}</code>''' 텍스트 상자(500자 이하)안에 변경 내용을 설명하는 짧은 문구를 입력할 수 있습니다.
이것을 너무 걱정하거나, 여기에 많은 시간과 신경을 쓰지 않아도 되지만, 방금 변경한 내용에 대한 간단한 설명을 부여하려 시도하는 것은 좋은 습관입니다.
예: "''철자 고침''" 혹은 "''해바라기에 관한 추가 정보 더함''".
편집 요약은 편집과 함께 저장되며 사람들이 위키의 [[Special:MyLanguage/Help:Tracking changes|변경 내용 추적]]을 보다 더 효과적으로 할 수 있도록 합니다.
<span id="Preview"></span>
== 미리보기 ==
저장하기 전에 "'''<code>{{int|showpreview}}</code>'''" 버튼을 사용하여 변경 사항이 어떻게 보일 것인가를 보는 것이 좋은 생각입니다.
이는 [[Special:MyLanguage/Help:Tracking changes|변경 사항 추적]]과도 연관이 있습니다, 그 이유는, 매번 저장하는 것이 다른 사람들에게는 각각 별도의 변경으로 보이기 때문입니다.
너무 염려를 하지 않아도 되지만, 저장하기 전에 미리보기를 사용하여 자신의 작업에서 실수를 없애는 습관을 들이는 것이 추후에 잦은 사소한 수정을 저장하는 것보다 좋습니다.
<span id="Show_changes"></span>
== 차이 보기 ==
현재 버전과 편집된 버전의 차이점을 볼 수 있는 "'''<code>{{int|showdiff}}</code>'''" 버튼도 있습니다.
<span id="Protected_pages"></span>
==보호된 문서==
보호된 문서는 특정한 그룹에 속한 사용자가 아니라면 수정이 안됩니다. 보호된 문서의 편집 버튼을 누르면 편집 대신 "원본 보기"라고 뜹니다. 이러한 보호된 문서를 편집하고 싶으시다면 그 문서를 편집할 수 있는 권한을 가진 사용자에게 편집 요청을 하시면 됩니다. 기본적인 보호의 종류는 다음과 같습니다:
*보호 없음 (모두가 편집할 수 있습니다)
*준보호 (신규 사용자 또는 미등록, 즉 IP 사용자의 편집이 제한됩니다)
*완전보호 (관리자를 제외한 모두의 편집이 제한됩니다)
<span id="Other_types_of_editing"></span>
== 편집의 다른 종류 ==
편집 기능으로 새 페이지를 시작하거나, 문서를 이동하거나 (즉, 문서의 이름을 바꾸거나), 혹은 문서를 삭제할 수도 있습니다:
* {{ll|Help:Starting a new page}}
* {{ll|Help:Moving a page}}
* {{ll|Help:Deletion and undeletion}}
귀하의 편집으로 위키의 전체 내용이 향상된다는 목표를 항상 기억해 주시기 바랍니다.
<span id="Discussion"></span>
== 토론 ==
모든 글에는 질문, 토론 등이 가능한 고유의 '토론 문서'가 있습니다.
토론 문서에 대해서는 {{ll|Help:Talk pages}}를 참고하세요.
[[Category:Edit{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
0o7lmnnszab2boz7nzru3zulsg86qm2
8390080
8390078
2026-05-24T14:09:45Z
YeBoy371
2746081
Created page with "텍스트를 수정하십시오."
8390080
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
위키의 내용을 편집하는 것은 매우 쉬운 일입니다.
# 페이지의 상단에 있는 '''<code>{{int|edit}}</code>''' [[Special:MyLanguage/Help:Navigation#page-tabs|탭]]을 클릭하십시오.
# 텍스트를 수정하십시오.
# <code>{{int|savearticle}}</code> 버튼을 클릭하십시오.
이것이 전부입니다!
<span id="Editing_rules,_editing_conventions,_and_formatting"></span>
== 편집 규칙, 편집 관례, 서식 ==
위키 편집에 있어서 으뜸가는 법은 바로 '''과감하라'''입니다. 뛰어들어서 문서를 수정하세요! 다른 사람들이 추후에 실수를 수정할 수 있기 때문에, 자신감을 가지고 시도를 하세요! 위키 페이지들의 편집을 관장하는 무수히 많은 종류의 편집 관습, 규칙, 철학이 있을 수 있지만, "과감하라" 규칙이 이 모든 것들보다 우위에 섭니다!
편집은 새 문단이나 정보를 추가하는 것일수도, 오타나 철자를 고치는 것처럼 간단한 일일수도 있습니다. 대개 명확하고 간결하도록 글을 추가하거나 편집합니다. 가장 중요한 것은 위키의 내용의 질을 높이도록 노력하는 것입니다.
새로운 부제목이나 혹은 굵은 글자 등 몇몇 유형의 서식을 사용해야 할 때는 위키 문법을 사용하거나 편집 영역 위에 있는 편집 도구 모음을 사용하십시오.
자주 쓰이는 서식에 대해서는 {{ll|Help:Formatting}} 문서를 참조하십시오.
만약 편집을 시도해 보고 싶다면, {{ll|Project:Sandbox}}이라는 페이지에서 편집을 테스트해 볼 수 있습니다. 이 페이지는 당신을 위해 편집을 테스트할 수 있도록 별도로 설정되었습니다.
<span id="Edit_summary"></span>
== 편집 요약 ==
변경 사항을 저장하기 전에, '''<code>{{int|summary}}</code>''' 텍스트 상자(500자 이하)안에 변경 내용을 설명하는 짧은 문구를 입력할 수 있습니다.
이것을 너무 걱정하거나, 여기에 많은 시간과 신경을 쓰지 않아도 되지만, 방금 변경한 내용에 대한 간단한 설명을 부여하려 시도하는 것은 좋은 습관입니다.
예: "''철자 고침''" 혹은 "''해바라기에 관한 추가 정보 더함''".
편집 요약은 편집과 함께 저장되며 사람들이 위키의 [[Special:MyLanguage/Help:Tracking changes|변경 내용 추적]]을 보다 더 효과적으로 할 수 있도록 합니다.
<span id="Preview"></span>
== 미리보기 ==
저장하기 전에 "'''<code>{{int|showpreview}}</code>'''" 버튼을 사용하여 변경 사항이 어떻게 보일 것인가를 보는 것이 좋은 생각입니다.
이는 [[Special:MyLanguage/Help:Tracking changes|변경 사항 추적]]과도 연관이 있습니다, 그 이유는, 매번 저장하는 것이 다른 사람들에게는 각각 별도의 변경으로 보이기 때문입니다.
너무 염려를 하지 않아도 되지만, 저장하기 전에 미리보기를 사용하여 자신의 작업에서 실수를 없애는 습관을 들이는 것이 추후에 잦은 사소한 수정을 저장하는 것보다 좋습니다.
<span id="Show_changes"></span>
== 차이 보기 ==
현재 버전과 편집된 버전의 차이점을 볼 수 있는 "'''<code>{{int|showdiff}}</code>'''" 버튼도 있습니다.
<span id="Protected_pages"></span>
==보호된 문서==
보호된 문서는 특정한 그룹에 속한 사용자가 아니라면 수정이 안됩니다. 보호된 문서의 편집 버튼을 누르면 편집 대신 "원본 보기"라고 뜹니다. 이러한 보호된 문서를 편집하고 싶으시다면 그 문서를 편집할 수 있는 권한을 가진 사용자에게 편집 요청을 하시면 됩니다. 기본적인 보호의 종류는 다음과 같습니다:
*보호 없음 (모두가 편집할 수 있습니다)
*준보호 (신규 사용자 또는 미등록, 즉 IP 사용자의 편집이 제한됩니다)
*완전보호 (관리자를 제외한 모두의 편집이 제한됩니다)
<span id="Other_types_of_editing"></span>
== 편집의 다른 종류 ==
편집 기능으로 새 페이지를 시작하거나, 문서를 이동하거나 (즉, 문서의 이름을 바꾸거나), 혹은 문서를 삭제할 수도 있습니다:
* {{ll|Help:Starting a new page}}
* {{ll|Help:Moving a page}}
* {{ll|Help:Deletion and undeletion}}
귀하의 편집으로 위키의 전체 내용이 향상된다는 목표를 항상 기억해 주시기 바랍니다.
<span id="Discussion"></span>
== 토론 ==
모든 글에는 질문, 토론 등이 가능한 고유의 '토론 문서'가 있습니다.
토론 문서에 대해서는 {{ll|Help:Talk pages}}를 참고하세요.
[[Category:Edit{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
oy6vigrzrptq8b2qb6qwpgx3z5s4ogr
Project:Requests for permissions
4
25603
8390207
8341678
2026-05-24T21:51:37Z
ToadetteEdit
17805473
8390207
wikitext
text/x-wiki
{{for|requests for admin attention for things other than permissions|Project:Village Pump}}
{{Project:Requests/Header}}[[Category:MediaWiki.org website|Requests]]
: ''Archives: [[:Category:Requests_for_user_rights_(Autopatrolled)|Autopatrolled]] (formerly [[:Category:Requests for user rights (Autochecked user)|Autochecked user]]) • [[:Category:Requests for user rights (Translation administrator)|Translation administrator]] • [[:Category:Requests for user rights (Administrator)|Administrator]] • [[:Category:Requests for user rights (Interface administrator)|Interface administrator]] • [[:Category:Requests for user rights (Bureaucrat)|Bureaucrat]] • [[:Category:Requests for user rights|Other user rights]]'', ''[[Project:Requests/OtherRequests|Other requests]]'', ''[[Special:PrefixIndex/Project:Requests for permissions/RfC|Requests for comments]]''
<div style="text-align: center;">Please fill out the form below to request rights, and then add the template here. If you have had a previous request, please add a number to the end of your username to create a separate request, example: ''MyUserName (2)''</div>
<inputbox>
type=comment
preload=Project:Requests for permissions/Preload
buttonlabel=Request rights
nosummary=1
prefix=Project:Requests for permissions/
placeholder=Username (without "User:" prefix)
</inputbox>
<!-- Add a line such as {{Project:Requests for permissions/MyUserName}} DIRECTLY BELOW THIS LINE and edit that page. -->
ox862om5f9qg2xk1pegyiqy93ec4u3i
Template:Extension/vi
10
28200
8390443
8366690
2026-05-25T08:56:49Z
~2026-31164-84
18405834
Created page with "Hi"
8390443
wikitext
text/x-wiki
<noinclude>
<languages/>
</noinclude><!--
--------------------------------- CSS styling ---------------------------------
--><templatestyles src="Template:Infobox/styles.css" /><!--
--><templatestyles src="Template:Extension/styles.css" /><!--
--><templatestyles src="Template:Extension/status.css" /><!--
-------------- Begin main block / Check for unknown parameters ----------------
--><includeonly>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Pages using Template:Extension with unknown parameters]]
|ignoreblank=1
|preview={{tl|extension}}: unknown parameter "_VALUE_"
|name|status|type|type1|type2|type3|type4|type5|type6|hook1|hook2|hook3|hook4|hook5|hook6|hook7|hook8|hook9|hook10|hook11|hook12|hook13|hook14|hook15|hook16|hook17|hook18|hook19|hook20|hook21|hook22|hook23|hook24|hook25|hook26|hook27|hook28|hook29|hook30|hook31|hook32|hook33|hook34|hook35|hook36|hook37|hook38|hook39|hook40|hook41|hook42|hook43|hook44|hook45|hook46|hook47|hook48|hook49|hook50|hook51|hook52|hook53|hook54|hook55|hook56|hook57|hook58|hook59|hook60|hook61|hook62|hook63|hook64|hook65|hook66|hook67|hook68|hook69|hook70|hook71|hook72|hook73|hook74|hook75|hook76|hook77|hook78|hook79|hook80|hook81|hook82|hook83|hook84|hook85|hook86|hook87|hook88|hook89|hook90|newhook1|newhook2|newhook3|newhook4|newhook5|newhook6|newhook7|newhook8|newhook9|newhook10|newhook11|newhook12|newhook13|newhook14|newhook15|newhook16|newhook17|newhook18|newhook19|newhook20|newhook21|newhook22|newhook23|newhook24|newhook25|newhook26|newhook27|newhook28|newhook29|newhook30|newhook31|newhook32|newhook33|newhook34|newhook35|newhook36|newhook37|newhook38|newhook39|newhook40|newhook41|newhook42|newhook43|newhook44|newhook45|newhook46|newhook47|newhook48|newhook49|newhook50|newhook51|newhook52|newhook53|newhook54|newhook55|newhook56|newhook57|newhook58|newhook59|newhook60|newhook61|newhook62|newhook63|newhook64|newhook65|newhook66|newhook67|newhook68|newhook69|newhook70|newhook71|newhook72|newhook73|newhook74|newhook75|newhook76|newhook77|newhook78|newhook79|newhook80|newhook81|newhook82|newhook83|newhook84|newhook85|newhook86|newhook87|newhook88|newhook89|newhook90|username|author|maintainer|description|image|imagesize|version|latest release version|latest_release_version|update|latest release date|latest_release_date|version preview|version_preview|latest preview version|latest_preview_version|update preview|update_preview|latest preview date|latest_preview_date|compatibility policy|mediawiki|php|needs-updatephp|composer|virtual domain|table1|table2|table3|table4|table5|table6|table7|table8|table9|table10|table11|table12|table13|table14|table15|table16|table17|table18|table19|table20|license|license1|license2|license3|license4|license5|license-alt|download|show-popularity|repo|readme|changelog|help|example|namespace|parameters|tags|rights|compatibility|bugzilla|phabricator|translate|vagrant-role|CheckUsageNameOverride|templatemode}}}}<!--
--------------------- Begin table / Badge / Check status ----------------------
-->{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}
|#default=unknown
}}" role="none" aria-labelledby="extension-name" aria-describedby="extension-description">
<caption role="none">'''{{ll|Manual:Extensions|2=Cẩm nang phần mở rộng MediaWiki}}'''</caption>
<tr class="infobox-header ext-infobox-header notheme">
<th colspan="2">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable
|OOjs UI icon alert-invert.svg
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span id="extension-name" class="ext-infobox-name">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br />
{{ll|Extension status|2=Trạng thái phát hành:}} {{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained=<span lang="en" dir="ltr" class="mw-content-ltr">unmaintained</span>
|unstable=không ổn định
|experimental=thử nghiệm
|beta=tiền phát hành
|stable=ổn định
|#default=không rõ
}}<!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
|unstable|experimental|unmaintained|stable = {{{status}}} extensions
|beta = beta status extensions
|unknown = extensions with unknown status
|#default = extensions with invalid status
}}{{#translation:}}]]}}</th>
</tr><!--
------------------------------------ Image ------------------------------------
-->{{#if:{{{image|}}}|
<tr>
<td colspan="2" class="ext-infobox-image">[[File:{{{image}}}|{{{imagesize|300}}}px]]</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}
}}<!--
------------------------------------ Types ------------------------------------
-->{{#if:{{{type|}}}{{{type1|}}}|
<tr>
<td class="ext-infobox-type">'''{{ll|Template:Extension#type|2=Cài đặt}}'''</td>
<td>{{#invoke:Extension|getTypes
|ajax = Hi
|api = {{ll|API:Action API|2=<span lang="en" dir="ltr" class="mw-content-ltr">API</span>}}
|beta feature = {{ll|Beta Features|2=Tính năng Beta}}
|contenthandler = {{ll|Manual:ContentHandler|ContentHandler}}
|database = {{ll|Manual:Database layout|2=<span lang="en" dir="ltr" class="mw-content-ltr">Database</span>}}
|data extraction = <span lang="en" dir="ltr" class="mw-content-ltr">Data extraction</span>
|example = <span lang="en" dir="ltr" class="mw-content-ltr">Example</span>
|extended syntax = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Extended syntax</span>}}
|filerepo = <span lang="en" dir="ltr" class="mw-content-ltr">File repository</span>
|hook = {{ll|Manual:Hooks|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hook</span>}}
|interface = <span lang="en" dir="ltr" class="mw-content-ltr">User interface</span>
|link = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Link markup</span>}}
|media = Truyền thông
|mywiki = {{ll|Manual:Personalization|2=<span lang="en" dir="ltr" class="mw-content-ltr">MyWiki</span>}}
|notify = <span lang="en" dir="ltr" class="mw-content-ltr">Notify</span>
|page action = {{ll|Manual:Parameters to index.php#Actions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Page action</span>}}
|parser = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser extension</span>}}
|parser function = {{ll|Manual:Parser functions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser function</span>}}
|php = <span lang="en" dir="ltr" class="mw-content-ltr">PHP</span>
|search = <span lang="en" dir="ltr" class="mw-content-ltr">Search</span>
|skin = {{ll|Manual:Skins|2=<span lang="en" dir="ltr" class="mw-content-ltr">Skin</span>}}
|special page = {{ll|Manual:Special pages|2=<span lang="en" dir="ltr" class="mw-content-ltr">Special page</span>}}
|locale = {{ll|Manual:Localization|2=<span lang="en" dir="ltr" class="mw-content-ltr">Locale</span>}}
|tag = {{ll|Manual:Tag extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tag</span>}}
|user access = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User access</span>}}
|user identity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User identity</span>}}
|user rights = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User rights</span>}}
|user activity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User activity</span>}}
|variable = {{ll|Manual:Variables|2=<span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>}}
}}<!--
-->|<!--else--><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:Extension|getType|_missing_}}<!--
-->}}<!--
--></td>
</tr>
}}<!--
--------------------------------- Description ---------------------------------
-->{{#if:{{{description|}}}|
<tr>
<td>'''{{ll|Template:Extension#description|2=Mô tả}}'''</td>
<td><span id="extension-description">{{{description}}}</span></td>
</tr>
}}<!--
------------------------------ Author & username-------------------------------
-->{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |
<tr>
<td>'''{{ll|Template:Extension#username|2=Tác giả}}'''</td>
<td style="vertical-align:top">{{#if: {{{username|}}} |<!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}} (<!--
-->}}<!--
-->[[User:{{{username}}}|{{{username}}}]]<!--
--><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->)<!--
-->}}<!--
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}}<!--
-->}}</td>
</tr>
}}<!--
--------------------------------- Maintainer ----------------------------------
-->{{#if:{{{maintainer|}}} |
<tr>
<td>'''{{ll|Template:Extension#maintainer|2=<span lang="en" dir="ltr" class="mw-content-ltr">Maintainer(s)</span>}}'''</td>
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td>
</tr>
}}<!--
------------------------------ Version & dates --------------------------------
-->{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=Phiên bản}}'''</td>
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td>
</tr>
}}
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=<span lang="en" dir="ltr" class="mw-content-ltr">Latest preview version</span>}}'''</td>
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td>
</tr>
}}<!--
---------------------------- Compatibility policy -----------------------------
-->{{#if:{{{compatibility policy|}}}|
<tr>
<td>'''{{ll|Compatibility#mediawiki_extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Compatibility policy</span>}}'''</td>
<td>{{#switch:{{{compatibility policy}}}<!--
-->|master=<span lang="en" dir="ltr" class="mw-content-ltr">Master maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|main=<span lang="en" dir="ltr" class="mw-content-ltr">Main branch maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|rel=<span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!--
-->|ltsrel= <span lang="en" dir="ltr" class="mw-content-ltr">For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!--
-->|#default=<span class="error"><span lang="en" dir="ltr" class="mw-content-ltr">invalid</span></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
-->}}</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
}}<!--
--------------------------------- MW version ----------------------------------
-->{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|
<tr>
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td>
<td>{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}</td>
</tr>
}}<!--
--------------------------------- PHP version ---------------------------------
-->{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|
<tr>
<td>{{ll|Template:Extension#php|'''PHP'''}}</td>
<td>{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}</td>
</tr>
}}<!--
---------------------- Requires updating the database? ------------------------
-->{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|
<tr>
<td>{{ll|Template:Extension#needs-updatephp|2=<abbr title="'php run update.php' needed after installation">'''<span lang="en" dir="ltr" class="mw-content-ltr">Database changes</span>'''</abbr>}}</td>
<td>{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=Có|no|No=Không|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}</td>
</tr>
}}<!--
------------------------------- Composer name ---------------------------------
-->{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|
<tr>
<td>{{ll|Composer|2=<abbr title="Supports 'Composer' for installation">'''Composer'''</abbr>}}</td>
<td>{{#invoke:Extension |getComposerName |{{{composer|}}} }}</td>
</tr><!--
categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--else
-->{{#ifeq:{{lc:{{NAMESPACE}}}}|extension|[[Category:Extensions supporting Composer{{#translation:}}]]}}<!--
-->}}
}}<!--
-------------------------------- Virtual domains ---------------------------------
-->{{#if:{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}|
<tr>
<td>'''{{ll|Manual:$wgVirtualDomainsMapping|2=<span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span>}}'''</td>
<td>{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}</td>
</tr>
}}<!--
------------------------------ Database tables --------------------------------
-->{{#if:{{{table1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#table1|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tables</span>}}'''</div>
<div class="mw-collapsible-content">
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
-->{{#if:{{{table2|}}}|<br />
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
-->{{#if:{{{table3|}}}|<br />
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
-->{{#if:{{{table4|}}}|<br />
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
-->{{#if:{{{table5|}}}|<br />
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
-->{{#if:{{{table6|}}}|<br />
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
-->{{#if:{{{table7|}}}|<br />
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
-->{{#if:{{{table8|}}}|<br />
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
-->{{#if:{{{table9|}}}|<br />
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
-->{{#if:{{{table10|}}}|<br />
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}<!--
-->{{#if:{{{table11|}}}|<br />
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}<!-- -->}}<!--
-->{{#if:{{{table12|}}}|<br />
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}<!-- -->}}<!--
-->{{#if:{{{table13|}}}|<br />
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}<!-- -->}}<!--
-->{{#if:{{{table14|}}}|<br />
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}<!-- -->}}<!--
-->{{#if:{{{table15|}}}|<br />
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}<!-- -->}}<!--
-->{{#if:{{{table16|}}}|<br />
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}<!-- -->}}<!--
-->{{#if:{{{table17|}}}|<br />
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}<!-- -->}}<!--
-->{{#if:{{{table18|}}}|<br />
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}<!-- -->}}<!--
-->{{#if:{{{table19|}}}|<br />
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}<!-- -->}}<!--
-->{{#if:{{{table20|}}}|<br />
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}<!-- -->}}</div>
</td>
</tr>
}}<!--
--------------------------------- Namespace -----------------------------------
-->{{#if:{{{namespace|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Không gian tên}}'''</div>
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{namespace|}}}</div></td>
</tr>
}}<!--
--------------------------------- Parameters ----------------------------------
-->{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Tham số}}</div>
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td>
</tr>
}}<!--
------------------------------------ Tags -------------------------------------
-->{{#if:{{{tags|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Thẻ}}</div>
<div class="mw-collapsible-content">
{{{tags}}}</div></td>
</tr>
}}<!--
----------------------------------- Rights ------------------------------------
-->{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Quyền bổ sung}}</div>
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}
{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}</div></td>
</tr>
}}<!--
---------------------------------- Services -----------------------------------
-->{{#if:{{{service1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#service|Services defined}}</div>
<div class="mw-collapsible-content">
<div>{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]</div>
{{#if:{{{service2|}}}|<div>{{{service2|}}}</div>}}
</div></td>
</tr>
}}<!--
--------------------------------- Hooks used ----------------------------------
-->{{#invoke:Extension|getHooks|header=
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Sử dụng neo móc}}</div>
<div class="mw-collapsible-content">
<ul><li>|delim=</li><li>|footer=</li></ul>
</div>
</td>
</tr>
}}<!--
------------------------------- Hooks provided --------------------------------
-->{{#if:{{{newhook1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span>}}</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!--
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
-->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
-->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
-->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
-->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
-->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
-->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
-->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|<!--
-->{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|<!--
-->{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|<!--
-->{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|<!--
-->{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|<!--
-->{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|<!--
-->{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|<!--
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!--
-->}}<!--
--></li></ul>
</div>
</td>
</tr>
}}<!--
---------------------------------- License ------------------------------------
--><tr><!--
-->{{#if:{{{license2|}}}{{{license-alt|}}}|<!--
multiple licenses: use a collapsible list
--><td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#license|2=Giấy phép}}'''</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/FormatLicense|delim=</li><li>|<!--
-->{{{license|}}}|{{{license1}}}|{{{license2|}}}|{{{license3|}}}|{{{license4|}}}|{{{license5|}}}<!--
-->}}<!--
--></li></ul><!--
-->{{#if:{{{license-alt|}}}|<!-- add alternative
--><br/>{{center|- '''''<span lang="en" dir="ltr" class="mw-content-ltr">or</span>''''' -}}<br/><ul><li>{{Extension/FormatLicense|{{{license-alt}}}}}</li></ul><!--
-->}}<!--
--></div></td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--
-->{{#if:{{{license|}}}|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->{{#if:{{{license1|}}}|{{#invoke:Extension|getLicenseCategory|{{{license1|}}}}}}}<!--
-->{{#if:{{{license2|}}}|{{#invoke:Extension|getLicenseCategory|{{{license2|}}}}}}}<!--
-->{{#if:{{{license3|}}}|{{#invoke:Extension|getLicenseCategory|{{{license3|}}}}}}}<!--
-->{{#if:{{{license4|}}}|{{#invoke:Extension|getLicenseCategory|{{{license4|}}}}}}}<!--
-->{{#if:{{{license5|}}}|{{#invoke:Extension|getLicenseCategory|{{{license5|}}}}}}}<!--
-->{{#if:{{{license-alt|}}}|{{#invoke:Extension|getLicenseCategory|{{{license-alt|}}}}}}}<!--
-->}}<!--
-->|<!--
else do it the old way, assuming a single license
--><td>'''{{ll|Template:Extension#license|2=<span lang="en" dir="ltr" class="mw-content-ltr">Licence</span>}}'''</td>
<td>{{Extension/FormatLicense|{{{license|}}}}}</td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->}}</tr><!--
------------------------ Download, readme & changelog -------------------------
--><tr>
<td>'''Tải xuống'''</td>
<td><!--
-->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''<span lang="en" dir="ltr" class="mw-content-ltr">No link</span>''}}}}<!--
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td>
</tr><!--
------------------------------------ Help -------------------------------------
-->{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |
<tr>
<td>'''{{ll|Template:Extension#help|2=<span lang="en" dir="ltr" class="mw-content-ltr">Help</span>}}'''</td>
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td>
</tr>
}}<!--
---------------------------------- Example ------------------------------------
-->{{#if:{{{example|}}}|
<tr>
<td>'''{{ll|Template:Extension#example|2=Ví dụ}}'''</td>
<td style="vertical-align:top">{{{example}}}</td>
</tr>
}}<!--
-------------------------------- Compatibility --------------------------------
-->{{#if:{{{compatibility|}}}|
<tr>
<td colspan="2"><!-- the parameter "compatibility" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{compatibility}}}</td>
</tr>
}}<!--
------------------------------- Show popularity -------------------------------
-->{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|
<tr>
<td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.">'''<span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span>'''</td>
<td>{{#invoke:Extension |getDownloads}}</td>
</tr>
}} }}
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|
<tr>
<td title="">[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} '''Wiki công khai''']</td>
<td>{{#invoke:Extension |getPublicSites}}</td>
</tr>
}} }}<!--
------------------------------ translatewiki.net ------------------------------
-->{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||
<tr>
<td colspan="2" class="ext-infobox-translate">
{{#if:{{{translate|}}}
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]]</span>
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net</span>
}}</td>
</tr>}}<!--
------------------------- Suppress 'Check usage' link? ------------------------
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
|no usage
|{{#ifeq:{{NAMESPACE}}|{{ns:102}}
|
|no usage
}}
{{#ifeq:{{{templatemode|}}}|nousage
|no usage
}}
}}}}}
|<!-- no usage -->|
<tr>
</tr>
}}<!--
-------------------------------- Vagrant role ---------------------------------
-->{{#if:{{{vagrant-role|}}}|
<tr>
<td>'''{{ll|MediaWiki-Vagrant#Using roles|2=<span lang="en" dir="ltr" class="mw-content-ltr">Vagrant role</span>}}'''</td>
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td>
</tr>
}}<!--
----------------------- Phabricator, Bugzilla & issues ------------------------
-->{{#if: {{{phabricator|{{{bugzilla|}}}}}} |
<tr>
<td>
'''{{ll|Phabricator|2=Phản hồi}}'''</td>
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Báo cáo lỗi]</td>
</tr>
}}
{{#if: {{{github|}}} |
<tr>
<td>
'''{{ll|Gerrit/GitHub|2=<span lang="en" dir="ltr" class="mw-content-ltr">Issues</span>}}'''</td>
<td>[https://www.github.com/{{{github}}}/issues <span lang="en" dir="ltr" class="mw-content-ltr">Open issues</span>] · [https://www.github.com/{{{github}}}/issues/new <span lang="en" dir="ltr" class="mw-content-ltr">Report a bug</span>]</td>
</tr>
}}<!--
--------------- End table / Index tweak & more categorization -----------------
--></table><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing--><!--
-->|<!--else--><!--
-->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
-->{{uc:{{{name}}}<!-- -->}}<!--
-->|<!--else--><!--
-->{{uc:{{PAGENAME}}<!-- -->}}<!--
-->}}<!-- -->}}<!--
-->[[Category:All extensions{{#translation:}}]]<!--
-->{{#invoke:Extension|getExtensionJsonCategory}}<!--
-->}}<!--
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}}<!--
----------------------- End main block / Documentation ------------------------
--></includeonly><noinclude>{{Documentation|content=
{{intricate template}}
{{lua|Module:Extension|Module:ExtensionJson|Module:Check for unknown parameters|Module:String}}
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}}
<span lang="en" dir="ltr" class="mw-content-ltr">This template should be added to all extension pages on this wiki (but only the main page).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The template autofills some fields of the infobox with extension data collected by [[wikitech:Tool:Extjsonuploader]].</span>
{{Clear}}
<span id="Usage"></span>
== Cách sử dụng ==
<table style="width: 100%;">
<tr>
<th style="width: 40%;"></th>
<th style="width: 60%;"></th>
</tr>
<tr style="vertical-align: top;">
<td style="float: left;">
<span id="CutAndPaste">Cắt và dán:</span>
<syntaxhighlight lang="wikitext" copy>{{Extension |templatemode =
|name =
|status =
|type1 =
|type2 =
|hook1 =
|hook2 =
|newhook1 =
|newhook2 =
|username =
|author =
|maintainer =
|description =
|image =
|imagesize =
|version =
|update =
|version preview =
|update preview =
|compatibility policy =
|mediawiki =
|php =
|needs-updatephp =
|composer =
|virtual domain =
|table1 =
|table2 =
|license =
|download =
|show-popularity =
|repo =
|readme =
|changelog =
|help =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
|phabricator =
|translate =
|vagrant-role =
}}</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For help with parameter values, see [[#Content parameters|below]].</span></td>
<td>{{Extension |templatemode=nocats
|name = {{{name}}}
|status = {{{status}}}
|type1 = {{{type1}}}
|type2 = {{{type2}}}
|hook1 = hook1
|hook2 = hook2
|newhook1 = newhook1
|newhook2 = newhook2
|username = SomeUser
|author = SomeAuthor
|maintainer = SomeOtherUser
|description = {{{description}}}
|image = Placeholder.svg
|imagesize = 400
|version = {{{version}}}
|update = {{{update}}}
|version preview = {{{version preview}}}
|update preview = {{{update preview}}}
|compatibility policy = {{{compatibility policy}}}
|mediawiki = {{{mediawiki}}}
|php = {{{php}}}
|needs-updatephp = {{{needs-updatephp}}}
|composer = {{{composer}}}
|virtual domain = {{{virtual domain}}}
|table1 = {{{table1}}}
|table2 = {{{table2}}}
|license = {{{license}}}
|download = {{{download}}}
|show-popularity = {{{show-popularity}}}
|repo =
|readme = {{{readme}}}
|changelog = {{{changelog}}}
|help = {{{help}}}
|example = {{{example}}}
|namespace = {{{namespace}}}
|parameters = {{{parameters}}}
|tags = {{{tags}}}
|rights = {{{rights}}}
|compatibility = {{{compatibility}}}
|phabricator = {{{phabricator}}}
|translate = {{{translate}}}
|vagrant-role = {{{vagrant-role}}}
}}</td>
</tr>
</table>
<span id="Content_parameters"></span>
== Các tham số nội dung ==
Phần này mô tả các tham số ảnh hưởng đến hộp thông tin.
<span lang="en" dir="ltr" class="mw-content-ltr">For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.</span>
<!-- BEFORE YOU EDIT THIS:
span ids on each parameter are used by the code in Template:Extension.
They enable each label in the info box to link its documentation.
If you change an id, please update the code in Template:Extension accordingly.
-->
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Content parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td><span id="name">'''name'''</span></td><td>'''tên phần mở rộng'''</td>
</tr>
<tr>
<td><span id="status">'''status'''</span></td><td>
'''trạng thái phát hành hiện tại'''
Một trong số:
* ''{{ll|Category:Unstable extensions|unstable}}'' – hỏng - không sử dụng phần mở rộng này
* ''{{ll|Category:Experimental extensions|experimental}}'' – đang trong những giai đoạn đầu của quá trình phát triển, có thể thay đổi đáng kể
* ''{{ll|Category:Beta status extensions|beta}}'' – ổn định nhưng chưa đựng kiểm tra toàn bộ
* ''{{ll|Category:Stable extensions|stable}}'' – phiên bản ổn định
* ''{{ll|Category:Unmaintained extensions|unmaintained}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">unmaintained - previously claimed to be stable, now unmaintained</span>
* ''{{ll|Category:Extensions with unknown status|unknown}}'' – mặc định
<span lang="en" dir="ltr" class="mw-content-ltr">If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is omitted, it will be categorised as [[Special:MyLanguage/Category:extensions with unknown status|unknown]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is invalid, it will be placed in a [[Special:MyLanguage/Category:extensions with invalid status|special category]] so that the error can be caught and fixed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Extension status|release status colour scheme]]
</div></td>
</tr>
<tr>
<td>'''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/></td><td><span id="type">'''<span lang="en" dir="ltr" class="mw-content-ltr">implementation type</span>'''</span><!-- id here so at top of documentation -->
<span lang="en" dir="ltr" class="mw-content-ltr">The implementation strategy(s) employed in building this extension.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Special:MyLanguage/Help:Categories|category links]] as needed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Allowed values for the '''type1''', '''type2''', ... parameters are:</span>
* '''''{{ll|Category:Parser extensions|parser}}''''' – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised [[Special:MyLanguage/Manual:Extending wiki markup|parser extensions]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you have written a parser extension, please use one of the following more specific types:</span>
** ''{{ll|Category:ContentHandler extensions|contenthandler}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions using {{ll|Manual:ContentHandler|ContentHandler}}.</span>
** ''{{ll|Category:Link markup extensions|link}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">customised [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...<nowiki>]]</nowiki></code>.</span>
** ''{{ll|Category:Parser function extensions|parser function}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Parser functions|parameterised template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code>.</span>
** ''{{ll|Category:Tag extensions|tag}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}}.</span>
** ''{{ll|Category:Variable extensions|variable}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Variables|unparameterised template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code>.</span>
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add non-standard wiki syntax (i.e. ''not'' [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]).</span>
*:
* {{ll|Category:User access extensions|'''''user access'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for {{ll|Manual:User access extensions|nsp=0}}, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:</span>
** {{ll|Category:User activity extensions|''user activity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that monitor user activity (logins, logouts, new user creation, etc.).</span>
** {{ll|Category:User identity extensions|''user identity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create and delete users, and/or verify the identity of a user.</span>
** {{ll|Category:User rights extensions|''user rights''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]]).</span>
* {{ll|Category:User interface extensions|'''''interface'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised user interface extensions.</span>
** ''{{ll|Category:Media handling extensions|media}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with {{ll|Manual:$wgMediaHandlers|$wgMediaHandlers}}.</span>
** ''{{ll|Category:Personalization extensions|mywiki}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that provide infrastructure so that users may personalise their MediaWiki experience and/or assist in the management of that infrastructure.</span>
** {{ll|Category:Notification extensions|''notify''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that email users, broadcast messages and provide other forms of community notification.</span>
** ''{{ll|Category:Page action extensions|''page action''}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that enhance or modify {{ll|Manual:Page action|page actions}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It does not include rights (use ''user rights'') or logs (use ''user activity'').</span>
** {{ll|Category:Search extensions|''search''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that search through and select pages for users.</span>
** {{ll|Category:Skin extensions|''skin''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.</span>
** {{ll|Category:Ajax extensions|''ajax''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that use [[w:AJAX|Ajax]] programming techniques.</span>
** {{ll|Category:Special page extensions|''special''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that subclass the {{Class doclink|SpecialPage}} class, use one of its hooks, or patch one or more functions in {{Git file|file=includes/specialpage/SpecialPage.php|text=SpecialPage.php}}. See {{ll|Manual:Special pages|Special pages}} for more information.</span>
* '''other'''
** {{ll|Category:Artificial intelligence extensions|''ai''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions related to [[w:Artificial intelligence|Artificial intelligence]].</span>
** {{ll|Category:API extensions|''api''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add a new API module or extend a core API module.</span>
** {{ll|Category:Hook extensions|''hook''}} – <span lang="en" dir="ltr" class="mw-content-ltr">hook extension —defines a ''new'' hook— see {{para|hook1}}, etc. below if you want to define hooks ''used'' by your extension.</span>
** {{ll|Category:Database extensions|''database''}} – <span lang="en" dir="ltr" class="mw-content-ltr">adds tables and/or fields to the database backing a MediaWiki installation.</span>
** {{ll|Category:Data extraction extensions|''data extraction''}} – <span lang="en" dir="ltr" class="mw-content-ltr">data extraction.</span>
** {{ll|Category:File repository extensions|''filerepo''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extension that adds new file repository types as file backend.</span>
** {{ll|Category:Extension examples|''example''}} – <span lang="en" dir="ltr" class="mw-content-ltr">not a real extension, but an example of how to write one.</span>
** {{ll|Category:Beta Feature extensions|''beta features''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create new {{ll|Beta Features}}.</span>
** {{ll|Category:PHP extensions|''php''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the underlying {{ll|PHP}} programming language.</span>
** {{ll|Category:Internationalization extensions|''locale''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions associated with [[Special:MyLanguage/Localisation|localisation]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note: Many extensions have more than one type, if this applies to yours, replace {{para|type}} with {{para|type1}}, {{para|type2}}, {{para|type3}}… You may define up to six types for an extension.</span></td>
</tr>
<tr>
<td><span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook90''</td>
<td style="vertical-align: top;">'''<span lang="en" dir="ltr" class="mw-content-ltr">Name of each hook used by the extension.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">Entering values in this field is a good way to get exposure for your extension and help other developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each documented hook will automatically add the extension to a category listing extensions that use that hook.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
</div></td>
</tr>
<tr>
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td>
<td style="vertical-align: top;">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Name of each hook provided by the extension.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You might also want to add the hooks to [[Extension hook registry]].
</div>
</td>
</tr>
<tr>
<td><span id="username">'''username'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The author's username on MediaWiki.org (if they have one).</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the author's user & user_talk page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|author}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension author's name, if different from their MediaWiki.org username.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Free text.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If omitted then the 'username' field will be used (if present).</span></td>
</tr>
<tr>
<td>{{visible anchor|maintainer}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's current maintainer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the maintainer's user & user_talk page, if the userpage exists.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td><span id="description">'''description'''</span></td><td>'''<span lang="en" dir="ltr" class="mw-content-ltr">Short description</span>'''</td>
</tr>
<tr>
<td>{{visible anchor|image}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Screenshot or logo of extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|imagesize}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">''Facultative'', size of the image without adding px, e.g. 360 (default size is 300px)</span></td>
</tr>
<tr>
<td>{{visible anchor|version}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Last version</span></td>
</tr>
<tr>
<td>{{visible anchor|update}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update</span></td>
</tr>
<tr>
<td>{{visible anchor|version preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Preview version</span></td>
</tr>
<tr>
<td>{{visible anchor|update preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update to the preview version</span></td>
</tr>
<tr>
<td><span id="compatibility_policy">compatibility policy</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Compatibility#mediawiki_extensions|Compatibility policy}} (accepted values: <code>master</code>, <code>main</code>, <code>rel</code>, <code>ltsrel</code>).</span> ({{ll|Category:Extensions without a compatibility policy|2=<span lang="en" dir="ltr" class="mw-content-ltr">backlog</span>}})</td>
</tr>
<tr>
<td>{{visible anchor|mediawiki}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Most extensions should not need to use this — it defaults to the value of the <code>{{Manual|Extension.json/Schema#requires|requires}}</code> property of {{manual|extension.json}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">See also {{ll|Category:Extensions without MediaWiki version}} and {{ll|Category:Extensions with manual MediaWiki version}}.</span></td>
</tr>
<tr>
<td>{{visible anchor|php}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of PHP</span></td>
</tr>
<tr>
<td>{{visible anchor|needs-updatephp}}</td>
<td>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is a common pitfall: your MediaWiki will stall if you forget to run <code>update.php</code> when the extension requires it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>no</code> indicates that the extension does not need <code>update.php</code> to be run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To avoid ambiguity this parameter should be set explicitly instead of relying on the absence of a <code>yes</code> to mean <code>no</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Extensions that conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into <code>LocalSettings.php</code>, run from the command line:
</div>
<code class="mw-code mw-highlight" style="display:block"><!--
-->{{#tag:span|cd|class=nb}} ''<span lang="en" dir="ltr" class="mw-content-ltr">path/to/wiki_install_directory</span>''
{{#tag:span|cd|class=nb}} maintenance
php run update.php
</code>
{{$IP}}</td>
</tr>
<tr>
<td><span id="composer">composer</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's Composer package name, in the [https://getcomposer.org/doc/04-schema.md#name standard format].</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be automatically included if set in an extension's <code>composer.json</code> file (i.e. this parameter is not required in that case).</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be linked to the extension's page on [https://packagist.org/ Packagist].</span></td>
</tr>
<tr>
<td><span id="virtual_domain">virtual domain</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The {{ll|Manual:$wgVirtualDomainsMapping|virtual database domain}} used by the extension.</span></td>
</tr>
<tr>
<td><span id="table1">'''table1'''</span><br/>''table2''<br/>''table3''<br/>''table4''<br/>...<br/>''table20''</td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Name of each ''non-core'' table used by the extension.'''</span><br/><br/>
<span lang="en" dir="ltr" class="mw-content-ltr">Links to a subpage of your extension page. For instance, "table1 = cu_changes" at {{ll|Extension:CheckUser|Extension:CheckUser}} will link to {{ll|Extension:CheckUser/cu_changes table|Extension:CheckUser/cu_changes table}}. Don't list core tables such as {{ll|Manual:Page table|page}} or {{ll|Manual:Revision table|revision}}; only list tables that are added by extensions.</span></td>
</tr>
<tr>
<td><span id="license">'''license1'''</span><br/>''license2''<br/>''license3''<br/>''license4''<br/>''license5''<br/><br/>'''license-alt'''</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">License(s) governing use of this extension, based on the codes found in {{ll|Template:Extension/FormatLicense}}, e.g. <code>GPL-2.0-or-later</code>, <code>GPL-2.0-only</code> or <code>GPL-3.0-or-later</code>, etc.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optionally, use {{para|license-alt}} to specify an '''''alternative''''' license that is also acceptable —at the user's discretion― instead of those mandated by {{para|license1}}, {{para|license2}}, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If the extension comprises several components that are each licensed under different terms, you're strongly encouraged to give the specifics in the main text.
</div>
</td>
</tr>
<tr>
<td><span id="download">'''download'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}.</span> </td>
</tr>
<tr>
<td><span id="show-popularity">'''show-popularity'''</span></td><td>Enable/disable popularity fields (Quarterly downloads and Public wikis using the extension) based on [[Template:Extension/popularity.json]], which may not reflect real usage</td>
</tr>
<td><span id="repo">repo</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</span></td>
<tr>
<td>{{visible anchor|readme}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the <code>README</code> file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README</span></td>
</tr>
<tr>
<td>{{visible anchor|changelog}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the changelog file, e.g. [[Extension:GeoGebra/Changelog]].</span></td>
</tr>
<tr>
<td>{{visible anchor|help}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Link to user-help for the extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If not provided, will look for {{tmpl|0=<code>Help:Extension:$1</code>|''ExtensionName''}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</span></td>
</tr>
<tr>
<td>{{visible anchor|example}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Example, website or screenshot of working extension.</span></td>
</tr>
<tr>
<td>{{visible anchor|namespace}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Namespace|Namespace]] in which this extension is used.</span></td>
</tr>
<tr>
<td>{{visible anchor|parameters}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Available parameters for <code>LocalSettings.php</code>.</span></td>
</tr>
<tr>
<td>{{visible anchor|tags}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Any tags your extension uses (e.g. <tag1>, <tag2>).</span></td>
</tr>
<tr>
<td>{{visible anchor|rights}}</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:User rights|Rights]] added by the extension.</span> '''<span lang="en" dir="ltr" class="mw-content-ltr">Not to be confused with the licence!</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Rights are such as ''{{ll|Manual:User rights#edit|edit}}'' or ''{{ll|Manual:User rights#createpage|createpage}}'', not such as GFDL or LGPL or GPL - those are licences!</span></td>
</tr>
<tr>
<td>{{visible anchor|compatibility}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</span></td>
</tr>
<tr>
<td>{{visible anchor|bugzilla}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Bugzilla}} MediaWiki extension component name</span></td>
</tr>
<tr>
<td>{{visible anchor|phabricator}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Phabricator}} project name</span></td>
</tr>
<tr>
<td>{{visible anchor|translate}}</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to:
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka
* the parameter you get in the URL after
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".
</div>
</td>
</tr>
<tr>
<td>{{visible anchor|vagrant-role}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|MediaWiki-Vagrant}} role</span></td>
</tr>
<tr>
<td>{{visible anchor|CheckUsageNameOverride}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Override the page name used for the check usage link.</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Control parameters ==
</div>
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Control parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td>'''templatemode'''</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Controls auto-categorisation of host page.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Normally left blank. Alternate values are:
</div>
* ''nocats'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses categorisation and the 'check usage' link. Use this value if you are adding this template to [[Special:MyLanguage/Help:Subpage|subpages]] of an extension or to how-to documentation of extensions. For example, the usage image above sets <code>templatemode=nocats</code> because this isn't an actual extension page and we don't want to add this page to any categories on account of it.</span>
* ''nousage'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If this is left blank, this template will add the host page to [[:Category:All extensions{{#translation:}}]] and to one or more additional categories, depending on the values assigned to the [[#Content parameters|Content parameters]].</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Using the infobox ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Existing extension pages ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]].
</div>
{{anchor|Create a new extension article}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new extension page ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to create a new extension page, enter the name below and click the button.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A new page will be created with the infobox template already in place.</span>
{{Extension/CreateExtensionInputBox}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Enhancing this template ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you would like to improve on this template, thanks!</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a complicated template so here is some help along the way:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== The Create extension button ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To improve the create extension button behavior:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages.
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Infobox parameters ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In general:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the [[Special:MyLanguage/Template:Extension#Content parameters|content parameter documentation]] and link its label to that documentation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change/correct/add to the implementation type parameters:
* Check the [[Template_talk:Extension|talk page]] - there have been some extensive discussions about this field.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* The valid types and what they link to are defined at [[Module:Extension]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change the behavior of the hook parameters:
</div>
* '''{{ll|Template:Extension/HookInUse}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Adds links and categories for a hook in use.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Multiple hooks in use are implemented by calling this template with {{ll|Template:Foreach}}.</span>
* '''{{ll|Template:Extension/HookInUseNoCats}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Used instead of {{ll|Template:Extension/HookInUse}} when this template is used in <code>templatemode=nocats</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Templates used with {{ll|Template:Foreach}} can only take one parameter so we need to wrap the call to {{ll|Template:Extension/HookInUse}} with another template that sets the mode.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Test case ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See if the following pages are still ok after editing this template.
</div>
* [[Extension:Description2]]
* [[Template:Extension]]
{{Extension/doc}}
}}
Maintenance:
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
[[Special:WhatLinksHere/Template:Extension/archived|archived]]
[[Category:Infobox templates{{#translation:}}|{{PAGENAME}}]]
</noinclude>
nzp4f128b0eobea6wm9ersnyrxq96p7
8390445
8390443
2026-05-25T08:57:12Z
~2026-31164-84
18405834
Created page with "Cơ sở dữ liệu(Database)"
8390445
wikitext
text/x-wiki
<noinclude>
<languages/>
</noinclude><!--
--------------------------------- CSS styling ---------------------------------
--><templatestyles src="Template:Infobox/styles.css" /><!--
--><templatestyles src="Template:Extension/styles.css" /><!--
--><templatestyles src="Template:Extension/status.css" /><!--
-------------- Begin main block / Check for unknown parameters ----------------
--><includeonly>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Pages using Template:Extension with unknown parameters]]
|ignoreblank=1
|preview={{tl|extension}}: unknown parameter "_VALUE_"
|name|status|type|type1|type2|type3|type4|type5|type6|hook1|hook2|hook3|hook4|hook5|hook6|hook7|hook8|hook9|hook10|hook11|hook12|hook13|hook14|hook15|hook16|hook17|hook18|hook19|hook20|hook21|hook22|hook23|hook24|hook25|hook26|hook27|hook28|hook29|hook30|hook31|hook32|hook33|hook34|hook35|hook36|hook37|hook38|hook39|hook40|hook41|hook42|hook43|hook44|hook45|hook46|hook47|hook48|hook49|hook50|hook51|hook52|hook53|hook54|hook55|hook56|hook57|hook58|hook59|hook60|hook61|hook62|hook63|hook64|hook65|hook66|hook67|hook68|hook69|hook70|hook71|hook72|hook73|hook74|hook75|hook76|hook77|hook78|hook79|hook80|hook81|hook82|hook83|hook84|hook85|hook86|hook87|hook88|hook89|hook90|newhook1|newhook2|newhook3|newhook4|newhook5|newhook6|newhook7|newhook8|newhook9|newhook10|newhook11|newhook12|newhook13|newhook14|newhook15|newhook16|newhook17|newhook18|newhook19|newhook20|newhook21|newhook22|newhook23|newhook24|newhook25|newhook26|newhook27|newhook28|newhook29|newhook30|newhook31|newhook32|newhook33|newhook34|newhook35|newhook36|newhook37|newhook38|newhook39|newhook40|newhook41|newhook42|newhook43|newhook44|newhook45|newhook46|newhook47|newhook48|newhook49|newhook50|newhook51|newhook52|newhook53|newhook54|newhook55|newhook56|newhook57|newhook58|newhook59|newhook60|newhook61|newhook62|newhook63|newhook64|newhook65|newhook66|newhook67|newhook68|newhook69|newhook70|newhook71|newhook72|newhook73|newhook74|newhook75|newhook76|newhook77|newhook78|newhook79|newhook80|newhook81|newhook82|newhook83|newhook84|newhook85|newhook86|newhook87|newhook88|newhook89|newhook90|username|author|maintainer|description|image|imagesize|version|latest release version|latest_release_version|update|latest release date|latest_release_date|version preview|version_preview|latest preview version|latest_preview_version|update preview|update_preview|latest preview date|latest_preview_date|compatibility policy|mediawiki|php|needs-updatephp|composer|virtual domain|table1|table2|table3|table4|table5|table6|table7|table8|table9|table10|table11|table12|table13|table14|table15|table16|table17|table18|table19|table20|license|license1|license2|license3|license4|license5|license-alt|download|show-popularity|repo|readme|changelog|help|example|namespace|parameters|tags|rights|compatibility|bugzilla|phabricator|translate|vagrant-role|CheckUsageNameOverride|templatemode}}}}<!--
--------------------- Begin table / Badge / Check status ----------------------
-->{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}
|#default=unknown
}}" role="none" aria-labelledby="extension-name" aria-describedby="extension-description">
<caption role="none">'''{{ll|Manual:Extensions|2=Cẩm nang phần mở rộng MediaWiki}}'''</caption>
<tr class="infobox-header ext-infobox-header notheme">
<th colspan="2">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable
|OOjs UI icon alert-invert.svg
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span id="extension-name" class="ext-infobox-name">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br />
{{ll|Extension status|2=Trạng thái phát hành:}} {{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained=<span lang="en" dir="ltr" class="mw-content-ltr">unmaintained</span>
|unstable=không ổn định
|experimental=thử nghiệm
|beta=tiền phát hành
|stable=ổn định
|#default=không rõ
}}<!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
|unstable|experimental|unmaintained|stable = {{{status}}} extensions
|beta = beta status extensions
|unknown = extensions with unknown status
|#default = extensions with invalid status
}}{{#translation:}}]]}}</th>
</tr><!--
------------------------------------ Image ------------------------------------
-->{{#if:{{{image|}}}|
<tr>
<td colspan="2" class="ext-infobox-image">[[File:{{{image}}}|{{{imagesize|300}}}px]]</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}
}}<!--
------------------------------------ Types ------------------------------------
-->{{#if:{{{type|}}}{{{type1|}}}|
<tr>
<td class="ext-infobox-type">'''{{ll|Template:Extension#type|2=Cài đặt}}'''</td>
<td>{{#invoke:Extension|getTypes
|ajax = Hi
|api = {{ll|API:Action API|2=<span lang="en" dir="ltr" class="mw-content-ltr">API</span>}}
|beta feature = {{ll|Beta Features|2=Tính năng Beta}}
|contenthandler = {{ll|Manual:ContentHandler|ContentHandler}}
|database = {{ll|Manual:Database layout|2=Cơ sở dữ liệu(Database)}}
|data extraction = <span lang="en" dir="ltr" class="mw-content-ltr">Data extraction</span>
|example = <span lang="en" dir="ltr" class="mw-content-ltr">Example</span>
|extended syntax = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Extended syntax</span>}}
|filerepo = <span lang="en" dir="ltr" class="mw-content-ltr">File repository</span>
|hook = {{ll|Manual:Hooks|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hook</span>}}
|interface = <span lang="en" dir="ltr" class="mw-content-ltr">User interface</span>
|link = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Link markup</span>}}
|media = Truyền thông
|mywiki = {{ll|Manual:Personalization|2=<span lang="en" dir="ltr" class="mw-content-ltr">MyWiki</span>}}
|notify = <span lang="en" dir="ltr" class="mw-content-ltr">Notify</span>
|page action = {{ll|Manual:Parameters to index.php#Actions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Page action</span>}}
|parser = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser extension</span>}}
|parser function = {{ll|Manual:Parser functions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser function</span>}}
|php = <span lang="en" dir="ltr" class="mw-content-ltr">PHP</span>
|search = <span lang="en" dir="ltr" class="mw-content-ltr">Search</span>
|skin = {{ll|Manual:Skins|2=<span lang="en" dir="ltr" class="mw-content-ltr">Skin</span>}}
|special page = {{ll|Manual:Special pages|2=<span lang="en" dir="ltr" class="mw-content-ltr">Special page</span>}}
|locale = {{ll|Manual:Localization|2=<span lang="en" dir="ltr" class="mw-content-ltr">Locale</span>}}
|tag = {{ll|Manual:Tag extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tag</span>}}
|user access = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User access</span>}}
|user identity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User identity</span>}}
|user rights = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User rights</span>}}
|user activity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User activity</span>}}
|variable = {{ll|Manual:Variables|2=<span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>}}
}}<!--
-->|<!--else--><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:Extension|getType|_missing_}}<!--
-->}}<!--
--></td>
</tr>
}}<!--
--------------------------------- Description ---------------------------------
-->{{#if:{{{description|}}}|
<tr>
<td>'''{{ll|Template:Extension#description|2=Mô tả}}'''</td>
<td><span id="extension-description">{{{description}}}</span></td>
</tr>
}}<!--
------------------------------ Author & username-------------------------------
-->{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |
<tr>
<td>'''{{ll|Template:Extension#username|2=Tác giả}}'''</td>
<td style="vertical-align:top">{{#if: {{{username|}}} |<!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}} (<!--
-->}}<!--
-->[[User:{{{username}}}|{{{username}}}]]<!--
--><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->)<!--
-->}}<!--
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}}<!--
-->}}</td>
</tr>
}}<!--
--------------------------------- Maintainer ----------------------------------
-->{{#if:{{{maintainer|}}} |
<tr>
<td>'''{{ll|Template:Extension#maintainer|2=<span lang="en" dir="ltr" class="mw-content-ltr">Maintainer(s)</span>}}'''</td>
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td>
</tr>
}}<!--
------------------------------ Version & dates --------------------------------
-->{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=Phiên bản}}'''</td>
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td>
</tr>
}}
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=<span lang="en" dir="ltr" class="mw-content-ltr">Latest preview version</span>}}'''</td>
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td>
</tr>
}}<!--
---------------------------- Compatibility policy -----------------------------
-->{{#if:{{{compatibility policy|}}}|
<tr>
<td>'''{{ll|Compatibility#mediawiki_extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Compatibility policy</span>}}'''</td>
<td>{{#switch:{{{compatibility policy}}}<!--
-->|master=<span lang="en" dir="ltr" class="mw-content-ltr">Master maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|main=<span lang="en" dir="ltr" class="mw-content-ltr">Main branch maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|rel=<span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!--
-->|ltsrel= <span lang="en" dir="ltr" class="mw-content-ltr">For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!--
-->|#default=<span class="error"><span lang="en" dir="ltr" class="mw-content-ltr">invalid</span></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
-->}}</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
}}<!--
--------------------------------- MW version ----------------------------------
-->{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|
<tr>
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td>
<td>{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}</td>
</tr>
}}<!--
--------------------------------- PHP version ---------------------------------
-->{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|
<tr>
<td>{{ll|Template:Extension#php|'''PHP'''}}</td>
<td>{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}</td>
</tr>
}}<!--
---------------------- Requires updating the database? ------------------------
-->{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|
<tr>
<td>{{ll|Template:Extension#needs-updatephp|2=<abbr title="'php run update.php' needed after installation">'''<span lang="en" dir="ltr" class="mw-content-ltr">Database changes</span>'''</abbr>}}</td>
<td>{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=Có|no|No=Không|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}</td>
</tr>
}}<!--
------------------------------- Composer name ---------------------------------
-->{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|
<tr>
<td>{{ll|Composer|2=<abbr title="Supports 'Composer' for installation">'''Composer'''</abbr>}}</td>
<td>{{#invoke:Extension |getComposerName |{{{composer|}}} }}</td>
</tr><!--
categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--else
-->{{#ifeq:{{lc:{{NAMESPACE}}}}|extension|[[Category:Extensions supporting Composer{{#translation:}}]]}}<!--
-->}}
}}<!--
-------------------------------- Virtual domains ---------------------------------
-->{{#if:{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}|
<tr>
<td>'''{{ll|Manual:$wgVirtualDomainsMapping|2=<span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span>}}'''</td>
<td>{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}</td>
</tr>
}}<!--
------------------------------ Database tables --------------------------------
-->{{#if:{{{table1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#table1|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tables</span>}}'''</div>
<div class="mw-collapsible-content">
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
-->{{#if:{{{table2|}}}|<br />
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
-->{{#if:{{{table3|}}}|<br />
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
-->{{#if:{{{table4|}}}|<br />
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
-->{{#if:{{{table5|}}}|<br />
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
-->{{#if:{{{table6|}}}|<br />
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
-->{{#if:{{{table7|}}}|<br />
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
-->{{#if:{{{table8|}}}|<br />
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
-->{{#if:{{{table9|}}}|<br />
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
-->{{#if:{{{table10|}}}|<br />
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}<!--
-->{{#if:{{{table11|}}}|<br />
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}<!-- -->}}<!--
-->{{#if:{{{table12|}}}|<br />
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}<!-- -->}}<!--
-->{{#if:{{{table13|}}}|<br />
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}<!-- -->}}<!--
-->{{#if:{{{table14|}}}|<br />
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}<!-- -->}}<!--
-->{{#if:{{{table15|}}}|<br />
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}<!-- -->}}<!--
-->{{#if:{{{table16|}}}|<br />
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}<!-- -->}}<!--
-->{{#if:{{{table17|}}}|<br />
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}<!-- -->}}<!--
-->{{#if:{{{table18|}}}|<br />
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}<!-- -->}}<!--
-->{{#if:{{{table19|}}}|<br />
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}<!-- -->}}<!--
-->{{#if:{{{table20|}}}|<br />
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}<!-- -->}}</div>
</td>
</tr>
}}<!--
--------------------------------- Namespace -----------------------------------
-->{{#if:{{{namespace|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Không gian tên}}'''</div>
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{namespace|}}}</div></td>
</tr>
}}<!--
--------------------------------- Parameters ----------------------------------
-->{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Tham số}}</div>
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td>
</tr>
}}<!--
------------------------------------ Tags -------------------------------------
-->{{#if:{{{tags|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Thẻ}}</div>
<div class="mw-collapsible-content">
{{{tags}}}</div></td>
</tr>
}}<!--
----------------------------------- Rights ------------------------------------
-->{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Quyền bổ sung}}</div>
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}
{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}</div></td>
</tr>
}}<!--
---------------------------------- Services -----------------------------------
-->{{#if:{{{service1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#service|Services defined}}</div>
<div class="mw-collapsible-content">
<div>{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]</div>
{{#if:{{{service2|}}}|<div>{{{service2|}}}</div>}}
</div></td>
</tr>
}}<!--
--------------------------------- Hooks used ----------------------------------
-->{{#invoke:Extension|getHooks|header=
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Sử dụng neo móc}}</div>
<div class="mw-collapsible-content">
<ul><li>|delim=</li><li>|footer=</li></ul>
</div>
</td>
</tr>
}}<!--
------------------------------- Hooks provided --------------------------------
-->{{#if:{{{newhook1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span>}}</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!--
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
-->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
-->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
-->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
-->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
-->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
-->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
-->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|<!--
-->{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|<!--
-->{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|<!--
-->{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|<!--
-->{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|<!--
-->{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|<!--
-->{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|<!--
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!--
-->}}<!--
--></li></ul>
</div>
</td>
</tr>
}}<!--
---------------------------------- License ------------------------------------
--><tr><!--
-->{{#if:{{{license2|}}}{{{license-alt|}}}|<!--
multiple licenses: use a collapsible list
--><td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#license|2=Giấy phép}}'''</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/FormatLicense|delim=</li><li>|<!--
-->{{{license|}}}|{{{license1}}}|{{{license2|}}}|{{{license3|}}}|{{{license4|}}}|{{{license5|}}}<!--
-->}}<!--
--></li></ul><!--
-->{{#if:{{{license-alt|}}}|<!-- add alternative
--><br/>{{center|- '''''<span lang="en" dir="ltr" class="mw-content-ltr">or</span>''''' -}}<br/><ul><li>{{Extension/FormatLicense|{{{license-alt}}}}}</li></ul><!--
-->}}<!--
--></div></td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--
-->{{#if:{{{license|}}}|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->{{#if:{{{license1|}}}|{{#invoke:Extension|getLicenseCategory|{{{license1|}}}}}}}<!--
-->{{#if:{{{license2|}}}|{{#invoke:Extension|getLicenseCategory|{{{license2|}}}}}}}<!--
-->{{#if:{{{license3|}}}|{{#invoke:Extension|getLicenseCategory|{{{license3|}}}}}}}<!--
-->{{#if:{{{license4|}}}|{{#invoke:Extension|getLicenseCategory|{{{license4|}}}}}}}<!--
-->{{#if:{{{license5|}}}|{{#invoke:Extension|getLicenseCategory|{{{license5|}}}}}}}<!--
-->{{#if:{{{license-alt|}}}|{{#invoke:Extension|getLicenseCategory|{{{license-alt|}}}}}}}<!--
-->}}<!--
-->|<!--
else do it the old way, assuming a single license
--><td>'''{{ll|Template:Extension#license|2=<span lang="en" dir="ltr" class="mw-content-ltr">Licence</span>}}'''</td>
<td>{{Extension/FormatLicense|{{{license|}}}}}</td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->}}</tr><!--
------------------------ Download, readme & changelog -------------------------
--><tr>
<td>'''Tải xuống'''</td>
<td><!--
-->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''<span lang="en" dir="ltr" class="mw-content-ltr">No link</span>''}}}}<!--
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td>
</tr><!--
------------------------------------ Help -------------------------------------
-->{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |
<tr>
<td>'''{{ll|Template:Extension#help|2=<span lang="en" dir="ltr" class="mw-content-ltr">Help</span>}}'''</td>
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td>
</tr>
}}<!--
---------------------------------- Example ------------------------------------
-->{{#if:{{{example|}}}|
<tr>
<td>'''{{ll|Template:Extension#example|2=Ví dụ}}'''</td>
<td style="vertical-align:top">{{{example}}}</td>
</tr>
}}<!--
-------------------------------- Compatibility --------------------------------
-->{{#if:{{{compatibility|}}}|
<tr>
<td colspan="2"><!-- the parameter "compatibility" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{compatibility}}}</td>
</tr>
}}<!--
------------------------------- Show popularity -------------------------------
-->{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|
<tr>
<td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.">'''<span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span>'''</td>
<td>{{#invoke:Extension |getDownloads}}</td>
</tr>
}} }}
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|
<tr>
<td title="">[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} '''Wiki công khai''']</td>
<td>{{#invoke:Extension |getPublicSites}}</td>
</tr>
}} }}<!--
------------------------------ translatewiki.net ------------------------------
-->{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||
<tr>
<td colspan="2" class="ext-infobox-translate">
{{#if:{{{translate|}}}
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]]</span>
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net</span>
}}</td>
</tr>}}<!--
------------------------- Suppress 'Check usage' link? ------------------------
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
|no usage
|{{#ifeq:{{NAMESPACE}}|{{ns:102}}
|
|no usage
}}
{{#ifeq:{{{templatemode|}}}|nousage
|no usage
}}
}}}}}
|<!-- no usage -->|
<tr>
</tr>
}}<!--
-------------------------------- Vagrant role ---------------------------------
-->{{#if:{{{vagrant-role|}}}|
<tr>
<td>'''{{ll|MediaWiki-Vagrant#Using roles|2=<span lang="en" dir="ltr" class="mw-content-ltr">Vagrant role</span>}}'''</td>
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td>
</tr>
}}<!--
----------------------- Phabricator, Bugzilla & issues ------------------------
-->{{#if: {{{phabricator|{{{bugzilla|}}}}}} |
<tr>
<td>
'''{{ll|Phabricator|2=Phản hồi}}'''</td>
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Báo cáo lỗi]</td>
</tr>
}}
{{#if: {{{github|}}} |
<tr>
<td>
'''{{ll|Gerrit/GitHub|2=<span lang="en" dir="ltr" class="mw-content-ltr">Issues</span>}}'''</td>
<td>[https://www.github.com/{{{github}}}/issues <span lang="en" dir="ltr" class="mw-content-ltr">Open issues</span>] · [https://www.github.com/{{{github}}}/issues/new <span lang="en" dir="ltr" class="mw-content-ltr">Report a bug</span>]</td>
</tr>
}}<!--
--------------- End table / Index tweak & more categorization -----------------
--></table><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing--><!--
-->|<!--else--><!--
-->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
-->{{uc:{{{name}}}<!-- -->}}<!--
-->|<!--else--><!--
-->{{uc:{{PAGENAME}}<!-- -->}}<!--
-->}}<!-- -->}}<!--
-->[[Category:All extensions{{#translation:}}]]<!--
-->{{#invoke:Extension|getExtensionJsonCategory}}<!--
-->}}<!--
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}}<!--
----------------------- End main block / Documentation ------------------------
--></includeonly><noinclude>{{Documentation|content=
{{intricate template}}
{{lua|Module:Extension|Module:ExtensionJson|Module:Check for unknown parameters|Module:String}}
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}}
<span lang="en" dir="ltr" class="mw-content-ltr">This template should be added to all extension pages on this wiki (but only the main page).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The template autofills some fields of the infobox with extension data collected by [[wikitech:Tool:Extjsonuploader]].</span>
{{Clear}}
<span id="Usage"></span>
== Cách sử dụng ==
<table style="width: 100%;">
<tr>
<th style="width: 40%;"></th>
<th style="width: 60%;"></th>
</tr>
<tr style="vertical-align: top;">
<td style="float: left;">
<span id="CutAndPaste">Cắt và dán:</span>
<syntaxhighlight lang="wikitext" copy>{{Extension |templatemode =
|name =
|status =
|type1 =
|type2 =
|hook1 =
|hook2 =
|newhook1 =
|newhook2 =
|username =
|author =
|maintainer =
|description =
|image =
|imagesize =
|version =
|update =
|version preview =
|update preview =
|compatibility policy =
|mediawiki =
|php =
|needs-updatephp =
|composer =
|virtual domain =
|table1 =
|table2 =
|license =
|download =
|show-popularity =
|repo =
|readme =
|changelog =
|help =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
|phabricator =
|translate =
|vagrant-role =
}}</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For help with parameter values, see [[#Content parameters|below]].</span></td>
<td>{{Extension |templatemode=nocats
|name = {{{name}}}
|status = {{{status}}}
|type1 = {{{type1}}}
|type2 = {{{type2}}}
|hook1 = hook1
|hook2 = hook2
|newhook1 = newhook1
|newhook2 = newhook2
|username = SomeUser
|author = SomeAuthor
|maintainer = SomeOtherUser
|description = {{{description}}}
|image = Placeholder.svg
|imagesize = 400
|version = {{{version}}}
|update = {{{update}}}
|version preview = {{{version preview}}}
|update preview = {{{update preview}}}
|compatibility policy = {{{compatibility policy}}}
|mediawiki = {{{mediawiki}}}
|php = {{{php}}}
|needs-updatephp = {{{needs-updatephp}}}
|composer = {{{composer}}}
|virtual domain = {{{virtual domain}}}
|table1 = {{{table1}}}
|table2 = {{{table2}}}
|license = {{{license}}}
|download = {{{download}}}
|show-popularity = {{{show-popularity}}}
|repo =
|readme = {{{readme}}}
|changelog = {{{changelog}}}
|help = {{{help}}}
|example = {{{example}}}
|namespace = {{{namespace}}}
|parameters = {{{parameters}}}
|tags = {{{tags}}}
|rights = {{{rights}}}
|compatibility = {{{compatibility}}}
|phabricator = {{{phabricator}}}
|translate = {{{translate}}}
|vagrant-role = {{{vagrant-role}}}
}}</td>
</tr>
</table>
<span id="Content_parameters"></span>
== Các tham số nội dung ==
Phần này mô tả các tham số ảnh hưởng đến hộp thông tin.
<span lang="en" dir="ltr" class="mw-content-ltr">For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.</span>
<!-- BEFORE YOU EDIT THIS:
span ids on each parameter are used by the code in Template:Extension.
They enable each label in the info box to link its documentation.
If you change an id, please update the code in Template:Extension accordingly.
-->
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Content parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td><span id="name">'''name'''</span></td><td>'''tên phần mở rộng'''</td>
</tr>
<tr>
<td><span id="status">'''status'''</span></td><td>
'''trạng thái phát hành hiện tại'''
Một trong số:
* ''{{ll|Category:Unstable extensions|unstable}}'' – hỏng - không sử dụng phần mở rộng này
* ''{{ll|Category:Experimental extensions|experimental}}'' – đang trong những giai đoạn đầu của quá trình phát triển, có thể thay đổi đáng kể
* ''{{ll|Category:Beta status extensions|beta}}'' – ổn định nhưng chưa đựng kiểm tra toàn bộ
* ''{{ll|Category:Stable extensions|stable}}'' – phiên bản ổn định
* ''{{ll|Category:Unmaintained extensions|unmaintained}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">unmaintained - previously claimed to be stable, now unmaintained</span>
* ''{{ll|Category:Extensions with unknown status|unknown}}'' – mặc định
<span lang="en" dir="ltr" class="mw-content-ltr">If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is omitted, it will be categorised as [[Special:MyLanguage/Category:extensions with unknown status|unknown]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is invalid, it will be placed in a [[Special:MyLanguage/Category:extensions with invalid status|special category]] so that the error can be caught and fixed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Extension status|release status colour scheme]]
</div></td>
</tr>
<tr>
<td>'''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/></td><td><span id="type">'''<span lang="en" dir="ltr" class="mw-content-ltr">implementation type</span>'''</span><!-- id here so at top of documentation -->
<span lang="en" dir="ltr" class="mw-content-ltr">The implementation strategy(s) employed in building this extension.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Special:MyLanguage/Help:Categories|category links]] as needed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Allowed values for the '''type1''', '''type2''', ... parameters are:</span>
* '''''{{ll|Category:Parser extensions|parser}}''''' – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised [[Special:MyLanguage/Manual:Extending wiki markup|parser extensions]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you have written a parser extension, please use one of the following more specific types:</span>
** ''{{ll|Category:ContentHandler extensions|contenthandler}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions using {{ll|Manual:ContentHandler|ContentHandler}}.</span>
** ''{{ll|Category:Link markup extensions|link}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">customised [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...<nowiki>]]</nowiki></code>.</span>
** ''{{ll|Category:Parser function extensions|parser function}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Parser functions|parameterised template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code>.</span>
** ''{{ll|Category:Tag extensions|tag}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}}.</span>
** ''{{ll|Category:Variable extensions|variable}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Variables|unparameterised template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code>.</span>
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add non-standard wiki syntax (i.e. ''not'' [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]).</span>
*:
* {{ll|Category:User access extensions|'''''user access'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for {{ll|Manual:User access extensions|nsp=0}}, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:</span>
** {{ll|Category:User activity extensions|''user activity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that monitor user activity (logins, logouts, new user creation, etc.).</span>
** {{ll|Category:User identity extensions|''user identity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create and delete users, and/or verify the identity of a user.</span>
** {{ll|Category:User rights extensions|''user rights''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]]).</span>
* {{ll|Category:User interface extensions|'''''interface'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised user interface extensions.</span>
** ''{{ll|Category:Media handling extensions|media}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with {{ll|Manual:$wgMediaHandlers|$wgMediaHandlers}}.</span>
** ''{{ll|Category:Personalization extensions|mywiki}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that provide infrastructure so that users may personalise their MediaWiki experience and/or assist in the management of that infrastructure.</span>
** {{ll|Category:Notification extensions|''notify''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that email users, broadcast messages and provide other forms of community notification.</span>
** ''{{ll|Category:Page action extensions|''page action''}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that enhance or modify {{ll|Manual:Page action|page actions}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It does not include rights (use ''user rights'') or logs (use ''user activity'').</span>
** {{ll|Category:Search extensions|''search''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that search through and select pages for users.</span>
** {{ll|Category:Skin extensions|''skin''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.</span>
** {{ll|Category:Ajax extensions|''ajax''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that use [[w:AJAX|Ajax]] programming techniques.</span>
** {{ll|Category:Special page extensions|''special''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that subclass the {{Class doclink|SpecialPage}} class, use one of its hooks, or patch one or more functions in {{Git file|file=includes/specialpage/SpecialPage.php|text=SpecialPage.php}}. See {{ll|Manual:Special pages|Special pages}} for more information.</span>
* '''other'''
** {{ll|Category:Artificial intelligence extensions|''ai''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions related to [[w:Artificial intelligence|Artificial intelligence]].</span>
** {{ll|Category:API extensions|''api''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add a new API module or extend a core API module.</span>
** {{ll|Category:Hook extensions|''hook''}} – <span lang="en" dir="ltr" class="mw-content-ltr">hook extension —defines a ''new'' hook— see {{para|hook1}}, etc. below if you want to define hooks ''used'' by your extension.</span>
** {{ll|Category:Database extensions|''database''}} – <span lang="en" dir="ltr" class="mw-content-ltr">adds tables and/or fields to the database backing a MediaWiki installation.</span>
** {{ll|Category:Data extraction extensions|''data extraction''}} – <span lang="en" dir="ltr" class="mw-content-ltr">data extraction.</span>
** {{ll|Category:File repository extensions|''filerepo''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extension that adds new file repository types as file backend.</span>
** {{ll|Category:Extension examples|''example''}} – <span lang="en" dir="ltr" class="mw-content-ltr">not a real extension, but an example of how to write one.</span>
** {{ll|Category:Beta Feature extensions|''beta features''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create new {{ll|Beta Features}}.</span>
** {{ll|Category:PHP extensions|''php''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the underlying {{ll|PHP}} programming language.</span>
** {{ll|Category:Internationalization extensions|''locale''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions associated with [[Special:MyLanguage/Localisation|localisation]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note: Many extensions have more than one type, if this applies to yours, replace {{para|type}} with {{para|type1}}, {{para|type2}}, {{para|type3}}… You may define up to six types for an extension.</span></td>
</tr>
<tr>
<td><span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook90''</td>
<td style="vertical-align: top;">'''<span lang="en" dir="ltr" class="mw-content-ltr">Name of each hook used by the extension.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">Entering values in this field is a good way to get exposure for your extension and help other developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each documented hook will automatically add the extension to a category listing extensions that use that hook.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
</div></td>
</tr>
<tr>
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td>
<td style="vertical-align: top;">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Name of each hook provided by the extension.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You might also want to add the hooks to [[Extension hook registry]].
</div>
</td>
</tr>
<tr>
<td><span id="username">'''username'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The author's username on MediaWiki.org (if they have one).</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the author's user & user_talk page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|author}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension author's name, if different from their MediaWiki.org username.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Free text.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If omitted then the 'username' field will be used (if present).</span></td>
</tr>
<tr>
<td>{{visible anchor|maintainer}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's current maintainer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the maintainer's user & user_talk page, if the userpage exists.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td><span id="description">'''description'''</span></td><td>'''<span lang="en" dir="ltr" class="mw-content-ltr">Short description</span>'''</td>
</tr>
<tr>
<td>{{visible anchor|image}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Screenshot or logo of extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|imagesize}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">''Facultative'', size of the image without adding px, e.g. 360 (default size is 300px)</span></td>
</tr>
<tr>
<td>{{visible anchor|version}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Last version</span></td>
</tr>
<tr>
<td>{{visible anchor|update}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update</span></td>
</tr>
<tr>
<td>{{visible anchor|version preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Preview version</span></td>
</tr>
<tr>
<td>{{visible anchor|update preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update to the preview version</span></td>
</tr>
<tr>
<td><span id="compatibility_policy">compatibility policy</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Compatibility#mediawiki_extensions|Compatibility policy}} (accepted values: <code>master</code>, <code>main</code>, <code>rel</code>, <code>ltsrel</code>).</span> ({{ll|Category:Extensions without a compatibility policy|2=<span lang="en" dir="ltr" class="mw-content-ltr">backlog</span>}})</td>
</tr>
<tr>
<td>{{visible anchor|mediawiki}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Most extensions should not need to use this — it defaults to the value of the <code>{{Manual|Extension.json/Schema#requires|requires}}</code> property of {{manual|extension.json}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">See also {{ll|Category:Extensions without MediaWiki version}} and {{ll|Category:Extensions with manual MediaWiki version}}.</span></td>
</tr>
<tr>
<td>{{visible anchor|php}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of PHP</span></td>
</tr>
<tr>
<td>{{visible anchor|needs-updatephp}}</td>
<td>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is a common pitfall: your MediaWiki will stall if you forget to run <code>update.php</code> when the extension requires it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>no</code> indicates that the extension does not need <code>update.php</code> to be run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To avoid ambiguity this parameter should be set explicitly instead of relying on the absence of a <code>yes</code> to mean <code>no</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Extensions that conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into <code>LocalSettings.php</code>, run from the command line:
</div>
<code class="mw-code mw-highlight" style="display:block"><!--
-->{{#tag:span|cd|class=nb}} ''<span lang="en" dir="ltr" class="mw-content-ltr">path/to/wiki_install_directory</span>''
{{#tag:span|cd|class=nb}} maintenance
php run update.php
</code>
{{$IP}}</td>
</tr>
<tr>
<td><span id="composer">composer</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's Composer package name, in the [https://getcomposer.org/doc/04-schema.md#name standard format].</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be automatically included if set in an extension's <code>composer.json</code> file (i.e. this parameter is not required in that case).</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be linked to the extension's page on [https://packagist.org/ Packagist].</span></td>
</tr>
<tr>
<td><span id="virtual_domain">virtual domain</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The {{ll|Manual:$wgVirtualDomainsMapping|virtual database domain}} used by the extension.</span></td>
</tr>
<tr>
<td><span id="table1">'''table1'''</span><br/>''table2''<br/>''table3''<br/>''table4''<br/>...<br/>''table20''</td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Name of each ''non-core'' table used by the extension.'''</span><br/><br/>
<span lang="en" dir="ltr" class="mw-content-ltr">Links to a subpage of your extension page. For instance, "table1 = cu_changes" at {{ll|Extension:CheckUser|Extension:CheckUser}} will link to {{ll|Extension:CheckUser/cu_changes table|Extension:CheckUser/cu_changes table}}. Don't list core tables such as {{ll|Manual:Page table|page}} or {{ll|Manual:Revision table|revision}}; only list tables that are added by extensions.</span></td>
</tr>
<tr>
<td><span id="license">'''license1'''</span><br/>''license2''<br/>''license3''<br/>''license4''<br/>''license5''<br/><br/>'''license-alt'''</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">License(s) governing use of this extension, based on the codes found in {{ll|Template:Extension/FormatLicense}}, e.g. <code>GPL-2.0-or-later</code>, <code>GPL-2.0-only</code> or <code>GPL-3.0-or-later</code>, etc.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optionally, use {{para|license-alt}} to specify an '''''alternative''''' license that is also acceptable —at the user's discretion― instead of those mandated by {{para|license1}}, {{para|license2}}, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If the extension comprises several components that are each licensed under different terms, you're strongly encouraged to give the specifics in the main text.
</div>
</td>
</tr>
<tr>
<td><span id="download">'''download'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}.</span> </td>
</tr>
<tr>
<td><span id="show-popularity">'''show-popularity'''</span></td><td>Enable/disable popularity fields (Quarterly downloads and Public wikis using the extension) based on [[Template:Extension/popularity.json]], which may not reflect real usage</td>
</tr>
<td><span id="repo">repo</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</span></td>
<tr>
<td>{{visible anchor|readme}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the <code>README</code> file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README</span></td>
</tr>
<tr>
<td>{{visible anchor|changelog}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the changelog file, e.g. [[Extension:GeoGebra/Changelog]].</span></td>
</tr>
<tr>
<td>{{visible anchor|help}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Link to user-help for the extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If not provided, will look for {{tmpl|0=<code>Help:Extension:$1</code>|''ExtensionName''}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</span></td>
</tr>
<tr>
<td>{{visible anchor|example}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Example, website or screenshot of working extension.</span></td>
</tr>
<tr>
<td>{{visible anchor|namespace}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Namespace|Namespace]] in which this extension is used.</span></td>
</tr>
<tr>
<td>{{visible anchor|parameters}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Available parameters for <code>LocalSettings.php</code>.</span></td>
</tr>
<tr>
<td>{{visible anchor|tags}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Any tags your extension uses (e.g. <tag1>, <tag2>).</span></td>
</tr>
<tr>
<td>{{visible anchor|rights}}</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:User rights|Rights]] added by the extension.</span> '''<span lang="en" dir="ltr" class="mw-content-ltr">Not to be confused with the licence!</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Rights are such as ''{{ll|Manual:User rights#edit|edit}}'' or ''{{ll|Manual:User rights#createpage|createpage}}'', not such as GFDL or LGPL or GPL - those are licences!</span></td>
</tr>
<tr>
<td>{{visible anchor|compatibility}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</span></td>
</tr>
<tr>
<td>{{visible anchor|bugzilla}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Bugzilla}} MediaWiki extension component name</span></td>
</tr>
<tr>
<td>{{visible anchor|phabricator}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Phabricator}} project name</span></td>
</tr>
<tr>
<td>{{visible anchor|translate}}</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to:
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka
* the parameter you get in the URL after
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".
</div>
</td>
</tr>
<tr>
<td>{{visible anchor|vagrant-role}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|MediaWiki-Vagrant}} role</span></td>
</tr>
<tr>
<td>{{visible anchor|CheckUsageNameOverride}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Override the page name used for the check usage link.</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Control parameters ==
</div>
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Control parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td>'''templatemode'''</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Controls auto-categorisation of host page.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Normally left blank. Alternate values are:
</div>
* ''nocats'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses categorisation and the 'check usage' link. Use this value if you are adding this template to [[Special:MyLanguage/Help:Subpage|subpages]] of an extension or to how-to documentation of extensions. For example, the usage image above sets <code>templatemode=nocats</code> because this isn't an actual extension page and we don't want to add this page to any categories on account of it.</span>
* ''nousage'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If this is left blank, this template will add the host page to [[:Category:All extensions{{#translation:}}]] and to one or more additional categories, depending on the values assigned to the [[#Content parameters|Content parameters]].</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Using the infobox ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Existing extension pages ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]].
</div>
{{anchor|Create a new extension article}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new extension page ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to create a new extension page, enter the name below and click the button.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A new page will be created with the infobox template already in place.</span>
{{Extension/CreateExtensionInputBox}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Enhancing this template ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you would like to improve on this template, thanks!</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a complicated template so here is some help along the way:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== The Create extension button ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To improve the create extension button behavior:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages.
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Infobox parameters ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In general:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the [[Special:MyLanguage/Template:Extension#Content parameters|content parameter documentation]] and link its label to that documentation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change/correct/add to the implementation type parameters:
* Check the [[Template_talk:Extension|talk page]] - there have been some extensive discussions about this field.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* The valid types and what they link to are defined at [[Module:Extension]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change the behavior of the hook parameters:
</div>
* '''{{ll|Template:Extension/HookInUse}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Adds links and categories for a hook in use.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Multiple hooks in use are implemented by calling this template with {{ll|Template:Foreach}}.</span>
* '''{{ll|Template:Extension/HookInUseNoCats}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Used instead of {{ll|Template:Extension/HookInUse}} when this template is used in <code>templatemode=nocats</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Templates used with {{ll|Template:Foreach}} can only take one parameter so we need to wrap the call to {{ll|Template:Extension/HookInUse}} with another template that sets the mode.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Test case ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See if the following pages are still ok after editing this template.
</div>
* [[Extension:Description2]]
* [[Template:Extension]]
{{Extension/doc}}
}}
Maintenance:
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
[[Special:WhatLinksHere/Template:Extension/archived|archived]]
[[Category:Infobox templates{{#translation:}}|{{PAGENAME}}]]
</noinclude>
ld294eb1ehw4mpiropckrbawkkylix1
8390447
8390445
2026-05-25T08:58:54Z
~2026-31164-84
18405834
Created page with "Licence"
8390447
wikitext
text/x-wiki
<noinclude>
<languages/>
</noinclude><!--
--------------------------------- CSS styling ---------------------------------
--><templatestyles src="Template:Infobox/styles.css" /><!--
--><templatestyles src="Template:Extension/styles.css" /><!--
--><templatestyles src="Template:Extension/status.css" /><!--
-------------- Begin main block / Check for unknown parameters ----------------
--><includeonly>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Pages using Template:Extension with unknown parameters]]
|ignoreblank=1
|preview={{tl|extension}}: unknown parameter "_VALUE_"
|name|status|type|type1|type2|type3|type4|type5|type6|hook1|hook2|hook3|hook4|hook5|hook6|hook7|hook8|hook9|hook10|hook11|hook12|hook13|hook14|hook15|hook16|hook17|hook18|hook19|hook20|hook21|hook22|hook23|hook24|hook25|hook26|hook27|hook28|hook29|hook30|hook31|hook32|hook33|hook34|hook35|hook36|hook37|hook38|hook39|hook40|hook41|hook42|hook43|hook44|hook45|hook46|hook47|hook48|hook49|hook50|hook51|hook52|hook53|hook54|hook55|hook56|hook57|hook58|hook59|hook60|hook61|hook62|hook63|hook64|hook65|hook66|hook67|hook68|hook69|hook70|hook71|hook72|hook73|hook74|hook75|hook76|hook77|hook78|hook79|hook80|hook81|hook82|hook83|hook84|hook85|hook86|hook87|hook88|hook89|hook90|newhook1|newhook2|newhook3|newhook4|newhook5|newhook6|newhook7|newhook8|newhook9|newhook10|newhook11|newhook12|newhook13|newhook14|newhook15|newhook16|newhook17|newhook18|newhook19|newhook20|newhook21|newhook22|newhook23|newhook24|newhook25|newhook26|newhook27|newhook28|newhook29|newhook30|newhook31|newhook32|newhook33|newhook34|newhook35|newhook36|newhook37|newhook38|newhook39|newhook40|newhook41|newhook42|newhook43|newhook44|newhook45|newhook46|newhook47|newhook48|newhook49|newhook50|newhook51|newhook52|newhook53|newhook54|newhook55|newhook56|newhook57|newhook58|newhook59|newhook60|newhook61|newhook62|newhook63|newhook64|newhook65|newhook66|newhook67|newhook68|newhook69|newhook70|newhook71|newhook72|newhook73|newhook74|newhook75|newhook76|newhook77|newhook78|newhook79|newhook80|newhook81|newhook82|newhook83|newhook84|newhook85|newhook86|newhook87|newhook88|newhook89|newhook90|username|author|maintainer|description|image|imagesize|version|latest release version|latest_release_version|update|latest release date|latest_release_date|version preview|version_preview|latest preview version|latest_preview_version|update preview|update_preview|latest preview date|latest_preview_date|compatibility policy|mediawiki|php|needs-updatephp|composer|virtual domain|table1|table2|table3|table4|table5|table6|table7|table8|table9|table10|table11|table12|table13|table14|table15|table16|table17|table18|table19|table20|license|license1|license2|license3|license4|license5|license-alt|download|show-popularity|repo|readme|changelog|help|example|namespace|parameters|tags|rights|compatibility|bugzilla|phabricator|translate|vagrant-role|CheckUsageNameOverride|templatemode}}}}<!--
--------------------- Begin table / Badge / Check status ----------------------
-->{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}
|#default=unknown
}}" role="none" aria-labelledby="extension-name" aria-describedby="extension-description">
<caption role="none">'''{{ll|Manual:Extensions|2=Cẩm nang phần mở rộng MediaWiki}}'''</caption>
<tr class="infobox-header ext-infobox-header notheme">
<th colspan="2">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable
|OOjs UI icon alert-invert.svg
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span id="extension-name" class="ext-infobox-name">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br />
{{ll|Extension status|2=Trạng thái phát hành:}} {{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained=<span lang="en" dir="ltr" class="mw-content-ltr">unmaintained</span>
|unstable=không ổn định
|experimental=thử nghiệm
|beta=tiền phát hành
|stable=ổn định
|#default=không rõ
}}<!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
|unstable|experimental|unmaintained|stable = {{{status}}} extensions
|beta = beta status extensions
|unknown = extensions with unknown status
|#default = extensions with invalid status
}}{{#translation:}}]]}}</th>
</tr><!--
------------------------------------ Image ------------------------------------
-->{{#if:{{{image|}}}|
<tr>
<td colspan="2" class="ext-infobox-image">[[File:{{{image}}}|{{{imagesize|300}}}px]]</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}
}}<!--
------------------------------------ Types ------------------------------------
-->{{#if:{{{type|}}}{{{type1|}}}|
<tr>
<td class="ext-infobox-type">'''{{ll|Template:Extension#type|2=Cài đặt}}'''</td>
<td>{{#invoke:Extension|getTypes
|ajax = Hi
|api = {{ll|API:Action API|2=<span lang="en" dir="ltr" class="mw-content-ltr">API</span>}}
|beta feature = {{ll|Beta Features|2=Tính năng Beta}}
|contenthandler = {{ll|Manual:ContentHandler|ContentHandler}}
|database = {{ll|Manual:Database layout|2=Cơ sở dữ liệu(Database)}}
|data extraction = <span lang="en" dir="ltr" class="mw-content-ltr">Data extraction</span>
|example = <span lang="en" dir="ltr" class="mw-content-ltr">Example</span>
|extended syntax = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Extended syntax</span>}}
|filerepo = <span lang="en" dir="ltr" class="mw-content-ltr">File repository</span>
|hook = {{ll|Manual:Hooks|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hook</span>}}
|interface = <span lang="en" dir="ltr" class="mw-content-ltr">User interface</span>
|link = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Link markup</span>}}
|media = Truyền thông
|mywiki = {{ll|Manual:Personalization|2=<span lang="en" dir="ltr" class="mw-content-ltr">MyWiki</span>}}
|notify = <span lang="en" dir="ltr" class="mw-content-ltr">Notify</span>
|page action = {{ll|Manual:Parameters to index.php#Actions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Page action</span>}}
|parser = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser extension</span>}}
|parser function = {{ll|Manual:Parser functions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser function</span>}}
|php = <span lang="en" dir="ltr" class="mw-content-ltr">PHP</span>
|search = <span lang="en" dir="ltr" class="mw-content-ltr">Search</span>
|skin = {{ll|Manual:Skins|2=<span lang="en" dir="ltr" class="mw-content-ltr">Skin</span>}}
|special page = {{ll|Manual:Special pages|2=<span lang="en" dir="ltr" class="mw-content-ltr">Special page</span>}}
|locale = {{ll|Manual:Localization|2=<span lang="en" dir="ltr" class="mw-content-ltr">Locale</span>}}
|tag = {{ll|Manual:Tag extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tag</span>}}
|user access = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User access</span>}}
|user identity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User identity</span>}}
|user rights = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User rights</span>}}
|user activity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User activity</span>}}
|variable = {{ll|Manual:Variables|2=<span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>}}
}}<!--
-->|<!--else--><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:Extension|getType|_missing_}}<!--
-->}}<!--
--></td>
</tr>
}}<!--
--------------------------------- Description ---------------------------------
-->{{#if:{{{description|}}}|
<tr>
<td>'''{{ll|Template:Extension#description|2=Mô tả}}'''</td>
<td><span id="extension-description">{{{description}}}</span></td>
</tr>
}}<!--
------------------------------ Author & username-------------------------------
-->{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |
<tr>
<td>'''{{ll|Template:Extension#username|2=Tác giả}}'''</td>
<td style="vertical-align:top">{{#if: {{{username|}}} |<!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}} (<!--
-->}}<!--
-->[[User:{{{username}}}|{{{username}}}]]<!--
--><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->)<!--
-->}}<!--
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}}<!--
-->}}</td>
</tr>
}}<!--
--------------------------------- Maintainer ----------------------------------
-->{{#if:{{{maintainer|}}} |
<tr>
<td>'''{{ll|Template:Extension#maintainer|2=<span lang="en" dir="ltr" class="mw-content-ltr">Maintainer(s)</span>}}'''</td>
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td>
</tr>
}}<!--
------------------------------ Version & dates --------------------------------
-->{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=Phiên bản}}'''</td>
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td>
</tr>
}}
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=<span lang="en" dir="ltr" class="mw-content-ltr">Latest preview version</span>}}'''</td>
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td>
</tr>
}}<!--
---------------------------- Compatibility policy -----------------------------
-->{{#if:{{{compatibility policy|}}}|
<tr>
<td>'''{{ll|Compatibility#mediawiki_extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Compatibility policy</span>}}'''</td>
<td>{{#switch:{{{compatibility policy}}}<!--
-->|master=<span lang="en" dir="ltr" class="mw-content-ltr">Master maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|main=<span lang="en" dir="ltr" class="mw-content-ltr">Main branch maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|rel=<span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!--
-->|ltsrel= <span lang="en" dir="ltr" class="mw-content-ltr">For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!--
-->|#default=<span class="error"><span lang="en" dir="ltr" class="mw-content-ltr">invalid</span></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
-->}}</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
}}<!--
--------------------------------- MW version ----------------------------------
-->{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|
<tr>
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td>
<td>{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}</td>
</tr>
}}<!--
--------------------------------- PHP version ---------------------------------
-->{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|
<tr>
<td>{{ll|Template:Extension#php|'''PHP'''}}</td>
<td>{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}</td>
</tr>
}}<!--
---------------------- Requires updating the database? ------------------------
-->{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|
<tr>
<td>{{ll|Template:Extension#needs-updatephp|2=<abbr title="'php run update.php' needed after installation">'''<span lang="en" dir="ltr" class="mw-content-ltr">Database changes</span>'''</abbr>}}</td>
<td>{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=Có|no|No=Không|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}</td>
</tr>
}}<!--
------------------------------- Composer name ---------------------------------
-->{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|
<tr>
<td>{{ll|Composer|2=<abbr title="Supports 'Composer' for installation">'''Composer'''</abbr>}}</td>
<td>{{#invoke:Extension |getComposerName |{{{composer|}}} }}</td>
</tr><!--
categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--else
-->{{#ifeq:{{lc:{{NAMESPACE}}}}|extension|[[Category:Extensions supporting Composer{{#translation:}}]]}}<!--
-->}}
}}<!--
-------------------------------- Virtual domains ---------------------------------
-->{{#if:{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}|
<tr>
<td>'''{{ll|Manual:$wgVirtualDomainsMapping|2=<span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span>}}'''</td>
<td>{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}</td>
</tr>
}}<!--
------------------------------ Database tables --------------------------------
-->{{#if:{{{table1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#table1|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tables</span>}}'''</div>
<div class="mw-collapsible-content">
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
-->{{#if:{{{table2|}}}|<br />
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
-->{{#if:{{{table3|}}}|<br />
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
-->{{#if:{{{table4|}}}|<br />
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
-->{{#if:{{{table5|}}}|<br />
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
-->{{#if:{{{table6|}}}|<br />
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
-->{{#if:{{{table7|}}}|<br />
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
-->{{#if:{{{table8|}}}|<br />
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
-->{{#if:{{{table9|}}}|<br />
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
-->{{#if:{{{table10|}}}|<br />
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}<!--
-->{{#if:{{{table11|}}}|<br />
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}<!-- -->}}<!--
-->{{#if:{{{table12|}}}|<br />
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}<!-- -->}}<!--
-->{{#if:{{{table13|}}}|<br />
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}<!-- -->}}<!--
-->{{#if:{{{table14|}}}|<br />
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}<!-- -->}}<!--
-->{{#if:{{{table15|}}}|<br />
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}<!-- -->}}<!--
-->{{#if:{{{table16|}}}|<br />
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}<!-- -->}}<!--
-->{{#if:{{{table17|}}}|<br />
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}<!-- -->}}<!--
-->{{#if:{{{table18|}}}|<br />
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}<!-- -->}}<!--
-->{{#if:{{{table19|}}}|<br />
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}<!-- -->}}<!--
-->{{#if:{{{table20|}}}|<br />
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}<!-- -->}}</div>
</td>
</tr>
}}<!--
--------------------------------- Namespace -----------------------------------
-->{{#if:{{{namespace|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Không gian tên}}'''</div>
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{namespace|}}}</div></td>
</tr>
}}<!--
--------------------------------- Parameters ----------------------------------
-->{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Tham số}}</div>
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td>
</tr>
}}<!--
------------------------------------ Tags -------------------------------------
-->{{#if:{{{tags|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Thẻ}}</div>
<div class="mw-collapsible-content">
{{{tags}}}</div></td>
</tr>
}}<!--
----------------------------------- Rights ------------------------------------
-->{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Quyền bổ sung}}</div>
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}
{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}</div></td>
</tr>
}}<!--
---------------------------------- Services -----------------------------------
-->{{#if:{{{service1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#service|Services defined}}</div>
<div class="mw-collapsible-content">
<div>{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]</div>
{{#if:{{{service2|}}}|<div>{{{service2|}}}</div>}}
</div></td>
</tr>
}}<!--
--------------------------------- Hooks used ----------------------------------
-->{{#invoke:Extension|getHooks|header=
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Sử dụng neo móc}}</div>
<div class="mw-collapsible-content">
<ul><li>|delim=</li><li>|footer=</li></ul>
</div>
</td>
</tr>
}}<!--
------------------------------- Hooks provided --------------------------------
-->{{#if:{{{newhook1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span>}}</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!--
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
-->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
-->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
-->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
-->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
-->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
-->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
-->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|<!--
-->{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|<!--
-->{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|<!--
-->{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|<!--
-->{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|<!--
-->{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|<!--
-->{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|<!--
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!--
-->}}<!--
--></li></ul>
</div>
</td>
</tr>
}}<!--
---------------------------------- License ------------------------------------
--><tr><!--
-->{{#if:{{{license2|}}}{{{license-alt|}}}|<!--
multiple licenses: use a collapsible list
--><td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#license|2=Giấy phép}}'''</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/FormatLicense|delim=</li><li>|<!--
-->{{{license|}}}|{{{license1}}}|{{{license2|}}}|{{{license3|}}}|{{{license4|}}}|{{{license5|}}}<!--
-->}}<!--
--></li></ul><!--
-->{{#if:{{{license-alt|}}}|<!-- add alternative
--><br/>{{center|- '''''<span lang="en" dir="ltr" class="mw-content-ltr">or</span>''''' -}}<br/><ul><li>{{Extension/FormatLicense|{{{license-alt}}}}}</li></ul><!--
-->}}<!--
--></div></td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--
-->{{#if:{{{license|}}}|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->{{#if:{{{license1|}}}|{{#invoke:Extension|getLicenseCategory|{{{license1|}}}}}}}<!--
-->{{#if:{{{license2|}}}|{{#invoke:Extension|getLicenseCategory|{{{license2|}}}}}}}<!--
-->{{#if:{{{license3|}}}|{{#invoke:Extension|getLicenseCategory|{{{license3|}}}}}}}<!--
-->{{#if:{{{license4|}}}|{{#invoke:Extension|getLicenseCategory|{{{license4|}}}}}}}<!--
-->{{#if:{{{license5|}}}|{{#invoke:Extension|getLicenseCategory|{{{license5|}}}}}}}<!--
-->{{#if:{{{license-alt|}}}|{{#invoke:Extension|getLicenseCategory|{{{license-alt|}}}}}}}<!--
-->}}<!--
-->|<!--
else do it the old way, assuming a single license
--><td>'''{{ll|Template:Extension#license|2=Licence}}'''</td>
<td>{{Extension/FormatLicense|{{{license|}}}}}</td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->}}</tr><!--
------------------------ Download, readme & changelog -------------------------
--><tr>
<td>'''Tải xuống'''</td>
<td><!--
-->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''<span lang="en" dir="ltr" class="mw-content-ltr">No link</span>''}}}}<!--
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td>
</tr><!--
------------------------------------ Help -------------------------------------
-->{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |
<tr>
<td>'''{{ll|Template:Extension#help|2=<span lang="en" dir="ltr" class="mw-content-ltr">Help</span>}}'''</td>
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td>
</tr>
}}<!--
---------------------------------- Example ------------------------------------
-->{{#if:{{{example|}}}|
<tr>
<td>'''{{ll|Template:Extension#example|2=Ví dụ}}'''</td>
<td style="vertical-align:top">{{{example}}}</td>
</tr>
}}<!--
-------------------------------- Compatibility --------------------------------
-->{{#if:{{{compatibility|}}}|
<tr>
<td colspan="2"><!-- the parameter "compatibility" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{compatibility}}}</td>
</tr>
}}<!--
------------------------------- Show popularity -------------------------------
-->{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|
<tr>
<td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.">'''<span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span>'''</td>
<td>{{#invoke:Extension |getDownloads}}</td>
</tr>
}} }}
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|
<tr>
<td title="">[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} '''Wiki công khai''']</td>
<td>{{#invoke:Extension |getPublicSites}}</td>
</tr>
}} }}<!--
------------------------------ translatewiki.net ------------------------------
-->{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||
<tr>
<td colspan="2" class="ext-infobox-translate">
{{#if:{{{translate|}}}
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]]</span>
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net</span>
}}</td>
</tr>}}<!--
------------------------- Suppress 'Check usage' link? ------------------------
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
|no usage
|{{#ifeq:{{NAMESPACE}}|{{ns:102}}
|
|no usage
}}
{{#ifeq:{{{templatemode|}}}|nousage
|no usage
}}
}}}}}
|<!-- no usage -->|
<tr>
</tr>
}}<!--
-------------------------------- Vagrant role ---------------------------------
-->{{#if:{{{vagrant-role|}}}|
<tr>
<td>'''{{ll|MediaWiki-Vagrant#Using roles|2=<span lang="en" dir="ltr" class="mw-content-ltr">Vagrant role</span>}}'''</td>
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td>
</tr>
}}<!--
----------------------- Phabricator, Bugzilla & issues ------------------------
-->{{#if: {{{phabricator|{{{bugzilla|}}}}}} |
<tr>
<td>
'''{{ll|Phabricator|2=Phản hồi}}'''</td>
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Báo cáo lỗi]</td>
</tr>
}}
{{#if: {{{github|}}} |
<tr>
<td>
'''{{ll|Gerrit/GitHub|2=<span lang="en" dir="ltr" class="mw-content-ltr">Issues</span>}}'''</td>
<td>[https://www.github.com/{{{github}}}/issues <span lang="en" dir="ltr" class="mw-content-ltr">Open issues</span>] · [https://www.github.com/{{{github}}}/issues/new <span lang="en" dir="ltr" class="mw-content-ltr">Report a bug</span>]</td>
</tr>
}}<!--
--------------- End table / Index tweak & more categorization -----------------
--></table><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing--><!--
-->|<!--else--><!--
-->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
-->{{uc:{{{name}}}<!-- -->}}<!--
-->|<!--else--><!--
-->{{uc:{{PAGENAME}}<!-- -->}}<!--
-->}}<!-- -->}}<!--
-->[[Category:All extensions{{#translation:}}]]<!--
-->{{#invoke:Extension|getExtensionJsonCategory}}<!--
-->}}<!--
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}}<!--
----------------------- End main block / Documentation ------------------------
--></includeonly><noinclude>{{Documentation|content=
{{intricate template}}
{{lua|Module:Extension|Module:ExtensionJson|Module:Check for unknown parameters|Module:String}}
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}}
<span lang="en" dir="ltr" class="mw-content-ltr">This template should be added to all extension pages on this wiki (but only the main page).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The template autofills some fields of the infobox with extension data collected by [[wikitech:Tool:Extjsonuploader]].</span>
{{Clear}}
<span id="Usage"></span>
== Cách sử dụng ==
<table style="width: 100%;">
<tr>
<th style="width: 40%;"></th>
<th style="width: 60%;"></th>
</tr>
<tr style="vertical-align: top;">
<td style="float: left;">
<span id="CutAndPaste">Cắt và dán:</span>
<syntaxhighlight lang="wikitext" copy>{{Extension |templatemode =
|name =
|status =
|type1 =
|type2 =
|hook1 =
|hook2 =
|newhook1 =
|newhook2 =
|username =
|author =
|maintainer =
|description =
|image =
|imagesize =
|version =
|update =
|version preview =
|update preview =
|compatibility policy =
|mediawiki =
|php =
|needs-updatephp =
|composer =
|virtual domain =
|table1 =
|table2 =
|license =
|download =
|show-popularity =
|repo =
|readme =
|changelog =
|help =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
|phabricator =
|translate =
|vagrant-role =
}}</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For help with parameter values, see [[#Content parameters|below]].</span></td>
<td>{{Extension |templatemode=nocats
|name = {{{name}}}
|status = {{{status}}}
|type1 = {{{type1}}}
|type2 = {{{type2}}}
|hook1 = hook1
|hook2 = hook2
|newhook1 = newhook1
|newhook2 = newhook2
|username = SomeUser
|author = SomeAuthor
|maintainer = SomeOtherUser
|description = {{{description}}}
|image = Placeholder.svg
|imagesize = 400
|version = {{{version}}}
|update = {{{update}}}
|version preview = {{{version preview}}}
|update preview = {{{update preview}}}
|compatibility policy = {{{compatibility policy}}}
|mediawiki = {{{mediawiki}}}
|php = {{{php}}}
|needs-updatephp = {{{needs-updatephp}}}
|composer = {{{composer}}}
|virtual domain = {{{virtual domain}}}
|table1 = {{{table1}}}
|table2 = {{{table2}}}
|license = {{{license}}}
|download = {{{download}}}
|show-popularity = {{{show-popularity}}}
|repo =
|readme = {{{readme}}}
|changelog = {{{changelog}}}
|help = {{{help}}}
|example = {{{example}}}
|namespace = {{{namespace}}}
|parameters = {{{parameters}}}
|tags = {{{tags}}}
|rights = {{{rights}}}
|compatibility = {{{compatibility}}}
|phabricator = {{{phabricator}}}
|translate = {{{translate}}}
|vagrant-role = {{{vagrant-role}}}
}}</td>
</tr>
</table>
<span id="Content_parameters"></span>
== Các tham số nội dung ==
Phần này mô tả các tham số ảnh hưởng đến hộp thông tin.
<span lang="en" dir="ltr" class="mw-content-ltr">For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.</span>
<!-- BEFORE YOU EDIT THIS:
span ids on each parameter are used by the code in Template:Extension.
They enable each label in the info box to link its documentation.
If you change an id, please update the code in Template:Extension accordingly.
-->
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Content parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td><span id="name">'''name'''</span></td><td>'''tên phần mở rộng'''</td>
</tr>
<tr>
<td><span id="status">'''status'''</span></td><td>
'''trạng thái phát hành hiện tại'''
Một trong số:
* ''{{ll|Category:Unstable extensions|unstable}}'' – hỏng - không sử dụng phần mở rộng này
* ''{{ll|Category:Experimental extensions|experimental}}'' – đang trong những giai đoạn đầu của quá trình phát triển, có thể thay đổi đáng kể
* ''{{ll|Category:Beta status extensions|beta}}'' – ổn định nhưng chưa đựng kiểm tra toàn bộ
* ''{{ll|Category:Stable extensions|stable}}'' – phiên bản ổn định
* ''{{ll|Category:Unmaintained extensions|unmaintained}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">unmaintained - previously claimed to be stable, now unmaintained</span>
* ''{{ll|Category:Extensions with unknown status|unknown}}'' – mặc định
<span lang="en" dir="ltr" class="mw-content-ltr">If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is omitted, it will be categorised as [[Special:MyLanguage/Category:extensions with unknown status|unknown]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is invalid, it will be placed in a [[Special:MyLanguage/Category:extensions with invalid status|special category]] so that the error can be caught and fixed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Extension status|release status colour scheme]]
</div></td>
</tr>
<tr>
<td>'''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/></td><td><span id="type">'''<span lang="en" dir="ltr" class="mw-content-ltr">implementation type</span>'''</span><!-- id here so at top of documentation -->
<span lang="en" dir="ltr" class="mw-content-ltr">The implementation strategy(s) employed in building this extension.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Special:MyLanguage/Help:Categories|category links]] as needed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Allowed values for the '''type1''', '''type2''', ... parameters are:</span>
* '''''{{ll|Category:Parser extensions|parser}}''''' – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised [[Special:MyLanguage/Manual:Extending wiki markup|parser extensions]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you have written a parser extension, please use one of the following more specific types:</span>
** ''{{ll|Category:ContentHandler extensions|contenthandler}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions using {{ll|Manual:ContentHandler|ContentHandler}}.</span>
** ''{{ll|Category:Link markup extensions|link}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">customised [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...<nowiki>]]</nowiki></code>.</span>
** ''{{ll|Category:Parser function extensions|parser function}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Parser functions|parameterised template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code>.</span>
** ''{{ll|Category:Tag extensions|tag}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}}.</span>
** ''{{ll|Category:Variable extensions|variable}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Variables|unparameterised template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code>.</span>
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add non-standard wiki syntax (i.e. ''not'' [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]).</span>
*:
* {{ll|Category:User access extensions|'''''user access'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for {{ll|Manual:User access extensions|nsp=0}}, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:</span>
** {{ll|Category:User activity extensions|''user activity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that monitor user activity (logins, logouts, new user creation, etc.).</span>
** {{ll|Category:User identity extensions|''user identity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create and delete users, and/or verify the identity of a user.</span>
** {{ll|Category:User rights extensions|''user rights''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]]).</span>
* {{ll|Category:User interface extensions|'''''interface'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised user interface extensions.</span>
** ''{{ll|Category:Media handling extensions|media}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with {{ll|Manual:$wgMediaHandlers|$wgMediaHandlers}}.</span>
** ''{{ll|Category:Personalization extensions|mywiki}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that provide infrastructure so that users may personalise their MediaWiki experience and/or assist in the management of that infrastructure.</span>
** {{ll|Category:Notification extensions|''notify''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that email users, broadcast messages and provide other forms of community notification.</span>
** ''{{ll|Category:Page action extensions|''page action''}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that enhance or modify {{ll|Manual:Page action|page actions}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It does not include rights (use ''user rights'') or logs (use ''user activity'').</span>
** {{ll|Category:Search extensions|''search''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that search through and select pages for users.</span>
** {{ll|Category:Skin extensions|''skin''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.</span>
** {{ll|Category:Ajax extensions|''ajax''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that use [[w:AJAX|Ajax]] programming techniques.</span>
** {{ll|Category:Special page extensions|''special''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that subclass the {{Class doclink|SpecialPage}} class, use one of its hooks, or patch one or more functions in {{Git file|file=includes/specialpage/SpecialPage.php|text=SpecialPage.php}}. See {{ll|Manual:Special pages|Special pages}} for more information.</span>
* '''other'''
** {{ll|Category:Artificial intelligence extensions|''ai''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions related to [[w:Artificial intelligence|Artificial intelligence]].</span>
** {{ll|Category:API extensions|''api''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add a new API module or extend a core API module.</span>
** {{ll|Category:Hook extensions|''hook''}} – <span lang="en" dir="ltr" class="mw-content-ltr">hook extension —defines a ''new'' hook— see {{para|hook1}}, etc. below if you want to define hooks ''used'' by your extension.</span>
** {{ll|Category:Database extensions|''database''}} – <span lang="en" dir="ltr" class="mw-content-ltr">adds tables and/or fields to the database backing a MediaWiki installation.</span>
** {{ll|Category:Data extraction extensions|''data extraction''}} – <span lang="en" dir="ltr" class="mw-content-ltr">data extraction.</span>
** {{ll|Category:File repository extensions|''filerepo''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extension that adds new file repository types as file backend.</span>
** {{ll|Category:Extension examples|''example''}} – <span lang="en" dir="ltr" class="mw-content-ltr">not a real extension, but an example of how to write one.</span>
** {{ll|Category:Beta Feature extensions|''beta features''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create new {{ll|Beta Features}}.</span>
** {{ll|Category:PHP extensions|''php''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the underlying {{ll|PHP}} programming language.</span>
** {{ll|Category:Internationalization extensions|''locale''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions associated with [[Special:MyLanguage/Localisation|localisation]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note: Many extensions have more than one type, if this applies to yours, replace {{para|type}} with {{para|type1}}, {{para|type2}}, {{para|type3}}… You may define up to six types for an extension.</span></td>
</tr>
<tr>
<td><span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook90''</td>
<td style="vertical-align: top;">'''<span lang="en" dir="ltr" class="mw-content-ltr">Name of each hook used by the extension.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">Entering values in this field is a good way to get exposure for your extension and help other developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each documented hook will automatically add the extension to a category listing extensions that use that hook.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
</div></td>
</tr>
<tr>
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td>
<td style="vertical-align: top;">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Name of each hook provided by the extension.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You might also want to add the hooks to [[Extension hook registry]].
</div>
</td>
</tr>
<tr>
<td><span id="username">'''username'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The author's username on MediaWiki.org (if they have one).</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the author's user & user_talk page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|author}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension author's name, if different from their MediaWiki.org username.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Free text.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If omitted then the 'username' field will be used (if present).</span></td>
</tr>
<tr>
<td>{{visible anchor|maintainer}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's current maintainer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the maintainer's user & user_talk page, if the userpage exists.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td><span id="description">'''description'''</span></td><td>'''<span lang="en" dir="ltr" class="mw-content-ltr">Short description</span>'''</td>
</tr>
<tr>
<td>{{visible anchor|image}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Screenshot or logo of extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|imagesize}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">''Facultative'', size of the image without adding px, e.g. 360 (default size is 300px)</span></td>
</tr>
<tr>
<td>{{visible anchor|version}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Last version</span></td>
</tr>
<tr>
<td>{{visible anchor|update}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update</span></td>
</tr>
<tr>
<td>{{visible anchor|version preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Preview version</span></td>
</tr>
<tr>
<td>{{visible anchor|update preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update to the preview version</span></td>
</tr>
<tr>
<td><span id="compatibility_policy">compatibility policy</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Compatibility#mediawiki_extensions|Compatibility policy}} (accepted values: <code>master</code>, <code>main</code>, <code>rel</code>, <code>ltsrel</code>).</span> ({{ll|Category:Extensions without a compatibility policy|2=<span lang="en" dir="ltr" class="mw-content-ltr">backlog</span>}})</td>
</tr>
<tr>
<td>{{visible anchor|mediawiki}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Most extensions should not need to use this — it defaults to the value of the <code>{{Manual|Extension.json/Schema#requires|requires}}</code> property of {{manual|extension.json}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">See also {{ll|Category:Extensions without MediaWiki version}} and {{ll|Category:Extensions with manual MediaWiki version}}.</span></td>
</tr>
<tr>
<td>{{visible anchor|php}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of PHP</span></td>
</tr>
<tr>
<td>{{visible anchor|needs-updatephp}}</td>
<td>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is a common pitfall: your MediaWiki will stall if you forget to run <code>update.php</code> when the extension requires it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>no</code> indicates that the extension does not need <code>update.php</code> to be run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To avoid ambiguity this parameter should be set explicitly instead of relying on the absence of a <code>yes</code> to mean <code>no</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Extensions that conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into <code>LocalSettings.php</code>, run from the command line:
</div>
<code class="mw-code mw-highlight" style="display:block"><!--
-->{{#tag:span|cd|class=nb}} ''<span lang="en" dir="ltr" class="mw-content-ltr">path/to/wiki_install_directory</span>''
{{#tag:span|cd|class=nb}} maintenance
php run update.php
</code>
{{$IP}}</td>
</tr>
<tr>
<td><span id="composer">composer</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's Composer package name, in the [https://getcomposer.org/doc/04-schema.md#name standard format].</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be automatically included if set in an extension's <code>composer.json</code> file (i.e. this parameter is not required in that case).</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be linked to the extension's page on [https://packagist.org/ Packagist].</span></td>
</tr>
<tr>
<td><span id="virtual_domain">virtual domain</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The {{ll|Manual:$wgVirtualDomainsMapping|virtual database domain}} used by the extension.</span></td>
</tr>
<tr>
<td><span id="table1">'''table1'''</span><br/>''table2''<br/>''table3''<br/>''table4''<br/>...<br/>''table20''</td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Name of each ''non-core'' table used by the extension.'''</span><br/><br/>
<span lang="en" dir="ltr" class="mw-content-ltr">Links to a subpage of your extension page. For instance, "table1 = cu_changes" at {{ll|Extension:CheckUser|Extension:CheckUser}} will link to {{ll|Extension:CheckUser/cu_changes table|Extension:CheckUser/cu_changes table}}. Don't list core tables such as {{ll|Manual:Page table|page}} or {{ll|Manual:Revision table|revision}}; only list tables that are added by extensions.</span></td>
</tr>
<tr>
<td><span id="license">'''license1'''</span><br/>''license2''<br/>''license3''<br/>''license4''<br/>''license5''<br/><br/>'''license-alt'''</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">License(s) governing use of this extension, based on the codes found in {{ll|Template:Extension/FormatLicense}}, e.g. <code>GPL-2.0-or-later</code>, <code>GPL-2.0-only</code> or <code>GPL-3.0-or-later</code>, etc.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optionally, use {{para|license-alt}} to specify an '''''alternative''''' license that is also acceptable —at the user's discretion― instead of those mandated by {{para|license1}}, {{para|license2}}, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If the extension comprises several components that are each licensed under different terms, you're strongly encouraged to give the specifics in the main text.
</div>
</td>
</tr>
<tr>
<td><span id="download">'''download'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}.</span> </td>
</tr>
<tr>
<td><span id="show-popularity">'''show-popularity'''</span></td><td>Enable/disable popularity fields (Quarterly downloads and Public wikis using the extension) based on [[Template:Extension/popularity.json]], which may not reflect real usage</td>
</tr>
<td><span id="repo">repo</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</span></td>
<tr>
<td>{{visible anchor|readme}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the <code>README</code> file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README</span></td>
</tr>
<tr>
<td>{{visible anchor|changelog}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the changelog file, e.g. [[Extension:GeoGebra/Changelog]].</span></td>
</tr>
<tr>
<td>{{visible anchor|help}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Link to user-help for the extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If not provided, will look for {{tmpl|0=<code>Help:Extension:$1</code>|''ExtensionName''}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</span></td>
</tr>
<tr>
<td>{{visible anchor|example}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Example, website or screenshot of working extension.</span></td>
</tr>
<tr>
<td>{{visible anchor|namespace}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Namespace|Namespace]] in which this extension is used.</span></td>
</tr>
<tr>
<td>{{visible anchor|parameters}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Available parameters for <code>LocalSettings.php</code>.</span></td>
</tr>
<tr>
<td>{{visible anchor|tags}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Any tags your extension uses (e.g. <tag1>, <tag2>).</span></td>
</tr>
<tr>
<td>{{visible anchor|rights}}</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:User rights|Rights]] added by the extension.</span> '''<span lang="en" dir="ltr" class="mw-content-ltr">Not to be confused with the licence!</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Rights are such as ''{{ll|Manual:User rights#edit|edit}}'' or ''{{ll|Manual:User rights#createpage|createpage}}'', not such as GFDL or LGPL or GPL - those are licences!</span></td>
</tr>
<tr>
<td>{{visible anchor|compatibility}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</span></td>
</tr>
<tr>
<td>{{visible anchor|bugzilla}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Bugzilla}} MediaWiki extension component name</span></td>
</tr>
<tr>
<td>{{visible anchor|phabricator}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Phabricator}} project name</span></td>
</tr>
<tr>
<td>{{visible anchor|translate}}</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to:
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka
* the parameter you get in the URL after
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".
</div>
</td>
</tr>
<tr>
<td>{{visible anchor|vagrant-role}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|MediaWiki-Vagrant}} role</span></td>
</tr>
<tr>
<td>{{visible anchor|CheckUsageNameOverride}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Override the page name used for the check usage link.</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Control parameters ==
</div>
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Control parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td>'''templatemode'''</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Controls auto-categorisation of host page.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Normally left blank. Alternate values are:
</div>
* ''nocats'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses categorisation and the 'check usage' link. Use this value if you are adding this template to [[Special:MyLanguage/Help:Subpage|subpages]] of an extension or to how-to documentation of extensions. For example, the usage image above sets <code>templatemode=nocats</code> because this isn't an actual extension page and we don't want to add this page to any categories on account of it.</span>
* ''nousage'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If this is left blank, this template will add the host page to [[:Category:All extensions{{#translation:}}]] and to one or more additional categories, depending on the values assigned to the [[#Content parameters|Content parameters]].</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Using the infobox ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Existing extension pages ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]].
</div>
{{anchor|Create a new extension article}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new extension page ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to create a new extension page, enter the name below and click the button.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A new page will be created with the infobox template already in place.</span>
{{Extension/CreateExtensionInputBox}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Enhancing this template ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you would like to improve on this template, thanks!</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a complicated template so here is some help along the way:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== The Create extension button ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To improve the create extension button behavior:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages.
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Infobox parameters ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In general:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the [[Special:MyLanguage/Template:Extension#Content parameters|content parameter documentation]] and link its label to that documentation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change/correct/add to the implementation type parameters:
* Check the [[Template_talk:Extension|talk page]] - there have been some extensive discussions about this field.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* The valid types and what they link to are defined at [[Module:Extension]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change the behavior of the hook parameters:
</div>
* '''{{ll|Template:Extension/HookInUse}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Adds links and categories for a hook in use.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Multiple hooks in use are implemented by calling this template with {{ll|Template:Foreach}}.</span>
* '''{{ll|Template:Extension/HookInUseNoCats}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Used instead of {{ll|Template:Extension/HookInUse}} when this template is used in <code>templatemode=nocats</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Templates used with {{ll|Template:Foreach}} can only take one parameter so we need to wrap the call to {{ll|Template:Extension/HookInUse}} with another template that sets the mode.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Test case ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See if the following pages are still ok after editing this template.
</div>
* [[Extension:Description2]]
* [[Template:Extension]]
{{Extension/doc}}
}}
Maintenance:
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
[[Special:WhatLinksHere/Template:Extension/archived|archived]]
[[Category:Infobox templates{{#translation:}}|{{PAGENAME}}]]
</noinclude>
omxbh3h9ybytgtkr5raxy38h3ore2zr
8390450
8390447
2026-05-25T09:00:32Z
~2026-31164-84
18405834
Created page with "See if the following pages are still ok after editing this t"
8390450
wikitext
text/x-wiki
<noinclude>
<languages/>
</noinclude><!--
--------------------------------- CSS styling ---------------------------------
--><templatestyles src="Template:Infobox/styles.css" /><!--
--><templatestyles src="Template:Extension/styles.css" /><!--
--><templatestyles src="Template:Extension/status.css" /><!--
-------------- Begin main block / Check for unknown parameters ----------------
--><includeonly>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Pages using Template:Extension with unknown parameters]]
|ignoreblank=1
|preview={{tl|extension}}: unknown parameter "_VALUE_"
|name|status|type|type1|type2|type3|type4|type5|type6|hook1|hook2|hook3|hook4|hook5|hook6|hook7|hook8|hook9|hook10|hook11|hook12|hook13|hook14|hook15|hook16|hook17|hook18|hook19|hook20|hook21|hook22|hook23|hook24|hook25|hook26|hook27|hook28|hook29|hook30|hook31|hook32|hook33|hook34|hook35|hook36|hook37|hook38|hook39|hook40|hook41|hook42|hook43|hook44|hook45|hook46|hook47|hook48|hook49|hook50|hook51|hook52|hook53|hook54|hook55|hook56|hook57|hook58|hook59|hook60|hook61|hook62|hook63|hook64|hook65|hook66|hook67|hook68|hook69|hook70|hook71|hook72|hook73|hook74|hook75|hook76|hook77|hook78|hook79|hook80|hook81|hook82|hook83|hook84|hook85|hook86|hook87|hook88|hook89|hook90|newhook1|newhook2|newhook3|newhook4|newhook5|newhook6|newhook7|newhook8|newhook9|newhook10|newhook11|newhook12|newhook13|newhook14|newhook15|newhook16|newhook17|newhook18|newhook19|newhook20|newhook21|newhook22|newhook23|newhook24|newhook25|newhook26|newhook27|newhook28|newhook29|newhook30|newhook31|newhook32|newhook33|newhook34|newhook35|newhook36|newhook37|newhook38|newhook39|newhook40|newhook41|newhook42|newhook43|newhook44|newhook45|newhook46|newhook47|newhook48|newhook49|newhook50|newhook51|newhook52|newhook53|newhook54|newhook55|newhook56|newhook57|newhook58|newhook59|newhook60|newhook61|newhook62|newhook63|newhook64|newhook65|newhook66|newhook67|newhook68|newhook69|newhook70|newhook71|newhook72|newhook73|newhook74|newhook75|newhook76|newhook77|newhook78|newhook79|newhook80|newhook81|newhook82|newhook83|newhook84|newhook85|newhook86|newhook87|newhook88|newhook89|newhook90|username|author|maintainer|description|image|imagesize|version|latest release version|latest_release_version|update|latest release date|latest_release_date|version preview|version_preview|latest preview version|latest_preview_version|update preview|update_preview|latest preview date|latest_preview_date|compatibility policy|mediawiki|php|needs-updatephp|composer|virtual domain|table1|table2|table3|table4|table5|table6|table7|table8|table9|table10|table11|table12|table13|table14|table15|table16|table17|table18|table19|table20|license|license1|license2|license3|license4|license5|license-alt|download|show-popularity|repo|readme|changelog|help|example|namespace|parameters|tags|rights|compatibility|bugzilla|phabricator|translate|vagrant-role|CheckUsageNameOverride|templatemode}}}}<!--
--------------------- Begin table / Badge / Check status ----------------------
-->{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}
|#default=unknown
}}" role="none" aria-labelledby="extension-name" aria-describedby="extension-description">
<caption role="none">'''{{ll|Manual:Extensions|2=Cẩm nang phần mở rộng MediaWiki}}'''</caption>
<tr class="infobox-header ext-infobox-header notheme">
<th colspan="2">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable
|OOjs UI icon alert-invert.svg
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span id="extension-name" class="ext-infobox-name">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br />
{{ll|Extension status|2=Trạng thái phát hành:}} {{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained=<span lang="en" dir="ltr" class="mw-content-ltr">unmaintained</span>
|unstable=không ổn định
|experimental=thử nghiệm
|beta=tiền phát hành
|stable=ổn định
|#default=không rõ
}}<!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
|unstable|experimental|unmaintained|stable = {{{status}}} extensions
|beta = beta status extensions
|unknown = extensions with unknown status
|#default = extensions with invalid status
}}{{#translation:}}]]}}</th>
</tr><!--
------------------------------------ Image ------------------------------------
-->{{#if:{{{image|}}}|
<tr>
<td colspan="2" class="ext-infobox-image">[[File:{{{image}}}|{{{imagesize|300}}}px]]</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}
}}<!--
------------------------------------ Types ------------------------------------
-->{{#if:{{{type|}}}{{{type1|}}}|
<tr>
<td class="ext-infobox-type">'''{{ll|Template:Extension#type|2=Cài đặt}}'''</td>
<td>{{#invoke:Extension|getTypes
|ajax = Hi
|api = {{ll|API:Action API|2=<span lang="en" dir="ltr" class="mw-content-ltr">API</span>}}
|beta feature = {{ll|Beta Features|2=Tính năng Beta}}
|contenthandler = {{ll|Manual:ContentHandler|ContentHandler}}
|database = {{ll|Manual:Database layout|2=Cơ sở dữ liệu(Database)}}
|data extraction = <span lang="en" dir="ltr" class="mw-content-ltr">Data extraction</span>
|example = <span lang="en" dir="ltr" class="mw-content-ltr">Example</span>
|extended syntax = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Extended syntax</span>}}
|filerepo = <span lang="en" dir="ltr" class="mw-content-ltr">File repository</span>
|hook = {{ll|Manual:Hooks|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hook</span>}}
|interface = <span lang="en" dir="ltr" class="mw-content-ltr">User interface</span>
|link = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Link markup</span>}}
|media = Truyền thông
|mywiki = {{ll|Manual:Personalization|2=<span lang="en" dir="ltr" class="mw-content-ltr">MyWiki</span>}}
|notify = <span lang="en" dir="ltr" class="mw-content-ltr">Notify</span>
|page action = {{ll|Manual:Parameters to index.php#Actions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Page action</span>}}
|parser = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser extension</span>}}
|parser function = {{ll|Manual:Parser functions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser function</span>}}
|php = <span lang="en" dir="ltr" class="mw-content-ltr">PHP</span>
|search = <span lang="en" dir="ltr" class="mw-content-ltr">Search</span>
|skin = {{ll|Manual:Skins|2=<span lang="en" dir="ltr" class="mw-content-ltr">Skin</span>}}
|special page = {{ll|Manual:Special pages|2=<span lang="en" dir="ltr" class="mw-content-ltr">Special page</span>}}
|locale = {{ll|Manual:Localization|2=<span lang="en" dir="ltr" class="mw-content-ltr">Locale</span>}}
|tag = {{ll|Manual:Tag extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tag</span>}}
|user access = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User access</span>}}
|user identity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User identity</span>}}
|user rights = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User rights</span>}}
|user activity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User activity</span>}}
|variable = {{ll|Manual:Variables|2=<span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>}}
}}<!--
-->|<!--else--><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:Extension|getType|_missing_}}<!--
-->}}<!--
--></td>
</tr>
}}<!--
--------------------------------- Description ---------------------------------
-->{{#if:{{{description|}}}|
<tr>
<td>'''{{ll|Template:Extension#description|2=Mô tả}}'''</td>
<td><span id="extension-description">{{{description}}}</span></td>
</tr>
}}<!--
------------------------------ Author & username-------------------------------
-->{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |
<tr>
<td>'''{{ll|Template:Extension#username|2=Tác giả}}'''</td>
<td style="vertical-align:top">{{#if: {{{username|}}} |<!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}} (<!--
-->}}<!--
-->[[User:{{{username}}}|{{{username}}}]]<!--
--><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->)<!--
-->}}<!--
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}}<!--
-->}}</td>
</tr>
}}<!--
--------------------------------- Maintainer ----------------------------------
-->{{#if:{{{maintainer|}}} |
<tr>
<td>'''{{ll|Template:Extension#maintainer|2=<span lang="en" dir="ltr" class="mw-content-ltr">Maintainer(s)</span>}}'''</td>
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td>
</tr>
}}<!--
------------------------------ Version & dates --------------------------------
-->{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=Phiên bản}}'''</td>
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td>
</tr>
}}
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=<span lang="en" dir="ltr" class="mw-content-ltr">Latest preview version</span>}}'''</td>
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td>
</tr>
}}<!--
---------------------------- Compatibility policy -----------------------------
-->{{#if:{{{compatibility policy|}}}|
<tr>
<td>'''{{ll|Compatibility#mediawiki_extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Compatibility policy</span>}}'''</td>
<td>{{#switch:{{{compatibility policy}}}<!--
-->|master=<span lang="en" dir="ltr" class="mw-content-ltr">Master maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|main=<span lang="en" dir="ltr" class="mw-content-ltr">Main branch maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|rel=<span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!--
-->|ltsrel= <span lang="en" dir="ltr" class="mw-content-ltr">For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!--
-->|#default=<span class="error"><span lang="en" dir="ltr" class="mw-content-ltr">invalid</span></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
-->}}</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
}}<!--
--------------------------------- MW version ----------------------------------
-->{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|
<tr>
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td>
<td>{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}</td>
</tr>
}}<!--
--------------------------------- PHP version ---------------------------------
-->{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|
<tr>
<td>{{ll|Template:Extension#php|'''PHP'''}}</td>
<td>{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}</td>
</tr>
}}<!--
---------------------- Requires updating the database? ------------------------
-->{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|
<tr>
<td>{{ll|Template:Extension#needs-updatephp|2=<abbr title="'php run update.php' needed after installation">'''<span lang="en" dir="ltr" class="mw-content-ltr">Database changes</span>'''</abbr>}}</td>
<td>{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=Có|no|No=Không|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}</td>
</tr>
}}<!--
------------------------------- Composer name ---------------------------------
-->{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|
<tr>
<td>{{ll|Composer|2=<abbr title="Supports 'Composer' for installation">'''Composer'''</abbr>}}</td>
<td>{{#invoke:Extension |getComposerName |{{{composer|}}} }}</td>
</tr><!--
categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--else
-->{{#ifeq:{{lc:{{NAMESPACE}}}}|extension|[[Category:Extensions supporting Composer{{#translation:}}]]}}<!--
-->}}
}}<!--
-------------------------------- Virtual domains ---------------------------------
-->{{#if:{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}|
<tr>
<td>'''{{ll|Manual:$wgVirtualDomainsMapping|2=<span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span>}}'''</td>
<td>{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}</td>
</tr>
}}<!--
------------------------------ Database tables --------------------------------
-->{{#if:{{{table1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#table1|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tables</span>}}'''</div>
<div class="mw-collapsible-content">
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
-->{{#if:{{{table2|}}}|<br />
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
-->{{#if:{{{table3|}}}|<br />
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
-->{{#if:{{{table4|}}}|<br />
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
-->{{#if:{{{table5|}}}|<br />
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
-->{{#if:{{{table6|}}}|<br />
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
-->{{#if:{{{table7|}}}|<br />
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
-->{{#if:{{{table8|}}}|<br />
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
-->{{#if:{{{table9|}}}|<br />
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
-->{{#if:{{{table10|}}}|<br />
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}<!--
-->{{#if:{{{table11|}}}|<br />
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}<!-- -->}}<!--
-->{{#if:{{{table12|}}}|<br />
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}<!-- -->}}<!--
-->{{#if:{{{table13|}}}|<br />
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}<!-- -->}}<!--
-->{{#if:{{{table14|}}}|<br />
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}<!-- -->}}<!--
-->{{#if:{{{table15|}}}|<br />
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}<!-- -->}}<!--
-->{{#if:{{{table16|}}}|<br />
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}<!-- -->}}<!--
-->{{#if:{{{table17|}}}|<br />
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}<!-- -->}}<!--
-->{{#if:{{{table18|}}}|<br />
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}<!-- -->}}<!--
-->{{#if:{{{table19|}}}|<br />
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}<!-- -->}}<!--
-->{{#if:{{{table20|}}}|<br />
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}<!-- -->}}</div>
</td>
</tr>
}}<!--
--------------------------------- Namespace -----------------------------------
-->{{#if:{{{namespace|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Không gian tên}}'''</div>
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{namespace|}}}</div></td>
</tr>
}}<!--
--------------------------------- Parameters ----------------------------------
-->{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Tham số}}</div>
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td>
</tr>
}}<!--
------------------------------------ Tags -------------------------------------
-->{{#if:{{{tags|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Thẻ}}</div>
<div class="mw-collapsible-content">
{{{tags}}}</div></td>
</tr>
}}<!--
----------------------------------- Rights ------------------------------------
-->{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Quyền bổ sung}}</div>
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}
{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}</div></td>
</tr>
}}<!--
---------------------------------- Services -----------------------------------
-->{{#if:{{{service1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#service|Services defined}}</div>
<div class="mw-collapsible-content">
<div>{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]</div>
{{#if:{{{service2|}}}|<div>{{{service2|}}}</div>}}
</div></td>
</tr>
}}<!--
--------------------------------- Hooks used ----------------------------------
-->{{#invoke:Extension|getHooks|header=
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Sử dụng neo móc}}</div>
<div class="mw-collapsible-content">
<ul><li>|delim=</li><li>|footer=</li></ul>
</div>
</td>
</tr>
}}<!--
------------------------------- Hooks provided --------------------------------
-->{{#if:{{{newhook1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span>}}</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!--
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
-->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
-->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
-->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
-->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
-->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
-->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
-->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|<!--
-->{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|<!--
-->{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|<!--
-->{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|<!--
-->{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|<!--
-->{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|<!--
-->{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|<!--
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!--
-->}}<!--
--></li></ul>
</div>
</td>
</tr>
}}<!--
---------------------------------- License ------------------------------------
--><tr><!--
-->{{#if:{{{license2|}}}{{{license-alt|}}}|<!--
multiple licenses: use a collapsible list
--><td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#license|2=Giấy phép}}'''</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/FormatLicense|delim=</li><li>|<!--
-->{{{license|}}}|{{{license1}}}|{{{license2|}}}|{{{license3|}}}|{{{license4|}}}|{{{license5|}}}<!--
-->}}<!--
--></li></ul><!--
-->{{#if:{{{license-alt|}}}|<!-- add alternative
--><br/>{{center|- '''''<span lang="en" dir="ltr" class="mw-content-ltr">or</span>''''' -}}<br/><ul><li>{{Extension/FormatLicense|{{{license-alt}}}}}</li></ul><!--
-->}}<!--
--></div></td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--
-->{{#if:{{{license|}}}|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->{{#if:{{{license1|}}}|{{#invoke:Extension|getLicenseCategory|{{{license1|}}}}}}}<!--
-->{{#if:{{{license2|}}}|{{#invoke:Extension|getLicenseCategory|{{{license2|}}}}}}}<!--
-->{{#if:{{{license3|}}}|{{#invoke:Extension|getLicenseCategory|{{{license3|}}}}}}}<!--
-->{{#if:{{{license4|}}}|{{#invoke:Extension|getLicenseCategory|{{{license4|}}}}}}}<!--
-->{{#if:{{{license5|}}}|{{#invoke:Extension|getLicenseCategory|{{{license5|}}}}}}}<!--
-->{{#if:{{{license-alt|}}}|{{#invoke:Extension|getLicenseCategory|{{{license-alt|}}}}}}}<!--
-->}}<!--
-->|<!--
else do it the old way, assuming a single license
--><td>'''{{ll|Template:Extension#license|2=Licence}}'''</td>
<td>{{Extension/FormatLicense|{{{license|}}}}}</td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->}}</tr><!--
------------------------ Download, readme & changelog -------------------------
--><tr>
<td>'''Tải xuống'''</td>
<td><!--
-->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''<span lang="en" dir="ltr" class="mw-content-ltr">No link</span>''}}}}<!--
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td>
</tr><!--
------------------------------------ Help -------------------------------------
-->{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |
<tr>
<td>'''{{ll|Template:Extension#help|2=<span lang="en" dir="ltr" class="mw-content-ltr">Help</span>}}'''</td>
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td>
</tr>
}}<!--
---------------------------------- Example ------------------------------------
-->{{#if:{{{example|}}}|
<tr>
<td>'''{{ll|Template:Extension#example|2=Ví dụ}}'''</td>
<td style="vertical-align:top">{{{example}}}</td>
</tr>
}}<!--
-------------------------------- Compatibility --------------------------------
-->{{#if:{{{compatibility|}}}|
<tr>
<td colspan="2"><!-- the parameter "compatibility" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{compatibility}}}</td>
</tr>
}}<!--
------------------------------- Show popularity -------------------------------
-->{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|
<tr>
<td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.">'''<span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span>'''</td>
<td>{{#invoke:Extension |getDownloads}}</td>
</tr>
}} }}
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|
<tr>
<td title="">[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} '''Wiki công khai''']</td>
<td>{{#invoke:Extension |getPublicSites}}</td>
</tr>
}} }}<!--
------------------------------ translatewiki.net ------------------------------
-->{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||
<tr>
<td colspan="2" class="ext-infobox-translate">
{{#if:{{{translate|}}}
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]]</span>
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net</span>
}}</td>
</tr>}}<!--
------------------------- Suppress 'Check usage' link? ------------------------
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
|no usage
|{{#ifeq:{{NAMESPACE}}|{{ns:102}}
|
|no usage
}}
{{#ifeq:{{{templatemode|}}}|nousage
|no usage
}}
}}}}}
|<!-- no usage -->|
<tr>
</tr>
}}<!--
-------------------------------- Vagrant role ---------------------------------
-->{{#if:{{{vagrant-role|}}}|
<tr>
<td>'''{{ll|MediaWiki-Vagrant#Using roles|2=<span lang="en" dir="ltr" class="mw-content-ltr">Vagrant role</span>}}'''</td>
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td>
</tr>
}}<!--
----------------------- Phabricator, Bugzilla & issues ------------------------
-->{{#if: {{{phabricator|{{{bugzilla|}}}}}} |
<tr>
<td>
'''{{ll|Phabricator|2=Phản hồi}}'''</td>
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Báo cáo lỗi]</td>
</tr>
}}
{{#if: {{{github|}}} |
<tr>
<td>
'''{{ll|Gerrit/GitHub|2=<span lang="en" dir="ltr" class="mw-content-ltr">Issues</span>}}'''</td>
<td>[https://www.github.com/{{{github}}}/issues <span lang="en" dir="ltr" class="mw-content-ltr">Open issues</span>] · [https://www.github.com/{{{github}}}/issues/new <span lang="en" dir="ltr" class="mw-content-ltr">Report a bug</span>]</td>
</tr>
}}<!--
--------------- End table / Index tweak & more categorization -----------------
--></table><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing--><!--
-->|<!--else--><!--
-->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
-->{{uc:{{{name}}}<!-- -->}}<!--
-->|<!--else--><!--
-->{{uc:{{PAGENAME}}<!-- -->}}<!--
-->}}<!-- -->}}<!--
-->[[Category:All extensions{{#translation:}}]]<!--
-->{{#invoke:Extension|getExtensionJsonCategory}}<!--
-->}}<!--
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}}<!--
----------------------- End main block / Documentation ------------------------
--></includeonly><noinclude>{{Documentation|content=
{{intricate template}}
{{lua|Module:Extension|Module:ExtensionJson|Module:Check for unknown parameters|Module:String}}
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}}
<span lang="en" dir="ltr" class="mw-content-ltr">This template should be added to all extension pages on this wiki (but only the main page).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The template autofills some fields of the infobox with extension data collected by [[wikitech:Tool:Extjsonuploader]].</span>
{{Clear}}
<span id="Usage"></span>
== Cách sử dụng ==
<table style="width: 100%;">
<tr>
<th style="width: 40%;"></th>
<th style="width: 60%;"></th>
</tr>
<tr style="vertical-align: top;">
<td style="float: left;">
<span id="CutAndPaste">Cắt và dán:</span>
<syntaxhighlight lang="wikitext" copy>{{Extension |templatemode =
|name =
|status =
|type1 =
|type2 =
|hook1 =
|hook2 =
|newhook1 =
|newhook2 =
|username =
|author =
|maintainer =
|description =
|image =
|imagesize =
|version =
|update =
|version preview =
|update preview =
|compatibility policy =
|mediawiki =
|php =
|needs-updatephp =
|composer =
|virtual domain =
|table1 =
|table2 =
|license =
|download =
|show-popularity =
|repo =
|readme =
|changelog =
|help =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
|phabricator =
|translate =
|vagrant-role =
}}</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For help with parameter values, see [[#Content parameters|below]].</span></td>
<td>{{Extension |templatemode=nocats
|name = {{{name}}}
|status = {{{status}}}
|type1 = {{{type1}}}
|type2 = {{{type2}}}
|hook1 = hook1
|hook2 = hook2
|newhook1 = newhook1
|newhook2 = newhook2
|username = SomeUser
|author = SomeAuthor
|maintainer = SomeOtherUser
|description = {{{description}}}
|image = Placeholder.svg
|imagesize = 400
|version = {{{version}}}
|update = {{{update}}}
|version preview = {{{version preview}}}
|update preview = {{{update preview}}}
|compatibility policy = {{{compatibility policy}}}
|mediawiki = {{{mediawiki}}}
|php = {{{php}}}
|needs-updatephp = {{{needs-updatephp}}}
|composer = {{{composer}}}
|virtual domain = {{{virtual domain}}}
|table1 = {{{table1}}}
|table2 = {{{table2}}}
|license = {{{license}}}
|download = {{{download}}}
|show-popularity = {{{show-popularity}}}
|repo =
|readme = {{{readme}}}
|changelog = {{{changelog}}}
|help = {{{help}}}
|example = {{{example}}}
|namespace = {{{namespace}}}
|parameters = {{{parameters}}}
|tags = {{{tags}}}
|rights = {{{rights}}}
|compatibility = {{{compatibility}}}
|phabricator = {{{phabricator}}}
|translate = {{{translate}}}
|vagrant-role = {{{vagrant-role}}}
}}</td>
</tr>
</table>
<span id="Content_parameters"></span>
== Các tham số nội dung ==
Phần này mô tả các tham số ảnh hưởng đến hộp thông tin.
<span lang="en" dir="ltr" class="mw-content-ltr">For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.</span>
<!-- BEFORE YOU EDIT THIS:
span ids on each parameter are used by the code in Template:Extension.
They enable each label in the info box to link its documentation.
If you change an id, please update the code in Template:Extension accordingly.
-->
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Content parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td><span id="name">'''name'''</span></td><td>'''tên phần mở rộng'''</td>
</tr>
<tr>
<td><span id="status">'''status'''</span></td><td>
'''trạng thái phát hành hiện tại'''
Một trong số:
* ''{{ll|Category:Unstable extensions|unstable}}'' – hỏng - không sử dụng phần mở rộng này
* ''{{ll|Category:Experimental extensions|experimental}}'' – đang trong những giai đoạn đầu của quá trình phát triển, có thể thay đổi đáng kể
* ''{{ll|Category:Beta status extensions|beta}}'' – ổn định nhưng chưa đựng kiểm tra toàn bộ
* ''{{ll|Category:Stable extensions|stable}}'' – phiên bản ổn định
* ''{{ll|Category:Unmaintained extensions|unmaintained}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">unmaintained - previously claimed to be stable, now unmaintained</span>
* ''{{ll|Category:Extensions with unknown status|unknown}}'' – mặc định
<span lang="en" dir="ltr" class="mw-content-ltr">If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is omitted, it will be categorised as [[Special:MyLanguage/Category:extensions with unknown status|unknown]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is invalid, it will be placed in a [[Special:MyLanguage/Category:extensions with invalid status|special category]] so that the error can be caught and fixed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Extension status|release status colour scheme]]
</div></td>
</tr>
<tr>
<td>'''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/></td><td><span id="type">'''<span lang="en" dir="ltr" class="mw-content-ltr">implementation type</span>'''</span><!-- id here so at top of documentation -->
<span lang="en" dir="ltr" class="mw-content-ltr">The implementation strategy(s) employed in building this extension.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Special:MyLanguage/Help:Categories|category links]] as needed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Allowed values for the '''type1''', '''type2''', ... parameters are:</span>
* '''''{{ll|Category:Parser extensions|parser}}''''' – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised [[Special:MyLanguage/Manual:Extending wiki markup|parser extensions]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you have written a parser extension, please use one of the following more specific types:</span>
** ''{{ll|Category:ContentHandler extensions|contenthandler}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions using {{ll|Manual:ContentHandler|ContentHandler}}.</span>
** ''{{ll|Category:Link markup extensions|link}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">customised [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...<nowiki>]]</nowiki></code>.</span>
** ''{{ll|Category:Parser function extensions|parser function}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Parser functions|parameterised template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code>.</span>
** ''{{ll|Category:Tag extensions|tag}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}}.</span>
** ''{{ll|Category:Variable extensions|variable}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Variables|unparameterised template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code>.</span>
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add non-standard wiki syntax (i.e. ''not'' [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]).</span>
*:
* {{ll|Category:User access extensions|'''''user access'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for {{ll|Manual:User access extensions|nsp=0}}, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:</span>
** {{ll|Category:User activity extensions|''user activity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that monitor user activity (logins, logouts, new user creation, etc.).</span>
** {{ll|Category:User identity extensions|''user identity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create and delete users, and/or verify the identity of a user.</span>
** {{ll|Category:User rights extensions|''user rights''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]]).</span>
* {{ll|Category:User interface extensions|'''''interface'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised user interface extensions.</span>
** ''{{ll|Category:Media handling extensions|media}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with {{ll|Manual:$wgMediaHandlers|$wgMediaHandlers}}.</span>
** ''{{ll|Category:Personalization extensions|mywiki}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that provide infrastructure so that users may personalise their MediaWiki experience and/or assist in the management of that infrastructure.</span>
** {{ll|Category:Notification extensions|''notify''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that email users, broadcast messages and provide other forms of community notification.</span>
** ''{{ll|Category:Page action extensions|''page action''}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that enhance or modify {{ll|Manual:Page action|page actions}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It does not include rights (use ''user rights'') or logs (use ''user activity'').</span>
** {{ll|Category:Search extensions|''search''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that search through and select pages for users.</span>
** {{ll|Category:Skin extensions|''skin''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.</span>
** {{ll|Category:Ajax extensions|''ajax''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that use [[w:AJAX|Ajax]] programming techniques.</span>
** {{ll|Category:Special page extensions|''special''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that subclass the {{Class doclink|SpecialPage}} class, use one of its hooks, or patch one or more functions in {{Git file|file=includes/specialpage/SpecialPage.php|text=SpecialPage.php}}. See {{ll|Manual:Special pages|Special pages}} for more information.</span>
* '''other'''
** {{ll|Category:Artificial intelligence extensions|''ai''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions related to [[w:Artificial intelligence|Artificial intelligence]].</span>
** {{ll|Category:API extensions|''api''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add a new API module or extend a core API module.</span>
** {{ll|Category:Hook extensions|''hook''}} – <span lang="en" dir="ltr" class="mw-content-ltr">hook extension —defines a ''new'' hook— see {{para|hook1}}, etc. below if you want to define hooks ''used'' by your extension.</span>
** {{ll|Category:Database extensions|''database''}} – <span lang="en" dir="ltr" class="mw-content-ltr">adds tables and/or fields to the database backing a MediaWiki installation.</span>
** {{ll|Category:Data extraction extensions|''data extraction''}} – <span lang="en" dir="ltr" class="mw-content-ltr">data extraction.</span>
** {{ll|Category:File repository extensions|''filerepo''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extension that adds new file repository types as file backend.</span>
** {{ll|Category:Extension examples|''example''}} – <span lang="en" dir="ltr" class="mw-content-ltr">not a real extension, but an example of how to write one.</span>
** {{ll|Category:Beta Feature extensions|''beta features''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create new {{ll|Beta Features}}.</span>
** {{ll|Category:PHP extensions|''php''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the underlying {{ll|PHP}} programming language.</span>
** {{ll|Category:Internationalization extensions|''locale''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions associated with [[Special:MyLanguage/Localisation|localisation]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note: Many extensions have more than one type, if this applies to yours, replace {{para|type}} with {{para|type1}}, {{para|type2}}, {{para|type3}}… You may define up to six types for an extension.</span></td>
</tr>
<tr>
<td><span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook90''</td>
<td style="vertical-align: top;">'''<span lang="en" dir="ltr" class="mw-content-ltr">Name of each hook used by the extension.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">Entering values in this field is a good way to get exposure for your extension and help other developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each documented hook will automatically add the extension to a category listing extensions that use that hook.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
</div></td>
</tr>
<tr>
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td>
<td style="vertical-align: top;">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Name of each hook provided by the extension.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You might also want to add the hooks to [[Extension hook registry]].
</div>
</td>
</tr>
<tr>
<td><span id="username">'''username'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The author's username on MediaWiki.org (if they have one).</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the author's user & user_talk page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|author}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension author's name, if different from their MediaWiki.org username.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Free text.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If omitted then the 'username' field will be used (if present).</span></td>
</tr>
<tr>
<td>{{visible anchor|maintainer}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's current maintainer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the maintainer's user & user_talk page, if the userpage exists.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td><span id="description">'''description'''</span></td><td>'''<span lang="en" dir="ltr" class="mw-content-ltr">Short description</span>'''</td>
</tr>
<tr>
<td>{{visible anchor|image}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Screenshot or logo of extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|imagesize}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">''Facultative'', size of the image without adding px, e.g. 360 (default size is 300px)</span></td>
</tr>
<tr>
<td>{{visible anchor|version}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Last version</span></td>
</tr>
<tr>
<td>{{visible anchor|update}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update</span></td>
</tr>
<tr>
<td>{{visible anchor|version preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Preview version</span></td>
</tr>
<tr>
<td>{{visible anchor|update preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update to the preview version</span></td>
</tr>
<tr>
<td><span id="compatibility_policy">compatibility policy</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Compatibility#mediawiki_extensions|Compatibility policy}} (accepted values: <code>master</code>, <code>main</code>, <code>rel</code>, <code>ltsrel</code>).</span> ({{ll|Category:Extensions without a compatibility policy|2=<span lang="en" dir="ltr" class="mw-content-ltr">backlog</span>}})</td>
</tr>
<tr>
<td>{{visible anchor|mediawiki}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Most extensions should not need to use this — it defaults to the value of the <code>{{Manual|Extension.json/Schema#requires|requires}}</code> property of {{manual|extension.json}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">See also {{ll|Category:Extensions without MediaWiki version}} and {{ll|Category:Extensions with manual MediaWiki version}}.</span></td>
</tr>
<tr>
<td>{{visible anchor|php}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of PHP</span></td>
</tr>
<tr>
<td>{{visible anchor|needs-updatephp}}</td>
<td>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is a common pitfall: your MediaWiki will stall if you forget to run <code>update.php</code> when the extension requires it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>no</code> indicates that the extension does not need <code>update.php</code> to be run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To avoid ambiguity this parameter should be set explicitly instead of relying on the absence of a <code>yes</code> to mean <code>no</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Extensions that conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into <code>LocalSettings.php</code>, run from the command line:
</div>
<code class="mw-code mw-highlight" style="display:block"><!--
-->{{#tag:span|cd|class=nb}} ''<span lang="en" dir="ltr" class="mw-content-ltr">path/to/wiki_install_directory</span>''
{{#tag:span|cd|class=nb}} maintenance
php run update.php
</code>
{{$IP}}</td>
</tr>
<tr>
<td><span id="composer">composer</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's Composer package name, in the [https://getcomposer.org/doc/04-schema.md#name standard format].</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be automatically included if set in an extension's <code>composer.json</code> file (i.e. this parameter is not required in that case).</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be linked to the extension's page on [https://packagist.org/ Packagist].</span></td>
</tr>
<tr>
<td><span id="virtual_domain">virtual domain</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The {{ll|Manual:$wgVirtualDomainsMapping|virtual database domain}} used by the extension.</span></td>
</tr>
<tr>
<td><span id="table1">'''table1'''</span><br/>''table2''<br/>''table3''<br/>''table4''<br/>...<br/>''table20''</td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Name of each ''non-core'' table used by the extension.'''</span><br/><br/>
<span lang="en" dir="ltr" class="mw-content-ltr">Links to a subpage of your extension page. For instance, "table1 = cu_changes" at {{ll|Extension:CheckUser|Extension:CheckUser}} will link to {{ll|Extension:CheckUser/cu_changes table|Extension:CheckUser/cu_changes table}}. Don't list core tables such as {{ll|Manual:Page table|page}} or {{ll|Manual:Revision table|revision}}; only list tables that are added by extensions.</span></td>
</tr>
<tr>
<td><span id="license">'''license1'''</span><br/>''license2''<br/>''license3''<br/>''license4''<br/>''license5''<br/><br/>'''license-alt'''</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">License(s) governing use of this extension, based on the codes found in {{ll|Template:Extension/FormatLicense}}, e.g. <code>GPL-2.0-or-later</code>, <code>GPL-2.0-only</code> or <code>GPL-3.0-or-later</code>, etc.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optionally, use {{para|license-alt}} to specify an '''''alternative''''' license that is also acceptable —at the user's discretion― instead of those mandated by {{para|license1}}, {{para|license2}}, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If the extension comprises several components that are each licensed under different terms, you're strongly encouraged to give the specifics in the main text.
</div>
</td>
</tr>
<tr>
<td><span id="download">'''download'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}.</span> </td>
</tr>
<tr>
<td><span id="show-popularity">'''show-popularity'''</span></td><td>Enable/disable popularity fields (Quarterly downloads and Public wikis using the extension) based on [[Template:Extension/popularity.json]], which may not reflect real usage</td>
</tr>
<td><span id="repo">repo</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</span></td>
<tr>
<td>{{visible anchor|readme}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the <code>README</code> file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README</span></td>
</tr>
<tr>
<td>{{visible anchor|changelog}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the changelog file, e.g. [[Extension:GeoGebra/Changelog]].</span></td>
</tr>
<tr>
<td>{{visible anchor|help}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Link to user-help for the extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If not provided, will look for {{tmpl|0=<code>Help:Extension:$1</code>|''ExtensionName''}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</span></td>
</tr>
<tr>
<td>{{visible anchor|example}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Example, website or screenshot of working extension.</span></td>
</tr>
<tr>
<td>{{visible anchor|namespace}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Namespace|Namespace]] in which this extension is used.</span></td>
</tr>
<tr>
<td>{{visible anchor|parameters}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Available parameters for <code>LocalSettings.php</code>.</span></td>
</tr>
<tr>
<td>{{visible anchor|tags}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Any tags your extension uses (e.g. <tag1>, <tag2>).</span></td>
</tr>
<tr>
<td>{{visible anchor|rights}}</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:User rights|Rights]] added by the extension.</span> '''<span lang="en" dir="ltr" class="mw-content-ltr">Not to be confused with the licence!</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Rights are such as ''{{ll|Manual:User rights#edit|edit}}'' or ''{{ll|Manual:User rights#createpage|createpage}}'', not such as GFDL or LGPL or GPL - those are licences!</span></td>
</tr>
<tr>
<td>{{visible anchor|compatibility}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</span></td>
</tr>
<tr>
<td>{{visible anchor|bugzilla}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Bugzilla}} MediaWiki extension component name</span></td>
</tr>
<tr>
<td>{{visible anchor|phabricator}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Phabricator}} project name</span></td>
</tr>
<tr>
<td>{{visible anchor|translate}}</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to:
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka
* the parameter you get in the URL after
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".
</div>
</td>
</tr>
<tr>
<td>{{visible anchor|vagrant-role}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|MediaWiki-Vagrant}} role</span></td>
</tr>
<tr>
<td>{{visible anchor|CheckUsageNameOverride}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Override the page name used for the check usage link.</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Control parameters ==
</div>
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Control parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td>'''templatemode'''</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Controls auto-categorisation of host page.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Normally left blank. Alternate values are:
</div>
* ''nocats'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses categorisation and the 'check usage' link. Use this value if you are adding this template to [[Special:MyLanguage/Help:Subpage|subpages]] of an extension or to how-to documentation of extensions. For example, the usage image above sets <code>templatemode=nocats</code> because this isn't an actual extension page and we don't want to add this page to any categories on account of it.</span>
* ''nousage'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If this is left blank, this template will add the host page to [[:Category:All extensions{{#translation:}}]] and to one or more additional categories, depending on the values assigned to the [[#Content parameters|Content parameters]].</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Using the infobox ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Existing extension pages ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]].
</div>
{{anchor|Create a new extension article}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new extension page ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to create a new extension page, enter the name below and click the button.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A new page will be created with the infobox template already in place.</span>
{{Extension/CreateExtensionInputBox}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Enhancing this template ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you would like to improve on this template, thanks!</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a complicated template so here is some help along the way:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== The Create extension button ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To improve the create extension button behavior:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages.
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Infobox parameters ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In general:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the [[Special:MyLanguage/Template:Extension#Content parameters|content parameter documentation]] and link its label to that documentation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change/correct/add to the implementation type parameters:
* Check the [[Template_talk:Extension|talk page]] - there have been some extensive discussions about this field.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* The valid types and what they link to are defined at [[Module:Extension]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change the behavior of the hook parameters:
</div>
* '''{{ll|Template:Extension/HookInUse}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Adds links and categories for a hook in use.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Multiple hooks in use are implemented by calling this template with {{ll|Template:Foreach}}.</span>
* '''{{ll|Template:Extension/HookInUseNoCats}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Used instead of {{ll|Template:Extension/HookInUse}} when this template is used in <code>templatemode=nocats</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Templates used with {{ll|Template:Foreach}} can only take one parameter so we need to wrap the call to {{ll|Template:Extension/HookInUse}} with another template that sets the mode.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Test case ==
</div>
See if the following pages are still ok after editing this t
* [[Extension:Description2]]
* [[Template:Extension]]
{{Extension/doc}}
}}
Maintenance:
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
[[Special:WhatLinksHere/Template:Extension/archived|archived]]
[[Category:Infobox templates{{#translation:}}|{{PAGENAME}}]]
</noinclude>
canuuembfsme0uug01xadlkwdpvxz8c
8390451
8390450
2026-05-25T09:01:39Z
M7
3635
Not a translation: Mass deletion of pages added by [[Special:Contributions/~2026-31164-84|~2026-31164-84]]
8390451
wikitext
text/x-wiki
<noinclude>
<languages/>
</noinclude><!--
--------------------------------- CSS styling ---------------------------------
--><templatestyles src="Template:Infobox/styles.css" /><!--
--><templatestyles src="Template:Extension/styles.css" /><!--
--><templatestyles src="Template:Extension/status.css" /><!--
-------------- Begin main block / Check for unknown parameters ----------------
--><includeonly>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Pages using Template:Extension with unknown parameters]]
|ignoreblank=1
|preview={{tl|extension}}: unknown parameter "_VALUE_"
|name|status|type|type1|type2|type3|type4|type5|type6|hook1|hook2|hook3|hook4|hook5|hook6|hook7|hook8|hook9|hook10|hook11|hook12|hook13|hook14|hook15|hook16|hook17|hook18|hook19|hook20|hook21|hook22|hook23|hook24|hook25|hook26|hook27|hook28|hook29|hook30|hook31|hook32|hook33|hook34|hook35|hook36|hook37|hook38|hook39|hook40|hook41|hook42|hook43|hook44|hook45|hook46|hook47|hook48|hook49|hook50|hook51|hook52|hook53|hook54|hook55|hook56|hook57|hook58|hook59|hook60|hook61|hook62|hook63|hook64|hook65|hook66|hook67|hook68|hook69|hook70|hook71|hook72|hook73|hook74|hook75|hook76|hook77|hook78|hook79|hook80|hook81|hook82|hook83|hook84|hook85|hook86|hook87|hook88|hook89|hook90|newhook1|newhook2|newhook3|newhook4|newhook5|newhook6|newhook7|newhook8|newhook9|newhook10|newhook11|newhook12|newhook13|newhook14|newhook15|newhook16|newhook17|newhook18|newhook19|newhook20|newhook21|newhook22|newhook23|newhook24|newhook25|newhook26|newhook27|newhook28|newhook29|newhook30|newhook31|newhook32|newhook33|newhook34|newhook35|newhook36|newhook37|newhook38|newhook39|newhook40|newhook41|newhook42|newhook43|newhook44|newhook45|newhook46|newhook47|newhook48|newhook49|newhook50|newhook51|newhook52|newhook53|newhook54|newhook55|newhook56|newhook57|newhook58|newhook59|newhook60|newhook61|newhook62|newhook63|newhook64|newhook65|newhook66|newhook67|newhook68|newhook69|newhook70|newhook71|newhook72|newhook73|newhook74|newhook75|newhook76|newhook77|newhook78|newhook79|newhook80|newhook81|newhook82|newhook83|newhook84|newhook85|newhook86|newhook87|newhook88|newhook89|newhook90|username|author|maintainer|description|image|imagesize|version|latest release version|latest_release_version|update|latest release date|latest_release_date|version preview|version_preview|latest preview version|latest_preview_version|update preview|update_preview|latest preview date|latest_preview_date|compatibility policy|mediawiki|php|needs-updatephp|composer|virtual domain|table1|table2|table3|table4|table5|table6|table7|table8|table9|table10|table11|table12|table13|table14|table15|table16|table17|table18|table19|table20|license|license1|license2|license3|license4|license5|license-alt|download|show-popularity|repo|readme|changelog|help|example|namespace|parameters|tags|rights|compatibility|bugzilla|phabricator|translate|vagrant-role|CheckUsageNameOverride|templatemode}}}}<!--
--------------------- Begin table / Badge / Check status ----------------------
-->{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}
<table class="infobox infobox-{{dir|{{pagelang}}}} ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}
|#default=unknown
}}" role="none" aria-labelledby="extension-name" aria-describedby="extension-description">
<caption role="none">'''{{ll|Manual:Extensions|2=Cẩm nang phần mở rộng MediaWiki}}'''</caption>
<tr class="infobox-header ext-infobox-header notheme">
<th colspan="2">[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable
|OOjs UI icon alert-invert.svg
|<!--else-->OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg
}}|link=Special:MyLanguage/Template:Extension#Content|{{dir|{{pagelang}}|right|left}}|40px]] <span id="extension-name" class="ext-infobox-name">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME:{{translatable}}}}}}</span><br />
{{ll|Extension status|2=Trạng thái phát hành:}} {{#switch: {{lc: {{{status|unknown}}} }}
|unmaintained=<span lang="en" dir="ltr" class="mw-content-ltr">unmaintained</span>
|unstable=không ổn định
|experimental=thử nghiệm
|beta=tiền phát hành
|stable=ổn định
|#default=không rõ
}}<!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->[[Category:{{#switch: {{lc:{{{status|}}} }}
|unstable|experimental|unmaintained|stable = {{{status}}} extensions
|beta = beta status extensions
|unknown = extensions with unknown status
|#default = extensions with invalid status
}}{{#translation:}}]]}}</th>
</tr><!--
------------------------------------ Image ------------------------------------
-->{{#if:{{{image|}}}|
<tr>
<td colspan="2" class="ext-infobox-image">[[File:{{{image}}}|{{{imagesize|300}}}px]]</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without an image]]}}}}
}}<!--
------------------------------------ Types ------------------------------------
-->{{#if:{{{type|}}}{{{type1|}}}|
<tr>
<td class="ext-infobox-type">'''{{ll|Template:Extension#type|2=Cài đặt}}'''</td>
<td>{{#invoke:Extension|getTypes
|ajax = <span lang="en" dir="ltr" class="mw-content-ltr">[[w:AJAX|Ajax]]</span>
|api = {{ll|API:Action API|2=<span lang="en" dir="ltr" class="mw-content-ltr">API</span>}}
|beta feature = {{ll|Beta Features|2=Tính năng Beta}}
|contenthandler = {{ll|Manual:ContentHandler|ContentHandler}}
|database = {{ll|Manual:Database layout|2=<span lang="en" dir="ltr" class="mw-content-ltr">Database</span>}}
|data extraction = <span lang="en" dir="ltr" class="mw-content-ltr">Data extraction</span>
|example = <span lang="en" dir="ltr" class="mw-content-ltr">Example</span>
|extended syntax = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Extended syntax</span>}}
|filerepo = <span lang="en" dir="ltr" class="mw-content-ltr">File repository</span>
|hook = {{ll|Manual:Hooks|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hook</span>}}
|interface = <span lang="en" dir="ltr" class="mw-content-ltr">User interface</span>
|link = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Link markup</span>}}
|media = Truyền thông
|mywiki = {{ll|Manual:Personalization|2=<span lang="en" dir="ltr" class="mw-content-ltr">MyWiki</span>}}
|notify = <span lang="en" dir="ltr" class="mw-content-ltr">Notify</span>
|page action = {{ll|Manual:Parameters to index.php#Actions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Page action</span>}}
|parser = {{ll|Manual:Extending wiki markup|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser extension</span>}}
|parser function = {{ll|Manual:Parser functions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Parser function</span>}}
|php = <span lang="en" dir="ltr" class="mw-content-ltr">PHP</span>
|search = <span lang="en" dir="ltr" class="mw-content-ltr">Search</span>
|skin = {{ll|Manual:Skins|2=<span lang="en" dir="ltr" class="mw-content-ltr">Skin</span>}}
|special page = {{ll|Manual:Special pages|2=<span lang="en" dir="ltr" class="mw-content-ltr">Special page</span>}}
|locale = {{ll|Manual:Localization|2=<span lang="en" dir="ltr" class="mw-content-ltr">Locale</span>}}
|tag = {{ll|Manual:Tag extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tag</span>}}
|user access = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User access</span>}}
|user identity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User identity</span>}}
|user rights = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User rights</span>}}
|user activity = {{ll|Manual:Security|2=<span lang="en" dir="ltr" class="mw-content-ltr">User activity</span>}}
|variable = {{ll|Manual:Variables|2=<span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>}}
}}<!--
-->|<!--else--><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:Extension|getType|_missing_}}<!--
-->}}<!--
--></td>
</tr>
}}<!--
--------------------------------- Description ---------------------------------
-->{{#if:{{{description|}}}|
<tr>
<td>'''{{ll|Template:Extension#description|2=Mô tả}}'''</td>
<td><span id="extension-description">{{{description}}}</span></td>
</tr>
}}<!--
------------------------------ Author & username-------------------------------
-->{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |
<tr>
<td>'''{{ll|Template:Extension#username|2=Tác giả}}'''</td>
<td style="vertical-align:top">{{#if: {{{username|}}} |<!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}} (<!--
-->}}<!--
-->[[User:{{{username}}}|{{{username}}}]]<!--
--><sup>[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]</sup><!--
-->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!--
nothing
-->|<!--else--><!--
-->)<!--
-->}}<!--
-->|<!--else--><!--
-->{{#invoke:extension|getAuthor|{{{author|}}}}}<!--
-->}}</td>
</tr>
}}<!--
--------------------------------- Maintainer ----------------------------------
-->{{#if:{{{maintainer|}}} |
<tr>
<td>'''{{ll|Template:Extension#maintainer|2=<span lang="en" dir="ltr" class="mw-content-ltr">Maintainer(s)</span>}}'''</td>
<td>{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]<sup>[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]</sup>|{{{maintainer}}}}}</td>
</tr>
}}<!--
------------------------------ Version & dates --------------------------------
-->{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=Phiên bản}}'''</td>
<td>{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}| ({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}</td>
</tr>
}}
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|
<tr>
<td>'''{{ll|Template:Extension#version|2=<span lang="en" dir="ltr" class="mw-content-ltr">Latest preview version</span>}}'''</td>
<td>{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}| ({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}</td>
</tr>
}}<!--
---------------------------- Compatibility policy -----------------------------
-->{{#if:{{{compatibility policy|}}}|
<tr>
<td>'''{{ll|Compatibility#mediawiki_extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Compatibility policy</span>}}'''</td>
<td>{{#switch:{{{compatibility policy}}}<!--
-->|master=<span lang="en" dir="ltr" class="mw-content-ltr">Master maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|main=<span lang="en" dir="ltr" class="mw-content-ltr">Main branch maintains backward compatibility.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}<!--
-->|rel=<span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}<!--
-->|ltsrel= <span lang="en" dir="ltr" class="mw-content-ltr">For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.</span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}<!--
-->|#default=<span class="error"><span lang="en" dir="ltr" class="mw-content-ltr">invalid</span></span>{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}<!--
-->}}</td>
</tr>
|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}
}}<!--
--------------------------------- MW version ----------------------------------
-->{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|
<tr>
<td>{{ll|Template:Extension#mediawiki|'''MediaWiki'''}}</td>
<td>{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}</td>
</tr>
}}<!--
--------------------------------- PHP version ---------------------------------
-->{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|
<tr>
<td>{{ll|Template:Extension#php|'''PHP'''}}</td>
<td>{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}</td>
</tr>
}}<!--
---------------------- Requires updating the database? ------------------------
-->{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|
<tr>
<td>{{ll|Template:Extension#needs-updatephp|2=<abbr title="'php run update.php' needed after installation">'''<span lang="en" dir="ltr" class="mw-content-ltr">Database changes</span>'''</abbr>}}</td>
<td>{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=Có|no|No=Không|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}</td>
</tr>
}}<!--
------------------------------- Composer name ---------------------------------
-->{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|
<tr>
<td>{{ll|Composer|2=<abbr title="Supports 'Composer' for installation">'''Composer'''</abbr>}}</td>
<td>{{#invoke:Extension |getComposerName |{{{composer|}}} }}</td>
</tr><!--
categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--else
-->{{#ifeq:{{lc:{{NAMESPACE}}}}|extension|[[Category:Extensions supporting Composer{{#translation:}}]]}}<!--
-->}}
}}<!--
-------------------------------- Virtual domains ---------------------------------
-->{{#if:{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}|
<tr>
<td>'''{{ll|Manual:$wgVirtualDomainsMapping|2=<span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span>}}'''</td>
<td>{{{virtual domain|{{#invoke:extension|getVirtualDomains}}}}}</td>
</tr>
}}<!--
------------------------------ Database tables --------------------------------
-->{{#if:{{{table1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#table1|2=<span lang="en" dir="ltr" class="mw-content-ltr">Tables</span>}}'''</div>
<div class="mw-collapsible-content">
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}<!--
-->{{#if:{{{table2|}}}|<br />
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}<!-- -->}}<!--
-->{{#if:{{{table3|}}}|<br />
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}<!-- -->}}<!--
-->{{#if:{{{table4|}}}|<br />
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}<!-- -->}}<!--
-->{{#if:{{{table5|}}}|<br />
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}<!-- -->}}<!--
-->{{#if:{{{table6|}}}|<br />
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}<!-- -->}}<!--
-->{{#if:{{{table7|}}}|<br />
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}<!-- -->}}<!--
-->{{#if:{{{table8|}}}|<br />
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}<!-- -->}}<!--
-->{{#if:{{{table9|}}}|<br />
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}<!-- -->}}<!--
-->{{#if:{{{table10|}}}|<br />
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}<!-- -->}}<!--
-->{{#if:{{{table11|}}}|<br />
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}<!-- -->}}<!--
-->{{#if:{{{table12|}}}|<br />
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}<!-- -->}}<!--
-->{{#if:{{{table13|}}}|<br />
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}<!-- -->}}<!--
-->{{#if:{{{table14|}}}|<br />
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}<!-- -->}}<!--
-->{{#if:{{{table15|}}}|<br />
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}<!-- -->}}<!--
-->{{#if:{{{table16|}}}|<br />
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}<!-- -->}}<!--
-->{{#if:{{{table17|}}}|<br />
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}<!-- -->}}<!--
-->{{#if:{{{table18|}}}|<br />
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}<!-- -->}}<!--
-->{{#if:{{{table19|}}}|<br />
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}<!-- -->}}<!--
-->{{#if:{{{table20|}}}|<br />
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}<!-- -->}}</div>
</td>
</tr>
}}<!--
--------------------------------- Namespace -----------------------------------
-->{{#if:{{{namespace|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#namespace|2=Không gian tên}}'''</div>
<div class="mw-collapsible-content"><!-- the parameter "namespace" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{namespace|}}}</div></td>
</tr>
}}<!--
--------------------------------- Parameters ----------------------------------
-->{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#parameters|2=Tham số}}</div>
<div class="mw-collapsible-content"><!-- the parameter "parameters" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}</div></td>
</tr>
}}<!--
------------------------------------ Tags -------------------------------------
-->{{#if:{{{tags|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#tags|2=Thẻ}}</div>
<div class="mw-collapsible-content">
{{{tags}}}</div></td>
</tr>
}}<!--
----------------------------------- Rights ------------------------------------
-->{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#rights|2=Quyền bổ sung}}</div>
<div class="mw-collapsible-content"><!-- the parameter "rights" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}
{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- do nothing -->|<!--else-->{{#if:{{{rights|}}}|[[Category:Extensions which add rights{{#translation:}}]]|}} }}</div></td>
</tr>
}}<!--
---------------------------------- Services -----------------------------------
-->{{#if:{{{service1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#service|Services defined}}</div>
<div class="mw-collapsible-content">
<div>{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]</div>
{{#if:{{{service2|}}}|<div>{{{service2|}}}</div>}}
</div></td>
</tr>
}}<!--
--------------------------------- Hooks used ----------------------------------
-->{{#invoke:Extension|getHooks|header=
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#hook|2=Sử dụng neo móc}}</div>
<div class="mw-collapsible-content">
<ul><li>|delim=</li><li>|footer=</li></ul>
</div>
</td>
</tr>
}}<!--
------------------------------- Hooks provided --------------------------------
-->{{#if:{{{newhook1|}}}|
<tr>
<td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">{{ll|Template:Extension#newhook|2=<span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span>}}</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/HookProvided|delim=</li><li>|<!--
-->{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|<!--
-->{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|<!--
-->{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|<!--
-->{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|<!--
-->{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|<!--
-->{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|<!--
-->{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|<!--
-->{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|<!--
-->{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|<!--
-->{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|<!--
-->{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|<!--
-->{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|<!--
-->{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|<!--
-->{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|<!--
-->{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}<!--
-->}}<!--
--></li></ul>
</div>
</td>
</tr>
}}<!--
---------------------------------- License ------------------------------------
--><tr><!--
-->{{#if:{{{license2|}}}{{{license-alt|}}}|<!--
multiple licenses: use a collapsible list
--><td class="mw-collapsible mw-collapsed" colspan="2">
<div class="mw-collapsible-header">'''{{ll|Template:Extension#license|2=Giấy phép}}'''</div>
<div class="mw-collapsible-content">
<ul><li><!--
-->{{Foreach|Extension/FormatLicense|delim=</li><li>|<!--
-->{{{license|}}}|{{{license1}}}|{{{license2|}}}|{{{license3|}}}|{{{license4|}}}|{{{license5|}}}<!--
-->}}<!--
--></li></ul><!--
-->{{#if:{{{license-alt|}}}|<!-- add alternative
--><br/>{{center|- '''''<span lang="en" dir="ltr" class="mw-content-ltr">or</span>''''' -}}<br/><ul><li>{{Extension/FormatLicense|{{{license-alt}}}}}</li></ul><!--
-->}}<!--
--></div></td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|<!--
-->{{#if:{{{license|}}}|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->{{#if:{{{license1|}}}|{{#invoke:Extension|getLicenseCategory|{{{license1|}}}}}}}<!--
-->{{#if:{{{license2|}}}|{{#invoke:Extension|getLicenseCategory|{{{license2|}}}}}}}<!--
-->{{#if:{{{license3|}}}|{{#invoke:Extension|getLicenseCategory|{{{license3|}}}}}}}<!--
-->{{#if:{{{license4|}}}|{{#invoke:Extension|getLicenseCategory|{{{license4|}}}}}}}<!--
-->{{#if:{{{license5|}}}|{{#invoke:Extension|getLicenseCategory|{{{license5|}}}}}}}<!--
-->{{#if:{{{license-alt|}}}|{{#invoke:Extension|getLicenseCategory|{{{license-alt|}}}}}}}<!--
-->}}<!--
-->|<!--
else do it the old way, assuming a single license
--><td>'''{{ll|Template:Extension#license|2=<span lang="en" dir="ltr" class="mw-content-ltr">Licence</span>}}'''</td>
<td>{{Extension/FormatLicense|{{{license|}}}}}</td><!-- categorization
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!-- no category -->|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}<!--
-->}}</tr><!--
------------------------ Download, readme & changelog -------------------------
--><tr>
<td>'''Tải xuống'''</td>
<td><!--
-->{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|''<span lang="en" dir="ltr" class="mw-content-ltr">No link</span>''}}}}<!--
-->{{#if:{{{readme|}}}|<br />{{{readme}}}<!-- -->}}<!--
-->{{#if:{{{changelog|}}}|<br />{{{changelog}}}<!-- -->}}</td>
</tr><!--
------------------------------------ Help -------------------------------------
-->{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |
<tr>
<td>'''{{ll|Template:Extension#help|2=<span lang="en" dir="ltr" class="mw-content-ltr">Help</span>}}'''</td>
<td>{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}</td>
</tr>
}}<!--
---------------------------------- Example ------------------------------------
-->{{#if:{{{example|}}}|
<tr>
<td>'''{{ll|Template:Extension#example|2=Ví dụ}}'''</td>
<td style="vertical-align:top">{{{example}}}</td>
</tr>
}}<!--
-------------------------------- Compatibility --------------------------------
-->{{#if:{{{compatibility|}}}|
<tr>
<td colspan="2"><!-- the parameter "compatibility" should begin on its own line so that bullet lists are correctly recognised by MediaWiki -->
{{{compatibility}}}</td>
</tr>
}}<!--
------------------------------- Show popularity -------------------------------
-->{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|
<tr>
<td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.">'''<span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span>'''</td>
<td>{{#invoke:Extension |getDownloads}}</td>
</tr>
}} }}
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|
<tr>
<td title="">[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} '''Wiki công khai''']</td>
<td>{{#invoke:Extension |getPublicSites}}</td>
</tr>
}} }}<!--
------------------------------ translatewiki.net ------------------------------
-->{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||
<tr>
<td colspan="2" class="ext-infobox-translate">
{{#if:{{{translate|}}}
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/{{{translate}}}|Translate the {{PAGENAME:{{translatable}}}} extension]]</span>
|<span lang="en" dir="ltr" class="mw-content-ltr">[[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME:{{translatable}}}}| |}}}}|Translate the {{PAGENAME:{{translatable}}}} extension]] if it is available at translatewiki.net</span>
}}</td>
</tr>}}<!--
------------------------- Suppress 'Check usage' link? ------------------------
Note: this next check suppresses the 'Check usage' link if page is: a subpage, not in Extension: namespace, or if suppressed by 'templatemode=nocats' or 'nousage=true'.
-->{{#if:{{{nousage|{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats
|no usage
|{{#ifeq:{{NAMESPACE}}|{{ns:102}}
|
|no usage
}}
{{#ifeq:{{{templatemode|}}}|nousage
|no usage
}}
}}}}}
|<!-- no usage -->|
<tr>
</tr>
}}<!--
-------------------------------- Vagrant role ---------------------------------
-->{{#if:{{{vagrant-role|}}}|
<tr>
<td>'''{{ll|MediaWiki-Vagrant#Using roles|2=<span lang="en" dir="ltr" class="mw-content-ltr">Vagrant role</span>}}'''</td>
<td>[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]</td>
</tr>
}}<!--
----------------------- Phabricator, Bugzilla & issues ------------------------
-->{{#if: {{{phabricator|{{{bugzilla|}}}}}} |
<tr>
<td>
'''{{ll|Phabricator|2=Phản hồi}}'''</td>
<td>[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|<span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span>]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} Báo cáo lỗi]</td>
</tr>
}}
{{#if: {{{github|}}} |
<tr>
<td>
'''{{ll|Gerrit/GitHub|2=<span lang="en" dir="ltr" class="mw-content-ltr">Issues</span>}}'''</td>
<td>[https://www.github.com/{{{github}}}/issues <span lang="en" dir="ltr" class="mw-content-ltr">Open issues</span>] · [https://www.github.com/{{{github}}}/issues/new <span lang="en" dir="ltr" class="mw-content-ltr">Report a bug</span>]</td>
</tr>
}}<!--
--------------- End table / Index tweak & more categorization -----------------
--></table><!--
-->{{#ifeq:{{{templatemode|<noinclude>nocats</noinclude>}}}|nocats|<!--
nothing--><!--
-->|<!--else--><!--
-->{{DEFAULTSORT:{{#if:{{{name|}}}|<!--
-->{{uc:{{{name}}}<!-- -->}}<!--
-->|<!--else--><!--
-->{{uc:{{PAGENAME}}<!-- -->}}<!--
-->}}<!-- -->}}<!--
-->[[Category:All extensions{{#translation:}}]]<!--
-->{{#invoke:Extension|getExtensionJsonCategory}}<!--
-->}}<!--
--><!--Check if the source page was deleted/archived--> {{#invoke:Extension|maintenanceLinks}}<!--
----------------------- End main block / Documentation ------------------------
--></includeonly><noinclude>{{Documentation|content=
{{intricate template}}
{{lua|Module:Extension|Module:ExtensionJson|Module:Check for unknown parameters|Module:String}}
{{Uses TemplateStyles|Template:Infobox/styles.css|Template:Extension/styles.css|Template:Extension/status.css}}
<span lang="en" dir="ltr" class="mw-content-ltr">This template should be added to all extension pages on this wiki (but only the main page).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It will add a useful infobox (see below) and will automatically add the extension to {{ll|Category:All extensions}}, along with the appropriate {{ll|Category:Extensions by status|status}} and {{ll|Category:Extensions by implementation type|implementation type}} categories.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The template autofills some fields of the infobox with extension data collected by [[wikitech:Tool:Extjsonuploader]].</span>
{{Clear}}
<span id="Usage"></span>
== Cách sử dụng ==
<table style="width: 100%;">
<tr>
<th style="width: 40%;"></th>
<th style="width: 60%;"></th>
</tr>
<tr style="vertical-align: top;">
<td style="float: left;">
<span id="CutAndPaste">Cắt và dán:</span>
<syntaxhighlight lang="wikitext" copy>{{Extension |templatemode =
|name =
|status =
|type1 =
|type2 =
|hook1 =
|hook2 =
|newhook1 =
|newhook2 =
|username =
|author =
|maintainer =
|description =
|image =
|imagesize =
|version =
|update =
|version preview =
|update preview =
|compatibility policy =
|mediawiki =
|php =
|needs-updatephp =
|composer =
|virtual domain =
|table1 =
|table2 =
|license =
|download =
|show-popularity =
|repo =
|readme =
|changelog =
|help =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
|phabricator =
|translate =
|vagrant-role =
}}</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For help with parameter values, see [[#Content parameters|below]].</span></td>
<td>{{Extension |templatemode=nocats
|name = {{{name}}}
|status = {{{status}}}
|type1 = {{{type1}}}
|type2 = {{{type2}}}
|hook1 = hook1
|hook2 = hook2
|newhook1 = newhook1
|newhook2 = newhook2
|username = SomeUser
|author = SomeAuthor
|maintainer = SomeOtherUser
|description = {{{description}}}
|image = Placeholder.svg
|imagesize = 400
|version = {{{version}}}
|update = {{{update}}}
|version preview = {{{version preview}}}
|update preview = {{{update preview}}}
|compatibility policy = {{{compatibility policy}}}
|mediawiki = {{{mediawiki}}}
|php = {{{php}}}
|needs-updatephp = {{{needs-updatephp}}}
|composer = {{{composer}}}
|virtual domain = {{{virtual domain}}}
|table1 = {{{table1}}}
|table2 = {{{table2}}}
|license = {{{license}}}
|download = {{{download}}}
|show-popularity = {{{show-popularity}}}
|repo =
|readme = {{{readme}}}
|changelog = {{{changelog}}}
|help = {{{help}}}
|example = {{{example}}}
|namespace = {{{namespace}}}
|parameters = {{{parameters}}}
|tags = {{{tags}}}
|rights = {{{rights}}}
|compatibility = {{{compatibility}}}
|phabricator = {{{phabricator}}}
|translate = {{{translate}}}
|vagrant-role = {{{vagrant-role}}}
}}</td>
</tr>
</table>
<span id="Content_parameters"></span>
== Các tham số nội dung ==
Phần này mô tả các tham số ảnh hưởng đến hộp thông tin.
<span lang="en" dir="ltr" class="mw-content-ltr">For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.</span>
<!-- BEFORE YOU EDIT THIS:
span ids on each parameter are used by the code in Template:Extension.
They enable each label in the info box to link its documentation.
If you change an id, please update the code in Template:Extension accordingly.
-->
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Content parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td><span id="name">'''name'''</span></td><td>'''tên phần mở rộng'''</td>
</tr>
<tr>
<td><span id="status">'''status'''</span></td><td>
'''trạng thái phát hành hiện tại'''
Một trong số:
* ''{{ll|Category:Unstable extensions|unstable}}'' – hỏng - không sử dụng phần mở rộng này
* ''{{ll|Category:Experimental extensions|experimental}}'' – đang trong những giai đoạn đầu của quá trình phát triển, có thể thay đổi đáng kể
* ''{{ll|Category:Beta status extensions|beta}}'' – ổn định nhưng chưa đựng kiểm tra toàn bộ
* ''{{ll|Category:Stable extensions|stable}}'' – phiên bản ổn định
* ''{{ll|Category:Unmaintained extensions|unmaintained}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">unmaintained - previously claimed to be stable, now unmaintained</span>
* ''{{ll|Category:Extensions with unknown status|unknown}}'' – mặc định
<span lang="en" dir="ltr" class="mw-content-ltr">If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is omitted, it will be categorised as [[Special:MyLanguage/Category:extensions with unknown status|unknown]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In cases where the value is invalid, it will be placed in a [[Special:MyLanguage/Category:extensions with invalid status|special category]] so that the error can be caught and fixed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Extension status|release status colour scheme]]
</div></td>
</tr>
<tr>
<td>'''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/></td><td><span id="type">'''<span lang="en" dir="ltr" class="mw-content-ltr">implementation type</span>'''</span><!-- id here so at top of documentation -->
<span lang="en" dir="ltr" class="mw-content-ltr">The implementation strategy(s) employed in building this extension.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Special:MyLanguage/Help:Categories|category links]] as needed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Allowed values for the '''type1''', '''type2''', ... parameters are:</span>
* '''''{{ll|Category:Parser extensions|parser}}''''' – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised [[Special:MyLanguage/Manual:Extending wiki markup|parser extensions]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you have written a parser extension, please use one of the following more specific types:</span>
** ''{{ll|Category:ContentHandler extensions|contenthandler}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions using {{ll|Manual:ContentHandler|ContentHandler}}.</span>
** ''{{ll|Category:Link markup extensions|link}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">customised [[Special:MyLanguage/Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...<nowiki>]]</nowiki></code>.</span>
** ''{{ll|Category:Parser function extensions|parser function}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Parser functions|parameterised template markup]], e.g. <code><nowiki>{{</nowiki>''#name:'' ... <nowiki>}}</nowiki></code>.</span>
** ''{{ll|Category:Tag extensions|tag}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Tag extensions|custom XML tag markup]], e.g. {{tag|''tagname''}}.</span>
** ''{{ll|Category:Variable extensions|variable}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">custom [[Special:MyLanguage/Manual:Variables|unparameterised template markup]], e.g. <code><nowiki>{{NAME}}</nowiki></code>.</span>
** ''{{ll|Category:Extended syntax extensions|extended syntax}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add non-standard wiki syntax (i.e. ''not'' [[Special:MyLanguage/Manual:Tag extensions|tags]], [[Special:MyLanguage/Manual:Parser functions|parser functions]], or [[Special:MyLanguage/Manual:Variables|variables]]).</span>
*:
* {{ll|Category:User access extensions|'''''user access'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for {{ll|Manual:User access extensions|nsp=0}}, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:</span>
** {{ll|Category:User activity extensions|''user activity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that monitor user activity (logins, logouts, new user creation, etc.).</span>
** {{ll|Category:User identity extensions|''user identity''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create and delete users, and/or verify the identity of a user.</span>
** {{ll|Category:User rights extensions|''user rights''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]]).</span>
* {{ll|Category:User interface extensions|'''''interface'''''}} – <span lang="en" dir="ltr" class="mw-content-ltr">catchall for uncategorised user interface extensions.</span>
** ''{{ll|Category:Media handling extensions|media}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with {{ll|Manual:$wgMediaHandlers|$wgMediaHandlers}}.</span>
** ''{{ll|Category:Personalization extensions|mywiki}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that provide infrastructure so that users may personalise their MediaWiki experience and/or assist in the management of that infrastructure.</span>
** {{ll|Category:Notification extensions|''notify''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that email users, broadcast messages and provide other forms of community notification.</span>
** ''{{ll|Category:Page action extensions|''page action''}}'' – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that enhance or modify {{ll|Manual:Page action|page actions}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It does not include rights (use ''user rights'') or logs (use ''user activity'').</span>
** {{ll|Category:Search extensions|''search''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that search through and select pages for users.</span>
** {{ll|Category:Skin extensions|''skin''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.</span>
** {{ll|Category:Ajax extensions|''ajax''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that use [[w:AJAX|Ajax]] programming techniques.</span>
** {{ll|Category:Special page extensions|''special''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that subclass the {{Class doclink|SpecialPage}} class, use one of its hooks, or patch one or more functions in {{Git file|file=includes/specialpage/SpecialPage.php|text=SpecialPage.php}}. See {{ll|Manual:Special pages|Special pages}} for more information.</span>
* '''other'''
** {{ll|Category:Artificial intelligence extensions|''ai''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions related to [[w:Artificial intelligence|Artificial intelligence]].</span>
** {{ll|Category:API extensions|''api''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that add a new API module or extend a core API module.</span>
** {{ll|Category:Hook extensions|''hook''}} – <span lang="en" dir="ltr" class="mw-content-ltr">hook extension —defines a ''new'' hook— see {{para|hook1}}, etc. below if you want to define hooks ''used'' by your extension.</span>
** {{ll|Category:Database extensions|''database''}} – <span lang="en" dir="ltr" class="mw-content-ltr">adds tables and/or fields to the database backing a MediaWiki installation.</span>
** {{ll|Category:Data extraction extensions|''data extraction''}} – <span lang="en" dir="ltr" class="mw-content-ltr">data extraction.</span>
** {{ll|Category:File repository extensions|''filerepo''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extension that adds new file repository types as file backend.</span>
** {{ll|Category:Extension examples|''example''}} – <span lang="en" dir="ltr" class="mw-content-ltr">not a real extension, but an example of how to write one.</span>
** {{ll|Category:Beta Feature extensions|''beta features''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions that create new {{ll|Beta Features}}.</span>
** {{ll|Category:PHP extensions|''php''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions to the underlying {{ll|PHP}} programming language.</span>
** {{ll|Category:Internationalization extensions|''locale''}} – <span lang="en" dir="ltr" class="mw-content-ltr">extensions associated with [[Special:MyLanguage/Localisation|localisation]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type{{#translation:}}]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note: Many extensions have more than one type, if this applies to yours, replace {{para|type}} with {{para|type1}}, {{para|type2}}, {{para|type3}}… You may define up to six types for an extension.</span></td>
</tr>
<tr>
<td><span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook90''</td>
<td style="vertical-align: top;">'''<span lang="en" dir="ltr" class="mw-content-ltr">Name of each hook used by the extension.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">Entering values in this field is a good way to get exposure for your extension and help other developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each documented hook will automatically add the extension to a category listing extensions that use that hook.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This category is autolinked to each hook page so that programmers can easily find examples of extensions that use a particular hook.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
</div></td>
</tr>
<tr>
<td><span id="newhook">'''newhook1'''</span><br/>''newhook2''<br/>''newhook3''<br/>''newhook4''<br/>...<br/>''newhook90''</td>
<td style="vertical-align: top;">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Name of each hook provided by the extension.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You might also want to add the hooks to [[Extension hook registry]].
</div>
</td>
</tr>
<tr>
<td><span id="username">'''username'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The author's username on MediaWiki.org (if they have one).</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the author's user & user_talk page.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|author}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension author's name, if different from their MediaWiki.org username.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Free text.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If omitted then the 'username' field will be used (if present).</span></td>
</tr>
<tr>
<td>{{visible anchor|maintainer}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's current maintainer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">May be omitted, but if present it will be used to link to the maintainer's user & user_talk page, if the userpage exists.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td><span id="description">'''description'''</span></td><td>'''<span lang="en" dir="ltr" class="mw-content-ltr">Short description</span>'''</td>
</tr>
<tr>
<td>{{visible anchor|image}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Screenshot or logo of extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It should be provided without namespace and without <code><nowiki>[[]]</nowiki></code>s.</span></td>
</tr>
<tr>
<td>{{visible anchor|imagesize}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">''Facultative'', size of the image without adding px, e.g. 360 (default size is 300px)</span></td>
</tr>
<tr>
<td>{{visible anchor|version}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Last version</span></td>
</tr>
<tr>
<td>{{visible anchor|update}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update</span></td>
</tr>
<tr>
<td>{{visible anchor|version preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Preview version</span></td>
</tr>
<tr>
<td>{{visible anchor|update preview}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Date of the last update to the preview version</span></td>
</tr>
<tr>
<td><span id="compatibility_policy">compatibility policy</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Compatibility#mediawiki_extensions|Compatibility policy}} (accepted values: <code>master</code>, <code>main</code>, <code>rel</code>, <code>ltsrel</code>).</span> ({{ll|Category:Extensions without a compatibility policy|2=<span lang="en" dir="ltr" class="mw-content-ltr">backlog</span>}})</td>
</tr>
<tr>
<td>{{visible anchor|mediawiki}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Most extensions should not need to use this — it defaults to the value of the <code>{{Manual|Extension.json/Schema#requires|requires}}</code> property of {{manual|extension.json}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">See also {{ll|Category:Extensions without MediaWiki version}} and {{ll|Category:Extensions with manual MediaWiki version}}.</span></td>
</tr>
<tr>
<td>{{visible anchor|php}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Required version of PHP</span></td>
</tr>
<tr>
<td>{{visible anchor|needs-updatephp}}</td>
<td>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>yes</code> indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is a common pitfall: your MediaWiki will stall if you forget to run <code>update.php</code> when the extension requires it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr"><code>no</code> indicates that the extension does not need <code>update.php</code> to be run.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To avoid ambiguity this parameter should be set explicitly instead of relying on the absence of a <code>yes</code> to mean <code>no</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Extensions that conform to MediaWiki extension standards come with a '''schema change script which you need to start manually''' (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to <syntaxhighlight lang=php inline>$IP/extensions/ExtensionName</syntaxhighlight> and inserted <syntaxhighlight lang=php inline>wfLoadExtension( "ExtensionName" );</syntaxhighlight> into <code>LocalSettings.php</code>, run from the command line:
</div>
<code class="mw-code mw-highlight" style="display:block"><!--
-->{{#tag:span|cd|class=nb}} ''<span lang="en" dir="ltr" class="mw-content-ltr">path/to/wiki_install_directory</span>''
{{#tag:span|cd|class=nb}} maintenance
php run update.php
</code>
{{$IP}}</td>
</tr>
<tr>
<td><span id="composer">composer</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The extension's Composer package name, in the [https://getcomposer.org/doc/04-schema.md#name standard format].</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be automatically included if set in an extension's <code>composer.json</code> file (i.e. this parameter is not required in that case).</span> <span lang="en" dir="ltr" class="mw-content-ltr">It will be linked to the extension's page on [https://packagist.org/ Packagist].</span></td>
</tr>
<tr>
<td><span id="virtual_domain">virtual domain</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">The {{ll|Manual:$wgVirtualDomainsMapping|virtual database domain}} used by the extension.</span></td>
</tr>
<tr>
<td><span id="table1">'''table1'''</span><br/>''table2''<br/>''table3''<br/>''table4''<br/>...<br/>''table20''</td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Name of each ''non-core'' table used by the extension.'''</span><br/><br/>
<span lang="en" dir="ltr" class="mw-content-ltr">Links to a subpage of your extension page. For instance, "table1 = cu_changes" at {{ll|Extension:CheckUser|Extension:CheckUser}} will link to {{ll|Extension:CheckUser/cu_changes table|Extension:CheckUser/cu_changes table}}. Don't list core tables such as {{ll|Manual:Page table|page}} or {{ll|Manual:Revision table|revision}}; only list tables that are added by extensions.</span></td>
</tr>
<tr>
<td><span id="license">'''license1'''</span><br/>''license2''<br/>''license3''<br/>''license4''<br/>''license5''<br/><br/>'''license-alt'''</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">License(s) governing use of this extension, based on the codes found in {{ll|Template:Extension/FormatLicense}}, e.g. <code>GPL-2.0-or-later</code>, <code>GPL-2.0-only</code> or <code>GPL-3.0-or-later</code>, etc.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optionally, use {{para|license-alt}} to specify an '''''alternative''''' license that is also acceptable —at the user's discretion― instead of those mandated by {{para|license1}}, {{para|license2}}, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If the extension comprises several components that are each licensed under different terms, you're strongly encouraged to give the specifics in the main text.
</div>
</td>
</tr>
<tr>
<td><span id="download">'''download'''</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">'''Link to the download''' : [[phab:r/project/mediawiki/core|Git]], {{tl|WikimediaDownload{{#translation:}}}}.</span> </td>
</tr>
<tr>
<td><span id="show-popularity">'''show-popularity'''</span></td><td>Enable/disable popularity fields (Quarterly downloads and Public wikis using the extension) based on [[Template:Extension/popularity.json]], which may not reflect real usage</td>
</tr>
<td><span id="repo">repo</span></td><td><span lang="en" dir="ltr" class="mw-content-ltr">Name of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets {{para|download}}, and allows the template to automatically load data from the appropriate <code>extension.json</code> file.</span></td>
<tr>
<td>{{visible anchor|readme}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the <code>README</code> file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README</span></td>
</tr>
<tr>
<td>{{visible anchor|changelog}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">External link to the changelog file, e.g. [[Extension:GeoGebra/Changelog]].</span></td>
</tr>
<tr>
<td>{{visible anchor|help}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Link to user-help for the extension.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If not provided, will look for {{tmpl|0=<code>Help:Extension:$1</code>|''ExtensionName''}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If provided, full wikitext link should be given (because you may want to link to e.g. an external page).</span></td>
</tr>
<tr>
<td>{{visible anchor|example}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Example, website or screenshot of working extension.</span></td>
</tr>
<tr>
<td>{{visible anchor|namespace}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:Namespace|Namespace]] in which this extension is used.</span></td>
</tr>
<tr>
<td>{{visible anchor|parameters}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Available parameters for <code>LocalSettings.php</code>.</span></td>
</tr>
<tr>
<td>{{visible anchor|tags}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Any tags your extension uses (e.g. <tag1>, <tag2>).</span></td>
</tr>
<tr>
<td>{{visible anchor|rights}}</td>
<td><span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Manual:User rights|Rights]] added by the extension.</span> '''<span lang="en" dir="ltr" class="mw-content-ltr">Not to be confused with the licence!</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Rights are such as ''{{ll|Manual:User rights#edit|edit}}'' or ''{{ll|Manual:User rights#createpage|createpage}}'', not such as GFDL or LGPL or GPL - those are licences!</span></td>
</tr>
<tr>
<td>{{visible anchor|compatibility}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Additional compatibility information, for instance compatibility charts. It's encouraged to add any client-side compatibility information here too, especially when diverging from [[Special:MyLanguage/Compatibility#Browsers|expectations of full support for a browser]].</span></td>
</tr>
<tr>
<td>{{visible anchor|bugzilla}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Bugzilla}} MediaWiki extension component name</span></td>
</tr>
<tr>
<td>{{visible anchor|phabricator}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|Phabricator}} project name</span></td>
</tr>
<tr>
<td>{{visible anchor|translate}}</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
Optional parameter to link the exact page where ([[Special:MyLanguage/Help:Extension:Translate/Glossary|message group id]] with which) the extension will be translatable on [[translatewiki.net]] if enabled. If the default link is incorrect, manually set it to:
* ext-LOWERCASE(NOSPACES(Label as defined in {{git file|project=translatewiki|branch=HEAD|file=groups/MediaWiki/ExtensionsAgg.yaml|text=config}})), aka
* the parameter you get in the URL after
** typing the name of the extension in the search/filter box at [[translatewiki:Special:Translate]] or
** searching for its name in [https://translatewiki.net/w/i.php?title=Special%3ALanguageStats&x=D languagestats] after clicking "expand all".
</div>
</td>
</tr>
<tr>
<td>{{visible anchor|vagrant-role}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">{{ll|MediaWiki-Vagrant}} role</span></td>
</tr>
<tr>
<td>{{visible anchor|CheckUsageNameOverride}}</td><td><span lang="en" dir="ltr" class="mw-content-ltr">Override the page name used for the check usage link.</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Control parameters ==
</div>
<table class="wikitable">
<caption>'''<span lang="en" dir="ltr" class="mw-content-ltr">Control parameters</span>'''</caption>
<tr>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Parameter</span></th>
<th><span lang="en" dir="ltr" class="mw-content-ltr">Description</span></th>
</tr>
<tr>
<td>'''templatemode'''</td>
<td>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Controls auto-categorisation of host page.'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Normally left blank. Alternate values are:
</div>
* ''nocats'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses categorisation and the 'check usage' link. Use this value if you are adding this template to [[Special:MyLanguage/Help:Subpage|subpages]] of an extension or to how-to documentation of extensions. For example, the usage image above sets <code>templatemode=nocats</code> because this isn't an actual extension page and we don't want to add this page to any categories on account of it.</span>
* ''nousage'' - <span lang="en" dir="ltr" class="mw-content-ltr">suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If this is left blank, this template will add the host page to [[:Category:All extensions{{#translation:}}]] and to one or more additional categories, depending on the values assigned to the [[#Content parameters|Content parameters]].</span></td>
</tr>
</table>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Using the infobox ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Existing extension pages ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to add the infobox to an existing page, copy and paste the code at the [[#CutAndPaste|top of this page]].
</div>
{{anchor|Create a new extension article}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new extension page ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to create a new extension page, enter the name below and click the button.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A new page will be created with the infobox template already in place.</span>
{{Extension/CreateExtensionInputBox}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Enhancing this template ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">If you would like to improve on this template, thanks!</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a complicated template so here is some help along the way:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== The Create extension button ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To improve the create extension button behavior:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''{{ll|Template:Extension/Sample}}:''' The boilerplate extension that is preloaded into newly-created pages.
* '''{{ll|Template:Extension/CreateExtensionInputBox}}:''' An input box that can be inserted wherever you want users to easily create extensions. For documentation on the {{tag|inputbox|open}} tag, please see {{ll|Extension:InputBox|Extension:InputBox}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Infobox parameters ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In general:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the [[Special:MyLanguage/Template:Extension#Content parameters|content parameter documentation]] and link its label to that documentation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change/correct/add to the implementation type parameters:
* Check the [[Template_talk:Extension|talk page]] - there have been some extensive discussions about this field.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* The valid types and what they link to are defined at [[Module:Extension]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To change the behavior of the hook parameters:
</div>
* '''{{ll|Template:Extension/HookInUse}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Adds links and categories for a hook in use.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Multiple hooks in use are implemented by calling this template with {{ll|Template:Foreach}}.</span>
* '''{{ll|Template:Extension/HookInUseNoCats}}''' - <span lang="en" dir="ltr" class="mw-content-ltr">Used instead of {{ll|Template:Extension/HookInUse}} when this template is used in <code>templatemode=nocats</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Templates used with {{ll|Template:Foreach}} can only take one parameter so we need to wrap the call to {{ll|Template:Extension/HookInUse}} with another template that sets the mode.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Test case ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See if the following pages are still ok after editing this template.
</div>
* [[Extension:Description2]]
* [[Template:Extension]]
{{Extension/doc}}
}}
Maintenance:
[[Special:WhatLinksHere/Template:Extension/vulnerabilities|vulnerabilities]],
[[Special:WhatLinksHere/Template:Extension/archived|archived]]
[[Category:Infobox templates{{#translation:}}|{{PAGENAME}}]]
</noinclude>
2sbfcm7p5u7eniwb4ebo93wlvptnihk
MediaWiki:Gadget-popups.js
8
44683
8390107
6169756
2026-05-24T17:55:19Z
WikiBayer
2371377
8390107
javascript
text/javascript
// STARTFILE: main.js
// **********************************************************************
// ** **
// ** changes to this file affect many users. **
// ** please discuss on the talk page before editing **
// ** **
// **********************************************************************
// ** **
// ** if you do edit this file, be sure that your editor recognizes it **
// ** as utf8, or the weird and wonderful characters in the namespaces **
// ** below will be completely broken. You can check with the show **
// ** changes button before submitting the edit. **
// ** test: مدیا מיוחד Мэдыя **
// ** **
// **********************************************************************
/* eslint-env browser */
/* global $, jQuery, mw, window */
// Fix later
/* global log, errlog, popupStrings, wikEdUseWikEd, WikEdUpdateFrame */
/* eslint no-mixed-spaces-and-tabs: 0, no-empty: 0 */
$(function () {
//////////////////////////////////////////////////
// Globals
//
// Trying to shove as many of these as possible into the pg (popup globals) object
var pg = {
re: {}, // regexps
ns: {}, // namespaces
string: {}, // translatable strings
wiki: {}, // local site info
user: {}, // current user info
misc: {}, // YUCK PHOOEY
option: {}, // options, see newOption etc
optionDefault: {}, // default option values
flag: {}, // misc flags
cache: {}, // page and image cache
structures: {}, // navlink structures
timer: {}, // all sorts of timers (too damn many)
counter: {}, // .. and all sorts of counters
current: {}, // state info
fn: {}, // functions
endoflist: null
};
/* Bail if the gadget/script is being loaded twice */
if( window.pg ) {
return;
}
/* Export to global context */
window.pg = pg;
/// Local Variables: ///
/// mode:c ///
/// End: ///
// ENDFILE: main.js
// STARTFILE: actions.js
function setupTooltips(container, remove, force, popData) {
log('setupTooltips, container='+container+', remove='+remove);
if (!container) {
//<NOLITE>
// the main initial call
if (getValueOf('popupOnEditSelection') && document && document.editform && document.editform.wpTextbox1) {
document.editform.wpTextbox1.onmouseup=doSelectionPopup;
}
//</NOLITE>
// article/content is a structure-dependent thing
container = defaultPopupsContainer();
}
if (!remove && !force && container.ranSetupTooltipsAlready) { return; }
container.ranSetupTooltipsAlready = !remove;
var anchors;
anchors=container.getElementsByTagName('A');
setupTooltipsLoop(anchors, 0, 250, 100, remove, popData);
}
function defaultPopupsContainer() {
if (getValueOf('popupOnlyArticleLinks')) {
return document.getElementById('mw_content') ||
document.getElementById('content') ||
document.getElementById('article') || document;
}
return document;
}
function setupTooltipsLoop(anchors,begin,howmany,sleep, remove, popData) {
log(simplePrintf('setupTooltipsLoop(%s,%s,%s,%s,%s)', arguments));
var finish=begin+howmany;
var loopend = Math.min(finish, anchors.length);
var j=loopend - begin;
log ('setupTooltips: anchors.length=' + anchors.length + ', begin=' + begin +
', howmany=' + howmany + ', loopend=' + loopend + ', remove=' + remove);
var doTooltip= remove ? removeTooltip : addTooltip;
// try a faster (?) loop construct
if (j > 0) {
do {
var a=anchors[loopend - j];
if (typeof a==='undefined' || !a || !a.href) {
log('got null anchor at index ' + loopend - j);
continue;
}
doTooltip(a, popData);
} while (--j);
}
if (finish < anchors.length) {
setTimeout(function() {
setupTooltipsLoop(anchors,finish,howmany,sleep,remove,popData);},
sleep);
} else {
if ( !remove && ! getValueOf('popupTocLinks')) { rmTocTooltips(); }
pg.flag.finishedLoading=true;
}
}
// eliminate popups from the TOC
// This also kills any onclick stuff that used to be going on in the toc
function rmTocTooltips() {
var toc=document.getElementById('toc');
if (toc) {
var tocLinks=toc.getElementsByTagName('A');
var tocLen = tocLinks.length;
for (var j=0; j<tocLen; ++j) {
removeTooltip(tocLinks[j], true);
}
}
}
function addTooltip(a, popData) {
if ( !isPopupLink(a) ) { return; }
a.onmouseover=mouseOverWikiLink;
a.onmouseout= mouseOutWikiLink;
a.onmousedown = killPopup;
a.hasPopup = true;
a.popData = popData;
}
function removeTooltip(a) {
if ( !a.hasPopup ) { return; }
a.onmouseover = null;
a.onmouseout = null;
if (a.originalTitle) { a.title = a.originalTitle; }
a.hasPopup=false;
}
function removeTitle(a) {
if (!a.originalTitle) {
a.originalTitle=a.title;
}
a.title='';
}
function restoreTitle(a) {
if ( a.title || !a.originalTitle ) { return; }
a.title = a.originalTitle;
}
function registerHooks(np) {
var popupMaxWidth=getValueOf('popupMaxWidth');
if (typeof popupMaxWidth === 'number') {
var setMaxWidth = function () {
np.mainDiv.style.maxWidth = popupMaxWidth + 'px';
np.maxWidth = popupMaxWidth;
};
np.addHook(setMaxWidth, 'unhide', 'before');
}
//<NOLITE>
np.addHook(addPopupShortcuts, 'unhide', 'after');
np.addHook(rmPopupShortcuts, 'hide', 'before');
//</NOLITE>
}
function removeModifierKeyHandler(a) {
//remove listeners for modifier key if any that were added in mouseOverWikiLink
document.removeEventListener('keydown', a.modifierKeyHandler, false);
document.removeEventListener('keyup', a.modifierKeyHandler, false);
}
function mouseOverWikiLink(evt) {
if (!evt && window.event) {evt=window.event;}
// if the modifier is needed, listen for it,
// we will remove the listener when we mouseout of this link or kill popup.
if (getValueOf('popupModifier')) {
// if popupModifierAction = enable, we should popup when the modifier is pressed
// if popupModifierAction = disable, we should popup unless the modifier is pressed
var action = getValueOf('popupModifierAction');
var key = action=='disable' ? 'keyup' : 'keydown';
var a = this;
a.modifierKeyHandler = function(evt) {
mouseOverWikiLink2(a, evt);
};
document.addEventListener(key, a.modifierKeyHandler, false);
}
return mouseOverWikiLink2(this, evt);
}
/**
* Gets the references list item that the provided footnote link targets. This
* is typically a li element within the ol.references element inside the reflist.
* @param {Element} a - A footnote link.
* @returns {Element|boolean} The targeted element, or false if one can't be found.
*/
function footnoteTarget(a) {
var aTitle=Title.fromAnchor(a);
// We want ".3A" rather than "%3A" or "?" here, so use the anchor property directly
var anch = aTitle.anchor;
if ( ! /^(cite_note-|_note-|endnote)/.test(anch) ) { return false; }
var lTitle=Title.fromURL(location.href);
if ( lTitle.toString(true) !== aTitle.toString(true) ) { return false; }
var el=document.getElementById(anch);
while ( el && typeof el.nodeName === 'string') {
var nt = el.nodeName.toLowerCase();
if ( nt === 'li' ) { return el; }
else if ( nt === 'body' ) { return false; }
else if ( el.parentNode ) { el=el.parentNode; }
else { return false; }
}
return false;
}
function footnotePreview(x, navpop) {
setPopupHTML('<hr />' + x.innerHTML, 'popupPreview', navpop.idNumber);
}
function modifierPressed(evt) {
var mod=getValueOf('popupModifier');
if (!mod) { return false; }
if (!evt && window.event) {evt=window.event;}
return ( evt && mod && evt[mod.toLowerCase() + 'Key'] );
}
// Checks if the correct modifier pressed/unpressed if needed
function isCorrectModifier(a,evt) {
if (!getValueOf('popupModifier')) { return true; }
// if popupModifierAction = enable, we should popup when the modifier is pressed
// if popupModifierAction = disable, we should popup unless the modifier is pressed
var action = getValueOf('popupModifierAction');
return ( action == 'enable' && modifierPressed(evt) ||
action == 'disable' && !modifierPressed(evt) );
}
function mouseOverWikiLink2(a, evt) {
if (!isCorrectModifier(a,evt)) { return; }
if ( getValueOf('removeTitles') ) { removeTitle(a); }
if ( a==pg.current.link && a.navpopup && a.navpopup.isVisible() ) { return; }
pg.current.link=a;
if (getValueOf('simplePopups') && !pg.option.popupStructure) {
// reset *default value* of popupStructure
setDefault('popupStructure', 'original');
}
var article=(new Title()).fromAnchor(a);
// set global variable (ugh) to hold article (wikipage)
pg.current.article = article;
if (!a.navpopup) {
a.navpopup=newNavpopup(a, article);
pg.current.linksHash[a.href] = a.navpopup;
pg.current.links.push(a);
}
if (a.navpopup.pending === null || a.navpopup.pending !== 0) {
// either fresh popups or those with unfinshed business are redone from scratch
simplePopupContent(a, article);
}
a.navpopup.showSoonIfStable(a.navpopup.delay);
clearInterval(pg.timer.checkPopupPosition);
pg.timer.checkPopupPosition=setInterval(checkPopupPosition, 600);
if(getValueOf('simplePopups')) {
if (getValueOf('popupPreviewButton') && !a.simpleNoMore) {
var d=document.createElement('div');
d.className='popupPreviewButtonDiv';
var s=document.createElement('span');
d.appendChild(s);
s.className='popupPreviewButton';
s['on' + getValueOf('popupPreviewButtonEvent')] = function() {
a.simpleNoMore=true;
d.style.display = "none";
nonsimplePopupContent(a,article);
};
s.innerHTML=popupString('show preview');
setPopupHTML(d, 'popupPreview', a.navpopup.idNumber);
}
}
if (a.navpopup.pending !== 0 ) {
nonsimplePopupContent(a, article);
}
}
// simplePopupContent: the content that do not require additional download
// (it is shown even when simplePopups is true)
function simplePopupContent(a, article) {
/* FIXME hack */ a.navpopup.hasPopupMenu=false;
a.navpopup.setInnerHTML(popupHTML(a));
fillEmptySpans({navpopup:a.navpopup});
if (getValueOf('popupDraggable'))
{
var dragHandle = getValueOf('popupDragHandle') || null;
if (dragHandle && dragHandle != 'all') {
dragHandle += a.navpopup.idNumber;
}
setTimeout(function(){a.navpopup.makeDraggable(dragHandle);}, 150);
}
//<NOLITE>
if (getValueOf('popupRedlinkRemoval') && a.className=='new') {
setPopupHTML('<br>'+popupRedlinkHTML(article), 'popupRedlink', a.navpopup.idNumber);
}
//</NOLITE>
}
function debugData(navpopup) {
if(getValueOf('popupDebugging') && navpopup.idNumber) {
setPopupHTML('idNumber='+navpopup.idNumber + ', pending=' + navpopup.pending,
'popupError', navpopup.idNumber);
}
}
function newNavpopup(a, article) {
var navpopup = new Navpopup();
navpopup.fuzz=5;
navpopup.delay=getValueOf('popupDelay')*1000;
// increment global counter now
navpopup.idNumber = ++pg.idNumber;
navpopup.parentAnchor = a;
navpopup.parentPopup = (a.popData && a.popData.owner);
navpopup.article = article;
registerHooks(navpopup);
return navpopup;
}
// Should we show nonsimple context?
// If simplePopups is set to true, then we do not show nonsimple context,
// but if a bottom "show preview" was clicked we do show nonsimple context
function shouldShowNonSimple(a) {
return !getValueOf('simplePopups') || a.simpleNoMore;
}
// Should we show nonsimple context govern by the option (e.g. popupUserInfo)?
// If the user explicitly asked for nonsimple context by setting the option to true,
// then we show it even in nonsimple mode.
function shouldShow(a,option) {
if (shouldShowNonSimple(a)) {
return getValueOf(option);
} else {
return (typeof window[option] != 'undefined' ) && window[option];
}
}
function nonsimplePopupContent(a, article) {
var diff=null, history=null;
var params=parseParams(a.href);
var oldid=(typeof params.oldid=='undefined' ? null : params.oldid);
//<NOLITE>
if(shouldShow(a,'popupPreviewDiffs')) {
diff=params.diff;
}
if(shouldShow(a,'popupPreviewHistory')) {
history=(params.action=='history');
}
//</NOLITE>
a.navpopup.pending=0;
var referenceElement = footnoteTarget(a);
if (referenceElement) {
footnotePreview(referenceElement, a.navpopup);
//<NOLITE>
} else if ( diff || diff === 0 ) {
loadDiff(article, oldid, diff, a.navpopup);
} else if ( history ) {
loadAPIPreview('history', article, a.navpopup);
} else if ( shouldShowNonSimple(a) && pg.re.contribs.test(a.href) ) {
loadAPIPreview('contribs', article, a.navpopup);
} else if ( shouldShowNonSimple(a) && pg.re.backlinks.test(a.href) ) {
loadAPIPreview('backlinks', article, a.navpopup);
} else if ( // FIXME should be able to get all preview combinations with options
article.namespaceId()==pg.nsImageId &&
( shouldShow(a,'imagePopupsForImages') || ! anchorContainsImage(a) )
) {
loadAPIPreview('imagepagepreview', article, a.navpopup);
loadImage(article, a.navpopup);
//</NOLITE>
} else {
if (article.namespaceId() == pg.nsCategoryId &&
shouldShow(a,'popupCategoryMembers')) {
loadAPIPreview('category', article, a.navpopup);
} else if ((article.namespaceId() == pg.nsUserId || article.namespaceId() == pg.nsUsertalkId) &&
shouldShow(a,'popupUserInfo')) {
loadAPIPreview('userinfo', article, a.navpopup);
}
if (shouldShowNonSimple(a)) startArticlePreview(article, oldid, a.navpopup);
}
}
function pendingNavpopTask(navpop) {
if (navpop && navpop.pending === null) { navpop.pending=0; }
++navpop.pending;
debugData(navpop);
}
function completedNavpopTask(navpop) {
if (navpop && navpop.pending) { --navpop.pending; }
debugData(navpop);
}
function startArticlePreview(article, oldid, navpop) {
navpop.redir=0;
loadPreview(article, oldid, navpop);
}
function loadPreview(article, oldid, navpop) {
if (!navpop.redir) { navpop.originalArticle=article; }
article.oldid = oldid;
loadAPIPreview('revision', article, navpop);
}
function loadPreviewFromRedir(redirMatch, navpop) {
// redirMatch is a regex match
var target = new Title().fromWikiText(redirMatch[2]);
// overwrite (or add) anchor from original target
// mediawiki does overwrite; eg [[User:Lupin/foo3#Done]]
if ( navpop.article.anchor ) { target.anchor = navpop.article.anchor; }
navpop.redir++;
navpop.redirTarget=target;
//<NOLITE>
var warnRedir = redirLink(target, navpop.article);
setPopupHTML(warnRedir, 'popupWarnRedir', navpop.idNumber);
//</NOLITE>
navpop.article=target;
fillEmptySpans({redir: true, redirTarget: target, navpopup:navpop});
return loadPreview(target, null, navpop);
}
function insertPreview(download) {
if (!download.owner) { return; }
var redirMatch = pg.re.redirect.exec(download.data);
if (download.owner.redir === 0 && redirMatch) {
loadPreviewFromRedir(redirMatch, download.owner);
return;
}
if (download.owner.visible || !getValueOf('popupLazyPreviews')) {
insertPreviewNow(download);
} else {
var id=(download.owner.redir) ? 'PREVIEW_REDIR_HOOK' : 'PREVIEW_HOOK';
download.owner.addHook( function(){insertPreviewNow(download); return true;},
'unhide', 'after', id );
}
}
function insertPreviewNow(download) {
if (!download.owner) { return; }
var wikiText=download.data;
var navpop=download.owner;
var art=navpop.redirTarget || navpop.originalArticle;
//<NOLITE>
makeFixDabs(wikiText, navpop, download.pageprops);
if (getValueOf('popupSummaryData')) {
getPageInfo(wikiText, download);
setPopupTrailer(getPageInfo(wikiText, download), navpop.idNumber);
}
var imagePage='';
if (art.namespaceId()==pg.nsImageId) { imagePage=art.toString(); }
else { imagePage=getValidImageFromWikiText(wikiText); }
if(imagePage) { loadImage(Title.fromWikiText(imagePage), navpop); }
//</NOLITE>
if (getValueOf('popupPreviews')) { insertArticlePreview(download, art, navpop); }
}
function insertArticlePreview(download, art, navpop) {
if (download && typeof download.data == typeof ''){
if (art.namespaceId()==pg.nsTemplateId && getValueOf('popupPreviewRawTemplates')) {
// FIXME compare/consolidate with diff escaping code for wikitext
var h='<hr /><span style="font-family: monospace;">' + download.data.entify().split('\\n').join('<br />\\n') + '</span>';
setPopupHTML(h, 'popupPreview', navpop.idNumber);
}
else {
var p=prepPreviewmaker(download.data, art, navpop);
p.showPreview();
}
}
}
function prepPreviewmaker(data, article, navpop) {
// deal with tricksy anchors
var d=anchorize(data, article.anchorString());
var urlBase=joinPath([pg.wiki.articlebase, article.urlString()]);
var p=new Previewmaker(d, urlBase, navpop);
return p;
}
// Try to imitate the way mediawiki generates HTML anchors from section titles
function anchorize(d, anch) {
if (!anch) { return d; }
var anchRe=RegExp('(?:=+\\s*' + literalizeRegex(anch).replace(/[_ ]/g, '[_ ]') + '\\s*=+|\\{\\{\\s*'+getValueOf('popupAnchorRegexp')+'\\s*(?:\\|[^|}]*)*?\\s*'+literalizeRegex(anch)+'\\s*(?:\\|[^}]*)?}})');
var match=d.match(anchRe);
if(match && match.length > 0 && match[0]) { return d.substring(d.indexOf(match[0])); }
// now try to deal with == foo [[bar|baz]] boom == -> #foo_baz_boom
var lines=d.split('\n');
for (var i=0; i<lines.length; ++i) {
lines[i]=lines[i].replace(RegExp('[[]{2}([^|\\]]*?[|])?(.*?)[\\]]{2}', 'g'), '$2')
.replace(/'''([^'])/g, '$1').replace(RegExp("''([^'])", 'g'), '$1');
if (lines[i].match(anchRe)) {
return d.split('\n').slice(i).join('\n').replace(RegExp('^[^=]*'), '');
}
}
return d;
}
function killPopup() {
removeModifierKeyHandler(this);
if (getValueOf('popupShortcutKeys')) { rmPopupShortcuts(); }
if (!pg) { return; }
if (pg.current.link && pg.current.link.navpopup) { pg.current.link.navpopup.banish(); }
pg.current.link=null;
abortAllDownloads();
if (pg.timer.checkPopupPosition) {
clearInterval(pg.timer.checkPopupPosition);
pg.timer.checkPopupPosition=null;
}
return true; // preserve default action
}
// ENDFILE: actions.js
// STARTFILE: domdrag.js
/**
@fileoverview
The {@link Drag} object, which enables objects to be dragged around.
<pre>
*************************************************
dom-drag.js
09.25.2001
www.youngpup.net
**************************************************
10.28.2001 - fixed minor bug where events
sometimes fired off the handle, not the root.
*************************************************
Pared down, some hooks added by [[User:Lupin]]
Copyright Aaron Boodman.
Saying stupid things daily since March 2001.
</pre>
*/
/**
Creates a new Drag object. This is used to make various DOM elements draggable.
@constructor
*/
function Drag () {
/**
Condition to determine whether or not to drag. This function should take one parameter, an Event.
To disable this, set it to <code>null</code>.
@type Function
*/
this.startCondition = null;
/**
Hook to be run when the drag finishes. This is passed the final coordinates of
the dragged object (two integers, x and y). To disables this, set it to <code>null</code>.
@type Function
*/
this.endHook = null;
}
/**
Gets an event in a cross-browser manner.
@param {Event} e
@private
*/
Drag.prototype.fixE = function(e) {
if (typeof e == 'undefined') { e = window.event; }
if (typeof e.layerX == 'undefined') { e.layerX = e.offsetX; }
if (typeof e.layerY == 'undefined') { e.layerY = e.offsetY; }
return e;
};
/**
Initialises the Drag instance by telling it which object you want to be draggable, and what you want to drag it by.
@param {DOMElement} o The "handle" by which <code>oRoot</code> is dragged.
@param {DOMElement} oRoot The object which moves when <code>o</code> is dragged, or <code>o</code> if omitted.
*/
Drag.prototype.init = function(o, oRoot) {
var dragObj = this;
this.obj = o;
o.onmousedown = function(e) { dragObj.start.apply( dragObj, [e]); };
o.dragging = false;
o.popups_draggable = true;
o.hmode = true;
o.vmode = true;
o.root = oRoot ? oRoot : o ;
if (isNaN(parseInt(o.root.style.left, 10))) { o.root.style.left = "0px"; }
if (isNaN(parseInt(o.root.style.top, 10))) { o.root.style.top = "0px"; }
o.root.onthisStart = function(){};
o.root.onthisEnd = function(){};
o.root.onthis = function(){};
};
/**
Starts the drag.
@private
@param {Event} e
*/
Drag.prototype.start = function(e) {
var o = this.obj; // = this;
e = this.fixE(e);
if (this.startCondition && !this.startCondition(e)) { return; }
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom, 10);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right, 10);
o.root.onthisStart(x, y);
o.lastMouseX = e.clientX;
o.lastMouseY = e.clientY;
var dragObj = this;
o.onmousemoveDefault = document.onmousemove;
o.dragging = true;
document.onmousemove = function(e) { dragObj.drag.apply( dragObj, [e] ); };
document.onmouseup = function(e) { dragObj.end.apply( dragObj, [e] ); };
return false;
};
/**
Does the drag.
@param {Event} e
@private
*/
Drag.prototype.drag = function(e) {
e = this.fixE(e);
var o = this.obj;
var ey = e.clientY;
var ex = e.clientX;
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom, 10);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right, 10 );
var nx, ny;
nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
this.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
this.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
this.obj.lastMouseX = ex;
this.obj.lastMouseY = ey;
this.obj.root.onthis(nx, ny);
return false;
};
/**
Ends the drag.
@private
*/
Drag.prototype.end = function() {
document.onmousemove=this.obj.onmousemoveDefault;
document.onmouseup = null;
this.obj.dragging = false;
if (this.endHook) {
this.endHook( parseInt(this.obj.root.style[this.obj.hmode ? "left" : "right"], 10),
parseInt(this.obj.root.style[this.obj.vmode ? "top" : "bottom"], 10));
}
};
// ENDFILE: domdrag.js
// STARTFILE: structures.js
//<NOLITE>
pg.structures.original={};
pg.structures.original.popupLayout=function () {
return ['popupError', 'popupImage', 'popupTopLinks', 'popupTitle',
'popupUserData', 'popupData', 'popupOtherLinks',
'popupRedir', ['popupWarnRedir', 'popupRedirTopLinks',
'popupRedirTitle', 'popupRedirData', 'popupRedirOtherLinks'],
'popupMiscTools', ['popupRedlink'],
'popupPrePreviewSep', 'popupPreview', 'popupSecondPreview', 'popupPreviewMore', 'popupPostPreview', 'popupFixDab'];
};
pg.structures.original.popupRedirSpans=function () {
return ['popupRedir', 'popupWarnRedir', 'popupRedirTopLinks',
'popupRedirTitle', 'popupRedirData', 'popupRedirOtherLinks'];
};
pg.structures.original.popupTitle=function (x) {
log ('defaultstructure.popupTitle');
if (!getValueOf('popupNavLinks')) {
return navlinkStringToHTML('<b><<mainlink>></b>',x.article,x.params);
}
return '';
};
pg.structures.original.popupTopLinks=function (x) {
log ('defaultstructure.popupTopLinks');
if (getValueOf('popupNavLinks')) { return navLinksHTML(x.article, x.hint, x.params); }
return '';
};
pg.structures.original.popupImage=function(x) {
log ('original.popupImage, x.article='+x.article+', x.navpop.idNumber='+x.navpop.idNumber);
return imageHTML(x.article, x.navpop.idNumber);
};
pg.structures.original.popupRedirTitle=pg.structures.original.popupTitle;
pg.structures.original.popupRedirTopLinks=pg.structures.original.popupTopLinks;
function copyStructure(oldStructure, newStructure) {
pg.structures[newStructure]={};
for (var prop in pg.structures[oldStructure]) {
pg.structures[newStructure][prop]=pg.structures[oldStructure][prop];
}
}
copyStructure('original', 'nostalgia');
pg.structures.nostalgia.popupTopLinks=function(x) {
var str='';
str += '<b><<mainlink|shortcut= >></b>';
// user links
// contribs - log - count - email - block
// count only if applicable; block only if popupAdminLinks
str += 'if(user){<br><<contribs|shortcut=c>>';
str+='if(wikimedia){*<<count|shortcut=#>>}';
str+='if(ipuser){}else{*<<email|shortcut=E>>}if(admin){*<<block|shortcut=b>>}}';
// editing links
// talkpage -> edit|new - history - un|watch - article|edit
// other page -> edit - history - un|watch - talk|edit|new
var editstr='<<edit|shortcut=e>>';
var editOldidStr='if(oldid){<<editOld|shortcut=e>>|<<revert|shortcut=v|rv>>|<<edit|cur>>}else{' +
editstr + '}';
var historystr='<<history|shortcut=h>>';
var watchstr='<<unwatch|unwatchShort>>|<<watch|shortcut=w|watchThingy>>';
str += '<br>if(talk){' +
editOldidStr+'|<<new|shortcut=+>>' + '*' + historystr+'*'+watchstr + '*' +
'<b><<article|shortcut=a>></b>|<<editArticle|edit>>' +
'}else{' + // not a talk page
editOldidStr + '*' + historystr + '*' + watchstr + '*' +
'<b><<talk|shortcut=t>></b>|<<editTalk|edit>>|<<newTalk|shortcut=+|new>>}';
// misc links
str += '<br><<whatLinksHere|shortcut=l>>*<<relatedChanges|shortcut=r>>';
str += 'if(admin){<br>}else{*}<<move|shortcut=m>>';
// admin links
str += 'if(admin){*<<unprotect|unprotectShort>>|<<protect|shortcut=p>>*' +
'<<undelete|undeleteShort>>|<<delete|shortcut=d>>}';
return navlinkStringToHTML(str, x.article, x.params);
};
pg.structures.nostalgia.popupRedirTopLinks=pg.structures.nostalgia.popupTopLinks;
/** -- fancy -- **/
copyStructure('original', 'fancy');
pg.structures.fancy.popupTitle=function (x) {
return navlinkStringToHTML('<font size=+0><<mainlink>></font>',x.article,x.params);
};
pg.structures.fancy.popupTopLinks=function(x) {
var hist='<<history|shortcut=h|hist>>|<<lastEdit|shortcut=/|last>>|<<editors|shortcut=E|eds>>';
var watch='<<unwatch|unwatchShort>>|<<watch|shortcut=w|watchThingy>>';
var move='<<move|shortcut=m|move>>';
return navlinkStringToHTML('if(talk){' +
'<<edit|shortcut=e>>|<<new|shortcut=+|+>>*' + hist + '*' +
'<<article|shortcut=a>>|<<editArticle|edit>>' + '*' + watch + '*' + move +
'}else{<<edit|shortcut=e>>*' + hist +
'*<<talk|shortcut=t|>>|<<editTalk|edit>>|<<newTalk|shortcut=+|new>>' +
'*' + watch + '*' + move+'}<br>', x.article, x.params);
};
pg.structures.fancy.popupOtherLinks=function(x) {
var admin='<<unprotect|unprotectShort>>|<<protect|shortcut=p>>*<<undelete|undeleteShort>>|<<delete|shortcut=d|del>>';
var user='<<contribs|shortcut=c>>if(wikimedia){|<<count|shortcut=#|#>>}';
user+='if(ipuser){|<<arin>>}else{*<<email|shortcut=E|'+
popupString('email')+'>>}if(admin){*<<block|shortcut=b>>}';
var normal='<<whatLinksHere|shortcut=l|links here>>*<<relatedChanges|shortcut=r|related>>';
return navlinkStringToHTML('<br>if(user){' + user + '*}if(admin){'+admin+'if(user){<br>}else{*}}' + normal,
x.article, x.params);
};
pg.structures.fancy.popupRedirTitle=pg.structures.fancy.popupTitle;
pg.structures.fancy.popupRedirTopLinks=pg.structures.fancy.popupTopLinks;
pg.structures.fancy.popupRedirOtherLinks=pg.structures.fancy.popupOtherLinks;
/** -- fancy2 -- **/
// hack for [[User:MacGyverMagic]]
copyStructure('fancy', 'fancy2');
pg.structures.fancy2.popupTopLinks=function(x) { // hack out the <br> at the end and put one at the beginning
return '<br>'+pg.structures.fancy.popupTopLinks(x).replace(RegExp('<br>$','i'),'');
};
pg.structures.fancy2.popupLayout=function () { // move toplinks to after the title
return ['popupError', 'popupImage', 'popupTitle', 'popupUserData', 'popupData', 'popupTopLinks', 'popupOtherLinks',
'popupRedir', ['popupWarnRedir', 'popupRedirTopLinks', 'popupRedirTitle', 'popupRedirData', 'popupRedirOtherLinks'],
'popupMiscTools', ['popupRedlink'],
'popupPrePreviewSep', 'popupPreview', 'popupSecondPreview', 'popupPreviewMore', 'popupPostPreview', 'popupFixDab'];
};
/** -- menus -- **/
copyStructure('original', 'menus');
pg.structures.menus.popupLayout=function () {
return ['popupError', 'popupImage', 'popupTopLinks', 'popupTitle', 'popupOtherLinks',
'popupRedir', ['popupWarnRedir', 'popupRedirTopLinks', 'popupRedirTitle', 'popupRedirData', 'popupRedirOtherLinks'],
'popupUserData', 'popupData', 'popupMiscTools', ['popupRedlink'],
'popupPrePreviewSep', 'popupPreview', 'popupSecondPreview', 'popupPreviewMore', 'popupPostPreview', 'popupFixDab'];
};
pg.structures.menus.popupTopLinks = function (x, shorter) {
// FIXME maybe this stuff should be cached
var s=[];
var dropdiv='<div class="popup_drop">';
var enddiv='</div>';
var hist='<<history|shortcut=h>>';
if (!shorter) { hist = '<menurow>' + hist +
'|<<historyfeed|rss>>|<<editors|shortcut=E>></menurow>'; }
var lastedit='<<lastEdit|shortcut=/|show last edit>>';
var thank='if(diff){<<thank|send thanks>>}';
var jsHistory='<<lastContrib|last set of edits>><<sinceMe|changes since mine>>';
var linkshere='<<whatLinksHere|shortcut=l|what links here>>';
var related='<<relatedChanges|shortcut=r|related changes>>';
var search='<menurow><<search|shortcut=s>>if(wikimedia){|<<globalsearch|shortcut=g|global>>}' +
'|<<google|shortcut=G|web>></menurow>';
var watch='<menurow><<unwatch|unwatchShort>>|<<watch|shortcut=w|watchThingy>></menurow>';
var protect='<menurow><<unprotect|unprotectShort>>|' +
'<<protect|shortcut=p>>|<<protectlog|log>></menurow>';
var del='<menurow><<undelete|undeleteShort>>|<<delete|shortcut=d>>|' +
'<<deletelog|log>></menurow>';
var move='<<move|shortcut=m|move page>>';
var nullPurge='<menurow><<nullEdit|shortcut=n|null edit>>|<<purge|shortcut=P>></menurow>';
var viewOptions='<menurow><<view|shortcut=v>>|<<render|shortcut=S>>|<<raw>></menurow>';
var editRow='if(oldid){' +
'<menurow><<edit|shortcut=e>>|<<editOld|shortcut=e|this revision>></menurow>' +
'<menurow><<revert|shortcut=v>>|<<undo>></menurow>' + '}else{<<edit|shortcut=e>>}';
var markPatrolled='if(rcid){<<markpatrolled|mark patrolled>>}';
var newTopic='if(talk){<<new|shortcut=+|new topic>>}';
var protectDelete='if(admin){' + protect + del + '}';
if (getValueOf('popupActionsMenu')) {
s.push( '<<mainlink>>*' + dropdiv + menuTitle('actions'));
} else {
s.push( dropdiv + '<<mainlink>>');
}
s.push( '<menu>');
s.push( editRow + markPatrolled + newTopic + hist + lastedit + thank );
if (!shorter) { s.push(jsHistory); }
s.push( move + linkshere + related);
if (!shorter) { s.push(nullPurge + search); }
if (!shorter) { s.push(viewOptions); }
s.push('<hr />' + watch + protectDelete);
s.push('<hr />' +
'if(talk){<<article|shortcut=a|view article>><<editArticle|edit article>>}' +
'else{<<talk|shortcut=t|talk page>><<editTalk|edit talk>>' +
'<<newTalk|shortcut=+|new topic>>}</menu>' + enddiv);
// user menu starts here
var email='<<email|shortcut=E|email user>>';
var contribs= 'if(wikimedia){<menurow>}<<contribs|shortcut=c|contributions>>if(wikimedia){</menurow>}' +
'if(admin){<menurow><<deletedContribs>></menurow>}';
s.push('if(user){*' + dropdiv + menuTitle('user'));
s.push('<menu>');
s.push('<menurow><<userPage|shortcut=u|user page>>|<<userSpace|space>></menurow>');
s.push('<<userTalk|shortcut=t|user talk>><<editUserTalk|edit user talk>>' +
'<<newUserTalk|shortcut=+|leave comment>>');
if(!shorter) { s.push( 'if(ipuser){<<arin>>}else{' + email + '}' ); }
else { s.push( 'if(ipuser){}else{' + email + '}' ); }
s.push('<hr />' + contribs + '<<userlog|shortcut=L|user log>>');
s.push('if(wikimedia){<<count|shortcut=#|edit counter>>}');
s.push('if(admin){<menurow><<unblock|unblockShort>>|<<block|shortcut=b|block user>></menurow>}');
s.push('<<blocklog|shortcut=B|block log>>');
s.push('</menu>' + enddiv + '}');
// popups menu starts here
if (getValueOf('popupSetupMenu') && !x.navpop.hasPopupMenu /* FIXME: hack */) {
x.navpop.hasPopupMenu=true;
s.push('*' + dropdiv + menuTitle('popupsMenu') + '<menu>');
s.push('<<togglePreviews|toggle previews>>');
s.push('<<purgePopups|reset>>');
s.push('<<disablePopups|disable>>');
s.push('</menu>'+enddiv);
}
return navlinkStringToHTML(s.join(''), x.article, x.params);
};
function menuTitle(s) {
return '<a href="#" noPopup=1>' + popupString(s) + '</a>';
}
pg.structures.menus.popupRedirTitle=pg.structures.menus.popupTitle;
pg.structures.menus.popupRedirTopLinks=pg.structures.menus.popupTopLinks;
copyStructure('menus', 'shortmenus');
pg.structures.shortmenus.popupTopLinks=function(x) {
return pg.structures.menus.popupTopLinks(x,true);
};
pg.structures.shortmenus.popupRedirTopLinks=pg.structures.shortmenus.popupTopLinks;
//</NOLITE>
pg.structures.lite={};
pg.structures.lite.popupLayout=function () {
return ['popupTitle', 'popupPreview' ];
};
pg.structures.lite.popupTitle=function (x) {
log (x.article + ': structures.lite.popupTitle');
//return navlinkStringToHTML('<b><<mainlink>></b>',x.article,x.params);
return '<div><span class="popup_mainlink"><b>' + x.article.toString() + '</b></span></div>';
};
// ENDFILE: structures.js
// STARTFILE: autoedit.js
//<NOLITE>
function substitute(data,cmdBody) {
// alert('sub\nfrom: '+cmdBody.from+'\nto: '+cmdBody.to+'\nflags: '+cmdBody.flags);
var fromRe=RegExp(cmdBody.from, cmdBody.flags);
return data.replace(fromRe, cmdBody.to);
}
function execCmds(data, cmdList) {
for (var i=0; i<cmdList.length; ++i) {
data=cmdList[i].action(data, cmdList[i]);
}
return data;
}
function parseCmd(str) {
// returns a list of commands
if (!str.length) { return []; }
var p=false;
switch (str.charAt(0)) {
case 's':
p=parseSubstitute(str);
break;
default:
return false;
}
if (p) { return [p].concat(parseCmd(p.remainder)); }
return false;
}
function unEscape(str, sep) {
return str.split('\\\\').join('\\').split('\\'+sep).join(sep).split('\\n').join('\n');
}
function parseSubstitute(str) {
// takes a string like s/a/b/flags;othercmds and parses it
var from,to,flags,tmp;
if (str.length<4) { return false; }
var sep=str.charAt(1);
str=str.substring(2);
tmp=skipOver(str,sep);
if (tmp) { from=tmp.segment; str=tmp.remainder; }
else { return false; }
tmp=skipOver(str,sep);
if (tmp) { to=tmp.segment; str=tmp.remainder; }
else { return false; }
flags='';
if (str.length) {
tmp=skipOver(str,';') || skipToEnd(str, ';');
if (tmp) {flags=tmp.segment; str=tmp.remainder; }
}
return {action: substitute, from: from, to: to, flags: flags, remainder: str};
}
function skipOver(str,sep) {
var endSegment=findNext(str,sep);
if (endSegment<0) { return false; }
var segment=unEscape(str.substring(0,endSegment), sep);
return {segment: segment, remainder: str.substring(endSegment+1)};
}
/*eslint-disable*/
function skipToEnd(str,sep) {
return {segment: str, remainder: ''};
}
/*eslint-enable */
function findNext(str, ch) {
for (var i=0; i<str.length; ++i) {
if (str.charAt(i)=='\\') { i+=2; }
if (str.charAt(i)==ch) { return i; }
}
return -1;
}
function setCheckbox(param, box) {
var val=mw.util.getParamValue(param);
if (val) {
switch (val) {
case '1': case 'yes': case 'true':
box.checked=true;
break;
case '0': case 'no': case 'false':
box.checked=false;
}
}
}
function autoEdit() {
setupPopups( function () {
if (mw.util.getParamValue('autoimpl') !== popupString('autoedit_version') ) { return false; }
if (mw.util.getParamValue('autowatchlist') && mw.util.getParamValue('actoken')===autoClickToken()) {
pg.fn.modifyWatchlist(mw.util.getParamValue('title'), mw.util.getParamValue('action'));
}
if (!document.editform) { return false; }
if (autoEdit.alreadyRan) { return false; }
autoEdit.alreadyRan=true;
var cmdString=mw.util.getParamValue('autoedit');
if (cmdString) {
try {
var editbox=document.editform.wpTextbox1;
var cmdList=parseCmd(cmdString);
var input=editbox.value;
var output=execCmds(input, cmdList);
editbox.value=output;
} catch (dang) { return; }
// wikEd user script compatibility
if (typeof(wikEdUseWikEd) != 'undefined') {
if (wikEdUseWikEd === true) {
WikEdUpdateFrame();
}
}
}
setCheckbox('autominor', document.editform.wpMinoredit);
setCheckbox('autowatch', document.editform.wpWatchthis);
var rvid = mw.util.getParamValue('autorv');
if (rvid) {
var url=pg.wiki.apiwikibase + '?action=query&format=json&formatversion=2&prop=revisions&revids='+rvid;
startDownload(url, null, autoEdit2);
} else { autoEdit2(); }
} );
}
function autoEdit2(d) {
var summary=mw.util.getParamValue('autosummary');
var summaryprompt=mw.util.getParamValue('autosummaryprompt');
var summarynotice='';
if (d && d.data && mw.util.getParamValue('autorv')) {
var s = getRvSummary(summary, d.data);
if (s === false) {
summaryprompt=true;
summarynotice=popupString('Failed to get revision information, please edit manually.\n\n');
summary = simplePrintf(summary, [mw.util.getParamValue('autorv'), '(unknown)', '(unknown)']);
} else { summary = s; }
}
if (summaryprompt) {
var txt= summarynotice +
popupString('Enter a non-empty edit summary or press cancel to abort');
var response=prompt(txt, summary);
if (response) { summary=response; }
else { return; }
}
if (summary) { document.editform.wpSummary.value=summary; }
// Attempt to avoid possible premature clicking of the save button
// (maybe delays in updates to the DOM are to blame?? or a red herring)
setTimeout(autoEdit3, 100);
}
function autoClickToken() {
return mw.user.sessionId();
}
function autoEdit3() {
if( mw.util.getParamValue('actoken') != autoClickToken()) { return; }
var btn=mw.util.getParamValue('autoclick');
if (btn) {
if (document.editform && document.editform[btn]) {
var button=document.editform[btn];
var msg=tprintf('The %s button has been automatically clicked. Please wait for the next page to load.',
[ button.value ]);
bannerMessage(msg);
document.title='('+document.title+')';
button.click();
} else {
alert(tprintf('Could not find button %s. Please check the settings in your javascript file.',
[ btn ]));
}
}
}
function bannerMessage(s) {
var headings=document.getElementsByTagName('h1');
if (headings) {
var div=document.createElement('div');
div.innerHTML='<font size=+1><b>' + s + '</b></font>';
headings[0].parentNode.insertBefore(div, headings[0]);
}
}
function getRvSummary(template, json) {
try {
var o=getJsObj(json);
var edit = anyChild(o.query.pages).revisions[0];
var timestamp = edit.timestamp.split(/[A-Z]/g).join(' ').replace(/^ *| *$/g, '');
return simplePrintf(template, [edit.revid, timestamp, edit.userhidden ? '(hidden)' : edit.user ]);
} catch (badness) {
return false;
}
}
//</NOLITE>
// ENDFILE: autoedit.js
// STARTFILE: downloader.js
/**
@fileoverview
{@link Downloader}, a xmlhttprequest wrapper, and helper functions.
*/
/**
Creates a new Downloader
@constructor
@class The Downloader class. Create a new instance of this class to download stuff.
@param {String} url The url to download. This can be omitted and supplied later.
*/
function Downloader(url) {
if (typeof XMLHttpRequest!='undefined') { this.http = new XMLHttpRequest(); }
/**
The url to download
@type String
*/
this.url = url;
/**
A universally unique ID number
@type integer
*/
this.id=null;
/**
Modification date, to be culled from the incoming headers
@type Date
@private
*/
this.lastModified = null;
/**
What to do when the download completes successfully
@type Function
@private
*/
this.callbackFunction = null;
/**
What to do on failure
@type Function
@private
*/
this.onFailure = null;
/**
Flag set on <code>abort</code>
@type boolean
*/
this.aborted = false;
/**
HTTP method. See https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html for possibilities.
@type String
*/
this.method='GET';
/**
Async flag.
@type boolean
*/
this.async=true;
}
new Downloader();
/** Submits the http request. */
Downloader.prototype.send = function (x) {
if (!this.http) { return null; }
return this.http.send(x);
};
/** Aborts the download, setting the <code>aborted</code> field to true. */
Downloader.prototype.abort = function () {
if (!this.http) { return null; }
this.aborted=true;
return this.http.abort();
};
/** Returns the downloaded data. */
Downloader.prototype.getData = function () {if (!this.http) { return null; } return this.http.responseText;};
/** Prepares the download. */
Downloader.prototype.setTarget = function () {
if (!this.http) { return null; }
this.http.open(this.method, this.url, this.async);
this.http.setRequestHeader( 'Api-User-Agent', pg.misc.userAgent );
};
/** Gets the state of the download. */
Downloader.prototype.getReadyState=function () {if (!this.http) { return null; } return this.http.readyState;};
pg.misc.downloadsInProgress = { };
/** Starts the download.
Note that setTarget {@link Downloader#setTarget} must be run first
*/
Downloader.prototype.start=function () {
if (!this.http) { return; }
pg.misc.downloadsInProgress[this.id] = this;
this.http.send(null);
};
/** Gets the 'Last-Modified' date from the download headers.
Should be run after the download completes.
Returns <code>null</code> on failure.
@return {Date}
*/
Downloader.prototype.getLastModifiedDate=function () {
if(!this.http) { return null; }
var lastmod=null;
try {
lastmod=this.http.getResponseHeader('Last-Modified');
} catch (err) {}
if (lastmod) { return new Date(lastmod); }
return null;
};
/** Sets the callback function.
@param {Function} f callback function, called as <code>f(this)</code> on success
*/
Downloader.prototype.setCallback = function (f) {
if(!this.http) { return; }
this.http.onreadystatechange = f;
};
Downloader.prototype.getStatus = function() { if (!this.http) { return null; } return this.http.status; };
//////////////////////////////////////////////////
// helper functions
/** Creates a new {@link Downloader} and prepares it for action.
@param {String} url The url to download
@param {integer} id The ID of the {@link Downloader} object
@param {Function} callback The callback function invoked on success
@return {String/Downloader} the {@link Downloader} object created, or 'ohdear' if an unsupported browser
*/
function newDownload(url, id, callback, onfailure) {
var d=new Downloader(url);
if (!d.http) { return 'ohdear'; }
d.id=id;
d.setTarget();
if (!onfailure) {
onfailure=2;
}
var f = function () {
if (d.getReadyState() == 4) {
delete pg.misc.downloadsInProgress[this.id];
try {
if ( d.getStatus() == 200 ) {
d.data=d.getData();
d.lastModified=d.getLastModifiedDate();
callback(d);
} else if (typeof onfailure == typeof 1) {
if (onfailure > 0) {
// retry
newDownload(url, id, callback, onfailure - 1);
}
} else if ($.isFunction(onfailure)) {
onfailure(d,url,id,callback);
}
} catch (somerr) { /* ignore it */ }
}
};
d.setCallback(f);
return d;
}
/** Simulates a download from cached data.
The supplied data is put into a {@link Downloader} as if it had downloaded it.
@param {String} url The url.
@param {integer} id The ID.
@param {Function} callback The callback, which is invoked immediately as <code>callback(d)</code>,
where <code>d</code> is the new {@link Downloader}.
@param {String} data The (cached) data.
@param {Date} lastModified The (cached) last modified date.
*/
function fakeDownload(url, id, callback, data, lastModified, owner) {
var d=newDownload(url,callback);
d.owner=owner;
d.id=id; d.data=data;
d.lastModified=lastModified;
return callback(d);
}
/**
Starts a download.
@param {String} url The url to download
@param {integer} id The ID of the {@link Downloader} object
@param {Function} callback The callback function invoked on success
@return {String/Downloader} the {@link Downloader} object created, or 'ohdear' if an unsupported browser
*/
function startDownload(url, id, callback) {
var d=newDownload(url, id, callback);
if (typeof d == typeof '' ) { return d; }
d.start();
return d;
}
/**
Aborts all downloads which have been started.
*/
function abortAllDownloads() {
for ( var x in pg.misc.downloadsInProgress ) {
try {
pg.misc.downloadsInProgress[x].aborted=true;
pg.misc.downloadsInProgress[x].abort();
delete pg.misc.downloadsInProgress[x];
} catch (e) {}
}
}
// ENDFILE: downloader.js
// STARTFILE: livepreview.js
// TODO: location is often not correct (eg relative links in previews)
// NOTE: removed md5 and image and math parsing. was broken, lots of bytes.
/**
* InstaView - a Mediawiki to HTML converter in JavaScript
* Version 0.6.1
* Copyright (C) Pedro Fayolle 2005-2006
* https://en.wikipedia.org/wiki/User:Pilaf
* Distributed under the BSD license
*
* Changelog:
*
* 0.6.1
* - Fixed problem caused by \r characters
* - Improved inline formatting parser
*
* 0.6
* - Changed name to InstaView
* - Some major code reorganizations and factored out some common functions
* - Handled conversion of relative links (i.e. [[/foo]])
* - Fixed misrendering of adjacent definition list items
* - Fixed bug in table headings handling
* - Changed date format in signatures to reflect Mediawiki's
* - Fixed handling of [[:Image:...]]
* - Updated MD5 function (hopefully it will work with UTF-8)
* - Fixed bug in handling of links inside images
*
* To do:
* - Better support for math tags
* - Full support for <nowiki>
* - Parser-based (as opposed to RegExp-based) inline wikicode handling (make it one-pass and bullet-proof)
* - Support for templates (through AJAX)
* - Support for coloured links (AJAX)
*/
var Insta = {};
function setupLivePreview() {
// options
Insta.conf =
{
baseUrl: '',
user: {},
wiki: {
lang: pg.wiki.lang,
interwiki: pg.wiki.interwiki,
default_thumb_width: 180
},
paths: {
articles: pg.wiki.articlePath + '/',
// Only used for Insta previews with images. (not in popups)
math: '/math/',
images: '//upload.wikimedia.org/wikipedia/en/', // FIXME getImageUrlStart(pg.wiki.hostname),
images_fallback: '//upload.wikimedia.org/wikipedia/commons/',
},
locale: {
user: mw.config.get('wgFormattedNamespaces')[pg.nsUserId],
image: mw.config.get('wgFormattedNamespaces')[pg.nsImageId],
category: mw.config.get('wgFormattedNamespaces')[pg.nsCategoryId],
// shouldn't be used in popup previews, i think
months: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
}
};
// options with default values or backreferences
Insta.conf.user.name = Insta.conf.user.name || 'Wikipedian';
Insta.conf.user.signature = '[['+Insta.conf.locale.user+':'+Insta.conf.user.name+'|'+Insta.conf.user.name+']]';
//Insta.conf.paths.images = '//upload.wikimedia.org/wikipedia/' + Insta.conf.wiki.lang + '/';
// define constants
Insta.BLOCK_IMAGE = new RegExp('^\\[\\[(?:File|Image|'+Insta.conf.locale.image+
'):.*?\\|.*?(?:frame|thumbnail|thumb|none|right|left|center)', 'i');
}
Insta.dump = function(from, to)
{
if (typeof from == 'string') { from = document.getElementById(from); }
if (typeof to == 'string') { to = document.getElementById(to); }
to.innerHTML = this.convert(from.value);
};
Insta.convert = function(wiki)
{
var ll = (typeof wiki == 'string')? wiki.replace(/\r/g,'').split(/\n/): wiki, // lines of wikicode
o = '', // output
p = 0, // para flag
$r; // result of passing a regexp to $()
// some shorthands
function remain() { return ll.length; }
function sh() { return ll.shift(); } // shift
function ps(s) { o += s; } // push
// similar to C's printf, uses ? as placeholders, ?? to escape question marks
function f()
{
var i=1, a=arguments, f=a[0], o='', c, p;
for (; i<a.length; i++) {
if ((p=f.indexOf('?'))+1) {
// allow character escaping
i -= c = f.charAt(p+1)=='?' ? 1 : 0;
o += f.substring(0,p) + (c ? '?' : a[i]);
f = f.substr(p+1+c);
} else { break; }
}
return o+f;
}
function html_entities(s) {
return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");
}
// Wiki text parsing to html is a nightmare.
// The below functions deliberately don't escape the ampersand since this would make it more difficult,
// and we don't absolutely need to for how we need it.
// This means that any unescaped ampersands in wikitext will remain unescaped and can cause invalid HTML.
// Browsers should all be able to handle it though.
// We also escape significant wikimarkup characters to prevent further matching on the processed text
function htmlescape_text(s) {
return s.replace(/</g,"<").replace(/>/g,">").replace(/:/g,":").replace(/\[/g,"[").replace(/]/g,"]");
}
function htmlescape_attr(s) {
return htmlescape_text(s).replace(/'/g,"'").replace(/"/g,""");
}
// return the first non matching character position between two strings
function str_imatch(a, b)
{
for (var i=0, l=Math.min(a.length, b.length); i<l; i++) {
if (a.charAt(i)!=b.charAt(i)) { break; }
}
return i;
}
// compare current line against a string or regexp
// if passed a string it will compare only the first string.length characters
// if passed a regexp the result is stored in $r
function $(c) { return (typeof c == 'string') ? (ll[0].substr(0,c.length)==c) : ($r = ll[0].match(c)); }
function $$(c) { return ll[0]==c; } // compare current line against a string
function _(p) { return ll[0].charAt(p); } // return char at pos p
function endl(s) { ps(s); sh(); }
function parse_list()
{
var prev='';
while (remain() && $(/^([*#:;]+)(.*)$/)) {
var l_match = $r;
sh();
var ipos = str_imatch(prev, l_match[1]);
// close uncontinued lists
for (var prevPos=prev.length-1; prevPos >= ipos; prevPos--) {
var pi = prev.charAt(prevPos);
if (pi=='*') { ps('</ul>'); }
else if (pi=='#') { ps('</ol>'); }
// close a dl only if the new item is not a dl item (:, ; or empty)
else if($.inArray(l_match[1].charAt(prevPos), ['','*','#'])) { ps('</dl>'); }
}
// open new lists
for (var matchPos=ipos; matchPos<l_match[1].length; matchPos++) {
var li = l_match[1].charAt(matchPos);
if (li=='*') { ps('<ul>'); }
else if (li=='#') { ps('<ol>'); }
// open a new dl only if the prev item is not a dl item (:, ; or empty)
else if ($.inArray(prev.charAt(matchPos), ['','*','#'])) { ps('<dl>'); }
}
switch (l_match[1].charAt(l_match[1].length-1)) {
case '*': case '#':
ps('<li>' + parse_inline_nowiki(l_match[2]));
break;
case ';':
ps('<dt>');
var dt_match = l_match[2].match(/(.*?)(:.*?)$/);
// handle ;dt :dd format
if (dt_match) {
ps(parse_inline_nowiki(dt_match[1]));
ll.unshift(dt_match[2]);
} else ps(parse_inline_nowiki(l_match[2]));
break;
case ':':
ps('<dd>' + parse_inline_nowiki(l_match[2]));
}
prev=l_match[1];
}
// close remaining lists
for (var i=prev.length-1; i>=0; i--) {
ps(f('</?>', (prev.charAt(i)=='*')? 'ul': ((prev.charAt(i)=='#')? 'ol': 'dl')));
}
}
function parse_table()
{
endl(f('<table>', $(/^\{\|( .*)$/)? $r[1]: ''));
for (;remain();) if ($('|')) switch (_(1)) {
case '}':
endl('</table>');
return;
case '-':
endl(f('<tr>', $(/\|-*(.*)/)[1]));
break;
default:
parse_table_data();
}
else if ($('!')) { parse_table_data(); }
else { sh(); }
}
function parse_table_data()
{
var td_line, match_i;
// 1: "|+", '|' or '+'
// 2: ??
// 3: attributes ??
// TODO: finish commenting this regexp
var td_match = sh().match(/^(\|\+|\||!)((?:([^[|]*?)\|(?!\|))?(.*))$/);
if (td_match[1] == '|+') ps('<caption');
else ps('<t' + ((td_match[1]=='|')?'d':'h'));
if (typeof td_match[3] != 'undefined') {
//ps(' ' + td_match[3])
match_i = 4;
} else match_i = 2;
ps('>');
if (td_match[1] != '|+') {
// use || or !! as a cell separator depending on context
// NOTE: when split() is passed a regexp make sure to use non-capturing brackets
td_line = td_match[match_i].split((td_match[1] == '|')? '||': /(?:\|\||!!)/);
ps(parse_inline_nowiki(td_line.shift()));
while (td_line.length) ll.unshift(td_match[1] + td_line.pop());
} else ps(td_match[match_i]);
var tc = 0, td = [];
while (remain()) {
td.push(sh());
if ($('|')) {
if (!tc) break; // we're at the outer-most level (no nested tables), skip to td parse
else if (_(1)=='}') tc--;
}
else if (!tc && $('!')) break;
else if ($('{|')) tc++;
}
if (td.length) ps(Insta.convert(td));
}
function parse_pre()
{
ps('<pre>');
do {
endl(parse_inline_nowiki(ll[0].substring(1)) + "\n");
} while (remain() && $(' '));
ps('</pre>');
}
function parse_block_image()
{
ps(parse_image(sh()));
}
function parse_image(str)
{
//<NOLITE>
// get what's in between "[[Image:" and "]]"
var tag = str.substring(str.indexOf(':') + 1, str.length - 2);
/* eslint-disable no-unused-vars */
var width;
var attr = [], filename, caption = '';
var thumb=0, frame=0, center=0;
var align='';
/* eslint-enable no-unused-vars */
if (tag.match(/\|/)) {
// manage nested links
var nesting = 0;
var last_attr;
for (var i = tag.length-1; i > 0; i--) {
if (tag.charAt(i) == '|' && !nesting) {
last_attr = tag.substr(i+1);
tag = tag.substring(0, i);
break;
} else switch (tag.substr(i-1, 2)) {
case ']]':
nesting++;
i--;
break;
case '[[':
nesting--;
i--;
}
}
attr = tag.split(/\s*\|\s*/);
attr.push(last_attr);
filename = attr.shift();
var w_match;
for (;attr.length; attr.shift()) {
w_match = attr[0].match(/^(\d*)(?:[px]*\d*)?px$/);
if (w_match) width = w_match[1];
else switch(attr[0]) {
case 'thumb':
case 'thumbnail':
thumb=true;
frame=true;
break;
case 'frame':
frame=true;
break;
case 'none':
case 'right':
case 'left':
center=false;
align=attr[0];
break;
case 'center':
center=true;
align='none';
break;
default:
if (attr.length == 1) caption = attr[0];
}
}
} else filename = tag;
return '';
//</NOLITE>
}
function parse_inline_nowiki(str)
{
var start, lastend=0;
var substart=0, nestlev=0, open, close, subloop;
var html='';
while (-1 != (start = str.indexOf('<nowiki>', substart))) {
html += parse_inline_wiki(str.substring(lastend, start));
start += 8;
substart = start;
subloop = true;
do {
open = str.indexOf('<nowiki>', substart);
close = str.indexOf('</nowiki>', substart);
if (close<=open || open==-1) {
if (close==-1) {
return html + html_entities(str.substr(start));
}
substart = close+9;
if (nestlev) {
nestlev--;
} else {
lastend = substart;
html += html_entities(str.substring(start, lastend-9));
subloop = false;
}
} else {
substart = open+8;
nestlev++;
}
} while (subloop);
}
return html + parse_inline_wiki(str.substr(lastend));
}
function parse_inline_images(str)
{
//<NOLITE>
var start, substart=0, nestlev=0;
var loop, close, open, wiki, html;
while (-1 != (start=str.indexOf('[[', substart))) {
if(str.substr(start+2).match(RegExp('^(Image|File|' + Insta.conf.locale.image + '):','i'))) {
loop=true;
substart=start;
do {
substart+=2;
close=str.indexOf(']]',substart);
open=str.indexOf('[[',substart);
if (close<=open||open==-1) {
if (close==-1) return str;
substart=close;
if (nestlev) {
nestlev--;
} else {
wiki=str.substring(start,close+2);
html=parse_image(wiki);
str=str.replace(wiki,html);
substart=start+html.length;
loop=false;
}
} else {
substart=open;
nestlev++;
}
} while (loop);
} else break;
}
//</NOLITE>
return str;
}
// the output of this function doesn't respect the FILO structure of HTML
// but since most browsers can handle it I'll save myself the hassle
function parse_inline_formatting(str)
{
var em,st,i,li,o='';
while ((i=str.indexOf("''",li))+1) {
o += str.substring(li,i);
li=i+2;
if (str.charAt(i+2)=="'") {
li++;
st=!st;
o+=st?'<strong>':'</strong>';
} else {
em=!em;
o+=em?'<em>':'</em>';
}
}
return o+str.substr(li);
}
function parse_inline_wiki(str)
{
str = parse_inline_images(str);
str = parse_inline_formatting(str);
// math
str = str.replace(/<(?:)math>(.*?)<\/math>/ig, '');
// Build a Mediawiki-formatted date string
var date = new Date();
var minutes = date.getUTCMinutes();
if (minutes < 10) minutes = '0' + minutes;
date = f("?:?, ? ? ? (UTC)", date.getUTCHours(), minutes, date.getUTCDate(), Insta.conf.locale.months[date.getUTCMonth()], date.getUTCFullYear());
// text formatting
return str.
// signatures
replace(/~{5}(?!~)/g, date).
replace(/~{4}(?!~)/g, Insta.conf.user.name+' '+date).
replace(/~{3}(?!~)/g, Insta.conf.user.name).
// [[:Category:...]], [[:Image:...]], etc...
replace(RegExp('\\[\\[:((?:'+Insta.conf.locale.category+'|Image|File|'+Insta.conf.locale.image+'|'+Insta.conf.wiki.interwiki+'):[^|]*?)\\]\\](\\w*)','gi'), function($0,$1,$2){return f("<a href='?'>?</a>", Insta.conf.paths.articles + htmlescape_attr($1), htmlescape_text($1) + htmlescape_text($2));}).
// remove straight category and interwiki tags
replace(RegExp('\\[\\[(?:'+Insta.conf.locale.category+'|'+Insta.conf.wiki.interwiki+'):.*?\\]\\]','gi'),'').
// [[:Category:...|Links]], [[:Image:...|Links]], etc...
replace(RegExp('\\[\\[:((?:'+Insta.conf.locale.category+'|Image|File|'+Insta.conf.locale.image+'|'+Insta.conf.wiki.interwiki+'):.*?)\\|([^\\]]+?)\\]\\](\\w*)','gi'), function($0,$1,$2,$3){return f("<a href='?'>?</a>", Insta.conf.paths.articles + htmlescape_attr($1), htmlescape_text($2) + htmlescape_text($3));}).
// [[/Relative links]]
replace(/\[\[(\/[^|]*?)\]\]/g, function($0,$1){return f("<a href='?'>?</a>", Insta.conf.baseUrl + htmlescape_attr($1), htmlescape_text($1)); }).
// [[/Replaced|Relative links]]
replace(/\[\[(\/.*?)\|(.+?)\]\]/g, function($0,$1,$2){return f("<a href='?'>?</a>", Insta.conf.baseUrl + htmlescape_attr($1), htmlescape_text($2)); }).
// [[Common links]]
replace(/\[\[([^[|]*?)\]\](\w*)/g, function($0,$1,$2){return f("<a href='?'>?</a>", Insta.conf.paths.articles + htmlescape_attr($1), htmlescape_text($1) + htmlescape_text($2)); }).
// [[Replaced|Links]]
replace(/\[\[([^[]*?)\|([^\]]+?)\]\](\w*)/g, function($0,$1,$2,$3){return f("<a href='?'>?</a>", Insta.conf.paths.articles + htmlescape_attr($1), htmlescape_text($2) + htmlescape_text($3)); }).
// [[Stripped:Namespace|Namespace]]
replace(/\[\[([^\]]*?:)?(.*?)( *\(.*?\))?\|\]\]/g, function($0,$1,$2,$3){return f("<a href='?'>?</a>", Insta.conf.paths.articles + htmlescape_attr($1) + htmlescape_attr($2) + htmlescape_attr($3), htmlescape_text($2)); }).
// External links
replace(/\[(https?|news|ftp|mailto|gopher|irc):(\/*)([^\]]*?) (.*?)\]/g, function($0,$1,$2,$3,$4){return f("<a class='external' href='?:?'>?</a>", htmlescape_attr($1), htmlescape_attr($2) + htmlescape_attr($3), htmlescape_text($4)); }).
replace(/\[http:\/\/(.*?)\]/g, function($0,$1){return f("<a class='external' href='http://?'>[#]</a>", htmlescape_attr($1)); }).
replace(/\[(news|ftp|mailto|gopher|irc):(\/*)(.*?)\]/g, function($0,$1,$2,$3){return f("<a class='external' href='?:?'>?:?</a>", htmlescape_attr($1), htmlescape_attr($2) + htmlescape_attr($3), htmlescape_text($1), htmlescape_text($2) + htmlescape_text($3)); }).
replace(/(^| )(https?|news|ftp|mailto|gopher|irc):(\/*)([^ $]*[^.,!?;: $])/g, function($0,$1,$2,$3,$4){return f("?<a class='external' href='?:?'>?:?</a>", htmlescape_text($1), htmlescape_attr($2), htmlescape_attr($3) + htmlescape_attr($4), htmlescape_text($2), htmlescape_text($3) + htmlescape_text($4)); }).
replace('__NOTOC__','').
replace('__NOEDITSECTION__','');
}
// begin parsing
for (;remain();) if ($(/^(={1,6})(.*)\1(.*)$/)) {
p=0;
endl(f('<h?>?</h?>?', $r[1].length, parse_inline_nowiki($r[2]), $r[1].length, $r[3]));
} else if ($(/^[*#:;]/)) {
p=0;
parse_list();
} else if ($(' ')) {
p=0;
parse_pre();
} else if ($('{|')) {
p=0;
parse_table();
} else if ($(/^----+$/)) {
p=0;
endl('<hr />');
} else if ($(Insta.BLOCK_IMAGE)) {
p=0;
parse_block_image();
} else {
// handle paragraphs
if ($$('')) {
p = (remain()>1 && ll[1]===(''));
if (p) endl('<p><br>');
} else {
if(!p) {
ps('<p>');
p=1;
}
ps(parse_inline_nowiki(ll[0]) + ' ');
}
sh();
}
return o;
};
function wiki2html(txt,baseurl) {
Insta.conf.baseUrl=baseurl;
return Insta.convert(txt);
}
// ENDFILE: livepreview.js
// STARTFILE: pageinfo.js
//<NOLITE>
function popupFilterPageSize(data) {
return formatBytes(data.length);
}
function popupFilterCountLinks(data) {
var num=countLinks(data);
return String(num) + ' ' + ((num!=1)?popupString('wikiLinks'):popupString('wikiLink'));
}
function popupFilterCountImages(data) {
var num=countImages(data);
return String(num) + ' ' + ((num!=1)?popupString('images'):popupString('image'));
}
function popupFilterCountCategories(data) {
var num=countCategories(data);
return String(num) + ' ' + ((num!=1)?popupString('categories'):popupString('category'));
}
function popupFilterLastModified(data,download) {
var lastmod=download.lastModified;
var now=new Date();
var age=now-lastmod;
if (lastmod && getValueOf('popupLastModified')) {
return (tprintf('%s old', [formatAge(age)])).replace(RegExp(' ','g'), ' ');
}
return '';
}
function formatAge(age) {
// coerce into a number
var a=0+age, aa=a;
var seclen = 1000;
var minlen = 60*seclen;
var hourlen = 60*minlen;
var daylen = 24*hourlen;
var weeklen = 7*daylen;
var numweeks = (a-a%weeklen)/weeklen; a = a-numweeks*weeklen; var sweeks = addunit(numweeks, 'week');
var numdays = (a-a%daylen)/daylen; a = a-numdays*daylen; var sdays = addunit(numdays, 'day');
var numhours = (a-a%hourlen)/hourlen; a = a-numhours*hourlen; var shours = addunit(numhours,'hour');
var nummins = (a-a%minlen)/minlen; a = a-nummins*minlen; var smins = addunit(nummins, 'minute');
var numsecs = (a-a%seclen)/seclen; a = a-numsecs*seclen; var ssecs = addunit(numsecs, 'second');
if (aa > 4*weeklen) { return sweeks; }
if (aa > weeklen) { return sweeks + ' ' + sdays; }
if (aa > daylen) { return sdays + ' ' + shours; }
if (aa > 6*hourlen) { return shours; }
if (aa > hourlen) { return shours + ' ' + smins; }
if (aa > 10*minlen) { return smins; }
if (aa > minlen) { return smins + ' ' + ssecs; }
return ssecs;
}
function addunit(num,str) { return '' + num + ' ' + ((num!=1) ? popupString(str+'s') : popupString(str)) ;}
function runPopupFilters(list, data, download) {
var ret=[];
for (var i=0; i<list.length; ++i) {
if (list[i] && typeof list[i] == 'function') {
var s=list[i](data, download, download.owner.article);
if (s) { ret.push(s); }
}
}
return ret;
}
function getPageInfo(data, download) {
if (!data || data.length === 0) { return popupString('Empty page'); }
var popupFilters=getValueOf('popupFilters') || [];
var extraPopupFilters = getValueOf('extraPopupFilters') || [];
var pageInfoArray = runPopupFilters(popupFilters.concat(extraPopupFilters), data, download);
var pageInfo=pageInfoArray.join(', ');
if (pageInfo !== '' ) { pageInfo = upcaseFirst(pageInfo); }
return pageInfo;
}
// this could be improved!
function countLinks(wikiText) { return wikiText.split('[[').length - 1; }
// if N = # matches, n = # brackets, then
// String.parenSplit(regex) intersperses the N+1 split elements
// with Nn other elements. So total length is
// L= N+1 + Nn = N(n+1)+1. So N=(L-1)/(n+1).
function countImages(wikiText) {
return (wikiText.parenSplit(pg.re.image).length - 1) / (pg.re.imageBracketCount + 1);
}
function countCategories(wikiText) {
return (wikiText.parenSplit(pg.re.category).length - 1) / (pg.re.categoryBracketCount + 1);
}
function popupFilterStubDetect(data, download, article) {
var counts=stubCount(data, article);
if (counts.real) { return popupString('stub'); }
if (counts.sect) { return popupString('section stub'); }
return '';
}
function popupFilterDisambigDetect(data, download, article) {
if (!getValueOf('popupAllDabsStubs') && article.namespace()) { return ''; }
return (isDisambig(data, article, download.pageprops)) ? popupString('disambig') : '';
}
function formatBytes(num) {
return (num > 949) ? (Math.round(num/100)/10+popupString('kB')) : (num +' ' + popupString('bytes')) ;
}
//</NOLITE>
// ENDFILE: pageinfo.js
// STARTFILE: titles.js
/**
@fileoverview Defines the {@link Title} class, and associated crufty functions.
<code>Title</code> deals with article titles and their various
forms. {@link Stringwrapper} is the parent class of
<code>Title</code>, which exists simply to make things a little
neater.
*/
/**
Creates a new Stringwrapper.
@constructor
@class the Stringwrapper class. This base class is not really
useful on its own; it just wraps various common string operations.
*/
function Stringwrapper() {
/**
Wrapper for this.toString().indexOf()
@param {String} x
@type integer
*/
this.indexOf=function(x){return this.toString().indexOf(x);};
/**
Returns this.value.
@type String
*/
this.toString=function(){return this.value;};
/**
Wrapper for {@link String#parenSplit} applied to this.toString()
@param {RegExp} x
@type Array
*/
this.parenSplit=function(x){return this.toString().parenSplit(x);};
/**
Wrapper for this.toString().substring()
@param {String} x
@param {String} y (optional)
@type String
*/
this.substring=function(x,y){
if (typeof y=='undefined') { return this.toString().substring(x); }
return this.toString().substring(x,y);
};
/**
Wrapper for this.toString().split()
@param {String} x
@type Array
*/
this.split=function(x){return this.toString().split(x);};
/**
Wrapper for this.toString().replace()
@param {String} x
@param {String} y
@type String
*/
this.replace=function(x,y){ return this.toString().replace(x,y); };
}
/**
Creates a new <code>Title</code>.
@constructor
@class The Title class. Holds article titles and converts them into
various forms. Also deals with anchors, by which we mean the bits
of the article URL after a # character, representing locations
within an article.
@param {String} value The initial value to assign to the
article. This must be the canonical title (see {@link
Title#value}. Omit this in the constructor and use another function
to set the title if this is unavailable.
*/
function Title(val) {
/**
The canonical article title. This must be in UTF-8 with no
entities, escaping or nasties. Also, underscores should be
replaced with spaces.
@type String
@private
*/
this.value=null;
/**
The canonical form of the anchor. This should be exactly as
it appears in the URL, i.e. with the .C3.0A bits in.
@type String
*/
this.anchor='';
this.setUtf(val);
}
Title.prototype=new Stringwrapper();
/**
Returns the canonical representation of the article title, optionally without anchor.
@param {boolean} omitAnchor
@fixme Decide specs for anchor
@return String The article title and the anchor.
*/
Title.prototype.toString=function(omitAnchor) {
return this.value + ( (!omitAnchor && this.anchor) ? '#' + this.anchorString() : '' );
};
Title.prototype.anchorString=function() {
if (!this.anchor) { return ''; }
var split=this.anchor.parenSplit(/((?:[.][0-9A-F]{2})+)/);
var len=split.length;
for (var j=1; j<len; j+=2) {
// FIXME s/decodeURI/decodeURIComponent/g ?
split[j]=decodeURIComponent(split[j].split('.').join('%')).split('_').join(' ');
}
return split.join('');
};
Title.prototype.urlAnchor=function() {
var split=this.anchor.parenSplit('/((?:[%][0-9A-F]{2})+)/');
var len=split.length;
for (var j=1; j<len; j+=2) {
split[j]=split[j].split('%').join('.');
}
return split.join('');
};
Title.prototype.anchorFromUtf=function(str) {
this.anchor=encodeURIComponent(str.split(' ').join('_'))
.split('%3A').join(':').split("'").join('%27').split('%').join('.');
};
Title.fromURL=function(h) {
return new Title().fromURL(h);
};
Title.prototype.fromURL=function(h) {
if (typeof h != 'string') {
this.value=null;
return this;
}
// NOTE : playing with decodeURI, encodeURI, escape, unescape,
// we seem to be able to replicate the IE borked encoding
// IE doesn't do this new-fangled utf-8 thing.
// and it's worse than that.
// IE seems to treat the query string differently to the rest of the url
// the query is treated as bona-fide utf8, but the first bit of the url is pissed around with
// we fix up & for all browsers, just in case.
var splitted=h.split('?');
splitted[0]=splitted[0].split('&').join('%26');
h=splitted.join('?');
var contribs=pg.re.contribs.exec(h);
if (contribs) {
if (contribs[1]=='title=') { contribs[3]=contribs[3].split('+').join(' '); }
var u=new Title(contribs[3]);
this.setUtf(this.decodeNasties(mw.config.get('wgFormattedNamespaces')[pg.nsUserId] + ':' + u.stripNamespace()));
return this;
}
var email=pg.re.email.exec(h);
if (email) {
this.setUtf(this.decodeNasties(mw.config.get('wgFormattedNamespaces')[pg.nsUserId] + ':' + new Title(email[3]).stripNamespace()));
return this;
}
var backlinks=pg.re.backlinks.exec(h);
if (backlinks) {
this.setUtf(this.decodeNasties(new Title(backlinks[3])));
return this;
}
//A dummy title object for a Special:Diff link.
var specialdiff=pg.re.specialdiff.exec(h);
if (specialdiff) {
this.setUtf(this.decodeNasties(new Title(mw.config.get('wgFormattedNamespaces')[pg.nsSpecialId] + ':Diff')));
return this;
}
// no more special cases to check --
// hopefully it's not a disguised user-related or specially treated special page
var m=pg.re.main.exec(h);
if(m === null) { this.value=null; }
else {
var fromBotInterface = /[?](.+[&])?title=/.test(h);
if (fromBotInterface) {
m[2]=m[2].split('+').join('_');
}
var extracted = m[2] + (m[3] ? '#' + m[3] : '');
if (pg.flag.isSafari && /%25[0-9A-Fa-f]{2}/.test(extracted)) {
// Fix Safari issue
// Safari sometimes encodes % as %25 in UTF-8 encoded strings like %E5%A3 -> %25E5%25A3.
this.setUtf(decodeURIComponent(unescape(extracted)));
} else {
this.setUtf(this.decodeNasties(extracted));
}
}
return this;
};
Title.prototype.decodeNasties=function(txt) {
var ret= this.decodeEscapes(decodeURI(txt));
ret = ret.replace(/[_ ]*$/, '');
return ret;
};
Title.prototype.decodeEscapes=function(txt) {
var split=txt.parenSplit(/((?:[%][0-9A-Fa-f]{2})+)/);
var len=split.length;
for (var i=1; i<len; i=i+2) {
// FIXME is decodeURIComponent better?
split[i]=unescape(split[i]);
}
return split.join('');
};
Title.fromAnchor=function(a) {
return new Title().fromAnchor(a);
};
Title.prototype.fromAnchor=function(a) {
if (!a) { this.value=null; return this; }
return this.fromURL(a.href);
};
Title.fromWikiText=function(txt) {
return new Title().fromWikiText(txt);
};
Title.prototype.fromWikiText=function(txt) {
// FIXME - testing needed
txt=myDecodeURI(txt);
this.setUtf(txt);
return this;
};
Title.prototype.hintValue=function(){
if(!this.value) { return ''; }
return safeDecodeURI(this.value);
};
//<NOLITE>
Title.prototype.toUserName=function(withNs) {
if (this.namespaceId() != pg.nsUserId && this.namespaceId() != pg.nsUsertalkId) {
this.value=null;
return;
}
this.value = (withNs ? mw.config.get('wgFormattedNamespaces')[pg.nsUserId] + ':' : '') + this.stripNamespace().split('/')[0];
};
Title.prototype.userName=function(withNs) {
var t=(new Title(this.value));
t.toUserName(withNs);
if (t.value) { return t; }
return null;
};
Title.prototype.toTalkPage=function() {
// convert article to a talk page, or if we can't, return null
// In other words: return null if this ALREADY IS a talk page
// and return the corresponding talk page otherwise
//
// Per https://www.mediawiki.org/wiki/Manual:Namespace#Subject_and_talk_namespaces
// * All discussion namespaces have odd-integer indices
// * The discussion namespace index for a specific namespace with index n is n + 1
if (this.value === null) { return null; }
var namespaceId = this.namespaceId();
if (namespaceId>=0 && namespaceId % 2 === 0) //non-special and subject namespace
{
var localizedNamespace = mw.config.get('wgFormattedNamespaces')[namespaceId+1];
if (typeof localizedNamespace!=='undefined')
{
if (localizedNamespace === '') {
this.value = this.stripNamespace();
} else {
this.value = localizedNamespace.split(' ').join('_') + ':' + this.stripNamespace();
}
return this.value;
}
}
this.value=null;
return null;
};
//</NOLITE>
// Return canonical, localized namespace
Title.prototype.namespace=function() {
return mw.config.get('wgFormattedNamespaces')[this.namespaceId()];
};
Title.prototype.namespaceId=function() {
var n=this.value.indexOf(':');
if (n<0) { return 0; } //mainspace
var namespaceId = mw.config.get('wgNamespaceIds')[this.value.substring(0,n).split(' ').join('_').toLowerCase()];
if (typeof namespaceId=='undefined') return 0; //mainspace
return namespaceId;
};
//<NOLITE>
Title.prototype.talkPage=function() {
var t=new Title(this.value);
t.toTalkPage();
if (t.value) { return t; }
return null;
};
Title.prototype.isTalkPage=function() {
if (this.talkPage()===null) { return true; }
return false;
};
Title.prototype.toArticleFromTalkPage=function() {
//largely copy/paste from toTalkPage above.
if (this.value === null) { return null; }
var namespaceId = this.namespaceId();
if (namespaceId >= 0 && namespaceId % 2 == 1) //non-special and talk namespace
{
var localizedNamespace = mw.config.get('wgFormattedNamespaces')[namespaceId-1];
if (typeof localizedNamespace!=='undefined')
{
if (localizedNamespace === '') {
this.value = this.stripNamespace();
} else {
this.value = localizedNamespace.split(' ').join('_') + ':' + this.stripNamespace();
}
return this.value;
}
}
this.value=null;
return null;
};
Title.prototype.articleFromTalkPage=function() {
var t=new Title(this.value);
t.toArticleFromTalkPage();
if (t.value) { return t; }
return null;
};
Title.prototype.articleFromTalkOrArticle=function() {
var t=new Title(this.value);
if ( t.toArticleFromTalkPage() ) { return t; }
return this;
};
Title.prototype.isIpUser=function() {
return pg.re.ipUser.test(this.userName());
};
//</NOLITE>
Title.prototype.stripNamespace=function(){ // returns a string, not a Title
var n=this.value.indexOf(':');
if (n<0) { return this.value; }
var namespaceId = this.namespaceId();
if (namespaceId === pg.nsMainspaceId) return this.value;
return this.value.substring(n+1);
};
Title.prototype.setUtf=function(value){
if (!value) { this.value=''; return; }
var anch=value.indexOf('#');
if(anch < 0) { this.value=value.split('_').join(' '); this.anchor=''; return; }
this.value=value.substring(0,anch).split('_').join(' ');
this.anchor=value.substring(anch+1);
this.ns=null; // wait until namespace() is called
};
Title.prototype.setUrl=function(urlfrag) {
var anch=urlfrag.indexOf('#');
this.value=safeDecodeURI(urlfrag.substring(0,anch));
this.anchor=this.value.substring(anch+1);
};
Title.prototype.append=function(x){
this.setUtf(this.value + x);
};
Title.prototype.urlString=function(x) {
if(!x) { x={}; }
var v=this.toString(true);
if (!x.omitAnchor && this.anchor) { v+= '#' + this.urlAnchor(); }
if (!x.keepSpaces) { v=v.split(' ').join('_'); }
return encodeURI(v).split('&').join('%26').split('?').join('%3F').split('+').join('%2B');
};
Title.prototype.removeAnchor=function() {
return new Title(this.toString(true));
};
Title.prototype.toUrl=function() {
return pg.wiki.titlebase + this.urlString();
};
function parseParams(url) {
var specialDiff = pg.re.specialdiff.exec(url);
if (specialDiff)
{
var split= specialDiff[1].split('/');
if (split.length==1) return {oldid:split[0], diff: 'prev'};
else if (split.length==2) return {oldid: split[0], diff: split[1]};
}
var ret={};
if (url.indexOf('?')==-1) { return ret; }
url = url.split('#')[0];
var s=url.split('?').slice(1).join();
var t=s.split('&');
for (var i=0; i<t.length; ++i) {
var z=t[i].split('=');
z.push(null);
ret[z[0]]=z[1];
}
//Diff revision with no oldid is interpreted as a diff to the previous revision by MediaWiki
if (ret.diff && typeof(ret.oldid)==='undefined')
{
ret.oldid = "prev";
}
//Documentation seems to say something different, but oldid can also accept prev/next, and Echo is emitting such URLs. Simple fixup during parameter decoding:
if (ret.oldid && (ret.oldid==='prev' || ret.oldid==='next' || ret.oldid==='cur'))
{
var helper = ret.diff;
ret.diff = ret.oldid;
ret.oldid = helper;
}
return ret;
}
// (a) myDecodeURI (first standard decodeURI, then pg.re.urlNoPopup)
// (b) change spaces to underscores
// (c) encodeURI (just the straight one, no pg.re.urlNoPopup)
function myDecodeURI (str) {
var ret;
// FIXME decodeURIComponent??
try { ret=decodeURI(str.toString()); }
catch (summat) { return str; }
for (var i=0; i<pg.misc.decodeExtras.length; ++i) {
var from=pg.misc.decodeExtras[i].from;
var to=pg.misc.decodeExtras[i].to;
ret=ret.split(from).join(to);
}
return ret;
}
function safeDecodeURI(str) { var ret=myDecodeURI(str); return ret || str; }
///////////
// TESTS //
///////////
//<NOLITE>
function isDisambig(data, article, props) {
if (!getValueOf('popupAllDabsStubs') && article.namespace()) { return false; }
return ! article.isTalkPage() && props.hasOwnProperty('disambiguation');
}
function stubCount(data, article) {
if (!getValueOf('popupAllDabsStubs') && article.namespace()) { return false; }
var sectStub=0;
var realStub=0;
if (pg.re.stub.test(data)) {
var s=data.parenSplit(pg.re.stub);
for (var i=1; i<s.length; i=i+2) {
if (s[i]) { ++sectStub; }
else { ++realStub; }
}
}
return { real: realStub, sect: sectStub };
}
function isValidImageName(str){ // extend as needed...
return ( str.indexOf('{') == -1 );
}
function isInStrippableNamespace(article) {
// Does the namespace allow subpages
// Note, would be better if we had access to wgNamespacesWithSubpages
try {
return ( article.namespaceId() !== 0 );
} catch (e) {
return false;
}
}
function isInMainNamespace(article) { return article.namespaceId() === 0; }
function anchorContainsImage(a) {
// iterate over children of anchor a
// see if any are images
if (a === null) { return false; }
var kids=a.childNodes;
for (var i=0; i<kids.length; ++i) { if (kids[i].nodeName=='IMG') { return true; } }
return false;
}
//</NOLITE>
function isPopupLink(a) {
// NB for performance reasons, TOC links generally return true
// they should be stripped out later
if (!markNopopupSpanLinks.done) { markNopopupSpanLinks(); }
if (a.inNopopupSpan) { return false; }
// FIXME is this faster inline?
if (a.onmousedown || a.getAttribute('nopopup')) { return false; }
var h=a.href;
if (h === document.location.href+'#') { return false; }
if (!pg.re.basenames.test(h)) { return false; }
if (!pg.re.urlNoPopup.test(h)) { return true; }
return (
(pg.re.email.test(h) || pg.re.contribs.test(h) || pg.re.backlinks.test(h) || pg.re.specialdiff.test(h)) &&
h.indexOf('&limit=') == -1 );
}
function markNopopupSpanLinks() {
if( !getValueOf('popupOnlyArticleLinks'))
fixVectorMenuPopups();
var s = $('.nopopups').toArray();
for (var i=0; i<s.length; ++i) {
var as=s[i].getElementsByTagName('a');
for (var j=0; j<as.length; ++j) {
as[j].inNopopupSpan=true;
}
}
markNopopupSpanLinks.done=true;
}
function fixVectorMenuPopups() {
$('div.vectorMenu h3:first a:first').prop('inNopopupSpan', true);
}
// ENDFILE: titles.js
// STARTFILE: getpage.js
//////////////////////////////////////////////////
// Wiki-specific downloading
//
// Schematic for a getWiki call
//
// getPageWithCaching
// |
// false | true
// getPage<-[findPictureInCache]->-onComplete(a fake download)
// \.
// (async)->addPageToCache(download)->-onComplete(download)
// check cache to see if page exists
function getPageWithCaching(url, onComplete, owner) {
log('getPageWithCaching, url='+url);
var i=findInPageCache(url);
var d;
if (i > -1) {
d=fakeDownload(url, owner.idNumber, onComplete,
pg.cache.pages[i].data, pg.cache.pages[i].lastModified,
owner);
} else {
d=getPage(url, onComplete, owner);
if (d && owner && owner.addDownload) {
owner.addDownload(d);
d.owner=owner;
}
}
}
function getPage(url, onComplete, owner) {
log('getPage');
var callback= function (d) { if (!d.aborted) {addPageToCache(d); onComplete(d);} };
return startDownload(url, owner.idNumber, callback);
}
function findInPageCache(url) {
for (var i=0; i<pg.cache.pages.length; ++i) {
if (url==pg.cache.pages[i].url) { return i; }
}
return -1;
}
function addPageToCache(download) {
log('addPageToCache '+download.url);
var page = {url: download.url, data: download.data, lastModified: download.lastModified};
return pg.cache.pages.push(page);
}
// ENDFILE: getpage.js
// STARTFILE: parensplit.js
//////////////////////////////////////////////////
// parenSplit
// String.prototype.parenSplit should do what ECMAscript says String.prototype.split does,
// interspersing paren matches (regex capturing groups) between the split elements.
// i.e. 'abc'.split(/(b)/)) should return ['a','b','c'], not ['a','c']
if (String('abc'.split(/(b)/))!='a,b,c') {
// broken String.split, e.g. konq, IE < 10
String.prototype.parenSplit=function (re) {
re=nonGlobalRegex(re);
var s=this;
var m=re.exec(s);
var ret=[];
while (m && s) {
// without the following loop, we have
// 'ab'.parenSplit(/a|(b)/) != 'ab'.split(/a|(b)/)
for(var i=0; i<m.length; ++i) {
if (typeof m[i]=='undefined') m[i]='';
}
ret.push(s.substring(0,m.index));
ret = ret.concat(m.slice(1));
s=s.substring(m.index + m[0].length);
m=re.exec(s);
}
ret.push(s);
return ret;
};
} else {
String.prototype.parenSplit=function (re) { return this.split(re); };
String.prototype.parenSplit.isNative=true;
}
function nonGlobalRegex(re) {
var s=re.toString();
var flags='';
for (var j=s.length; s.charAt(j) != '/'; --j) {
if (s.charAt(j) != 'g') { flags += s.charAt(j); }
}
var t=s.substring(1,j);
return RegExp(t,flags);
}
// ENDFILE: parensplit.js
// STARTFILE: tools.js
// IE madness with encoding
// ========================
//
// suppose throughout that the page is in utf8, like wikipedia
//
// if a is an anchor DOM element and a.href should consist of
//
// http://host.name.here/wiki/foo?bar=baz
//
// then IE gives foo as "latin1-encoded" utf8; we have foo = decode_utf8(decodeURI(foo_ie))
// but IE gives bar=baz correctly as plain utf8
//
// ---------------------------------
//
// IE's xmlhttp doesn't understand utf8 urls. Have to use encodeURI here.
//
// ---------------------------------
//
// summat else
// Source: http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm
//<NOLITE>
function getJsObj(json) {
try {
var json_ret = JSON.parse(json);
if( json_ret.warnings ) {
for( var w=0; w < json_ret.warnings.length; w++ ) {
if( json_ret.warnings[w]['*'] ) {
log( json_ret.warnings[w]['*'] );
} else {
log( json_ret.warnings[w]['warnings'] );
}
}
} else if ( json_ret.error ) {
errlog( json_ret.error.code + ': ' + json_ret.error.info );
}
return json_ret;
} catch (someError) {
errlog('Something went wrong with getJsObj, json='+json);
return 1;
}
}
function anyChild(obj) {
for (var p in obj) {
return obj[p];
}
return null;
}
//</NOLITE>
function upcaseFirst(str) {
if (typeof str != typeof '' || str === '') return '';
return str.charAt(0).toUpperCase() + str.substring(1);
}
function findInArray(arr, foo) {
if (!arr || !arr.length) { return -1; }
var len=arr.length;
for (var i=0; i<len; ++i) { if (arr[i]==foo) { return i; } }
return -1;
}
/* eslint-disable no-unused-vars */
function nextOne (array, value) {
// NB if the array has two consecutive entries equal
// then this will loop on successive calls
var i=findInArray(array, value);
if (i<0) { return null; }
return array[i+1];
}
/* eslint-enable no-unused-vars */
function literalizeRegex(str){
return mw.util.escapeRegExp(str);
}
String.prototype.entify=function() {
//var shy='­';
return this.split('&').join('&').split('<').join('<').split('>').join('>'/*+shy*/).split('"').join('"');
};
// Array filter function
function removeNulls(val) { return val !== null; }
function joinPath(list) {
return list.filter(removeNulls).join('/');
}
function simplePrintf(str, subs) {
if (!str || !subs) { return str; }
var ret=[];
var s=str.parenSplit(/(%s|\$[0-9]+)/);
var i=0;
do {
ret.push(s.shift());
if ( !s.length ) { break; }
var cmd=s.shift();
if (cmd == '%s') {
if ( i < subs.length ) { ret.push(subs[i]); } else { ret.push(cmd); }
++i;
} else {
var j=parseInt( cmd.replace('$', ''), 10 ) - 1;
if ( j > -1 && j < subs.length ) { ret.push(subs[j]); } else { ret.push(cmd); }
}
} while (s.length > 0);
return ret.join('');
}
/* eslint-disable no-unused-vars */
function isString(x) { return (typeof x === 'string' || x instanceof String); }
function isNumber(x) { return (typeof x === 'number' || x instanceof Number); }
function isRegExp(x) { return x instanceof RegExp; }
function isArray (x) { return x instanceof Array; }
function isObject(x) { return x instanceof Object; }
function isFunction(x) {
return !isRegExp(x) && ($.isFunction(x) || x instanceof Function);
}
/* eslint-enable no-unused-vars */
function repeatString(s,mult) {
var ret='';
for (var i=0; i<mult; ++i) { ret += s; }
return ret;
}
function zeroFill(s, min) {
min = min || 2;
var t=s.toString();
return repeatString('0', min - t.length) + t;
}
function map(f, o) {
if (isArray(o)) { return map_array(f,o); }
return map_object(f,o);
}
function map_array(f,o) {
var ret=[];
for (var i=0; i<o.length; ++i) {
ret.push(f(o[i]));
}
return ret;
}
function map_object(f,o) {
var ret={};
for (var i in o) { ret[o]=f(o[i]); }
return ret;
}
pg.escapeQuotesHTML = function ( text ) {
return text
.replace(/&/g, "&")
.replace(/"/g, """)
.replace(/</g, "<")
.replace(/>/g, ">");
};
// ENDFILE: tools.js
// STARTFILE: dab.js
//<NOLITE>
//////////////////////////////////////////////////
// Dab-fixing code
//
function retargetDab(newTarget, oldTarget, friendlyCurrentArticleName, titleToEdit) {
log('retargetDab: newTarget='+newTarget + ' oldTarget=' + oldTarget);
return changeLinkTargetLink(
{newTarget: newTarget,
text: newTarget.split(' ').join(' '),
hint: tprintf('disambigHint', [newTarget]),
summary: simplePrintf(
getValueOf('popupFixDabsSummary'), [friendlyCurrentArticleName, newTarget ]),
clickButton: getValueOf('popupDabsAutoClick'), minor: true, oldTarget: oldTarget,
watch: getValueOf('popupWatchDisambiggedPages'),
title: titleToEdit});
}
function listLinks(wikitext, oldTarget, titleToEdit) {
// mediawiki strips trailing spaces, so we do the same
// testcase: https://en.wikipedia.org/w/index.php?title=Radial&oldid=97365633
var reg=RegExp('\\[\\[([^|]*?) *(\\||\\]\\])', 'gi');
var ret=[];
var splitted=wikitext.parenSplit(reg);
// ^[a-z]+ should match interwiki links, hopefully (case-insensitive)
// and ^[a-z]* should match those and [[:Category...]] style links too
var omitRegex=RegExp('^[a-z]*:|^[Ss]pecial:|^[Ii]mage|^[Cc]ategory');
var friendlyCurrentArticleName= oldTarget.toString();
var wikPos = getValueOf('popupDabWiktionary');
for (var i=1; i<splitted.length; i=i+3) {
if (typeof splitted[i] == typeof 'string' && splitted[i].length>0 && !omitRegex.test(splitted[i])) {
ret.push( retargetDab(splitted[i], oldTarget, friendlyCurrentArticleName, titleToEdit) );
} /* if */
} /* for loop */
ret = rmDupesFromSortedList(ret.sort());
if (wikPos) {
var wikTarget='wiktionary:' +
friendlyCurrentArticleName.replace( RegExp('^(.+)\\s+[(][^)]+[)]\\s*$'), '$1' );
var meth;
if (wikPos.toLowerCase() == 'first') { meth = 'unshift'; }
else { meth = 'push'; }
ret[meth]( retargetDab(wikTarget, oldTarget, friendlyCurrentArticleName, titleToEdit) );
}
ret.push(changeLinkTargetLink(
{ newTarget: null,
text: popupString('remove this link').split(' ').join(' '),
hint: popupString("remove all links to this disambig page from this article"),
clickButton: getValueOf('popupDabsAutoClick'), oldTarget: oldTarget,
summary: simplePrintf(getValueOf('popupRmDabLinkSummary'), [friendlyCurrentArticleName]),
watch: getValueOf('popupWatchDisambiggedPages'),
title: titleToEdit
}));
return ret;
}
function rmDupesFromSortedList(list) {
var ret=[];
for (var i=0; i<list.length; ++i) {
if (ret.length === 0 || list[i]!=ret[ret.length-1]) { ret.push(list[i]); }
}
return ret;
}
function makeFixDab(data, navpop) {
// grab title from parent popup if there is one; default exists in changeLinkTargetLink
var titleToEdit=(navpop.parentPopup && navpop.parentPopup.article.toString());
var list=listLinks(data, navpop.originalArticle, titleToEdit);
if (list.length === 0) { log('listLinks returned empty list'); return null; }
var html='<hr />' + popupString('Click to disambiguate this link to:') + '<br>';
html+=list.join(', ');
return html;
}
function makeFixDabs(wikiText, navpop, props) {
if (getValueOf('popupFixDabs') && isDisambig(wikiText, navpop.article, props) &&
Title.fromURL(location.href).namespaceId() != pg.nsSpecialId &&
navpop.article.talkPage() ) {
setPopupHTML(makeFixDab(wikiText, navpop, props), 'popupFixDab', navpop.idNumber);
}
}
function popupRedlinkHTML(article) {
return changeLinkTargetLink(
{ newTarget: null, text: popupString('remove this link').split(' ').join(' '),
hint: popupString("remove all links to this page from this article"),
clickButton: getValueOf('popupRedlinkAutoClick'),
oldTarget: article.toString(),
summary: simplePrintf(getValueOf('popupRedlinkSummary'), [article.toString()])});
}
//</NOLITE>
// ENDFILE: dab.js
// STARTFILE: htmloutput.js
// this has to use a timer loop as we don't know if the DOM element exists when we want to set the text
function setPopupHTML (str, elementId, popupId, onSuccess, append) {
if (typeof popupId === 'undefined') {
//console.error('popupId is not defined in setPopupHTML, html='+str.substring(0,100));
popupId = pg.idNumber;
}
var popupElement=document.getElementById(elementId+popupId);
if (popupElement) {
if (!append) { popupElement.innerHTML=''; }
if (isString(str)) {
popupElement.innerHTML+=str;
} else {
popupElement.appendChild(str);
}
if (onSuccess) { onSuccess(); }
setTimeout(checkPopupPosition, 100);
return true;
} else {
// call this function again in a little while...
setTimeout(function(){
setPopupHTML(str,elementId,popupId,onSuccess);
}, 600);
}
return null;
}
//<NOLITE>
function setPopupTrailer(str,id) {return setPopupHTML(str, 'popupData', id);}
//</NOLITE>
// args.navpopup is mandatory
// optional: args.redir, args.redirTarget
// FIXME: ye gods, this is ugly stuff
function fillEmptySpans(args) {
// if redir is present and true then redirTarget is mandatory
var redir=true;
var rcid;
if (typeof args != 'object' || typeof args.redir == 'undefined' || !args.redir) { redir=false; }
var a=args.navpopup.parentAnchor;
var article, hint=null, oldid=null, params={};
if (redir && typeof args.redirTarget == typeof {}) {
article=args.redirTarget;
//hint=article.hintValue();
} else {
article=(new Title()).fromAnchor(a);
hint=a.originalTitle || article.hintValue();
params=parseParams(a.href);
oldid=(getValueOf('popupHistoricalLinks')) ? params.oldid : null;
rcid=params.rcid;
}
var x={ article:article, hint: hint, oldid: oldid, rcid: rcid, navpop:args.navpopup, params:params };
var structure=pg.structures[getValueOf('popupStructure')];
if (typeof structure != 'object') {
setPopupHTML('popupError', 'Unknown structure (this should never happen): '+
pg.option.popupStructure, args.navpopup.idNumber);
return;
}
var spans=flatten(pg.misc.layout);
var numspans = spans.length;
var redirs=pg.misc.redirSpans;
for (var i=0; i<numspans; ++i) {
var found = redirs && (redirs.indexOf( spans[i] ) !== -1);
//log('redir='+redir+', found='+found+', spans[i]='+spans[i]);
if ( (found && !redir) || (!found && redir) ) {
//log('skipping this set of the loop');
continue;
}
var structurefn=structure[spans[i]];
var setfn = setPopupHTML;
if (getValueOf('popupActiveNavlinks') &&
(spans[i].indexOf('popupTopLinks')===0 || spans[i].indexOf('popupRedirTopLinks')===0)
) {
setfn = setPopupTipsAndHTML;
}
switch (typeof structurefn) {
case 'function':
log('running '+spans[i]+'({article:'+x.article+', hint:'+x.hint+', oldid: '+x.oldid+'})');
setfn(structurefn(x), spans[i], args.navpopup.idNumber);
break;
case 'string':
setfn(structurefn, spans[i], args.navpopup.idNumber);
break;
default:
errlog('unknown thing with label '+spans[i] + ' (span index was ' + i + ')');
break;
}
}
}
// flatten an array
function flatten(list, start) {
var ret=[];
if (typeof start == 'undefined') { start=0; }
for (var i=start; i<list.length; ++i) {
if (typeof list[i] == typeof []) {
return ret.concat(flatten(list[i])).concat(flatten(list, i+1));
}
else { ret.push(list[i]); }
}
return ret;
}
// Generate html for whole popup
function popupHTML (a) {
getValueOf('popupStructure');
var structure=pg.structures[pg.option.popupStructure];
if (typeof structure != 'object') {
//return 'Unknown structure: '+pg.option.popupStructure;
// override user choice
pg.option.popupStructure=pg.optionDefault.popupStructure;
return popupHTML(a);
}
if (typeof structure.popupLayout != 'function') { return 'Bad layout'; }
pg.misc.layout=structure.popupLayout();
if ($.isFunction(structure.popupRedirSpans)) { pg.misc.redirSpans=structure.popupRedirSpans(); }
else { pg.misc.redirSpans=[]; }
return makeEmptySpans(pg.misc.layout, a.navpopup);
}
function makeEmptySpans (list, navpop) {
var ret='';
for (var i=0; i<list.length; ++i) {
if (typeof list[i] == typeof '') {
ret += emptySpanHTML(list[i], navpop.idNumber, 'div');
} else if (typeof list[i] == typeof [] && list[i].length > 0 ) {
ret = ret.parenSplit(RegExp('(</[^>]*?>$)')).join(makeEmptySpans(list[i], navpop));
} else if (typeof list[i] == typeof {} && list[i].nodeType ) {
ret += emptySpanHTML(list[i].name, navpop.idNumber, list[i].nodeType);
}
}
return ret;
}
function emptySpanHTML(name, id, tag, classname) {
tag = tag || 'span';
if (!classname) { classname = emptySpanHTML.classAliases[name]; }
classname = classname || name;
if (name == getValueOf('popupDragHandle')) { classname += ' popupDragHandle'; }
return simplePrintf('<%s id="%s" class="%s"></%s>', [tag, name + id, classname, tag]);
}
emptySpanHTML.classAliases={ 'popupSecondPreview': 'popupPreview' };
// generate html for popup image
// <a id="popupImageLinkn"><img id="popupImagen">
// where n=idNumber
function imageHTML(article, idNumber) {
return simplePrintf('<a id="popupImageLink$1">' +
'<img align="right" valign="top" id="popupImg$1" style="display: none;"></img>' +
'</a>', [ idNumber ]);
}
function popTipsSoonFn(id, when, popData) {
if (!when) { when=250; }
var popTips=function(){ setupTooltips(document.getElementById(id), false, true, popData); };
return function() { setTimeout( popTips, when, popData ); };
}
function setPopupTipsAndHTML(html, divname, idnumber, popData) {
setPopupHTML(html, divname, idnumber,
getValueOf('popupSubpopups') ?
popTipsSoonFn(divname + idnumber, null, popData) :
null);
}
// ENDFILE: htmloutput.js
// STARTFILE: mouseout.js
//////////////////////////////////////////////////
// fuzzy checks
function fuzzyCursorOffMenus(x,y, fuzz, parent) {
if (!parent) { return null; }
var uls=parent.getElementsByTagName('ul');
for (var i=0; i<uls.length; ++i) {
if (uls[i].className=='popup_menu') {
if (uls[i].offsetWidth > 0) return false;
} // else {document.title+='.';}
}
return true;
}
function checkPopupPosition () { // stop the popup running off the right of the screen
// FIXME avoid pg.current.link
if (pg.current.link && pg.current.link.navpopup)
pg.current.link.navpopup.limitHorizontalPosition();
}
function mouseOutWikiLink () {
//console ('mouseOutWikiLink');
var a=this;
removeModifierKeyHandler(a);
if (a.navpopup === null || typeof a.navpopup === 'undefined') return;
if ( ! a.navpopup.isVisible() ) {
a.navpopup.banish();
return;
}
restoreTitle(a);
Navpopup.tracker.addHook(posCheckerHook(a.navpopup));
}
function posCheckerHook(navpop) {
return function() {
if (!navpop.isVisible()) { return true; /* remove this hook */ }
if (Navpopup.tracker.dirty) {
return false;
}
var x=Navpopup.tracker.x, y=Navpopup.tracker.y;
var mouseOverNavpop = navpop.isWithin(x,y,navpop.fuzz, navpop.mainDiv) ||
!fuzzyCursorOffMenus(x,y,navpop.fuzz, navpop.mainDiv);
// FIXME it'd be prettier to do this internal to the Navpopup objects
var t=getValueOf('popupHideDelay');
if (t) { t = t * 1000; }
if (!t) {
if(!mouseOverNavpop) {
if(navpop.parentAnchor) {
restoreTitle( navpop.parentAnchor );
}
navpop.banish();
return true; /* remove this hook */
}
return false;
}
// we have a hide delay set
var d=+(new Date());
if ( !navpop.mouseLeavingTime ) {
navpop.mouseLeavingTime = d;
return false;
}
if ( mouseOverNavpop ) {
navpop.mouseLeavingTime=null;
return false;
}
if (d - navpop.mouseLeavingTime > t) {
navpop.mouseLeavingTime=null;
navpop.banish(); return true; /* remove this hook */
}
return false;
};
}
function runStopPopupTimer(navpop) {
// at this point, we should have left the link but remain within the popup
// so we call this function again until we leave the popup.
if (!navpop.stopPopupTimer) {
navpop.stopPopupTimer=setInterval(posCheckerHook(navpop), 500);
navpop.addHook(function(){clearInterval(navpop.stopPopupTimer);},
'hide', 'before');
}
}
// ENDFILE: mouseout.js
// STARTFILE: previewmaker.js
/**
@fileoverview
Defines the {@link Previewmaker} object, which generates short previews from wiki markup.
*/
/**
Creates a new Previewmaker
@constructor
@class The Previewmaker class. Use an instance of this to generate short previews from Wikitext.
@param {String} wikiText The Wikitext source of the page we wish to preview.
@param {String} baseUrl The url we should prepend when creating relative urls.
@param {Navpopup} owner The navpop associated to this preview generator
*/
function Previewmaker(wikiText, baseUrl, owner) {
/** The wikitext which is manipulated to generate the preview. */
this.originalData=wikiText;
this.baseUrl=baseUrl;
this.owner=owner;
this.maxCharacters=getValueOf('popupMaxPreviewCharacters');
this.maxSentences=getValueOf('popupMaxPreviewSentences');
this.setData();
}
Previewmaker.prototype.setData=function() {
var maxSize=Math.max(10000, 2*this.maxCharacters);
this.data=this.originalData.substring(0,maxSize);
};
/** Remove HTML comments
@private
*/
Previewmaker.prototype.killComments = function () {
// this also kills one trailing newline, eg [[diamyo]]
this.data=this.data.replace(RegExp('^<!--[^$]*?-->\\n|\\n<!--[^$]*?-->(?=\\n)|<!--[^$]*?-->', 'g'), '');
};
/**
@private
*/
Previewmaker.prototype.killDivs = function () {
// say goodbye, divs (can be nested, so use * not *?)
this.data=this.data.replace(RegExp('< *div[^>]* *>[\\s\\S]*?< */ *div *>',
'gi'), '');
};
/**
@private
*/
Previewmaker.prototype.killGalleries = function () {
this.data=this.data.replace(RegExp('< *gallery[^>]* *>[\\s\\S]*?< */ *gallery *>',
'gi'), '');
};
/**
@private
*/
Previewmaker.prototype.kill = function(opening, closing, subopening, subclosing, repl) {
var oldk=this.data;
var k=this.killStuff(this.data, opening, closing, subopening, subclosing, repl);
while (k.length < oldk.length) {
oldk=k;
k=this.killStuff(k, opening, closing, subopening, subclosing, repl);
}
this.data=k;
};
/**
@private
*/
Previewmaker.prototype.killStuff = function (txt, opening, closing, subopening, subclosing, repl) {
var op=this.makeRegexp(opening);
var cl=this.makeRegexp(closing, '^');
var sb=subopening ? this.makeRegexp(subopening, '^') : null;
var sc=subclosing ? this.makeRegexp(subclosing, '^') : cl;
if (!op || !cl) {
alert('Navigation Popups error: op or cl is null! something is wrong.');
return;
}
if (!op.test(txt)) { return txt; }
var ret='';
var opResult = op.exec(txt);
ret = txt.substring(0,opResult.index);
txt=txt.substring(opResult.index+opResult[0].length);
var depth = 1;
while (txt.length > 0) {
var removal=0;
if (depth==1 && cl.test(txt)) {
depth--;
removal=cl.exec(txt)[0].length;
} else if (depth > 1 && sc.test(txt)) {
depth--;
removal=sc.exec(txt)[0].length;
}else if (sb && sb.test(txt)) {
depth++;
removal=sb.exec(txt)[0].length;
}
if ( !removal ) { removal = 1; }
txt=txt.substring(removal);
if (depth === 0) { break; }
}
return ret + (repl || '') + txt;
};
/**
@private
*/
Previewmaker.prototype.makeRegexp = function (x, prefix, suffix) {
prefix = prefix || '';
suffix = suffix || '';
var reStr='';
var flags='';
if (isString(x)) {
reStr=prefix + literalizeRegex(x) + suffix;
} else if (isRegExp(x)) {
var s=x.toString().substring(1);
var sp=s.split('/');
flags=sp[sp.length-1];
sp[sp.length-1]='';
s=sp.join('/');
s=s.substring(0,s.length-1);
reStr= prefix + s + suffix;
} else {
log ('makeRegexp failed');
}
log ('makeRegexp: got reStr=' + reStr + ', flags=' + flags);
return RegExp(reStr, flags);
};
/**
@private
*/
Previewmaker.prototype.killBoxTemplates = function () {
// taxobox removal... in fact, there's a saudiprincebox_begin, so let's be more general
// also, have float_begin, ... float_end
this.kill(RegExp('[{][{][^{}\\s|]*?(float|box)[_ ](begin|start)', 'i'), /[}][}]\s*/, '{{');
// infoboxes etc
// from [[User:Zyxw/popups.js]]: kill frames too
this.kill(RegExp('[{][{][^{}\\s|]*?(infobox|elementbox|frame)[_ ]', 'i'), /[}][}]\s*/, '{{');
};
/**
@private
<nowiki>
*/
Previewmaker.prototype.killTemplates = function () {
this.kill('{{', '}}', '{', '}', ' ');
};
/**
</nowiki>
@private
*/
Previewmaker.prototype.killTables = function () {
// tables are bad, too
// this can be slow, but it's an inprovement over a browser hang
// torture test: [[Comparison_of_Intel_Central_Processing_Units]]
this.kill('{|', /[|]}\s*/, '{|');
this.kill(/<table.*?>/i, /<\/table.*?>/i, /<table.*?>/i);
// remove lines starting with a pipe for the hell of it (?)
this.data=this.data.replace(RegExp('^[|].*$', 'mg'), '');
};
/**
@private
*/
Previewmaker.prototype.killImages = function () {
var forbiddenNamespaceAliases = [];
jQuery.each(mw.config.get('wgNamespaceIds'), function(_localizedNamespaceLc, _namespaceId) {
if (_namespaceId!=pg.nsImageId && _namespaceId!=pg.nsCategoryId) return;
forbiddenNamespaceAliases.push(_localizedNamespaceLc.split(' ').join('[ _]')); //todo: escape regexp fragments!
});
// images and categories are a nono
this.kill(RegExp('[[][[]\\s*(' + forbiddenNamespaceAliases.join('|') + ')\\s*:', 'i'),
/\]\]\s*/, '[', ']');
};
/**
@private
*/
Previewmaker.prototype.killHTML = function () {
// kill <ref ...>...</ref>
this.kill(/<ref\b[^/>]*?>/i, /<\/ref>/i);
// let's also delete entire lines starting with <. it's worth a try.
this.data=this.data.replace(RegExp('(^|\\n) *<.*', 'g'), '\n');
// and those pesky html tags, but not <nowiki> or <blockquote>
var splitted=this.data.parenSplit(/(<[\w\W]*?(?:>|$|(?=<)))/);
var len=splitted.length;
for (var i=1; i<len; i=i+2) {
switch (splitted[i]) {
case '<nowiki>':
case '</nowiki>':
case '<blockquote>':
case '</blockquote>':
break;
default:
splitted[i]='';
}
}
this.data=splitted.join('');
};
/**
@private
*/
Previewmaker.prototype.killChunks = function() { // heuristics alert
// chunks of italic text? you crazy, man?
var italicChunkRegex=new RegExp
("((^|\\n)\\s*:*\\s*''[^']([^']|'''|'[^']){20}(.|\\n[^\\n])*''[.!?\\s]*\\n)+", 'g');
// keep stuff separated, though, so stick in \n (fixes [[Union Jack]]?
this.data=this.data.replace(italicChunkRegex, '\n');
};
/**
@private
*/
Previewmaker.prototype.mopup = function () {
// we simply *can't* be doing with horizontal rules right now
this.data=this.data.replace(RegExp('^-{4,}','mg'),'');
// no indented lines
this.data=this.data.replace(RegExp('(^|\\n) *:[^\\n]*','g'), '');
// replace __TOC__, __NOTOC__ and whatever else there is
// this'll probably do
this.data=this.data.replace(RegExp('^__[A-Z_]*__ *$', 'gmi'),'');
};
/**
@private
*/
Previewmaker.prototype.firstBit = function () {
// dont't be givin' me no subsequent paragraphs, you hear me?
/// first we "normalize" section headings, removing whitespace after, adding before
var d=this.data;
if (getValueOf('popupPreviewCutHeadings')) {
this.data=this.data.replace(RegExp('\\s*(==+[^=]*==+)\\s*', 'g'), '\n\n$1 ');
/// then we want to get rid of paragraph breaks whose text ends badly
this.data=this.data.replace(RegExp('([:;]) *\\n{2,}', 'g'), '$1\n');
this.data=this.data.replace(RegExp('^[\\s\\n]*'), '');
var stuff=(RegExp('^([^\\n]|\\n[^\\n\\s])*')).exec(this.data);
if (stuff) { d = stuff[0]; }
if (!getValueOf('popupPreviewFirstParOnly')) { d = this.data; }
/// now put \n\n after sections so that bullets and numbered lists work
d=d.replace(RegExp('(==+[^=]*==+)\\s*', 'g'), '$1\n\n');
}
// Split sentences. Superfluous sentences are RIGHT OUT.
// note: exactly 1 set of parens here needed to make the slice work
d = d.parenSplit(RegExp('([!?.]+["'+"'"+']*\\s)','g'));
// leading space is bad, mmkay?
d[0]=d[0].replace(RegExp('^\\s*'), '');
var notSentenceEnds=RegExp('([^.][a-z][.] *[a-z]|etc|sic|Dr|Mr|Mrs|Ms|St|no|op|cit|\\[[^\\]]*|\\s[A-Zvclm])$', 'i');
d = this.fixSentenceEnds(d, notSentenceEnds);
this.fullLength=d.join('').length;
var n=this.maxSentences;
var dd=this.firstSentences(d,n);
do {
dd=this.firstSentences(d,n); --n;
} while ( dd.length > this.maxCharacters && n !== 0 );
this.data = dd;
};
/**
@private
*/
Previewmaker.prototype.fixSentenceEnds = function(strs, reg) {
// take an array of strings, strs
// join strs[i] to strs[i+1] & strs[i+2] if strs[i] matches regex reg
for (var i=0; i<strs.length-2; ++i) {
if (reg.test(strs[i])) {
var a=[];
for (var j=0; j<strs.length; ++j) {
if (j<i) a[j]=strs[j];
if (j==i) a[i]=strs[i]+strs[i+1]+strs[i+2];
if (j>i+2) a[j-2]=strs[j];
}
return this.fixSentenceEnds(a,reg);
}
}
return strs;
};
/**
@private
*/
Previewmaker.prototype.firstSentences = function(strs, howmany) {
var t=strs.slice(0, 2*howmany);
return t.join('');
};
/**
@private
*/
Previewmaker.prototype.killBadWhitespace = function() {
// also cleans up isolated '''', eg [[Suntory Sungoliath]]
this.data=this.data.replace(RegExp('^ *\'+ *$', 'gm'), '');
};
/**
Runs the various methods to generate the preview.
The preview is stored in the <code>html</html> field.
@private
*/
Previewmaker.prototype.makePreview = function() {
if (this.owner.article.namespaceId()!=pg.nsTemplateId &&
this.owner.article.namespaceId()!=pg.nsImageId ) {
this.killComments();
this.killDivs();
this.killGalleries();
this.killBoxTemplates();
if (getValueOf('popupPreviewKillTemplates')) {
this.killTemplates();
} else {
this.killMultilineTemplates();
}
this.killTables();
this.killImages();
this.killHTML();
this.killChunks();
this.mopup();
this.firstBit();
this.killBadWhitespace();
}
else
{
this.killHTML();
}
this.html=wiki2html(this.data, this.baseUrl); // needs livepreview
this.fixHTML();
this.stripLongTemplates();
};
/**
@private
*/
Previewmaker.prototype.esWiki2HtmlPart = function(data) {
var reLinks = /(?:\[\[([^|\]]*)(?:\|([^|\]]*))*]]([a-z]*))/gi; //match a wikilink
reLinks.lastIndex = 0; //reset regex
var match;
var result = "";
var postfixIndex = 0;
while ((match = reLinks.exec(data))) //match all wikilinks
{
//FIXME: the way that link is built here isn't perfect. It is clickable, but popups preview won't recognize it in some cases.
result += pg.escapeQuotesHTML(data.substring(postfixIndex, match.index)) +
'<a href="'+Insta.conf.paths.articles+pg.escapeQuotesHTML(match[1])+'">'+pg.escapeQuotesHTML((match[2]?match[2]:match[1])+match[3])+"</a>";
postfixIndex = reLinks.lastIndex;
}
//append the rest
result += pg.escapeQuotesHTML(data.substring(postfixIndex));
return result;
};
Previewmaker.prototype.editSummaryPreview=function() {
var reAes = /\/\* *(.*?) *\*\//g; //match the first section marker
reAes.lastIndex = 0; //reset regex
var match;
match = reAes.exec(this.data);
if (match)
{
//we have a section link. Split it, process it, combine it.
var prefix = this.data.substring(0,match.index-1);
var section = match[1];
var postfix = this.data.substring(reAes.lastIndex);
var start = "<span class='autocomment'>";
var end = "</span>";
if (prefix.length>0) start = this.esWiki2HtmlPart(prefix) + " " + start + "- ";
if (postfix.length>0) end = ": " + end + this.esWiki2HtmlPart(postfix);
var t=new Title().fromURL(this.baseUrl);
t.anchorFromUtf(section);
var sectionLink = Insta.conf.paths.articles + pg.escapeQuotesHTML(t.toString(true)) + '#' + pg.escapeQuotesHTML(t.anchor);
return start + '<a href="'+sectionLink+'">→</a> '+pg.escapeQuotesHTML(section) + end;
}
//else there's no section link, htmlify the whole thing.
return this.esWiki2HtmlPart(this.data);
};
//<NOLITE>
/** Test function for debugging preview problems one step at a time.
*/
/*eslint-disable */
function previewSteps(txt) {
try {
txt=txt || document.editform.wpTextbox1.value;
} catch (err) {
if (pg.cache.pages.length > 0) {
txt=pg.cache.pages[pg.cache.pages.length-1].data;
} else {
alert('provide text or use an edit page');
}
}
txt=txt.substring(0,10000);
var base=pg.wiki.articlebase + Title.fromURL(document.location.href).urlString();
var p=new Previewmaker(txt, base, pg.current.link.navpopup);
if (this.owner.article.namespaceId() != pg.nsTemplateId) {
p.killComments(); if (!confirm('done killComments(). Continue?\n---\n' + p.data)) { return; }
p.killDivs(); if (!confirm('done killDivs(). Continue?\n---\n' + p.data)) { return; }
p.killGalleries(); if (!confirm('done killGalleries(). Continue?\n---\n' + p.data)) { return; }
p.killBoxTemplates(); if (!confirm('done killBoxTemplates(). Continue?\n---\n' + p.data)) { return; }
if (getValueOf('popupPreviewKillTemplates')) {
p.killTemplates(); if (!confirm('done killTemplates(). Continue?\n---\n' + p.data)) { return; }
} else {
p.killMultilineTemplates(); if (!confirm('done killMultilineTemplates(). Continue?\n---\n' + p.data)) { return; }
}
p.killTables(); if (!confirm('done killTables(). Continue?\n---\n' + p.data)) { return; }
p.killImages(); if (!confirm('done killImages(). Continue?\n---\n' + p.data)) { return; }
p.killHTML(); if (!confirm('done killHTML(). Continue?\n---\n' + p.data)) { return; }
p.killChunks(); if (!confirm('done killChunks(). Continue?\n---\n' + p.data)) { return; }
p.mopup(); if (!confirm('done mopup(). Continue?\n---\n' + p.data)) { return; }
p.firstBit(); if (!confirm('done firstBit(). Continue?\n---\n' + p.data)) { return; }
p.killBadWhitespace(); if (!confirm('done killBadWhitespace(). Continue?\n---\n' + p.data)) { return; }
}
p.html=wiki2html(p.data, base); // needs livepreview
p.fixHTML(); if (!confirm('done fixHTML(). Continue?\n---\n' + p.html)) { return; }
p.stripLongTemplates(); if (!confirm('done stripLongTemplates(). Continue?\n---\n' + p.html)) { return; }
alert('finished preview - end result follows.\n---\n' + p.html);
}
/*eslint-enable */
//</NOLITE>
/**
Works around livepreview bugs.
@private
*/
Previewmaker.prototype.fixHTML = function() {
if(!this.html) return;
var ret = this.html;
// fix question marks in wiki links
// maybe this'll break some stuff :-(
ret=ret.replace(RegExp('(<a href="' + pg.wiki.articlePath + '/[^"]*)[?](.*?")', 'g'), '$1%3F$2');
ret=ret.replace(RegExp('(<a href=\'' + pg.wiki.articlePath + '/[^\']*)[?](.*?\')', 'g'), '$1%3F$2');
// FIXME fix up % too
this.html=ret;
};
/**
Generates the preview and displays it in the current popup.
Does nothing if the generated preview is invalid or consists of whitespace only.
Also activates wikilinks in the preview for subpopups if the popupSubpopups option is true.
*/
Previewmaker.prototype.showPreview = function () {
this.makePreview();
if (typeof this.html != typeof '') return;
if (RegExp('^\\s*$').test(this.html)) return;
setPopupHTML('<hr />', 'popupPrePreviewSep', this.owner.idNumber);
setPopupTipsAndHTML(this.html, 'popupPreview', this.owner.idNumber, { owner: this.owner });
var more = (this.fullLength > this.data.length) ? this.moreLink() : '';
setPopupHTML(more, 'popupPreviewMore', this.owner.idNumber);
};
/**
@private
*/
Previewmaker.prototype.moreLink=function() {
var a=document.createElement('a');
a.className='popupMoreLink';
a.innerHTML=popupString('more...');
var savedThis=this;
a.onclick=function() {
savedThis.maxCharacters+=2000;
savedThis.maxSentences+=20;
savedThis.setData();
savedThis.showPreview();
};
return a;
};
/**
@private
*/
Previewmaker.prototype.stripLongTemplates = function() {
// operates on the HTML!
this.html=this.html.replace(RegExp('^.{0,1000}[{][{][^}]*?(<(p|br)( /)?>\\s*){2,}([^{}]*?[}][}])?', 'gi'), '');
this.html=this.html.split('\n').join(' '); // workaround for <pre> templates
this.html=this.html.replace(RegExp('[{][{][^}]*<pre>[^}]*[}][}]','gi'), '');
};
/**
@private
*/
Previewmaker.prototype.killMultilineTemplates = function() {
this.kill('{{{', '}}}');
this.kill(RegExp('\\s*[{][{][^{}]*\\n'), '}}', '{{');
};
// ENDFILE: previewmaker.js
// STARTFILE: querypreview.js
function loadAPIPreview(queryType, article, navpop) {
var art=new Title(article).urlString();
var url=pg.wiki.apiwikibase + '?format=json&formatversion=2&action=query&';
var htmlGenerator=function(/*a, d*/){alert('invalid html generator');};
var usernameart = '';
switch (queryType) {
case 'history':
url += 'titles=' + art + '&prop=revisions&rvlimit=' +
getValueOf('popupHistoryPreviewLimit');
htmlGenerator=APIhistoryPreviewHTML;
break;
case 'category':
url += 'list=categorymembers&cmtitle=' + art;
htmlGenerator=APIcategoryPreviewHTML;
break;
case 'userinfo':
var username = new Title( article ).userName();
usernameart = encodeURIComponent( username );
if (pg.re.ipUser.test(username)) {
url += 'list=blocks&bkprop=range&bkip=' + usernameart;
} else {
url += 'list=users|usercontribs&usprop=blockinfo|groups|editcount|registration|gender&ususers=' + usernameart + "&meta=globaluserinfo&guiprop=groups|unattached&guiuser="+ usernameart + "&uclimit=1&ucprop=timestamp&ucuser=" + usernameart;
}
htmlGenerator=APIuserInfoPreviewHTML;
break;
case 'contribs':
usernameart = encodeURIComponent( new Title( article ).userName() );
url += 'list=usercontribs&ucuser=' + usernameart +
'&uclimit=' + getValueOf('popupContribsPreviewLimit');
htmlGenerator=APIcontribsPreviewHTML;
break;
case 'imagepagepreview':
var trail='';
if (getValueOf('popupImageLinks')) { trail = '&list=imageusage&iutitle=' + art; }
url += 'titles=' + art + '&prop=revisions|imageinfo&rvprop=content&rvslots=main' + trail;
htmlGenerator=APIimagepagePreviewHTML;
break;
case 'backlinks':
url += 'list=backlinks&bltitle=' + art;
htmlGenerator=APIbacklinksPreviewHTML;
break;
case 'revision':
if (article.oldid) {
url += 'revids=' + article.oldid;
} else {
url += 'titles=' + article.removeAnchor().urlString();
}
url += '&prop=revisions|pageprops|info|images|categories&rvprop=ids|timestamp|flags|comment|user|content&cllimit=max&imlimit=max&rvslots=main';
htmlGenerator=APIrevisionPreviewHTML;
break;
}
pendingNavpopTask(navpop);
var callback=function(d){
log( "callback of API functions was hit" );
showAPIPreview(queryType, htmlGenerator(article,d,navpop), navpop.idNumber, navpop, d);
};
var go = function(){
getPageWithCaching(url, callback, navpop);
return true;
};
if (navpop.visible || !getValueOf('popupLazyDownloads')) { go(); }
else { navpop.addHook(go, 'unhide', 'before', 'DOWNLOAD_'+queryType+'_QUERY_DATA'); }
}
function linkList(list) {
list.sort(function(x,y) { return (x==y ? 0 : (x<y ? -1 : 1)); });
var buf=[];
for (var i=0; i<list.length; ++i) {
buf.push(wikiLink({article: new Title(list[i]),
text: list[i].split(' ').join(' '),
action: 'view'}));
}
return buf.join(', ');
}
function getTimeOffset() {
var tz = mw.user.options.get('timecorrection');
if(tz) {
if( tz.indexOf('|') > -1 ) {
// New format
return parseInt(tz.split('|')[1],10);
} else if ( tz.indexOf(':') > -1 ) {
// Old format
return( parseInt(tz,10)*60 + parseInt(tz.split(':')[1],10) );
}
}
return 0;
}
/*
* Creates a HTML table that's shown in the history and user-contribs popups.
* @param {Object[]} h - a list of revisions, returned from the API
* @param {boolean} reallyContribs - true only if we're displaying user contributions
*/
function editPreviewTable(article, h, reallyContribs, timeOffset) {
var html=['<table>'];
var day=null;
var curart=article;
var page=null;
var makeFirstColumnLinks;
if(reallyContribs) {
// We're showing user contributions, so make (diff | hist) links
makeFirstColumnLinks = function(currentRevision) {
var result = '(';
result += '<a href="' + pg.wiki.titlebase +
new Title(currentRevision.title).urlString() + '&diff=prev' +
'&oldid=' + currentRevision.revid + '">' + popupString('diff') + '</a>';
result += ' | ';
result += '<a href="' + pg.wiki.titlebase +
new Title(currentRevision.title).urlString() + '&action=history">' +
popupString('hist') + '</a>';
result += ')';
return result;
};
} else {
// It's a regular history page, so make (cur | last) links
var firstRevid = h[0].revid;
makeFirstColumnLinks = function(currentRevision) {
var result = '(';
result += '<a href="' + pg.wiki.titlebase + new Title(curart).urlString() +
'&diff=' + firstRevid + '&oldid=' + currentRevision.revid + '">' + popupString('cur') + '</a>';
result += ' | ';
result += '<a href="' + pg.wiki.titlebase + new Title(curart).urlString() +
'&diff=prev&oldid=' + currentRevision.revid + '">' + popupString('last') + '</a>';
result += ')';
return result;
};
}
for (var i=0; i<h.length; ++i) {
if (reallyContribs) {
page = h[i].title;
curart = new Title(page);
}
var minor = h[i].minor ? '<b>m </b>' : '';
var editDate = adjustDate(getDateFromTimestamp(h[i].timestamp), timeOffset);
var thisDay = dayFormat(editDate);
var thisTime = timeFormat(editDate);
if (thisDay == day) {
thisDay = '';
} else {
day = thisDay;
}
if (thisDay) {
html.push( '<tr><td colspan=3><span class="popup_history_date">' +
thisDay+'</span></td></tr>' );
}
html.push('<tr class="popup_history_row_' + ( (i%2) ? 'odd' : 'even') + '">');
html.push('<td>' + makeFirstColumnLinks(h[i]) + '</td>');
html.push('<td>' +
'<a href="' + pg.wiki.titlebase + new Title(curart).urlString() +
'&oldid=' + h[i].revid + '">' + thisTime + '</a></td>');
var col3url='', col3txt='';
if (!reallyContribs) {
var user=h[i].user;
if( !h[i].userhidden ) {
if( pg.re.ipUser.test(user) ) {
col3url=pg.wiki.titlebase + mw.config.get('wgFormattedNamespaces')[pg.nsSpecialId] + ':Contributions&target=' + new Title(user).urlString();
} else {
col3url=pg.wiki.titlebase + mw.config.get('wgFormattedNamespaces')[pg.nsUserId] + ':' + new Title(user).urlString();
}
col3txt=pg.escapeQuotesHTML(user);
} else {
col3url=getValueOf('popupRevDelUrl');
col3txt=pg.escapeQuotesHTML( popupString('revdel'));
}
} else {
col3url=pg.wiki.titlebase + curart.urlString();
col3txt=pg.escapeQuotesHTML(page);
}
html.push('<td>' + (reallyContribs ? minor : '') +
'<a href="' + col3url + '">' + col3txt + '</a></td>');
var comment='';
var c=h[i].comment || h[i].content;
if (c) {
comment=new Previewmaker(c, new Title(curart).toUrl()).editSummaryPreview();
} else if ( h[i].commenthidden ) {
comment=popupString('revdel');
}
html.push('<td>' + (!reallyContribs ? minor : '') + comment + '</td>');
html.push('</tr>');
html=[html.join('')];
}
html.push('</table>');
return html.join('');
}
function getDateFromTimestamp(t) {
var s=t.split(/[^0-9]/);
switch(s.length) {
case 0: return null;
case 1: return new Date(s[0]);
case 2: return new Date(s[0], s[1]-1);
case 3: return new Date(s[0], s[1]-1, s[2]);
case 4: return new Date(s[0], s[1]-1, s[2], s[3]);
case 5: return new Date(s[0], s[1]-1, s[2], s[3], s[4]);
case 6: return new Date(s[0], s[1]-1, s[2], s[3], s[4], s[5]);
default: return new Date(s[0], s[1]-1, s[2], s[3], s[4], s[5], s[6]);
}
}
function adjustDate(d, offset) {
// offset is in minutes
var o=offset * 60 * 1000;
return new Date( +d + o);
}
function dayFormat(editDate, utc) {
if (utc) { return map(zeroFill, [editDate.getUTCFullYear(), editDate.getUTCMonth()+1, editDate.getUTCDate()]).join('-'); }
return map(zeroFill, [editDate.getFullYear(), editDate.getMonth()+1, editDate.getDate()]).join('-');
}
function timeFormat(editDate, utc) {
if (utc) { return map(zeroFill, [editDate.getUTCHours(), editDate.getUTCMinutes(), editDate.getUTCSeconds()]).join(':'); }
return map(zeroFill, [editDate.getHours(), editDate.getMinutes(), editDate.getSeconds()]).join(':');
}
function showAPIPreview(queryType, html, id, navpop, download) {
// DJ: done
var target='popupPreview';
completedNavpopTask(navpop);
switch (queryType) {
case 'imagelinks':
case 'category':
target='popupPostPreview'; break;
case 'userinfo':
target='popupUserData'; break;
case 'revision':
insertPreview(download);
return;
}
setPopupTipsAndHTML(html, target, id);
}
function ContentHandler(slot)
{
var preview_content = null;
switch(slot.contentmodel)
{
case 'wikitext':
preview_content = slot.content;
break;
case 'flow-board':
preview_content = 'Flow workflow: '+getJsObj(slot.content)["flow-workflow"]; //placeholder
break;
case 'javascript':
case 'css':
preview_content = '['+slot.contentmodel+' code]';
break;
case 'NewsletterContent':
preview_content = "<b>Newsletter</b> \n"+getJsObj(slot.content)["description"];
break;
}
return preview_content;
}
function APIrevisionPreviewHTML(article, download) {
try{
var jsObj=getJsObj(download.data);
var page=anyChild(jsObj.query.pages);
if( page.missing ) {
// TODO we need to fix this proper later on
download.owner = null;
return;
}
var content = (
page &&
page.revisions
) ? ContentHandler(page.revisions[0].slots.main) : null;
if( typeof content === 'string' )
{
download.data = content;
download.lastModified = new Date(page.revisions[0].timestamp);
download.pageprops = (page.hasOwnProperty('pageprops')) ? page.pageprops : {};
}
} catch(someError) {
return 'Revision preview failed :(';
}
}
function APIbacklinksPreviewHTML(article, download/*, navpop*/ ) {
try {
var jsObj=getJsObj(download.data);
var list=jsObj.query.backlinks;
var html=[];
if (!list) { return popupString('No backlinks found'); }
for ( var i=0; i < list.length; i++ ) {
var t=new Title(list[i].title);
html.push('<a href="' + pg.wiki.titlebase + t.urlString() + '">' + t + '</a>');
}
html=html.join(', ');
if (jsObj['continue'] && jsObj['continue'].blcontinue) {
html += popupString(' and more');
}
return html;
} catch (someError) {
return 'backlinksPreviewHTML went wonky';
}
}
pg.fn.APIsharedImagePagePreviewHTML = function APIsharedImagePagePreviewHTML(obj) {
log( "APIsharedImagePagePreviewHTML" );
var popupid = obj.requestid;
if( obj.query && obj.query.pages )
{
var page=anyChild(obj.query.pages );
var content = (
page &&
page.revisions &&
page.revisions[0].slots.main.contentmodel === 'wikitext'
) ? page.revisions[0].slots.main.content : null;
if( typeof content === 'string' && pg.current && pg.current.link )
{
/* Not entirely safe, but the best we can do */
var p=new Previewmaker(content, pg.current.link.navpopup.article, pg.current.link.navpopup);
p.makePreview();
setPopupHTML( p.html, "popupSecondPreview", popupid );
}
}
};
function APIimagepagePreviewHTML(article, download, navpop) {
try {
var jsObj=getJsObj(download.data);
var page=anyChild(jsObj.query.pages);
var content= (
page &&
page.revisions &&
page.revisions[0].slots.main.contentmodel === 'wikitext'
) ? page.revisions[0].slots.main.content : null;
var ret='';
var alt='';
try{alt=navpop.parentAnchor.childNodes[0].alt;} catch(e){}
if (alt) {
ret = ret + '<hr /><b>' + popupString('Alt text:') + '</b> ' + pg.escapeQuotesHTML(alt);
}
if (typeof content === 'string') {
var p=prepPreviewmaker(content, article, navpop);
p.makePreview();
if (p.html) { ret += '<hr />' + p.html; }
if (getValueOf('popupSummaryData')) {
var info=getPageInfo(content, download);
log(info);
setPopupTrailer(info, navpop.idNumber);
}
}
if (page && page.imagerepository == "shared" ) {
var art=new Title(article);
var encart = encodeURIComponent( "File:" + art.stripNamespace() );
var shared_url = pg.wiki.apicommonsbase + '?format=json&formatversion=2' +
'&callback=pg.fn.APIsharedImagePagePreviewHTML' +
'&requestid=' + navpop.idNumber +
'&action=query&prop=revisions&rvprop=content&rvslots=main&titles=' + encart;
ret = ret +'<hr />' + popupString( 'Image from Commons') +
': <a href="' + pg.wiki.commonsbase + '?title=' + encart + '">' +
popupString( 'Description page') + '</a>';
mw.loader.load( shared_url );
}
showAPIPreview('imagelinks', APIimagelinksPreviewHTML(article,download), navpop.idNumber, download);
return ret;
} catch (someError) {
return 'API imagepage preview failed :(';
}
}
function APIimagelinksPreviewHTML(article, download) {
try {
var jsobj=getJsObj(download.data);
var list=jsobj.query.imageusage;
if (list) {
var ret=[];
for (var i=0; i < list.length; i++) {
ret.push(list[i].title);
}
if (ret.length === 0) { return popupString('No image links found'); }
return '<h2>' + popupString('File links') + '</h2>' + linkList(ret);
} else {
return popupString('No image links found');
}
} catch(someError) {
return 'Image links preview generation failed :(';
}
}
function APIcategoryPreviewHTML(article, download) {
try{
var jsobj=getJsObj(download.data);
var list=jsobj.query.categorymembers;
var ret=[];
for (var p=0; p < list.length; p++) {
ret.push(list[p].title);
}
if (ret.length === 0) { return popupString('Empty category'); }
ret = '<h2>' + tprintf('Category members (%s shown)', [ret.length]) + '</h2>' +linkList(ret);
if (jsobj['continue'] && jsobj['continue'].cmcontinue) {
ret += popupString(' and more');
}
return ret;
} catch(someError) {
return 'Category preview failed :(';
}
}
function APIuserInfoPreviewHTML(article, download) {
var ret=[];
var queryobj = {};
try{
queryobj=getJsObj(download.data).query;
} catch(someError) { return 'Userinfo preview failed :('; }
var user=anyChild(queryobj.users);
if (user) {
var globaluserinfo=queryobj.globaluserinfo;
if (user.invalid === '') {
ret.push( popupString( 'Invalid user') );
} else if (user.missing === '') {
ret.push( popupString( 'Not a registered username') );
}
if( user.blockedby )
ret.push('<b>' + popupString('BLOCKED') + '</b>');
if( globaluserinfo && ( 'locked' in globaluserinfo || 'hidden' in globaluserinfo ) ) {
var lockedSulAccountIsAttachedToThis = true;
for( var i=0; globaluserinfo.unattached && i < globaluserinfo.unattached.length; i++) {
if ( globaluserinfo.unattached[i].wiki === mw.config.get('wgDBname') ) {
lockedSulAccountIsAttachedToThis=false;
break;
}
}
if (lockedSulAccountIsAttachedToThis) {
if ( 'locked' in globaluserinfo ) ret.push('<b><i>' + popupString('LOCKED') + '</i></b>');
if ( 'hidden' in globaluserinfo ) ret.push('<b><i>' + popupString('HIDDEN') + '</i></b>');
}
}
if( getValueOf('popupShowGender') && user.gender ) {
switch( user.gender ) {
case "male": ret.push( popupString( "\u2642" ) ); break;
case "female": ret.push( popupString( "\u2640" ) ); break;
}
}
if( user.groups ) {
for( var j=0; j < user.groups.length; j++) {
var currentGroup = user.groups[j];
if( ["*", "user", "autoconfirmed", "extendedconfirmed"].indexOf( currentGroup ) === -1 ) {
ret.push( pg.escapeQuotesHTML(user.groups[j]) );
}
}
}
if( globaluserinfo && globaluserinfo.groups ) {
for( var k=0; k < globaluserinfo.groups.length; k++) {
ret.push( '<i>'+pg.escapeQuotesHTML(globaluserinfo.groups[k])+'</i>' );
}
}
regdate = user.registration ? user.registration : globaluserinfo.registration;
ret.push( pg.escapeQuotesHTML((user.editcount ? user.editcount + popupString(' edits since: '): '0') + (regdate ? dayFormat(getDateFromTimestamp(regdate)) : '?')) );
}
if (queryobj.usercontribs && queryobj.usercontribs.length) {
ret.push( popupString('last edit on ') + dayFormat(getDateFromTimestamp(queryobj.usercontribs[0].timestamp)) );
}
if (queryobj.blocks) {
ret.push( popupString( 'IP user') ); //we only request list=blocks for IPs
for (var l=0; l<queryobj.blocks.length; l++) {
ret.push('<b>' + popupString(queryobj.blocks[l].rangestart === queryobj.blocks[l].rangeend ? 'BLOCKED' : 'RANGEBLOCKED') + '</b>' );
}
}
ret = '<hr />' + ret.join( ', ' );
return ret;
}
function APIcontribsPreviewHTML(article, download, navpop) {
return APIhistoryPreviewHTML(article, download, navpop, true);
}
function APIhistoryPreviewHTML(article, download, navpop, reallyContribs) {
try {
var jsobj=getJsObj(download.data);
var edits = [];
if( reallyContribs ) {
edits=jsobj.query.usercontribs;
} else {
edits=anyChild(jsobj.query.pages).revisions;
}
var ret=editPreviewTable(article, edits, reallyContribs, getTimeOffset());
return ret;
} catch (someError) {
return 'History preview failed :-(';
}
}
//</NOLITE>
// ENDFILE: querypreview.js
// STARTFILE: debug.js
////////////////////////////////////////////////////////////////////
// Debugging functions
////////////////////////////////////////////////////////////////////
function setupDebugging() {
//<NOLITE>
if (window.popupDebug) { // popupDebug is set from .version
window.log=function(x) { //if(gMsg!='')gMsg += '\n'; gMsg+=time() + ' ' + x; };
window.console.log(x);
};
window.errlog=function(x) {
window.console.error(x);
};
log('Initializing logger');
} else {
//</NOLITE>
window.log = function() {};
window.errlog = function() {};
//<NOLITE>
}
//</NOLITE>
}
// ENDFILE: debug.js
// STARTFILE: images.js
// load image of type Title.
function loadImage(image, navpop) {
if (typeof image.stripNamespace != 'function') { alert('loadImages bad'); }
// API call to retrieve image info.
if ( !getValueOf('popupImages') ) return;
if ( !isValidImageName(image) ) return false;
var art=image.urlString();
var url=pg.wiki.apiwikibase + '?format=json&formatversion=2&action=query';
url += '&prop=imageinfo&iiprop=url|mime&iiurlwidth=' + getValueOf('popupImageSizeLarge');
url += '&titles=' + art;
pendingNavpopTask(navpop);
var callback=function(d){
popupsInsertImage(navpop.idNumber, navpop, d);
};
var go = function(){
getPageWithCaching(url, callback, navpop);
return true;
};
if (navpop.visible || !getValueOf('popupLazyDownloads')) { go(); }
else { navpop.addHook(go, 'unhide', 'after', 'DOWNLOAD_IMAGE_QUERY_DATA'); }
}
function popupsInsertImage(id, navpop, download) {
log( "popupsInsertImage");
var imageinfo;
try {
var jsObj=getJsObj(download.data);
var imagepage=anyChild(jsObj.query.pages);
if (typeof imagepage.imageinfo === 'undefined') return;
imageinfo = imagepage.imageinfo[0];
} catch (someError) {
log( "popupsInsertImage failed :(" );
return;
}
var popupImage = document.getElementById("popupImg"+id);
if (!popupImage) {
log( "could not find insertion point for image");
return;
}
popupImage.width=getValueOf('popupImageSize');
popupImage.style.display='inline';
// Set the source for the image.
if( imageinfo.thumburl )
popupImage.src=imageinfo.thumburl;
else if( imageinfo.mime.indexOf("image") === 0 ){
popupImage.src=imageinfo.url;
log( "a thumb could not be found, using original image" );
} else log( "fullsize imagethumb, but not sure if it's an image");
var a=document.getElementById("popupImageLink"+id);
if (a === null) { return null; }
// Determine the action of the surrouding imagelink.
switch (getValueOf('popupThumbAction')) {
case 'imagepage':
if (pg.current.article.namespaceId()!=pg.nsImageId) {
a.href=imageinfo.descriptionurl;
// FIXME: unreliable pg.idNumber
popTipsSoonFn('popupImage' + id)();
break;
}
/* falls through */
case 'sizetoggle':
a.onclick=toggleSize;
a.title=popupString('Toggle image size');
return;
case 'linkfull':
a.href = imageinfo.url;
a.title=popupString('Open full-size image');
return;
}
}
// Toggles the image between inline small and navpop fullwidth.
// It's the same image, no actual sizechange occurs, only display width.
function toggleSize() {
var imgContainer=this;
if (!imgContainer) {
alert('imgContainer is null :/');
return;
}
var img=imgContainer.firstChild;
if (!img) {
alert('img is null :/');
return;
}
if (!img.style.width || img.style.width==='') {
img.style.width='100%';
} else {
img.style.width='';
}
}
// Returns one title of an image from wikiText.
function getValidImageFromWikiText(wikiText) {
// nb in pg.re.image we're interested in the second bracketed expression
// this may change if the regex changes :-(
//var match=pg.re.image.exec(wikiText);
var matched=null;
var match;
// strip html comments, used by evil bots :-(
var t = removeMatchesUnless(wikiText, RegExp('(<!--[\\s\\S]*?-->)'), 1,
RegExp('^<!--[^[]*popup', 'i'));
while ( ( match = pg.re.image.exec(t) ) ) {
// now find a sane image name - exclude templates by seeking {
var m = match[2] || match[6];
if ( isValidImageName(m) ) {
matched=m;
break;
}
}
pg.re.image.lastIndex=0;
if (!matched) { return null; }
return mw.config.get('wgFormattedNamespaces')[pg.nsImageId]+':'+upcaseFirst(matched);
}
function removeMatchesUnless(str, re1, parencount, re2) {
var split=str.parenSplit(re1);
var c=parencount + 1;
for (var i=0; i<split.length; ++i) {
if ( i%c === 0 || re2.test(split[i]) ) { continue; }
split[i]='';
}
return split.join('');
}
//</NOLITE>
// ENDFILE: images.js
// STARTFILE: namespaces.js
// Set up namespaces and other non-strings.js localization
// (currently that means redirs too)
function setNamespaces() {
pg.nsSpecialId = -1;
pg.nsMainspaceId = 0;
pg.nsImageId = 6;
pg.nsUserId = 2;
pg.nsUsertalkId = 3;
pg.nsCategoryId = 14;
pg.nsTemplateId = 10;
}
function setRedirs() {
var r='redirect';
var R='REDIRECT';
var redirLists={
//<NOLITE>
'ar': [ R, 'تحويل' ],
'be': [ r, 'перанакіраваньне' ],
'bg': [ r, 'пренасочване', 'виж' ],
'bs': [ r, 'Preusmjeri', 'preusmjeri', 'PREUSMJERI' ],
'cs': [ R, 'PŘESMĚRUJ' ],
'cy': [ r, 'ail-cyfeirio' ],
'de': [ R, 'WEITERLEITUNG' ],
'el': [ R, 'ΑΝΑΚΑΤΕΥΘΥΝΣΗ'],
'eo': [ R, 'ALIDIREKTU', 'ALIDIREKTI' ],
'es': [ R, 'REDIRECCIÓN' ],
'et': [ r, 'suuna' ],
'ga': [ r, 'athsheoladh' ],
'gl': [ r, 'REDIRECCIÓN', 'REDIRECIONAMENTO'],
'he': [ R, 'הפניה' ],
'hu': [ R, 'ÁTIRÁNYÍTÁS' ],
'is': [ r, 'tilvísun', 'TILVÍSUN' ],
'it': [ R, 'RINVIA', 'Rinvia'],
'ja': [ R, '転送' ],
'mk': [ r, 'пренасочување', 'види' ],
'nds': [ r, 'wiederleiden' ],
'nl': [ R, 'DOORVERWIJZING' ],
'nn': [ r, 'omdiriger' ],
'pl': [ R, 'PATRZ', 'PRZEKIERUJ', 'TAM' ],
'pt': [ R, 'redir' ],
'ru': [ R, 'ПЕРЕНАПРАВЛЕНИЕ', 'ПЕРЕНАПР' ],
'sk': [ r, 'presmeruj' ],
'sr': [ r, 'Преусмери', 'преусмери', 'ПРЕУСМЕРИ', 'Preusmeri', 'preusmeri', 'PREUSMERI' ],
'tt': [ R, 'yünältü', 'перенаправление', 'перенапр' ],
'uk': [ R, 'ПЕРЕНАПРАВЛЕННЯ', 'ПЕРЕНАПР' ],
'vi': [ r, 'đổi' ],
'zh': [ R, '重定向'] // no comma
//</NOLITE>
};
var redirList=redirLists[ pg.wiki.lang ] || [r, R];
// Mediawiki is very tolerant about what comes after the #redirect at the start
pg.re.redirect=RegExp('^\\s*[#](' + redirList.join('|') + ').*?\\[{2}([^\\|\\]]*)(|[^\\]]*)?\\]{2}\\s*(.*)', 'i');
}
function setInterwiki() {
if (pg.wiki.wikimedia) {
// From https://meta.wikimedia.org/wiki/List_of_Wikipedias
pg.wiki.interwiki='aa|ab|ace|af|ak|als|am|an|ang|ar|arc|arz|as|ast|av|ay|az|ba|bar|bat-smg|bcl|be|be-x-old|bg|bh|bi|bjn|bm|bn|bo|bpy|br|bs|bug|bxr|ca|cbk-zam|cdo|ce|ceb|ch|cho|chr|chy|ckb|co|cr|crh|cs|csb|cu|cv|cy|da|de|diq|dsb|dv|dz|ee|el|eml|en|eo|es|et|eu|ext|fa|ff|fi|fiu-vro|fj|fo|fr|frp|frr|fur|fy|ga|gag|gan|gd|gl|glk|gn|got|gu|gv|ha|hak|haw|he|hi|hif|ho|hr|hsb|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|ilo|io|is|it|iu|ja|jbo|jv|ka|kaa|kab|kbd|kg|ki|kj|kk|kl|km|kn|ko|koi|kr|krc|ks|ksh|ku|kv|kw|ky|la|lad|lb|lbe|lg|li|lij|lmo|ln|lo|lt|ltg|lv|map-bms|mdf|mg|mh|mhr|mi|mk|ml|mn|mo|mr|mrj|ms|mt|mus|mwl|my|myv|mzn|na|nah|nap|nds|nds-nl|ne|new|ng|nl|nn|no|nov|nrm|nv|ny|oc|om|or|os|pa|pag|pam|pap|pcd|pdc|pfl|pi|pih|pl|pms|pnb|pnt|ps|pt|qu|rm|rmy|rn|ro|roa-rup|roa-tara|ru|rue|rw|sa|sah|sc|scn|sco|sd|se|sg|sh|si|simple|sk|sl|sm|sn|so|sq|sr|srn|ss|st|stq|su|sv|sw|szl|ta|te|tet|tg|th|ti|tk|tl|tn|to|tpi|tr|ts|tt|tum|tw|ty|udm|ug|uk|ur|uz|ve|vec|vi|vls|vo|wa|war|wo|wuu|xal|xh|yi|yo|za|zea|zh|zh-classical|zh-min-nan|zh-yue|zu';
pg.re.interwiki=RegExp('^'+pg.wiki.interwiki+':');
} else {
pg.wiki.interwiki=null;
pg.re.interwiki=RegExp('^$');
}
}
// return a regexp pattern matching all variants to write the given namespace
function nsRe(namespaceId) {
var imageNamespaceVariants = [];
jQuery.each(mw.config.get('wgNamespaceIds'), function(_localizedNamespaceLc, _namespaceId) {
if (_namespaceId!=namespaceId) return;
_localizedNamespaceLc = upcaseFirst(_localizedNamespaceLc);
imageNamespaceVariants.push(mw.util.escapeRegExp(_localizedNamespaceLc).split(' ').join('[ _]'));
imageNamespaceVariants.push(mw.util.escapeRegExp(encodeURI(_localizedNamespaceLc)));
});
return '(?:' + imageNamespaceVariants.join('|') + ')';
}
function nsReImage() {
return nsRe(pg.nsImageId);
}
// ENDFILE: namespaces.js
// STARTFILE: selpop.js
//<NOLITE>
function getEditboxSelection() {
// see http://www.webgurusforum.com/8/12/0
var editbox;
try {
editbox=document.editform.wpTextbox1;
} catch (dang) { return; }
// IE, Opera
if (document.selection) { return document.selection.createRange().text; }
// Mozilla
var selStart = editbox.selectionStart;
var selEnd = editbox.selectionEnd;
return (editbox.value).substring(selStart, selEnd);
}
function doSelectionPopup() {
// popup if the selection looks like [[foo|anything afterwards at all
// or [[foo|bar]]text without ']]'
// or [[foo|bar]]
var sel=getEditboxSelection();
var open=sel.indexOf('[[');
var pipe=sel.indexOf('|');
var close=sel.indexOf(']]');
if (open == -1 || ( pipe == -1 && close == -1) ) { return; }
if (pipe != -1 && open > pipe || close != -1 && open > close) { return; }
if (getValueOf('popupOnEditSelection')=='boxpreview') {
return doSeparateSelectionPopup(sel);
}
var article=new Title(sel.substring(open+2, (pipe < 0) ? close : pipe)).urlString();
if (close > 0 && sel.substring(close+2).indexOf('[[') >= 0) {
return;
}
var a=document.createElement('a');
a.href=pg.wiki.titlebase + article;
mouseOverWikiLink2(a);
if (a.navpopup) {
a.navpopup.addHook(function(){runStopPopupTimer(a.navpopup);}, 'unhide', 'after');
}
}
function doSeparateSelectionPopup(str) {
var div=document.getElementById('selectionPreview');
if (!div) {
div = document.createElement('div');
div.id='selectionPreview';
try {
var box=document.editform.wpTextbox1;
box.parentNode.insertBefore(div, box);
} catch (error) {
return;
}
}
div.innerHTML=wiki2html(str);
div.ranSetupTooltipsAlready = false;
popTipsSoonFn('selectionPreview')();
}
//</NOLITE>
// ENDFILE: selpop.js
// STARTFILE: navpopup.js
/**
@fileoverview Defines two classes: {@link Navpopup} and {@link Mousetracker}.
<code>Navpopup</code> describes popups: when they appear, where, what
they look like and so on.
<code>Mousetracker</code> "captures" the mouse using
<code>document.onmousemove</code>.
*/
/**
Creates a new Mousetracker.
@constructor
@class The Mousetracker class. This monitors mouse movements and manages associated hooks.
*/
function Mousetracker() {
/**
Interval to regularly run the hooks anyway, in milliseconds.
@type Integer
*/
this.loopDelay=400;
/**
Timer for the loop.
@type Timer
*/
this.timer=null;
/**
Flag - are we switched on?
@type Boolean
*/
this.active=false;
/**
Flag - are we probably inaccurate, i.e. not reflecting the actual mouse position?
*/
this.dirty=true;
/**
Array of hook functions.
@private
@type Array
*/
this.hooks=[];
}
/**
Adds a hook, to be called when we get events.
@param {Function} f A function which is called as
<code>f(x,y)</code>. It should return <code>true</code> when it
wants to be removed, and <code>false</code> otherwise.
*/
Mousetracker.prototype.addHook = function (f) {
this.hooks.push(f);
};
/**
Runs hooks, passing them the x
and y coords of the mouse. Hook functions that return true are
passed to {@link Mousetracker#removeHooks} for removal.
@private
*/
Mousetracker.prototype.runHooks = function () {
if (!this.hooks || !this.hooks.length) { return; }
//log('Mousetracker.runHooks; we got some hooks to run');
var remove=false;
var removeObj={};
// this method gets called a LOT -
// pre-cache some variables
var x=this.x, y=this.y, len = this.hooks.length;
for (var i=0; i<len; ++i) {
//~ run the hook function, and remove it if it returns true
if (this.hooks[i](x, y)===true) {
remove=true;
removeObj[i]=true;
}
}
if (remove) { this.removeHooks(removeObj); }
};
/**
Removes hooks.
@private
@param {Object} removeObj An object whose keys are the index
numbers of functions for removal, with values that evaluate to true
*/
Mousetracker.prototype.removeHooks = function(removeObj) {
var newHooks=[];
var len = this.hooks.length;
for (var i=0; i<len; ++i) {
if (! removeObj[i]) { newHooks.push(this.hooks[i]); }
}
this.hooks=newHooks;
};
/**
Event handler for mouse wiggles.
We simply grab the event, set x and y and run the hooks.
This makes the cpu all hot and bothered :-(
@private
@param {Event} e Mousemove event
*/
Mousetracker.prototype.track=function (e) {
//~ Apparently this is needed in IE.
e = e || window.event;
var x, y;
if (e) {
if (e.pageX) { x=e.pageX; y=e.pageY; }
else if (typeof e.clientX!='undefined') {
var left, top, docElt = document.documentElement;
if (docElt) { left=docElt.scrollLeft; }
left = left || document.body.scrollLeft || document.scrollLeft || 0;
if (docElt) { top=docElt.scrollTop; }
top = top || document.body.scrollTop || document.scrollTop || 0;
x=e.clientX + left;
y=e.clientY + top;
} else { return; }
this.setPosition(x,y);
}
};
/**
Sets the x and y coordinates stored and takes appropriate action,
running hooks as appropriate.
@param {Integer} x, y Screen coordinates to set
*/
Mousetracker.prototype.setPosition=function(x,y) {
this.x = x;
this.y = y;
if (this.dirty || this.hooks.length === 0) { this.dirty=false; return; }
if (typeof this.lastHook_x != 'number') { this.lastHook_x = -100; this.lastHook_y=-100; }
var diff = (this.lastHook_x - x)*(this.lastHook_y - y);
diff = (diff >= 0) ? diff : -diff;
if ( diff > 1 ) {
this.lastHook_x=x;
this.lastHook_y=y;
if (this.dirty) { this.dirty = false; }
else { this.runHooks(); }
}
};
/**
Sets things in motion, unless they are already that is, registering an event handler on <code>document.onmousemove</code>.
A half-hearted attempt is made to preserve the old event handler if there is one.
*/
Mousetracker.prototype.enable = function () {
if (this.active) { return; }
this.active=true;
//~ Save the current handler for mousemove events. This isn't too
//~ robust, of course.
this.savedHandler=document.onmousemove;
//~ Gotta save @tt{this} again for the closure, and use apply for
//~ the member function.
var savedThis=this;
document.onmousemove=function (e) {savedThis.track.apply(savedThis, [e]);};
if (this.loopDelay) { this.timer = setInterval(function() { //log('loop delay in mousetracker is working');
savedThis.runHooks();}, this.loopDelay); }
};
/**
Disables the tracker, removing the event handler.
*/
Mousetracker.prototype.disable = function () {
if (!this.active) { return; }
if ($.isFunction(this.savedHandler)) {
document.onmousemove=this.savedHandler;
} else { delete document.onmousemove; }
if (this.timer) { clearInterval(this.timer); }
this.active=false;
};
/**
Creates a new Navpopup.
Gets a UID for the popup and
@param init Contructor object. If <code>init.draggable</code> is true or absent, the popup becomes draggable.
@constructor
@class The Navpopup class. This generates popup hints, and does some management of them.
*/
function Navpopup(/*init*/) {
//alert('new Navpopup(init)');
/** UID for each Navpopup instance.
Read-only.
@type integer
*/
this.uid=Navpopup.uid++;
/**
Read-only flag for current visibility of the popup.
@type boolean
@private
*/
this.visible=false;
/** Flag to be set when we want to cancel a previous request to
show the popup in a little while.
@private
@type boolean
*/
this.noshow=false;
/** Categorised list of hooks.
@see #runHooks
@see #addHook
@private
@type Object
*/
this.hooks={
'create': [],
'unhide': [],
'hide': []
};
/** list of unique IDs of hook functions, to avoid duplicates
@private
*/
this.hookIds={};
/** List of downloads associated with the popup.
@private
@type Array
*/
this.downloads=[];
/** Number of uncompleted downloads.
@type integer
*/
this.pending=null;
/** Tolerance in pixels when detecting whether the mouse has left the popup.
@type integer
*/
this.fuzz=5;
/** Flag to toggle running {@link #limitHorizontalPosition} to regulate the popup's position.
@type boolean
*/
this.constrained=true;
/** The popup width in pixels.
@private
@type integer
*/
this.width=0;
/** The popup width in pixels.
@private
@type integer
*/
this.height=0;
/** The main content DIV element.
@type HTMLDivElement
*/
this.mainDiv=null;
this.createMainDiv();
// if (!init || typeof init.popups_draggable=='undefined' || init.popups_draggable) {
// this.makeDraggable(true);
// }
}
/**
A UID for each Navpopup. This constructor property is just a counter.
@type integer
@private
*/
Navpopup.uid=0;
/**
Retrieves the {@link #visible} attribute, indicating whether the popup is currently visible.
@type boolean
*/
Navpopup.prototype.isVisible=function() {
return this.visible;
};
/**
Repositions popup using CSS style.
@private
@param {integer} x x-coordinate (px)
@param {integer} y y-coordinate (px)
@param {boolean} noLimitHor Don't call {@link #limitHorizontalPosition}
*/
Navpopup.prototype.reposition= function (x,y, noLimitHor) {
log ('reposition('+x+','+y+','+noLimitHor+')');
if (typeof x != 'undefined' && x !== null) { this.left=x; }
if (typeof y != 'undefined' && y !== null) { this.top=y; }
if (typeof this.left != 'undefined' && typeof this.top != 'undefined') {
this.mainDiv.style.left=this.left + 'px';
this.mainDiv.style.top=this.top + 'px';
}
if (!noLimitHor) { this.limitHorizontalPosition(); }
//console.log('navpop'+this.uid+' - (left,top)=(' + this.left + ',' + this.top + '), css=('
//+ this.mainDiv.style.left + ',' + this.mainDiv.style.top + ')');
};
/**
Prevents popups from being in silly locations. Hopefully.
Should not be run if {@link #constrained} is true.
@private
*/
Navpopup.prototype.limitHorizontalPosition=function() {
if (!this.constrained || this.tooWide) { return; }
this.updateDimensions();
var x=this.left;
var w=this.width;
var cWidth=document.body.clientWidth;
// log('limitHorizontalPosition: x='+x+
// ', this.left=' + this.left +
// ', this.width=' + this.width +
// ', cWidth=' + cWidth);
if ( (x+w) >= cWidth ||
( x > 0 &&
this.maxWidth &&
this.width < this.maxWidth &&
this.height > this.width &&
x > cWidth - this.maxWidth ) ) {
// This is a very nasty hack. There has to be a better way!
// We find the "natural" width of the div by positioning it at the far left
// then reset it so that it should be flush right (well, nearly)
this.mainDiv.style.left='-10000px';
this.mainDiv.style.width = this.maxWidth + 'px';
var naturalWidth=parseInt(this.mainDiv.offsetWidth, 10);
var newLeft=cWidth - naturalWidth - 1;
if (newLeft < 0) { newLeft = 0; this.tooWide=true; } // still unstable for really wide popups?
log ('limitHorizontalPosition: moving to ('+newLeft + ','+ this.top+');' + ' naturalWidth=' + naturalWidth + ', clientWidth=' + cWidth);
this.reposition(newLeft, null, true);
}
};
/**
Counter indicating the z-order of the "highest" popup.
We start the z-index at 1000 so that popups are above everything
else on the screen.
@private
@type integer
*/
Navpopup.highest=1000;
/**
Brings popup to the top of the z-order.
We increment the {@link #highest} property of the contructor here.
@private
*/
Navpopup.prototype.raise = function () {
this.mainDiv.style.zIndex=Navpopup.highest + 1;
++Navpopup.highest;
};
/**
Shows the popup provided {@link #noshow} is not true.
Updates the position, brings the popup to the top of the z-order and unhides it.
*/
Navpopup.prototype.show = function () {
//document.title+='s';
if (this.noshow) { return; }
//document.title+='t';
this.reposition();
this.raise();
this.unhide();
};
/**
Checks to see if the mouse pointer has
stabilised (checking every <code>time</code>/2 milliseconds) and runs the
{@link #show} method if it has.
@param {integer} time The minimum time (ms) before the popup may be shown.
*/
Navpopup.prototype.showSoonIfStable = function (time) {
log ('showSoonIfStable, time='+time);
if (this.visible) { return; }
this.noshow = false;
//~ initialize these variables so that we never run @tt{show} after
//~ just half the time
this.stable_x = -10000; this.stable_y = -10000;
var stableShow = function() {
log('stableShow called');
var new_x = Navpopup.tracker.x, new_y = Navpopup.tracker.y;
var dx = savedThis.stable_x - new_x, dy = savedThis.stable_y - new_y;
var fuzz2 = 0; // savedThis.fuzz * savedThis.fuzz;
//document.title += '[' + [savedThis.stable_x,new_x, savedThis.stable_y,new_y, dx, dy, fuzz2].join(',') + '] ';
if ( dx * dx <= fuzz2 && dy * dy <= fuzz2 ) {
log ('mouse is stable');
clearInterval(savedThis.showSoonStableTimer);
savedThis.reposition.apply(savedThis, [new_x + 2, new_y + 2]);
savedThis.show.apply(savedThis, []);
savedThis.limitHorizontalPosition.apply(savedThis, []);
return;
}
savedThis.stable_x = new_x; savedThis.stable_y = new_y;
};
var savedThis = this;
this.showSoonStableTimer = setInterval(stableShow, time/2);
};
/**
Sets the {@link #noshow} flag and hides the popup. This should be called
when the mouse leaves the link before
(or after) it's actually been displayed.
*/
Navpopup.prototype.banish = function () {
log ('banish called');
// hide and prevent showing with showSoon in the future
this.noshow=true;
if (this.showSoonStableTimer) {
log('clearing showSoonStableTimer');
clearInterval(this.showSoonStableTimer);
}
this.hide();
};
/**
Runs hooks added with {@link #addHook}.
@private
@param {String} key Key name of the {@link #hooks} array - one of 'create', 'unhide', 'hide'
@param {String} when Controls exactly when the hook is run: either 'before' or 'after'
*/
Navpopup.prototype.runHooks = function (key, when) {
if (!this.hooks[key]) { return; }
var keyHooks=this.hooks[key];
var len=keyHooks.length;
for (var i=0; i< len; ++i) {
if (keyHooks[i] && keyHooks[i].when == when) {
if (keyHooks[i].hook.apply(this, [])) {
// remove the hook
if (keyHooks[i].hookId) {
delete this.hookIds[keyHooks[i].hookId];
}
keyHooks[i]=null;
}
}
}
};
/**
Adds a hook to the popup. Hook functions are run with <code>this</code> set to refer to the Navpopup instance, and no arguments.
@param {Function} hook The hook function. Functions that return true are deleted.
@param {String} key Key name of the {@link #hooks} array - one of 'create', 'unhide', 'hide'
@param {String} when Controls exactly when the hook is run: either 'before' or 'after'
@param {String} uid A truthy string identifying the hook function; if it matches another hook in this position, it won't be added again.
*/
Navpopup.prototype.addHook = function ( hook, key, when, uid ) {
when = when || 'after';
if (!this.hooks[key]) { return; }
// if uid is specified, don't add duplicates
var hookId=null;
if (uid) {
hookId=[key,when,uid].join('|');
if (this.hookIds[hookId]) {
return;
}
this.hookIds[hookId]=true;
}
this.hooks[key].push( {hook: hook, when: when, hookId: hookId} );
};
/**
Creates the main DIV element, which contains all the actual popup content.
Runs hooks with key 'create'.
@private
*/
Navpopup.prototype.createMainDiv = function () {
if (this.mainDiv) { return; }
this.runHooks('create', 'before');
var mainDiv=document.createElement('div');
var savedThis=this;
mainDiv.onclick=function(e) {savedThis.onclickHandler(e);};
mainDiv.className=(this.className) ? this.className : 'navpopup_maindiv';
mainDiv.id=mainDiv.className + this.uid;
mainDiv.style.position='absolute';
mainDiv.style.minWidth = '350px';
mainDiv.style.display='none';
mainDiv.className='navpopup';
// easy access to javascript object through DOM functions
mainDiv.navpopup=this;
this.mainDiv=mainDiv;
document.body.appendChild(mainDiv);
this.runHooks('create', 'after');
};
/**
Calls the {@link #raise} method.
@private
*/
Navpopup.prototype.onclickHandler=function(/*e*/) {
this.raise();
};
/**
Makes the popup draggable, using a {@link Drag} object.
@private
*/
Navpopup.prototype.makeDraggable=function(handleName) {
if (!this.mainDiv) { this.createMainDiv(); }
var drag=new Drag();
if (!handleName) {
drag.startCondition=function(e) {
try { if (!e.shiftKey) { return false; } } catch (err) { return false; }
return true;
};
}
var dragHandle;
if (handleName) dragHandle = document.getElementById(handleName);
if (!dragHandle) dragHandle = this.mainDiv;
var np=this;
drag.endHook=function(x,y) {
Navpopup.tracker.dirty=true;
np.reposition(x,y);
};
drag.init(dragHandle,this.mainDiv);
};
/** Hides the popup using CSS. Runs hooks with key 'hide'.
Sets {@link #visible} appropriately. {@link #banish} should be called externally instead of this method.
@private
*/
Navpopup.prototype.hide = function () {
this.runHooks('hide', 'before');
this.abortDownloads();
if (typeof this.visible != 'undefined' && this.visible) {
this.mainDiv.style.display='none';
this.visible=false;
}
this.runHooks('hide', 'after');
};
/** Shows the popup using CSS. Runs hooks with key 'unhide'.
Sets {@link #visible} appropriately. {@link #show} should be called externally instead of this method.
@private
*/
Navpopup.prototype.unhide = function () {
this.runHooks('unhide', 'before');
if (typeof this.visible != 'undefined' && !this.visible) {
this.mainDiv.style.display='inline';
this.visible=true;
}
this.runHooks('unhide', 'after');
};
/**
Sets the <code>innerHTML</code> attribute of the main div containing the popup content.
@param {String} html The HTML to set.
*/
Navpopup.prototype.setInnerHTML = function (html) {
this.mainDiv.innerHTML = html;
};
/**
Updates the {@link #width} and {@link #height} attributes with the CSS properties.
@private
*/
Navpopup.prototype.updateDimensions = function () {
this.width=parseInt(this.mainDiv.offsetWidth, 10);
this.height=parseInt(this.mainDiv.offsetHeight, 10);
};
/**
Checks if the point (x,y) is within {@link #fuzz} of the
{@link #mainDiv}.
@param {integer} x x-coordinate (px)
@param {integer} y y-coordinate (px)
@type boolean
*/
Navpopup.prototype.isWithin = function(x,y) {
//~ If we're not even visible, no point should be considered as
//~ being within the popup.
if (!this.visible) { return false; }
this.updateDimensions();
var fuzz=this.fuzz || 0;
//~ Use a simple box metric here.
return (x+fuzz >= this.left && x-fuzz <= this.left + this.width &&
y+fuzz >= this.top && y-fuzz <= this.top + this.height);
};
/**
Adds a download to {@link #downloads}.
@param {Downloader} download
*/
Navpopup.prototype.addDownload=function(download) {
if (!download) { return; }
this.downloads.push(download);
};
/**
Aborts the downloads listed in {@link #downloads}.
@see Downloader#abort
*/
Navpopup.prototype.abortDownloads=function() {
for(var i=0; i<this.downloads.length; ++i) {
var d=this.downloads[i];
if (d && d.abort) { d.abort(); }
}
this.downloads=[];
};
/**
A {@link Mousetracker} instance which is a property of the constructor (pseudo-global).
*/
Navpopup.tracker=new Mousetracker();
// ENDFILE: navpopup.js
// STARTFILE: diff.js
//<NOLITE>
/*
* Javascript Diff Algorithm
* By John Resig (http://ejohn.org/) and [[:en:User:Lupin]]
*
* More Info:
* http://ejohn.org/projects/javascript-diff-algorithm/
*/
function delFmt(x) {
if (!x.length) { return ''; }
return "<del class='popupDiff'>" + x.join('') +"</del>";
}
function insFmt(x) {
if (!x.length) { return ''; }
return "<ins class='popupDiff'>" + x.join('') +"</ins>";
}
function countCrossings(a, b, i, eject) {
// count the crossings on the edge starting at b[i]
if (!b[i].row && b[i].row !== 0) { return -1; }
var count=0;
for (var j=0; j<a.length; ++j) {
if (!a[j].row && a[j].row !== 0) { continue; }
if ( (j-b[i].row)*(i-a[j].row) > 0) {
if(eject) { return true; }
count++;
}
}
return count;
}
function shortenDiffString(str, context) {
var re=RegExp('(<del[\\s\\S]*?</del>|<ins[\\s\\S]*?</ins>)');
var splitted=str.parenSplit(re);
var ret=[''];
for (var i=0; i<splitted.length; i+=2) {
if (splitted[i].length < 2*context) {
ret[ret.length-1] += splitted[i];
if (i+1<splitted.length) { ret[ret.length-1] += splitted[i+1]; }
continue;
}
else {
if (i > 0) { ret[ret.length-1] += splitted[i].substring(0,context); }
if (i+1 < splitted.length) {
ret.push(splitted[i].substring(splitted[i].length-context) +
splitted[i+1]);
}
}
}
while (ret.length > 0 && !ret[0]) { ret = ret.slice(1); }
return ret;
}
function diffString( o, n, simpleSplit ) {
var splitRe=RegExp('([[]{2}|[\\]]{2}|[{]{2,3}|[}]{2,3}|[|]|=|<|>|[*:]+|\\s|\\b)');
// We need to split the strings o and n first, and entify() the parts
// individually, so that the HTML entities are never cut apart. (AxelBoldt)
var out, i, oSplitted, nSplitted;
if (simpleSplit) {
oSplitted=o.split(/\b/);
nSplitted=n.split(/\b/);
} else {
oSplitted=o.parenSplit(splitRe);
nSplitted=n.parenSplit(splitRe);
}
for (i=0; i<oSplitted.length; ++i) {oSplitted[i]=oSplitted[i].entify();}
for (i=0; i<nSplitted.length; ++i) {nSplitted[i]=nSplitted[i].entify();}
out = diff (oSplitted, nSplitted);
var str = "";
var acc=[]; // accumulator for prettier output
// crossing pairings -- eg 'A B' vs 'B A' -- cause problems, so let's iron them out
// this doesn't always do things optimally but it should be fast enough
var maxOutputPair=0;
for (i=0; i<out.n.length; ++i) {
if ( out.n[i].paired ) {
if( maxOutputPair > out.n[i].row ) {
// tangle - delete pairing
out.o[ out.n[i].row ]=out.o[ out.n[i].row ].text;
out.n[i]=out.n[i].text;
}
if (maxOutputPair < out.n[i].row) { maxOutputPair = out.n[i].row; }
}
}
// output the stuff preceding the first paired old line
for (i=0; i<out.o.length && !out.o[i].paired; ++i) { acc.push( out.o[i] ); }
str += delFmt(acc); acc=[];
// main loop
for ( i = 0; i < out.n.length; ++i ) {
// output unpaired new "lines"
while ( i < out.n.length && !out.n[i].paired ) { acc.push( out.n[i++] ); }
str += insFmt(acc); acc=[];
if ( i < out.n.length ) { // this new "line" is paired with the (out.n[i].row)th old "line"
str += out.n[i].text;
// output unpaired old rows starting after this new line's partner
var m = out.n[i].row + 1;
while ( m < out.o.length && !out.o[m].paired ) { acc.push ( out.o[m++] ); }
str += delFmt(acc); acc=[];
}
}
return str;
}
// see http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Object
// FIXME: use obj.hasOwnProperty instead of this kludge!
var jsReservedProperties=RegExp('^(constructor|prototype|__((define|lookup)[GS]etter)__' +
'|eval|hasOwnProperty|propertyIsEnumerable' +
'|to(Source|String|LocaleString)|(un)?watch|valueOf)$');
function diffBugAlert(word) {
if (!diffBugAlert.list[word]) {
diffBugAlert.list[word]=1;
alert('Bad word: '+word+'\n\nPlease report this bug.');
}
}
diffBugAlert.list={};
function makeDiffHashtable(src) {
var ret={};
for ( var i = 0; i < src.length; i++ ) {
if ( jsReservedProperties.test(src[i]) ) { src[i] += '<!-- -->'; }
if ( !ret[ src[i] ] ) { ret[ src[i] ] = []; }
try { ret[ src[i] ].push( i ); } catch (err) { diffBugAlert(src[i]); }
}
return ret;
}
function diff( o, n ) {
// pass 1: make hashtable ns with new rows as keys
var ns = makeDiffHashtable(n);
// pass 2: make hashtable os with old rows as keys
var os = makeDiffHashtable(o);
// pass 3: pair unique new rows and matching unique old rows
var i;
for ( i in ns ) {
if ( ns[i].length == 1 && os[i] && os[i].length == 1 ) {
n[ ns[i][0] ] = { text: n[ ns[i][0] ], row: os[i][0], paired: true };
o[ os[i][0] ] = { text: o[ os[i][0] ], row: ns[i][0], paired: true };
}
}
// pass 4: pair matching rows immediately following paired rows (not necessarily unique)
for ( i = 0; i < n.length - 1; i++ ) {
if ( n[i].paired && ! n[i+1].paired && n[i].row + 1 < o.length && ! o[ n[i].row + 1 ].paired &&
n[i+1] == o[ n[i].row + 1 ] ) {
n[i+1] = { text: n[i+1], row: n[i].row + 1, paired: true };
o[n[i].row+1] = { text: o[n[i].row+1], row: i + 1, paired: true };
}
}
// pass 5: pair matching rows immediately preceding paired rows (not necessarily unique)
for ( i = n.length - 1; i > 0; i-- ) {
if ( n[i].paired && ! n[i-1].paired && n[i].row > 0 && ! o[ n[i].row - 1 ].paired &&
n[i-1] == o[ n[i].row - 1 ] ) {
n[i-1] = { text: n[i-1], row: n[i].row - 1, paired: true };
o[n[i].row-1] = { text: o[n[i].row-1], row: i - 1, paired: true };
}
}
return { o: o, n: n };
}
//</NOLITE>
// ENDFILE: diff.js
// STARTFILE: init.js
function setSiteInfo() {
if (window.popupLocalDebug) {
pg.wiki.hostname = 'en.wikipedia.org';
} else {
pg.wiki.hostname = location.hostname; // use in preference to location.hostname for flexibility (?)
}
pg.wiki.wikimedia=RegExp('(wiki([pm]edia|source|books|news|quote|versity)|wiktionary|mediawiki)[.]org').test(pg.wiki.hostname);
pg.wiki.wikia=RegExp('[.]wikia[.]com$', 'i').test(pg.wiki.hostname);
pg.wiki.isLocal=RegExp('^localhost').test(pg.wiki.hostname);
pg.wiki.commons=( pg.wiki.wikimedia && pg.wiki.hostname != 'commons.wikimedia.org') ? 'commons.wikimedia.org' : null;
pg.wiki.lang = mw.config.get('wgContentLanguage');
var port = location.port ? ':' + location.port : '';
pg.wiki.sitebase = pg.wiki.hostname + port;
}
function setUserInfo() {
var api = new mw.Api( {
ajax: {
headers: { 'Api-User-Agent': pg.misc.userAgent }
}
} );
var params = {
action: 'query',
list: 'users',
ususers: mw.config.get('wgUserName'),
usprop: 'rights'
};
pg.user.canReview = false;
if (getValueOf('popupReview')) {
api.get(params).done(function(data){
var rights = data.query.users[0].rights;
pg.user.canReview = rights.indexOf('review') !== -1; // TODO: Should it be a getValueOf('ReviewRight') ?
});
}
}
function setTitleBase() {
var protocol = ( window.popupLocalDebug ? 'http:' : location.protocol );
pg.wiki.articlePath = mw.config.get('wgArticlePath').replace(/\/\$1/, ""); // as in http://some.thing.com/wiki/Article
pg.wiki.botInterfacePath = mw.config.get('wgScript');
pg.wiki.APIPath = mw.config.get('wgScriptPath') +"/api.php";
// default mediawiki setting is paths like http://some.thing.com/articlePath/index.php?title=foo
var titletail = pg.wiki.botInterfacePath + '?title=';
//var titletail2 = joinPath([pg.wiki.botInterfacePath, 'wiki.phtml?title=']);
// other sites may need to add code here to set titletail depending on how their urls work
pg.wiki.titlebase = protocol + '//' + pg.wiki.sitebase + titletail;
//pg.wiki.titlebase2 = protocol + '//' + joinPath([pg.wiki.sitebase, titletail2]);
pg.wiki.wikibase = protocol + '//' + pg.wiki.sitebase + pg.wiki.botInterfacePath;
pg.wiki.apiwikibase = protocol + '//' + pg.wiki.sitebase + pg.wiki.APIPath;
pg.wiki.articlebase = protocol + '//' + pg.wiki.sitebase + pg.wiki.articlePath;
pg.wiki.commonsbase = protocol + '//' + pg.wiki.commons + pg.wiki.botInterfacePath;
pg.wiki.apicommonsbase = protocol + '//' + pg.wiki.commons + pg.wiki.APIPath;
pg.re.basenames = RegExp( '^(' +
map( literalizeRegex, [ pg.wiki.titlebase, //pg.wiki.titlebase2,
pg.wiki.articlebase ]).join('|') + ')' );
}
//////////////////////////////////////////////////
// Global regexps
function setMainRegex() {
var reStart='[^:]*://';
var preTitles = literalizeRegex( mw.config.get('wgScriptPath') ) + '/(?:index[.]php|wiki[.]phtml)[?]title=';
preTitles += '|' + literalizeRegex( pg.wiki.articlePath + '/' );
var reEnd='(' + preTitles + ')([^&?#]*)[^#]*(?:#(.+))?';
pg.re.main = RegExp(reStart + literalizeRegex(pg.wiki.sitebase) + reEnd);
}
function setRegexps() {
// TODO: We shoud use an api call to get the aliases for special pages, now it does not work for non-English wikipedias:
// E.g., https://ru.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=specialpagealiases&formatversion=2
setMainRegex();
var sp=nsRe(pg.nsSpecialId);
pg.re.urlNoPopup=RegExp('((title=|/)' + sp + '(?:%3A|:)|section=[0-9]|^#$)') ;
pg.re.contribs =RegExp('(title=|/)' + sp + '(?:%3A|:)(?:Contributions' + getValueOf('popupSPAliasesContribs') + ')(&target=|/|/' + nsRe(pg.nsUserId)+':)(.*)') ;
pg.re.email =RegExp('(title=|/)' + sp + '(?:%3A|:)(?:EmailUser' + getValueOf('popupSPAliasesEmail') + ')(&target=|/|/(?:' + nsRe(pg.nsUserId)+':)?)(.*)') ;
pg.re.backlinks =RegExp('(title=|/)' + sp + '(?:%3A|:)(?:WhatLinksHere' + getValueOf('popupSPAliasesBacklinks') + ')(&target=|/)([^&]*)');
pg.re.specialdiff=RegExp('/' + sp + '(?:%3A|:)Diff/([^?#]*)');
//<NOLITE>
var im=nsReImage();
// note: tries to get images in infobox templates too, e.g. movie pages, album pages etc
// (^|\[\[)image: *([^|\]]*[^|\] ]) *
// (^|\[\[)image: *([^|\]]*[^|\] ])([^0-9\]]*([0-9]+) *px)?
// $4 = 120 as in 120px
pg.re.image = RegExp('(^|\\[\\[)' + im + ': *([^|\\]]*[^|\\] ])' +
'([^0-9\\]]*([0-9]+) *px)?|(?:\\n *[|]?|[|]) *' +
'(' + getValueOf('popupImageVarsRegexp') + ')' +
' *= *(?:\\[\\[ *)?(?:' + im + ':)?' +
'([^|]*?)(?:\\]\\])? *[|]? *\\n', 'img') ;
pg.re.imageBracketCount = 6;
pg.re.category = RegExp('\\[\\[' +nsRe(pg.nsCategoryId) +
': *([^|\\]]*[^|\\] ]) *', 'i');
pg.re.categoryBracketCount = 1;
pg.re.ipUser=RegExp('^' +
// IPv6
'(?::(?::|(?::[0-9A-Fa-f]{1,4}){1,7})|[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,6}::|[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){7})' +
// IPv4
'|(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}' +
'(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))$');
pg.re.stub= RegExp(getValueOf('popupStubRegexp'), 'im');
pg.re.disambig=RegExp(getValueOf('popupDabRegexp'), 'im');
//</NOLITE>
// FIXME replace with general parameter parsing function, this is daft
pg.re.oldid=RegExp('[?&]oldid=([^&]*)');
pg.re.diff=RegExp('[?&]diff=([^&]*)');
}
//////////////////////////////////////////////////
// miscellany
function setupCache() {
// page caching
pg.cache.pages = [];
}
function setMisc() {
pg.current.link=null;
pg.current.links=[];
pg.current.linksHash={};
setupCache();
pg.timer.checkPopupPosition=null;
pg.counter.loop=0;
// ids change with each popup: popupImage0, popupImage1 etc
pg.idNumber=0;
// for myDecodeURI
pg.misc.decodeExtras = [
{from: '%2C', to: ',' },
{from: '_', to: ' ' },
{from: '%24', to: '$'},
{from: '%26', to: '&' } // no ,
];
pg.misc.userAgent = 'Navigation popups/1.0 (' + mw.config.get( 'wgServerName' ) +')';
}
// We need a callback since this might end up asynchronous because of
// the mw.loader.using() call.
function setupPopups( callback ) {
if ( setupPopups.completed ) {
if ( $.isFunction( callback ) ) {
callback();
}
return;
}
// These dependencies are also enforced from the gadget,
// but not everyone loads this as a gadget, so double check
mw.loader.using( ['mediawiki.util', 'mediawiki.user', 'user.options'] ).then( function() {
// NB translatable strings should be set up first (strings.js)
// basics
setupDebugging();
setSiteInfo();
setTitleBase();
setOptions(); // see options.js
setUserInfo();
// namespaces etc
setNamespaces();
setInterwiki();
// regexps
setRegexps();
setRedirs();
// other stuff
setMisc();
setupLivePreview();
// main deal here
setupTooltips();
log('In setupPopups(), just called setupTooltips()');
Navpopup.tracker.enable();
setupPopups.completed = true;
if ( $.isFunction( callback ) ) {
callback();
}
});
}
// ENDFILE: init.js
// STARTFILE: navlinks.js
//<NOLITE>
//////////////////////////////////////////////////
// navlinks... let the fun begin
//
function defaultNavlinkSpec() {
var str='';
str += '<b><<mainlink|shortcut= >></b>';
if (getValueOf('popupLastEditLink')) {
str += '*<<lastEdit|shortcut=/>>|<<lastContrib>>|<<sinceMe>>if(oldid){|<<oldEdit>>|<<diffCur>>}';
}
// user links
// contribs - log - count - email - block
// count only if applicable; block only if popupAdminLinks
str += 'if(user){<br><<contribs|shortcut=c>>*<<userlog|shortcut=L|log>>';
str+='if(ipuser){*<<arin>>}if(wikimedia){*<<count|shortcut=#>>}';
str+='if(ipuser){}else{*<<email|shortcut=E>>}if(admin){*<<block|shortcut=b>>|<<blocklog|log>>}}';
// editing links
// talkpage -> edit|new - history - un|watch - article|edit
// other page -> edit - history - un|watch - talk|edit|new
var editstr='<<edit|shortcut=e>>';
var editOldidStr='if(oldid){<<editOld|shortcut=e>>|<<revert|shortcut=v|rv>>|<<edit|cur>>}else{' + editstr + '}';
var historystr='<<history|shortcut=h>>|<<editors|shortcut=E|>>';
var watchstr='<<unwatch|unwatchShort>>|<<watch|shortcut=w|watchThingy>>';
str+='<br>if(talk){' +
editOldidStr+'|<<new|shortcut=+>>' + '*' + historystr+'*'+watchstr + '*' +
'<b><<article|shortcut=a>></b>|<<editArticle|edit>>' +
'}else{' + // not a talk page
editOldidStr + '*' + historystr + '*' + watchstr + '*' +
'<b><<talk|shortcut=t>></b>|<<editTalk|edit>>|<<newTalk|shortcut=+|new>>}';
// misc links
str += '<br><<whatLinksHere|shortcut=l>>*<<relatedChanges|shortcut=r>>*<<move|shortcut=m>>';
// admin links
str += 'if(admin){<br><<unprotect|unprotectShort>>|<<protect|shortcut=p>>|<<protectlog|log>>*' +
'<<undelete|undeleteShort>>|<<delete|shortcut=d>>|<<deletelog|log>>}';
return str;
}
function navLinksHTML (article, hint, params) { //oldid, rcid) {
var str = '<span class="popupNavLinks">' + defaultNavlinkSpec() + '</span>';
// BAM
return navlinkStringToHTML(str, article, params);
}
function expandConditionalNavlinkString(s,article,z,recursionCount) {
var oldid=z.oldid, rcid=z.rcid, diff=z.diff;
// nested conditionals (up to 10 deep) are ok, hopefully! (work from the inside out)
if (typeof recursionCount!=typeof 0) { recursionCount=0; }
var conditionalSplitRegex=RegExp(
//(1 if \\( (2 2) \\) {(3 3)} (4 else {(5 5)} 4)1)
'(;?\\s*if\\s*\\(\\s*([\\w]*)\\s*\\)\\s*\\{([^{}]*)\\}(\\s*else\\s*\\{([^{}]*?)\\}|))', 'i');
var splitted=s.parenSplit(conditionalSplitRegex);
// $1: whole conditional
// $2: test condition
// $3: true expansion
// $4: else clause (possibly empty)
// $5: false expansion (possibly null)
var numParens=5;
var ret = splitted[0];
for (var i=1; i<splitted.length; i=i+numParens+1) {
var testString=splitted[i+2-1];
var trueString=splitted[i+3-1];
var falseString=splitted[i+5-1];
if (typeof falseString=='undefined' || !falseString) { falseString=''; }
var testResult=null;
switch (testString) {
case 'user':
testResult=(article.userName())?true:false;
break;
case 'talk':
testResult=(article.talkPage())?false:true; // talkPage converts _articles_ to talkPages
break;
case 'admin':
testResult=getValueOf('popupAdminLinks')?true:false;
break;
case 'oldid':
testResult=(typeof oldid != 'undefined' && oldid)?true:false;
break;
case 'rcid':
testResult=(typeof rcid != 'undefined' && rcid)?true:false;
break;
case 'ipuser':
testResult=(article.isIpUser())?true:false;
break;
case 'mainspace_en':
testResult=isInMainNamespace(article) &&
pg.wiki.hostname=='en.wikipedia.org';
break;
case 'wikimedia':
testResult=(pg.wiki.wikimedia) ? true : false;
break;
case 'diff':
testResult=(typeof diff != 'undefined' && diff)?true:false;
break;
}
switch(testResult) {
case null: ret+=splitted[i]; break;
case true: ret+=trueString; break;
case false: ret+=falseString; break;
}
// append non-conditional string
ret += splitted[i+numParens];
}
if (conditionalSplitRegex.test(ret) && recursionCount < 10) {
return expandConditionalNavlinkString(ret,article,z,recursionCount+1);
}
return ret;
}
function navlinkStringToArray(s, article, params) {
s=expandConditionalNavlinkString(s,article,params);
var splitted=s.parenSplit(RegExp('<<(.*?)>>'));
var ret=[];
for (var i=0; i<splitted.length; ++i) {
if (i%2) { // i odd, so s is a tag
var t=new navlinkTag();
var ss=splitted[i].split('|');
t.id=ss[0];
for (var j=1; j<ss.length; ++j) {
var sss=ss[j].split('=');
if (sss.length>1) {
t[sss[0]]=sss[1];
}
else { // no assignment (no "="), so treat this as a title (overwriting the last one)
t.text=popupString(sss[0]);
}
}
t.article=article;
var oldid=params.oldid, rcid=params.rcid, diff=params.diff;
if (typeof oldid !== 'undefined' && oldid !== null) { t.oldid=oldid; }
if (typeof rcid !== 'undefined' && rcid !== null) { t.rcid=rcid; }
if (typeof diff !== 'undefined' && diff !== null) { t.diff=diff; }
if (!t.text && t.id !== 'mainlink') { t.text=popupString(t.id); }
ret.push(t);
}
else { // plain HTML
ret.push(splitted[i]);
}
}
return ret;
}
function navlinkSubstituteHTML(s) {
return s.split('*').join(getValueOf('popupNavLinkSeparator'))
.split('<menurow>').join('<li class="popup_menu_row">')
.split('</menurow>').join('</li>')
.split('<menu>').join('<ul class="popup_menu">')
.split('</menu>').join('</ul>');
}
function navlinkDepth(magic,s) {
return s.split('<' + magic + '>').length - s.split('</' + magic + '>').length;
}
// navlinkString: * becomes the separator
// <<foo|bar=baz|fubar>> becomes a foo-link with attribute bar='baz'
// and visible text 'fubar'
// if(test){...} and if(test){...}else{...} work too (nested ok)
function navlinkStringToHTML(s,article,params) {
//limitAlert(navlinkStringToHTML, 5, 'navlinkStringToHTML\n' + article + '\n' + (typeof article));
var p=navlinkStringToArray(s,article,params);
var html='';
var menudepth = 0; // nested menus not currently allowed, but doesn't do any harm to code for it
var menurowdepth = 0;
for (var i=0; i<p.length; ++i) {
if (typeof p[i] == typeof '') {
html+=navlinkSubstituteHTML(p[i]);
menudepth += navlinkDepth('menu', p[i]);
menurowdepth += navlinkDepth('menurow', p[i]);
// if (menudepth === 0) {
// tagType='span';
// } else if (menurowdepth === 0) {
// tagType='li';
// } else {
// tagType = null;
// }
} else if (typeof p[i].type != 'undefined' && p[i].type=='navlinkTag') {
if (menudepth > 0 && menurowdepth === 0) {
html += '<li class="popup_menu_item">' + p[i].html() + '</li>';
} else {
html+=p[i].html();
}
}
}
return html;
}
function navlinkTag() {
this.type='navlinkTag';
}
navlinkTag.prototype.html=function () {
this.getNewWin();
this.getPrintFunction();
var html='';
var opening, closing;
var tagType='span';
if (!tagType) {
opening = ''; closing = '';
} else {
opening = '<' + tagType + ' class="popup_' + this.id + '">';
closing = '</' + tagType + '>';
}
if (typeof this.print!='function') {
errlog ('Oh dear - invalid print function for a navlinkTag, id='+this.id);
} else {
html=this.print(this);
if (typeof html != typeof '') {html='';}
else if (typeof this.shortcut!='undefined') html=addPopupShortcut(html, this.shortcut);
}
return opening + html + closing;
};
navlinkTag.prototype.getNewWin=function() {
getValueOf('popupLinksNewWindow');
if (typeof pg.option.popupLinksNewWindow[this.id] === 'undefined') { this.newWin=null; }
this.newWin=pg.option.popupLinksNewWindow[this.id];
};
navlinkTag.prototype.getPrintFunction=function() { //think about this some more
// this.id and this.article should already be defined
if (typeof this.id!=typeof '' || typeof this.article!=typeof {} ) { return; }
this.noPopup=1;
switch (this.id) {
case 'contribs': case 'history': case 'whatLinksHere':
case 'userPage': case 'monobook': case 'userTalk':
case 'talk': case 'article': case 'lastEdit':
this.noPopup=null;
}
switch (this.id) {
case 'email': case 'contribs': case 'block': case 'unblock':
case 'userlog': case 'userSpace': case 'deletedContribs':
this.article=this.article.userName();
}
switch (this.id) {
case 'userTalk': case 'newUserTalk': case 'editUserTalk':
case 'userPage': case 'monobook': case 'editMonobook': case 'blocklog':
this.article=this.article.userName(true);
/* fall through */
case 'pagelog': case 'deletelog': case 'protectlog':
delete this.oldid;
}
if (this.id=='editMonobook' || this.id=='monobook') { this.article.append('/monobook.js'); }
if (this.id != 'mainlink') {
// FIXME anchor handling should be done differently with Title object
this.article=this.article.removeAnchor();
// if (typeof this.text=='undefined') this.text=popupString(this.id);
}
switch (this.id) {
case 'undelete': this.print=specialLink; this.specialpage='Undelete'; this.sep='/'; break;
case 'whatLinksHere': this.print=specialLink; this.specialpage='Whatlinkshere'; break;
case 'relatedChanges': this.print=specialLink; this.specialpage='Recentchangeslinked'; break;
case 'move': this.print=specialLink; this.specialpage='Movepage'; break;
case 'contribs': this.print=specialLink; this.specialpage='Contributions'; break;
case 'deletedContribs':this.print=specialLink; this.specialpage='Deletedcontributions'; break;
case 'email': this.print=specialLink; this.specialpage='EmailUser'; this.sep='/'; break;
case 'block': this.print=specialLink; this.specialpage='Blockip'; this.sep='&ip='; break;
case 'unblock': this.print=specialLink; this.specialpage='Ipblocklist'; this.sep='&action=unblock&ip='; break;
case 'userlog': this.print=specialLink; this.specialpage='Log'; this.sep='&user='; break;
case 'blocklog': this.print=specialLink; this.specialpage='Log'; this.sep='&type=block&page='; break;
case 'pagelog': this.print=specialLink; this.specialpage='Log'; this.sep='&page='; break;
case 'protectlog': this.print=specialLink; this.specialpage='Log'; this.sep='&type=protect&page='; break;
case 'deletelog': this.print=specialLink; this.specialpage='Log'; this.sep='&type=delete&page='; break;
case 'userSpace': this.print=specialLink; this.specialpage='PrefixIndex'; this.sep='&namespace=2&prefix='; break;
case 'search': this.print=specialLink; this.specialpage='Search'; this.sep='&fulltext=Search&search='; break;
case 'thank': this.print=specialLink; this.specialpage='Thanks'; this.sep='/'; this.article.value = this.diff; break;
case 'unwatch': case 'watch':
this.print=magicWatchLink; this.action=this.id+'&autowatchlist=1&autoimpl=' + popupString('autoedit_version') + '&actoken='+autoClickToken(); break;
case 'history': case 'historyfeed':
case 'unprotect': case 'protect':
this.print=wikiLink; this.action=this.id; break;
case 'delete':
this.print=wikiLink; this.action='delete';
if (this.article.namespaceId()==pg.nsImageId) {
var img=this.article.stripNamespace();
this.action+='&image='+img;
}
break;
case 'markpatrolled':
case 'edit': // editOld should keep the oldid, but edit should not.
delete this.oldid;
/* fall through */
case 'view': case 'purge': case 'render':
this.print=wikiLink;
this.action=this.id; break;
case 'raw':
this.print=wikiLink; this.action='raw'; break;
case 'new':
this.print=wikiLink; this.action='edit§ion=new'; break;
case 'mainlink':
if (typeof this.text=='undefined') { this.text=this.article.toString().entify(); }
if (getValueOf('popupSimplifyMainLink') && isInStrippableNamespace(this.article)) {
// only show the /subpage part of the title text
var s=this.text.split('/'); this.text=s[s.length-1];
if (this.text==='' && s.length > 1) { this.text=s[s.length-2]; }
}
this.print=titledWikiLink;
if (typeof this.title==='undefined' && pg.current.link && typeof pg.current.link.href !== 'undefined') {
this.title=safeDecodeURI((pg.current.link.originalTitle)?pg.current.link.originalTitle:this.article);
if (typeof this.oldid !== 'undefined' && this.oldid) {
this.title=tprintf('Revision %s of %s', [this.oldid, this.title]);
}
}
this.action='view'; break;
case 'userPage':
case 'article':
case 'monobook':
case 'editMonobook':
case 'editArticle':
delete this.oldid;
//alert(this.id+'\n'+this.article + '\n'+ typeof this.article);
this.article=this.article.articleFromTalkOrArticle();
//alert(this.id+'\n'+this.article + '\n'+ typeof this.article);
this.print=wikiLink;
if (this.id.indexOf('edit')===0) {
this.action='edit';
} else { this.action='view';}
break;
case 'userTalk':
case 'talk':
this.article=this.article.talkPage();
delete this.oldid;
this.print=wikiLink;
this.action='view'; break;
case 'arin':
this.print=arinLink; break;
case 'count':
this.print=editCounterLink; break;
case 'google':
this.print=googleLink; break;
case 'editors':
this.print=editorListLink; break;
case 'globalsearch':
this.print=globalSearchLink; break;
case 'lastEdit':
this.print=titledDiffLink;
this.title=popupString('Show the last edit');
this.from='prev'; this.to='cur'; break;
case 'oldEdit':
this.print=titledDiffLink;
this.title=popupString('Show the edit made to get revision') + ' ' + this.oldid;
this.from='prev'; this.to=this.oldid; break;
case 'editOld':
this.print=wikiLink; this.action='edit'; break;
case 'undo':
this.print=wikiLink; this.action='edit&undo='; break;
case 'revert':
this.print=wikiLink; this.action='revert'; break;
case 'nullEdit':
this.print=wikiLink; this.action='nullEdit'; break;
case 'diffCur':
this.print=titledDiffLink;
this.title=tprintf('Show changes since revision %s', [this.oldid]);
this.from=this.oldid; this.to='cur'; break;
case 'editUserTalk':
case 'editTalk':
delete this.oldid;
this.article=this.article.talkPage();
this.action='edit'; this.print=wikiLink; break;
case 'newUserTalk':
case 'newTalk':
this.article=this.article.talkPage();
this.action='edit§ion=new'; this.print=wikiLink; break;
case 'lastContrib':
case 'sinceMe':
this.print=magicHistoryLink;
break;
case 'togglePreviews':
this.text=popupString(pg.option.simplePopups ? 'enable previews' : 'disable previews');
/* fall through */
case 'disablePopups': case 'purgePopups':
this.print=popupMenuLink;
break;
default:
this.print=function () {return 'Unknown navlink type: '+this.id+'';};
}
};
//
// end navlinks
//////////////////////////////////////////////////
//</NOLITE>
// ENDFILE: navlinks.js
// STARTFILE: shortcutkeys.js
//<NOLITE>
function popupHandleKeypress(evt) {
var keyCode = window.event ? window.event.keyCode : ( evt.keyCode ? evt.keyCode : evt.which);
if (!keyCode || !pg.current.link || !pg.current.link.navpopup) { return; }
if (keyCode==27) { // escape
killPopup();
return false; // swallow keypress
}
var letter=String.fromCharCode(keyCode);
var links=pg.current.link.navpopup.mainDiv.getElementsByTagName('A');
var startLink=0;
var i,j;
if (popupHandleKeypress.lastPopupLinkSelected) {
for (i=0; i<links.length; ++i) {
if (links[i]==popupHandleKeypress.lastPopupLinkSelected) { startLink=i; }
}
}
for (j=0; j<links.length; ++j) {
i=(startLink + j + 1) % links.length;
if (links[i].getAttribute('popupkey')==letter) {
if (evt && evt.preventDefault) evt.preventDefault();
links[i].focus();
popupHandleKeypress.lastPopupLinkSelected=links[i];
return false; // swallow keypress
}
}
// pass keypress on
if (document.oldPopupOnkeypress) { return document.oldPopupOnkeypress(evt); }
return true;
}
function addPopupShortcuts() {
if (document.onkeypress!=popupHandleKeypress) {
document.oldPopupOnkeypress=document.onkeypress;
}
document.onkeypress=popupHandleKeypress;
}
function rmPopupShortcuts() {
popupHandleKeypress.lastPopupLinkSelected=null;
try {
if (document.oldPopupOnkeypress && document.oldPopupOnkeypress==popupHandleKeypress) {
// panic
document.onkeypress=null; //function () {};
return;
}
document.onkeypress=document.oldPopupOnkeypress;
} catch (nasties) { /* IE goes here */ }
}
function addLinkProperty(html, property) {
// take "<a href=...>...</a> and add a property
// not sophisticated at all, easily broken
var i=html.indexOf('>');
if (i<0) { return html; }
return html.substring(0,i) + ' ' + property + html.substring(i);
}
function addPopupShortcut(html, key) {
if (!getValueOf('popupShortcutKeys')) { return html; }
var ret= addLinkProperty(html, 'popupkey="'+key+'"');
if (key==' ') { key=popupString('spacebar'); }
return ret.replace(RegExp('^(.*?)(title=")(.*?)(".*)$', 'i'),'$1$2$3 ['+key+']$4');
}
//</NOLITE>
// ENDFILE: shortcutkeys.js
// STARTFILE: diffpreview.js
//<NOLITE>
//lets jump through hoops to find the rev ids we need to retrieve
function loadDiff(article, oldid, diff, navpop) {
navpop.diffData={ oldRev: {}, newRev: {} };
mw.loader.using( 'mediawiki.api' ).then( function() {
var api = new mw.Api( {
ajax: {
headers: { 'Api-User-Agent': pg.misc.userAgent }
}
} );
var params = {
action: 'compare',
prop: 'ids|title'
};
if(article.title){
params.fromtitle = article.title;
}
switch (diff) {
case 'cur':
switch ( oldid ) {
case null:
case '':
case 'prev':
// this can only work if we have the title
// cur -> prev
params.torelative = 'prev';
break;
default:
params.fromrev = oldid;
params.torelative = 'cur';
break;
}
break;
case 'prev':
if( oldid ) {
params.fromrev = oldid;
} else {
params.fromtitle;
}
params.torelative = 'prev';
break;
case 'next':
params.fromrev = oldid || 0;
params.torelative = 'next';
break;
default:
params.fromrev = oldid || 0;
params.torev = diff || 0;
break;
}
api.get( params ).then( function( data ) {
navpop.diffData.oldRev.revid = data.compare.fromrevid;
navpop.diffData.newRev.revid = data.compare.torevid;
addReviewLink(navpop, 'popupMiscTools');
var go = function() {
pendingNavpopTask(navpop);
var url=pg.wiki.apiwikibase + '?format=json&formatversion=2&action=query&';
url += 'revids=' + navpop.diffData.oldRev.revid + '|' + navpop.diffData.newRev.revid;
url += '&prop=revisions&rvprop=ids|timestamp|content';
getPageWithCaching(url, doneDiff, navpop);
return true; // remove hook once run
};
if (navpop.visible || !getValueOf('popupLazyDownloads')) { go(); }
else { navpop.addHook(go, 'unhide', 'before', 'DOWNLOAD_DIFFS'); }
} );
} );
}
// Put a "mark patrolled" link to an element target
// TODO: Allow patrol a revision, as well as a diff
function addReviewLink (navpop, target) {
if (! pg.user.canReview) return;
// If 'newRev' is older than 'oldRev' than it could be confusing, so we do not show the review link.
if (navpop.diffData.newRev.revid <= navpop.diffData.oldRev.revid) return;
var api = new mw.Api( {
ajax: {
headers: { 'Api-User-Agent': pg.misc.userAgent }
}
} );
var params = {
action: 'query',
prop: 'info|flagged',
revids: navpop.diffData.oldRev.revid,
formatversion : 2
};
api.get (params).then(function(data){
var stable_revid = data.query.pages[0].flagged && data.query.pages[0].flagged.stable_revid || 0;
// The diff can be reviewed if the old version is the last reviewed version
// TODO: Other possible conditions that we may want to implement instead of this one:
// * old version is patrolled and the new version is not patrolled
// * old version is patrolled and the new version is more recent than the last reviewed version
if (stable_revid == navpop.diffData.oldRev.revid) {
var a = document.createElement('a');
a.innerHTML = popupString('mark patrolled');
a.title=popupString('markpatrolledHint');
a.onclick = function() {
var params = {
action: 'review',
revid: navpop.diffData.newRev.revid,
comment: tprintf('defaultpopupReviewedSummary', [navpop.diffData.oldRev.revid, navpop.diffData.newRev.revid])
};
api.postWithToken('csrf',params).done(function(){
a.style.display = "none";
// TODO: Update current page and other already constructed popups
} ).fail(function(){
alert(popupString('Could not marked this edit as patrolled'));
});
};
setPopupHTML(a, target, navpop.idNumber,null,true);
}
});
}
function doneDiff(download) {
if (!download.owner || !download.owner.diffData) { return; }
var navpop=download.owner;
completedNavpopTask(navpop);
var pages, revisions=[];
try{
// Process the downloads
pages = getJsObj(download.data).query.pages;
for(var i=0; i < pages.length; i++ ) {
revisions = revisions.concat(pages[i].revisions);
}
for(i=0; i< revisions.length; i++){
if(revisions[i].revid == navpop.diffData.oldRev.revid) {
navpop.diffData.oldRev.revision = revisions[i];
} else if (revisions[i].revid == navpop.diffData.newRev.revid) {
navpop.diffData.newRev.revision = revisions[i];
}
}
} catch(someError) {
errlog( 'Could not get diff' );
}
insertDiff(navpop);
}
function rmBoringLines(a,b,context) {
if (typeof context == 'undefined') { context=2; }
// this is fairly slow... i think it's quicker than doing a word-based diff from the off, though
var aa=[], aaa=[];
var bb=[], bbb=[];
var i, j;
// first, gather all disconnected nodes in a and all crossing nodes in a and b
for (i=0; i<a.length; ++i ) {
if(!a[i].paired) { aa[i]=1; }
else if (countCrossings(b,a,i, true)) {
aa[i]=1;
bb[ a[i].row ] = 1;
}
}
// pick up remaining disconnected nodes in b
for (i=0; i<b.length; ++i ) {
if (bb[i]==1) { continue; }
if(!b[i].paired) { bb[i]=1; }
}
// another pass to gather context: we want the neighbours of included nodes which are not yet included
// we have to add in partners of these nodes, but we don't want to add context for *those* nodes in the next pass
for (i=0; i<b.length; ++i) {
if ( bb[i] == 1 ) {
for (j=Math.max(0,i-context); j < Math.min(b.length, i+context); ++j) {
if ( !bb[j] ) { bb[j] = 1; aa[ b[j].row ] = 0.5; }
}
}
}
for (i=0; i<a.length; ++i) {
if ( aa[i] == 1 ) {
for (j=Math.max(0,i-context); j < Math.min(a.length, i+context); ++j) {
if ( !aa[j] ) { aa[j] = 1; bb[ a[j].row ] = 0.5; }
}
}
}
for (i=0; i<bb.length; ++i) {
if (bb[i] > 0) { // it's a row we need
if (b[i].paired) { bbb.push(b[i].text); } // joined; partner should be in aa
else {
bbb.push(b[i]);
}
}
}
for (i=0; i<aa.length; ++i) {
if (aa[i] > 0) { // it's a row we need
if (a[i].paired) { aaa.push(a[i].text); } // joined; partner should be in aa
else {
aaa.push(a[i]);
}
}
}
return { a: aaa, b: bbb};
}
function stripOuterCommonLines(a,b,context) {
var i=0;
while (i<a.length && i < b.length && a[i]==b[i]) { ++i; }
var j=a.length-1; var k=b.length-1;
while ( j>=0 && k>=0 && a[j]==b[k] ) { --j; --k; }
return { a: a.slice(Math.max(0,i - 1 - context), Math.min(a.length+1, j + context+1)),
b: b.slice(Math.max(0,i - 1 - context), Math.min(b.length+1, k + context+1)) };
}
function insertDiff(navpop) {
// for speed reasons, we first do a line-based diff, discard stuff that seems boring, then do a word-based diff
// FIXME: sometimes this gives misleading diffs as distant chunks are squashed together
var oldlines = navpop.diffData.oldRev.revision.content.split('\n');
var newlines = navpop.diffData.newRev.revision.content.split('\n');
var inner=stripOuterCommonLines(oldlines,newlines,getValueOf('popupDiffContextLines'));
oldlines=inner.a; newlines=inner.b;
var truncated=false;
getValueOf('popupDiffMaxLines');
if (oldlines.length > pg.option.popupDiffMaxLines || newlines.length > pg.option.popupDiffMaxLines) {
// truncate
truncated=true;
inner=stripOuterCommonLines(oldlines.slice(0,pg.option.popupDiffMaxLines),
newlines.slice(0,pg.option.popupDiffMaxLines),
pg.option.popupDiffContextLines);
oldlines=inner.a; newlines=inner.b;
}
var lineDiff=diff(oldlines, newlines);
var lines2=rmBoringLines(lineDiff.o, lineDiff.n);
var oldlines2=lines2.a; var newlines2=lines2.b;
var simpleSplit = !String.prototype.parenSplit.isNative;
var html='<hr />';
if (getValueOf('popupDiffDates')) {
html += diffDatesTable(navpop);
html += '<hr />';
}
html += shortenDiffString(
diffString(oldlines2.join('\n'), newlines2.join('\n'), simpleSplit),
getValueOf('popupDiffContextCharacters') ).join('<hr />');
setPopupTipsAndHTML(html.split('\n').join('<br>') +
(truncated ? '<hr /><b>'+popupString('Diff truncated for performance reasons')+'</b>' : '') ,
'popupPreview', navpop.idNumber);
}
function diffDatesTable( navpop ) {
var html='<table class="popup_diff_dates">';
html += diffDatesTableRow( navpop.diffData.newRev.revision, tprintf('New revision'));
html += diffDatesTableRow( navpop.diffData.oldRev.revision, tprintf('Old revision'));
html += '</table>';
return html;
}
function diffDatesTableRow( revision, label ) {
var txt='';
var lastModifiedDate = new Date(revision.timestamp);
var datePrint=getValueOf('popupDiffDatePrinter');
if (typeof lastModifiedDate[datePrint] == 'function') {
var d2 = adjustDate(lastModifiedDate, getTimeOffset());
txt = dayFormat(d2, true) + ' ' + timeFormat(d2, true);
} else {
txt = tprintf('Invalid %s %s', ['popupDiffDatePrinter', datePrint]);
}
var revlink = generalLink({url: mw.config.get('wgScript') + '?oldid='+revision.revid,
text: label, title: label});
return simplePrintf('<tr><td>%s</td><td>%s</td></tr>', [ revlink, txt ]);
}
//</NOLITE>
// ENDFILE: diffpreview.js
// STARTFILE: links.js
//<NOLITE>
/////////////////////
// LINK GENERATION //
/////////////////////
// titledDiffLink --> titledWikiLink --> generalLink
// wikiLink --> titledWikiLink --> generalLink
// editCounterLink --> generalLink
// TODO Make these functions return Element objects, not just raw HTML strings.
function titledDiffLink(l) { // article, text, title, from, to) {
return titledWikiLink({article: l.article, action: l.to + '&oldid=' + l.from,
newWin: l.newWin,
noPopup: l.noPopup,
text: l.text, title: l.title,
/* hack: no oldid here */
actionName: 'diff'});
}
function wikiLink(l) {
//{article:article, action:action, text:text, oldid, newid}) {
if (! (typeof l.article == typeof {} &&
typeof l.action == typeof '' &&
typeof l.text==typeof '')) return null;
if (typeof l.oldid == 'undefined') { l.oldid=null; }
var savedOldid = l.oldid;
if (!/^(edit|view|revert|render)$|^raw/.test(l.action)) { l.oldid=null; }
var hint=popupString(l.action + 'Hint'); // revertHint etc etc etc
var oldidData=[l.oldid, safeDecodeURI(l.article)];
var revisionString = tprintf('revision %s of %s', oldidData);
log('revisionString='+revisionString);
switch (l.action) {
case 'edit§ion=new': hint = popupString('newSectionHint'); break;
case 'edit&undo=':
if (l.diff && l.diff != 'prev' && savedOldid ) {
l.action += l.diff + '&undoafter=' + savedOldid;
} else if (savedOldid) {
l.action += savedOldid;
}
hint = popupString('undoHint');
break;
case 'raw&ctype=text/css': hint=popupString('rawHint'); break;
case 'revert':
var p=parseParams(pg.current.link.href);
l.action='edit&autoclick=wpSave&actoken=' + autoClickToken() + '&autoimpl=' + popupString('autoedit_version') + '&autosummary=' + revertSummary(l.oldid, p.diff);
if (p.diff=='prev') {
l.action += '&direction=prev';
revisionString = tprintf('the revision prior to revision %s of %s', oldidData);
}
if (getValueOf('popupRevertSummaryPrompt')) { l.action += '&autosummaryprompt=true'; }
if (getValueOf('popupMinorReverts')) { l.action += '&autominor=true'; }
log('revisionString is now '+revisionString);
break;
case 'nullEdit':
l.action='edit&autoclick=wpSave&actoken=' + autoClickToken() + '&autoimpl=' + popupString('autoedit_version') + '&autosummary=null';
break;
case 'historyfeed':
l.action='history&feed=rss';
break;
case 'markpatrolled':
l.action='markpatrolled&rcid='+l.rcid;
}
if (hint) {
if (l.oldid) {
hint = simplePrintf(hint, [revisionString]);
}
else {
hint = simplePrintf(hint, [safeDecodeURI(l.article)]);
}
}
else {
hint = safeDecodeURI(l.article + '&action=' + l.action) + (l.oldid) ? '&oldid='+l.oldid : '';
}
return titledWikiLink({article: l.article, action: l.action, text: l.text, newWin:l.newWin,
title: hint, oldid: l.oldid, noPopup: l.noPopup, onclick: l.onclick});
}
function revertSummary(oldid, diff) {
var ret='';
if (diff == 'prev') {
ret=getValueOf('popupQueriedRevertToPreviousSummary');
} else { ret = getValueOf('popupQueriedRevertSummary'); }
return ret + '&autorv=' + oldid;
}
function titledWikiLink(l) {
// possible properties of argument:
// article, action, text, title, oldid, actionName, className, noPopup
// oldid = null is fine here
// article and action are mandatory args
if (typeof l.article == 'undefined' || typeof l.action=='undefined') {
errlog('got undefined article or action in titledWikiLink');
return null;
}
var base = pg.wiki.titlebase + l.article.urlString();
var url=base;
if (typeof l.actionName=='undefined' || !l.actionName) { l.actionName='action'; }
// no need to add &action=view, and this confuses anchors
if (l.action != 'view') { url = base + '&' + l.actionName + '=' + l.action; }
if (typeof l.oldid!='undefined' && l.oldid) { url+='&oldid='+l.oldid; }
var cssClass=pg.misc.defaultNavlinkClassname;
if (typeof l.className!='undefined' && l.className) { cssClass=l.className; }
return generalNavLink({url: url, newWin: l.newWin,
title: (typeof l.title != 'undefined') ? l.title : null,
text: (typeof l.text!='undefined')?l.text:null,
className: cssClass, noPopup:l.noPopup, onclick:l.onclick});
}
pg.fn.getLastContrib = function getLastContrib(wikipage, newWin) {
getHistoryInfo(wikipage, function(x) {
processLastContribInfo(x, {page: wikipage, newWin: newWin});
});
};
function processLastContribInfo(info, stuff) {
if(!info.edits || !info.edits.length) { alert('Popups: an odd thing happened. Please retry.'); return; }
if(!info.firstNewEditor) {
alert(tprintf('Only found one editor: %s made %s edits', [info.edits[0].editor,info.edits.length]));
return;
}
var newUrl=pg.wiki.titlebase + new Title(stuff.page).urlString() + '&diff=cur&oldid='+info.firstNewEditor.oldid;
displayUrl(newUrl, stuff.newWin);
}
pg.fn.getDiffSinceMyEdit = function getDiffSinceMyEdit(wikipage, newWin) {
getHistoryInfo(wikipage, function(x){
processDiffSinceMyEdit(x, {page: wikipage, newWin: newWin});
});
};
function processDiffSinceMyEdit(info, stuff) {
if(!info.edits || !info.edits.length) { alert('Popups: something fishy happened. Please try again.'); return; }
var friendlyName=stuff.page.split('_').join(' ');
if(!info.myLastEdit) {
alert(tprintf('Couldn\'t find an edit by %s\nin the last %s edits to\n%s',
[info.userName, getValueOf('popupHistoryLimit'), friendlyName]));
return;
}
if(info.myLastEdit.index === 0) {
alert(tprintf("%s seems to be the last editor to the page %s", [info.userName, friendlyName]));
return;
}
var newUrl=pg.wiki.titlebase + new Title(stuff.page).urlString() + '&diff=cur&oldid='+ info.myLastEdit.oldid;
displayUrl(newUrl, stuff.newWin);
}
function displayUrl(url, newWin){
if(newWin) { window.open(url); }
else { document.location=url; }
}
pg.fn.purgePopups = function purgePopups() {
processAllPopups(true);
setupCache(); // deletes all cached items (not browser cached, though...)
pg.option={};
abortAllDownloads();
};
function processAllPopups(nullify, banish) {
for (var i=0; pg.current.links && i<pg.current.links.length; ++i) {
if (!pg.current.links[i].navpopup) { continue; }
if (nullify || banish) pg.current.links[i].navpopup.banish();
pg.current.links[i].simpleNoMore=false;
if (nullify) pg.current.links[i].navpopup=null;
}
}
pg.fn.disablePopups = function disablePopups(){
processAllPopups(false, true);
setupTooltips(null, true);
};
pg.fn.togglePreviews = function togglePreviews() {
processAllPopups(true, true);
pg.option.simplePopups=!pg.option.simplePopups;
abortAllDownloads();
};
function magicWatchLink(l) {
//Yuck!! Would require a thorough redesign to add this as a click event though ...
l.onclick = simplePrintf( 'pg.fn.modifyWatchlist(\'%s\',\'%s\');return false;', [l.article.toString(true).split("\\").join("\\\\").split("'").join("\\'"), this.id] );
return wikiLink(l);
}
pg.fn.modifyWatchlist = function modifyWatchlist(title, action) {
var reqData = {
'action': 'watch',
'formatversion': 2,
'titles': title,
'uselang': mw.config.get('wgUserLanguage')
};
if ( action === 'unwatch' ) reqData.unwatch = true;
var api = new mw.Api( {
ajax: {
headers: { 'Api-User-Agent': pg.misc.userAgent }
}
} );
// Load the Addedwatchtext or Removedwatchtext message and show it
var mwTitle = mw.Title.newFromText( title );
var messageName;
if ( mwTitle && mwTitle.getNamespaceId() > 0 && mwTitle.getNamespaceId() % 2 === 1 ) {
messageName = action === 'watch' ? 'addedwatchtext-talk' : 'removedwatchtext-talk';
} else {
messageName = action === 'watch' ? 'addedwatchtext' : 'removedwatchtext';
}
$.when(
api.postWithToken( 'watch', reqData ),
mw.loader.using( [ 'mediawiki.api.messages', 'mediawiki.jqueryMsg' ] ).then( function () {
return api.loadMessagesIfMissing( [ messageName ] );
} )
).done( function () {
mw.notify( mw.message( messageName, title ).parseDom() );
} );
};
function magicHistoryLink(l) {
// FIXME use onclick change href trick to sort this out instead of window.open
var jsUrl='', title='', onClick='';
switch(l.id) {
case 'lastContrib':
onClick=simplePrintf('pg.fn.getLastContrib(\'%s\',%s)',
[l.article.toString(true).split("\\").join("\\\\").split("'").join("\\'"), l.newWin]);
title=popupString('lastContribHint');
break;
case 'sinceMe':
onClick=simplePrintf('pg.fn.getDiffSinceMyEdit(\'%s\',%s)',
[l.article.toString(true).split("\\").join("\\\\").split("'").join("\\'"), l.newWin]);
title=popupString('sinceMeHint');
break;
}
jsUrl = 'javascript:' + onClick; // jshint ignore:line
onClick += ';return false;';
return generalNavLink({url: jsUrl, newWin: false, // can't have new windows with JS links, I think
title: title, text: l.text, noPopup: l.noPopup, onclick: onClick });
}
function popupMenuLink(l) {
var jsUrl=simplePrintf('javascript:pg.fn.%s()', [l.id]); // jshint ignore:line
var title=popupString(simplePrintf('%sHint', [l.id]));
var onClick=simplePrintf('pg.fn.%s();return false;', [l.id]);
return generalNavLink({url: jsUrl, newWin:false, title:title, text:l.text, noPopup:l.noPopup, onclick: onClick});
}
function specialLink(l) {
// properties: article, specialpage, text, sep
if (typeof l.specialpage=='undefined'||!l.specialpage) return null;
var base = pg.wiki.titlebase + mw.config.get('wgFormattedNamespaces')[pg.nsSpecialId]+':'+l.specialpage;
if (typeof l.sep == 'undefined' || l.sep === null) l.sep='&target=';
var article=l.article.urlString({keepSpaces: l.specialpage=='Search'});
var hint=popupString(l.specialpage+'Hint');
switch (l.specialpage) {
case 'Log':
switch (l.sep) {
case '&user=': hint=popupString('userLogHint'); break;
case '&type=block&page=': hint=popupString('blockLogHint'); break;
case '&page=': hint=popupString('pageLogHint'); break;
case '&type=protect&page=': hint=popupString('protectLogHint'); break;
case '&type=delete&page=': hint=popupString('deleteLogHint'); break;
default: log('Unknown log type, sep=' + l.sep); hint='Missing hint (FIXME)';
}
break;
case 'PrefixIndex': article += '/'; break;
}
if (hint) hint = simplePrintf(hint, [safeDecodeURI(l.article)]);
else hint = safeDecodeURI(l.specialpage+':'+l.article) ;
var url = base + l.sep + article;
return generalNavLink({url: url, title: hint, text: l.text, newWin:l.newWin, noPopup:l.noPopup});
}
function generalLink(l) {
// l.url, l.text, l.title, l.newWin, l.className, l.noPopup, l.onclick
if (typeof l.url=='undefined') return null;
// only quotation marks in the url can screw us up now... I think
var url=l.url.split('"').join('%22');
var ret='<a href="' + url + '"';
if (typeof l.title!='undefined' && l.title) { ret += ' title="' + pg.escapeQuotesHTML(l.title) + '"'; }
if (typeof l.onclick!='undefined' && l.onclick) { ret += ' onclick="' + pg.escapeQuotesHTML(l.onclick) + '"'; }
if (l.noPopup) { ret += ' noPopup=1'; }
var newWin;
if (typeof l.newWin=='undefined' || l.newWin === null) { newWin=getValueOf('popupNewWindows'); }
else { newWin=l.newWin; }
if (newWin) { ret += ' target="_blank"'; }
if (typeof l.className!='undefined'&&l.className) { ret+=' class="'+l.className+'"'; }
ret += '>';
if (typeof l.text==typeof '') { ret+= l.text; }
ret +='</a>';
return ret;
}
function appendParamsToLink(linkstr, params) {
var sp=linkstr.parenSplit(RegExp('(href="[^"]+?)"', 'i'));
if (sp.length<2) return null;
var ret=sp.shift() + sp.shift();
ret += '&' + params + '"';
ret += sp.join('');
return ret;
}
function changeLinkTargetLink(x) { // newTarget, text, hint, summary, clickButton, minor, title (optional) {
if (x.newTarget) {
log ('changeLinkTargetLink: newTarget=' + x.newTarget);
}
if (x.oldTarget !== decodeURIComponent( x.oldTarget ) ) {
log ('This might be an input problem: ' + x.oldTarget );
}
// <nowiki>
// FIXME: first character of page title as well as namespace should be case insensitive
// eg [[category:X1]] and [[Category:X1]] are equivalent
// this'll break if charAt(0) is nasty
// </nowiki>
var cA=literalizeRegex(x.oldTarget);
var chs=cA.charAt(0).toUpperCase();
chs='['+chs + chs.toLowerCase()+']';
var currentArticleRegexBit=chs+cA.substring(1);
currentArticleRegexBit=currentArticleRegexBit
.split(RegExp('(?:[_ ]+|%20)', 'g')).join('(?:[_ ]+|%20)')
.split('\\(').join('(?:%28|\\()')
.split('\\)').join('(?:%29|\\))'); // why does this need to match encoded strings ? links in the document ?
// leading and trailing space should be ignored, and anchor bits optional:
currentArticleRegexBit = '\\s*(' + currentArticleRegexBit + '(?:#[^\\[\\|]*)?)\\s*';
// e.g. Computer (archaic) -> \s*([Cc]omputer[_ ](?:%2528|\()archaic(?:%2528|\)))\s*
// autoedit=s~\[\[([Cc]ad)\]\]~[[Computer-aided%20design|$1]]~g;s~\[\[([Cc]AD)[|]~[[Computer-aided%20design|~g
var title=x.title || mw.config.get('wgPageName').split('_').join(' ');
var lk=titledWikiLink({article: new Title(title), newWin:x.newWin,
action: 'edit',
text: x.text,
title: x.hint,
className: 'popup_change_title_link'
});
var cmd='';
if (x.newTarget) {
// escape '&' and other nasties
var t=x.newTarget;
var s=literalizeRegex(x.newTarget);
// <nowiki>
cmd += 's~\\[\\['+currentArticleRegexBit+'\\]\\]~[['+t+'|$1]]~g;';
cmd += 's~\\[\\['+currentArticleRegexBit+'[|]~[['+t+'|~g;';
cmd += 's~\\[\\['+s + '\\|' + s + '\\]\\]~[[' + t + ']]~g';
// </nowiki>
} else {
cmd += 's~\\[\\['+currentArticleRegexBit+'\\]\\]~$1~g;';
cmd += 's~\\[\\['+currentArticleRegexBit+'[|](.*?)\\]\\]~$2~g';
}
// Build query
cmd = 'autoedit=' + encodeURIComponent ( cmd );
cmd += '&autoclick='+ encodeURIComponent( x.clickButton ) + '&actoken=' + encodeURIComponent( autoClickToken() );
cmd += ( x.minor === null ) ? '' : '&autominor='+ encodeURIComponent( x.minor );
cmd += ( x.watch === null ) ? '' : '&autowatch='+ encodeURIComponent( x.watch );
cmd += '&autosummary='+encodeURIComponent(x.summary);
cmd += '&autoimpl='+encodeURIComponent( popupString('autoedit_version') );
return appendParamsToLink(lk, cmd);
}
function redirLink(redirMatch, article) {
// NB redirMatch is in wikiText
var ret='';
if (getValueOf('popupAppendRedirNavLinks') && getValueOf('popupNavLinks')) {
ret += '<hr />';
if (getValueOf('popupFixRedirs') && typeof autoEdit != 'undefined' && autoEdit) {
log('redirLink: newTarget=' + redirMatch);
ret += addPopupShortcut(changeLinkTargetLink({
newTarget: redirMatch,
text: popupString('Redirects'),
hint: popupString('Fix this redirect'),
summary: simplePrintf(getValueOf('popupFixRedirsSummary'),[article.toString(), redirMatch]),
oldTarget: article.toString(),
clickButton: getValueOf('popupRedirAutoClick'),
minor: true,
watch: getValueOf('popupWatchRedirredPages')
}), 'R');
ret += popupString(' to ');
}
else ret += popupString('Redirects') + popupString(' to ');
return ret;
}
else return '<br> ' + popupString('Redirects') + popupString(' to ') +
titledWikiLink({article: new Title().fromWikiText(redirMatch), action: 'view', /* FIXME: newWin */
text: safeDecodeURI(redirMatch), title: popupString('Bypass redirect')});
}
function arinLink(l) {
if (!saneLinkCheck(l)) { return null; }
if ( ! l.article.isIpUser() || ! pg.wiki.wikimedia) return null;
var uN=l.article.userName();
return generalNavLink({url:'http://ws.arin.net/cgi-bin/whois.pl?queryinput=' + encodeURIComponent(uN), newWin:l.newWin,
title: tprintf('Look up %s in ARIN whois database', [uN]),
text: l.text, noPopup:1});
}
function toolDbName(cookieStyle) {
var ret = mw.config.get('wgDBname');
if (!cookieStyle) { ret+= '_p'; }
return ret;
}
function saneLinkCheck(l) {
if (typeof l.article != typeof {} || typeof l.text != typeof '') { return false; }
return true;
}
function editCounterLink(l) {
if(!saneLinkCheck(l)) return null;
if (! pg.wiki.wikimedia) return null;
var uN=l.article.userName();
var tool=getValueOf('popupEditCounterTool');
var url;
var defaultToolUrl='//tools.wmflabs.org/supercount/index.php?user=$1&project=$2.$3';
switch(tool) {
case 'custom':
url=simplePrintf(getValueOf('popupEditCounterUrl'), [ encodeURIComponent(uN), toolDbName() ]);
break;
case 'soxred': // no longer available
case 'kate': // no longer available
case 'interiot':// no longer available
/* fall through */
case 'supercount':
default:
var theWiki=pg.wiki.hostname.split('.');
url=simplePrintf(defaultToolUrl, [ encodeURIComponent(uN), theWiki[0], theWiki[1] ]);
}
return generalNavLink({url:url, title: tprintf('editCounterLinkHint', [uN]),
newWin:l.newWin, text: l.text, noPopup:1});
}
function globalSearchLink(l) {
if(!saneLinkCheck(l)) return null;
var base='http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?timeout=120&search=';
var article=l.article.urlString({keepSpaces:true});
return generalNavLink({url:base + article, newWin:l.newWin,
title: tprintf('globalSearchHint', [safeDecodeURI(l.article)]),
text: l.text, noPopup:1});
}
function googleLink(l) {
if(!saneLinkCheck(l)) return null;
var base='https://www.google.com/search?q=';
var article=l.article.urlString({keepSpaces:true});
return generalNavLink({url:base + '%22' + article + '%22', newWin:l.newWin,
title: tprintf('googleSearchHint', [safeDecodeURI(l.article)]),
text: l.text, noPopup:1});
}
function editorListLink(l) {
if(!saneLinkCheck(l)) return null;
var article= l.article.articleFromTalkPage() || l.article;
var url='https://xtools.wmflabs.org/articleinfo/' +
encodeURI( pg.wiki.hostname ) + '/' +
article.urlString() +
'?uselang=' + mw.config.get('wgUserLanguage');
return generalNavLink({url:url,
title: tprintf('editorListHint', [article]),
newWin:l.newWin, text: l.text, noPopup:1});
}
function generalNavLink(l) {
l.className = (l.className === null) ? 'popupNavLink' : l.className;
return generalLink(l);
}
//////////////////////////////////////////////////
// magic history links
//
function getHistoryInfo(wikipage, whatNext) {
log('getHistoryInfo');
getHistory(wikipage, whatNext ? function(d){whatNext(processHistory(d));} : processHistory);
}
// FIXME eliminate pg.idNumber ... how? :-(
function getHistory(wikipage, onComplete) {
log('getHistory');
var url = pg.wiki.apiwikibase + '?format=json&formatversion=2&action=query&prop=revisions&titles=' +
new Title(wikipage).urlString() + '&rvlimit=' + getValueOf('popupHistoryLimit');
log('getHistory: url='+url);
return startDownload(url, pg.idNumber+'history', onComplete);
}
function processHistory(download) {
var jsobj = getJsObj(download.data);
try {
var revisions = anyChild(jsobj.query.pages).revisions;
var edits=[];
for (var i=0; i<revisions.length; ++i) {
edits.push({ oldid: revisions[i].revid, editor: revisions[i].user });
}
log('processed ' + edits.length + ' edits');
return finishProcessHistory( edits, mw.config.get('wgUserName') );
} catch (someError) {
log('Something went wrong with JSON business');
return finishProcessHistory([]);
}
}
function finishProcessHistory(edits, userName) {
var histInfo={};
histInfo.edits=edits;
histInfo.userName=userName;
for (var i=0; i<edits.length; ++i) {
if (typeof histInfo.myLastEdit === 'undefined' && userName && edits[i].editor==userName) {
histInfo.myLastEdit={index: i, oldid: edits[i].oldid, previd: (i === 0 ? null : edits[i-1].oldid)};
}
if (typeof histInfo.firstNewEditor === 'undefined' && edits[i].editor != edits[0].editor) {
histInfo.firstNewEditor={index:i, oldid:edits[i].oldid, previd: (i === 0 ? null : edits[i-1].oldid)};
}
}
//pg.misc.historyInfo=histInfo;
return histInfo;
}
//</NOLITE>
// ENDFILE: links.js
// STARTFILE: options.js
//////////////////////////////////////////////////
// options
// check for existing value, else use default
function defaultize(x) {
if (pg.option[x]===null || typeof pg.option[x]=='undefined') {
if (typeof window[x] != 'undefined' ) pg.option[x]=window[x];
else pg.option[x]=pg.optionDefault[x];
}
}
function newOption(x, def) {
pg.optionDefault[x]=def;
}
function setDefault(x, def) {
return newOption(x, def);
}
function getValueOf(varName) {
defaultize(varName);
return pg.option[varName];
}
/*eslint-disable */
function useDefaultOptions() { // for testing
for (var p in pg.optionDefault) {
pg.option[p]=pg.optionDefault[p];
if (typeof window[p]!='undefined') { delete window[p]; }
}
}
/*eslint-enable */
function setOptions() {
// user-settable parameters and defaults
var userIsSysop = false;
if ( mw.config.get('wgUserGroups') ) {
for ( var g = 0; g < mw.config.get('wgUserGroups').length; ++g ) {
if ( mw.config.get('wgUserGroups')[g] == "sysop" )
userIsSysop = true;
}
}
// Basic options
newOption('popupDelay', 0.5);
newOption('popupHideDelay', 0.5);
newOption('simplePopups', false);
newOption('popupStructure', 'shortmenus'); // see later - default for popupStructure is 'original' if simplePopups is true
newOption('popupActionsMenu', true);
newOption('popupSetupMenu', true);
newOption('popupAdminLinks', userIsSysop);
newOption('popupShortcutKeys', false);
newOption('popupHistoricalLinks', true);
newOption('popupOnlyArticleLinks', true);
newOption('removeTitles', true);
newOption('popupMaxWidth', 350);
newOption('popupSimplifyMainLink', true);
newOption('popupAppendRedirNavLinks', true);
newOption('popupTocLinks', false);
newOption('popupSubpopups', true);
newOption('popupDragHandle', false /* 'popupTopLinks'*/);
newOption('popupLazyPreviews', true);
newOption('popupLazyDownloads', true);
newOption('popupAllDabsStubs', false);
newOption('popupDebugging', false);
newOption('popupActiveNavlinks', true);
newOption('popupModifier', false); // ctrl, shift, alt or meta
newOption('popupModifierAction', 'enable'); // or 'disable'
newOption('popupDraggable', true);
newOption('popupReview', false);
//<NOLITE>
// images
newOption('popupImages', true);
newOption('imagePopupsForImages', true);
newOption('popupNeverGetThumbs', false);
//newOption('popupImagesToggleSize', true);
newOption('popupThumbAction', 'imagepage'); //'sizetoggle');
newOption('popupImageSize', 60);
newOption('popupImageSizeLarge', 200);
// redirs, dabs, reversion
newOption('popupFixRedirs', false);
newOption('popupRedirAutoClick', 'wpDiff');
newOption('popupFixDabs', false);
newOption('popupDabsAutoClick', 'wpDiff');
newOption('popupRevertSummaryPrompt', false);
newOption('popupMinorReverts', false);
newOption('popupRedlinkRemoval', false);
newOption('popupRedlinkAutoClick', 'wpDiff');
newOption('popupWatchDisambiggedPages', null);
newOption('popupWatchRedirredPages', null);
newOption('popupDabWiktionary', 'last');
// navlinks
newOption('popupNavLinks', true);
newOption('popupNavLinkSeparator', ' ⋅ ');
newOption('popupLastEditLink', true);
newOption('popupEditCounterTool', 'supercount');
newOption('popupEditCounterUrl', '');
//</NOLITE>
// previews etc
newOption('popupPreviews', true);
newOption('popupSummaryData', true);
newOption('popupMaxPreviewSentences', 5);
newOption('popupMaxPreviewCharacters', 600);
newOption('popupLastModified', true);
newOption('popupPreviewKillTemplates', true);
newOption('popupPreviewRawTemplates', true);
newOption('popupPreviewFirstParOnly', true);
newOption('popupPreviewCutHeadings', true);
newOption('popupPreviewButton', false);
newOption('popupPreviewButtonEvent', 'click');
//<NOLITE>
// diffs
newOption('popupPreviewDiffs', true);
newOption('popupDiffMaxLines', 100);
newOption('popupDiffContextLines', 2);
newOption('popupDiffContextCharacters', 40);
newOption('popupDiffDates', true);
newOption('popupDiffDatePrinter', 'toLocaleString');
// edit summaries. God, these are ugly.
newOption('popupReviewedSummary', popupString('defaultpopupReviewedSummary') );
newOption('popupFixDabsSummary', popupString('defaultpopupFixDabsSummary') );
newOption('popupExtendedRevertSummary', popupString('defaultpopupExtendedRevertSummary') );
newOption('popupRevertSummary', popupString('defaultpopupRevertSummary') );
newOption('popupRevertToPreviousSummary', popupString('defaultpopupRevertToPreviousSummary') );
newOption('popupQueriedRevertSummary', popupString('defaultpopupQueriedRevertSummary') );
newOption('popupQueriedRevertToPreviousSummary', popupString('defaultpopupQueriedRevertToPreviousSummary') );
newOption('popupFixRedirsSummary', popupString('defaultpopupFixRedirsSummary') );
newOption('popupRedlinkSummary', popupString('defaultpopupRedlinkSummary') );
newOption('popupRmDabLinkSummary', popupString('defaultpopupRmDabLinkSummary') );
//</NOLITE>
// misc
newOption('popupHistoryLimit', 50);
//<NOLITE>
newOption('popupFilters', [popupFilterStubDetect, popupFilterDisambigDetect,
popupFilterPageSize, popupFilterCountLinks,
popupFilterCountImages, popupFilterCountCategories,
popupFilterLastModified]);
newOption('extraPopupFilters', []);
newOption('popupOnEditSelection', 'cursor');
newOption('popupPreviewHistory', true);
newOption('popupImageLinks', true);
newOption('popupCategoryMembers', true);
newOption('popupUserInfo', true);
newOption('popupHistoryPreviewLimit', 25);
newOption('popupContribsPreviewLimit',25);
newOption('popupRevDelUrl', '//en.wikipedia.org/wiki/Wikipedia:Revision_deletion');
newOption('popupShowGender', true);
//</NOLITE>
// new windows
newOption('popupNewWindows', false);
newOption('popupLinksNewWindow', {'lastContrib': true, 'sinceMe': true});
// regexps
newOption('popupDabRegexp', '(\\{\\{\\s*disambig(?!uation needed)|disambig(uation|)\\s*\\}\\}|disamb\\s*\\}\\}|dab\\s*\\}\\})|\\{\\{\\s*(((geo|hn|road?|school|number)dis)|[234][lc][acw]|(road|ship)index)(\\s*[|][^}]*)?\\s*[}][}]|is a .*disambiguation.*page');
newOption('popupAnchorRegexp', 'anchors?'); //how to identify an anchors template
newOption('popupStubRegexp', '(sect)?stub[}][}]|This .*-related article is a .*stub');
newOption('popupImageVarsRegexp', 'image|image_(?:file|skyline|name|flag|seal)|cover|badge|logo');
}
// ENDFILE: options.js
// STARTFILE: strings.js
//<NOLITE>
//////////////////////////////////////////////////
// Translatable strings
//////////////////////////////////////////////////
//
// See instructions at
// https://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups/Translation
// <nowiki>
pg.string = {
/////////////////////////////////////
// summary data, searching etc.
/////////////////////////////////////
'article': 'article',
'category': 'category',
'categories': 'categories',
'image': 'image',
'images': 'images',
'stub': 'stub',
'section stub': 'section stub',
'Empty page': 'Empty page',
'kB': 'kB',
'bytes': 'bytes',
'day': 'day',
'days': 'days',
'hour': 'hour',
'hours': 'hours',
'minute': 'minute',
'minutes': 'minutes',
'second': 'second',
'seconds': 'seconds',
'week': 'week',
'weeks': 'weeks',
'search': 'search',
'SearchHint': 'Find English Wikipedia articles containing %s',
'web': 'web',
'global': 'global',
'globalSearchHint': 'Search across Wikipedias in different languages for %s',
'googleSearchHint': 'Google for %s',
/////////////////////////////////////
// article-related actions and info
// (some actions also apply to user pages)
/////////////////////////////////////
'actions': 'actions', ///// view articles and view talk
'popupsMenu': 'popups',
'togglePreviewsHint': 'Toggle preview generation in popups on this page',
'enable previews': 'enable previews',
'disable previews': 'disable previews',
'toggle previews': 'toggle previews',
'show preview': 'show preview',
'reset': 'reset',
'more...': 'more...',
'disable': 'disable popups',
'disablePopupsHint': 'Disable popups on this page. Reload page to re-enable.',
'historyfeedHint': 'RSS feed of recent changes to this page',
'purgePopupsHint': 'Reset popups, clearing all cached popup data.',
'PopupsHint': 'Reset popups, clearing all cached popup data.',
'spacebar': 'space',
'view': 'view',
'view article': 'view article',
'viewHint': 'Go to %s',
'talk': 'talk',
'talk page': 'talk page',
'this revision': 'this revision',
'revision %s of %s': 'revision %s of %s',
'Revision %s of %s': 'Revision %s of %s',
'the revision prior to revision %s of %s': 'the revision prior to revision %s of %s',
'Toggle image size': 'Click to toggle image size',
'del': 'del', ///// delete, protect, move
'delete': 'delete',
'deleteHint': 'Delete %s',
'undeleteShort': 'un',
'UndeleteHint': 'Show the deletion history for %s',
'protect': 'protect',
'protectHint': 'Restrict editing rights to %s',
'unprotectShort': 'un',
'unprotectHint': 'Allow %s to be edited by anyone again',
'send thanks': 'send thanks',
'ThanksHint': 'Send a thank you notification to this user',
'move': 'move',
'move page': 'move page',
'MovepageHint': 'Change the title of %s',
'edit': 'edit', ///// edit articles and talk
'edit article': 'edit article',
'editHint': 'Change the content of %s',
'edit talk': 'edit talk',
'new': 'new',
'new topic': 'new topic',
'newSectionHint': 'Start a new section on %s',
'null edit': 'null edit',
'nullEditHint': 'Submit an edit to %s, making no changes ',
'hist': 'hist', ///// history, diffs, editors, related
'history': 'history',
'historyHint': 'List the changes made to %s',
'last': 'prev', // For labelling the previous revision in history pages; the key is "last" for backwards compatibility
'lastEdit': 'lastEdit',
'mark patrolled': 'mark patrolled',
'markpatrolledHint': 'Mark this edit as patrolled',
'Could not marked this edit as patrolled': 'Could not marked this edit as patrolled',
'show last edit': 'most recent edit',
'Show the last edit': 'Show the effects of the most recent change',
'lastContrib': 'lastContrib',
'last set of edits': 'latest edits',
'lastContribHint': 'Show the net effect of changes made by the last editor',
'cur': 'cur',
'diffCur': 'diffCur',
'Show changes since revision %s': 'Show changes since revision %s',
'%s old': '%s old', // as in 4 weeks old
'oldEdit': 'oldEdit',
'purge': 'purge',
'purgeHint': 'Demand a fresh copy of %s',
'raw': 'source',
'rawHint': 'Download the source of %s',
'render': 'simple',
'renderHint': 'Show a plain HTML version of %s',
'Show the edit made to get revision': 'Show the edit made to get revision',
'sinceMe': 'sinceMe',
'changes since mine': 'diff my edit',
'sinceMeHint': 'Show changes since my last edit',
'Couldn\'t find an edit by %s\nin the last %s edits to\n%s': 'Couldn\'t find an edit by %s\nin the last %s edits to\n%s',
'eds': 'eds',
'editors': 'editors',
'editorListHint': 'List the users who have edited %s',
'related': 'related',
'relatedChanges': 'relatedChanges',
'related changes': 'related changes',
'RecentchangeslinkedHint': 'Show changes in articles related to %s',
'editOld': 'editOld', ///// edit old version, or revert
'rv': 'rv',
'revert': 'revert',
'revertHint': 'Revert to %s',
'defaultpopupReviewedSummary': 'Accepted by reviewing the [[Special:diff/%s/%s|difference]] between this version and previously accepted version using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupRedlinkSummary': 'Removing link to empty page [[%s]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupFixDabsSummary': 'Disambiguate [[%s]] to [[%s]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupFixRedirsSummary': 'Redirect bypass from [[%s]] to [[%s]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupExtendedRevertSummary': 'Revert to revision dated %s by %s, oldid %s using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupRevertToPreviousSummary': 'Revert to the revision prior to revision %s using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupRevertSummary': 'Revert to revision %s using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupQueriedRevertToPreviousSummary': 'Revert to the revision prior to revision $1 dated $2 by $3 using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupQueriedRevertSummary': 'Revert to revision $1 dated $2 by $3 using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'defaultpopupRmDabLinkSummary': 'Remove link to dab page [[%s]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]]',
'Redirects': 'Redirects', // as in Redirects to ...
' to ': ' to ', // as in Redirects to ...
'Bypass redirect': 'Bypass redirect',
'Fix this redirect': 'Fix this redirect',
'disambig': 'disambig', ///// add or remove dab etc.
'disambigHint': 'Disambiguate this link to [[%s]]',
'Click to disambiguate this link to:': 'Click to disambiguate this link to:',
'remove this link': 'remove this link',
'remove all links to this page from this article': 'remove all links to this page from this article',
'remove all links to this disambig page from this article': 'remove all links to this disambig page from this article',
'mainlink': 'mainlink', ///// links, watch, unwatch
'wikiLink': 'wikiLink',
'wikiLinks': 'wikiLinks',
'links here': 'links here',
'whatLinksHere': 'whatLinksHere',
'what links here': 'what links here',
'WhatlinkshereHint': 'List the pages that are hyperlinked to %s',
'unwatchShort': 'un',
'watchThingy': 'watch', // called watchThingy because {}.watch is a function
'watchHint': 'Add %s to my watchlist',
'unwatchHint': 'Remove %s from my watchlist',
'Only found one editor: %s made %s edits': 'Only found one editor: %s made %s edits',
'%s seems to be the last editor to the page %s': '%s seems to be the last editor to the page %s',
'rss': 'rss',
/////////////////////////////////////
// diff previews
/////////////////////////////////////
'Diff truncated for performance reasons': 'Diff truncated for performance reasons',
'Old revision': 'Old revision',
'New revision': 'New revision',
'Something went wrong :-(': 'Something went wrong :-(',
'Empty revision, maybe non-existent': 'Empty revision, maybe non-existent',
'Unknown date': 'Unknown date',
/////////////////////////////////////
// other special previews
/////////////////////////////////////
'Empty category': 'Empty category',
'Category members (%s shown)': 'Category members (%s shown)',
'No image links found': 'No image links found',
'File links': 'File links',
'No image found': 'No image found',
'Image from Commons': 'Image from Commons',
'Description page': 'Description page',
'Alt text:': 'Alt text:',
'revdel':'Hidden revision',
/////////////////////////////////////
// user-related actions and info
/////////////////////////////////////
'user': 'user', ///// user page, talk, email, space
'user page': 'user page',
'user talk': 'user talk',
'edit user talk': 'edit user talk',
'leave comment': 'leave comment',
'email': 'email',
'email user': 'email user',
'EmailuserHint': 'Send an email to %s',
'space': 'space', // short form for userSpace link
'PrefixIndexHint': 'Show pages in the userspace of %s',
'count': 'count', ///// contributions, log
'edit counter': 'edit counter',
'editCounterLinkHint': 'Count the contributions made by %s',
'contribs': 'contribs',
'contributions': 'contributions',
'deletedContribs': 'deleted contributions',
'DeletedcontributionsHint': 'List deleted edits made by %s',
'ContributionsHint': 'List the contributions made by %s',
'log': 'log',
'user log': 'user log',
'userLogHint': 'Show %s\'s user log',
'arin': 'ARIN lookup', ///// ARIN lookup, block user or IP
'Look up %s in ARIN whois database': 'Look up %s in the ARIN whois database',
'unblockShort': 'un',
'block': 'block',
'block user': 'block user',
'IpblocklistHint': 'Unblock %s',
'BlockipHint': 'Prevent %s from editing',
'block log': 'block log',
'blockLogHint': 'Show the block log for %s',
'protectLogHint': 'Show the protection log for %s',
'pageLogHint': 'Show the page log for %s',
'deleteLogHint': 'Show the deletion log for %s',
'Invalid %s %s': 'The option %s is invalid: %s',
'No backlinks found': 'No backlinks found',
' and more': ' and more',
'undo': 'undo',
'undoHint': 'undo this edit',
'Download preview data': 'Download preview data',
'Invalid or IP user': 'Invalid or IP user',
'Not a registered username': 'Not a registered username',
'BLOCKED': 'BLOCKED',
' edits since: ': ' edits since: ',
'last edit on ': 'last edit on ',
/////////////////////////////////////
// Autoediting
/////////////////////////////////////
'Enter a non-empty edit summary or press cancel to abort': 'Enter a non-empty edit summary or press cancel to abort',
'Failed to get revision information, please edit manually.\n\n': 'Failed to get revision information, please edit manually.\n\n',
'The %s button has been automatically clicked. Please wait for the next page to load.': 'The %s button has been automatically clicked. Please wait for the next page to load.',
'Could not find button %s. Please check the settings in your javascript file.': 'Could not find button %s. Please check the settings in your javascript file.',
/////////////////////////////////////
// Popups setup
/////////////////////////////////////
'Open full-size image': 'Open full-size image',
'zxy': 'zxy',
'autoedit_version': 'np20140416'
};
// </nowiki>
function popupString(str) {
if (typeof popupStrings != 'undefined' && popupStrings && popupStrings[str]) { return popupStrings[str]; }
if (pg.string[str]) { return pg.string[str]; }
return str;
}
function tprintf(str,subs) {
if (typeof subs != typeof []) { subs = [subs]; }
return simplePrintf(popupString(str), subs);
}
//</NOLITE>
// ENDFILE: strings.js
// STARTFILE: run.js
////////////////////////////////////////////////////////////////////
// Run things
////////////////////////////////////////////////////////////////////
// For some reason popups requires a fully loaded page jQuery.ready(...) causes problems for some.
// The old addOnloadHook did something similar to the below
if (document.readyState=="complete")
autoEdit(); //will setup popups
else
$( window ).on( 'load', autoEdit );
// Support for MediaWiki's live preview, VisualEditor's saves and Echo's flyout.
( function () {
var once = true;
function dynamicContentHandler( $content ) {
// Try to detect the hook fired on initial page load and disregard
// it, we already hook to onload (possibly to different parts of
// page - it's configurable) and running twice might be bad. Ugly…
if ( $content.attr( 'id' ) == 'mw-content-text' ) {
if ( once ) {
once = false;
return;
}
}
function registerHooksForVisibleNavpops () {
for (var i=0; pg.current.links && i<pg.current.links.length; ++i) {
var navpop = pg.current.links[i].navpopup;
if (!navpop || !navpop.isVisible()) { continue; }
Navpopup.tracker.addHook(posCheckerHook(navpop));
}
}
function doIt () {
registerHooksForVisibleNavpops();
$content.each( function () {
this.ranSetupTooltipsAlready = false;
setupTooltips( this );
} );
}
setupPopups( doIt );
}
// This hook is also fired after page load.
mw.hook( 'wikipage.content' ).add( dynamicContentHandler );
mw.hook( 'ext.echo.overlay.beforeShowingOverlay' ).add( function($overlay){
dynamicContentHandler( $overlay.find(".mw-echo-state") );
});
} )();
});
// ENDFILE: run.js
35sen28fame1q8ah8tirqihp34m1s1q
WikiLove
0
59998
8390439
8363850
2026-05-25T08:51:23Z
Rebulka
17532855
editace
8390439
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = <translate><!--T:35--> An extension to encourage expressions of appreciation between users.</translate>
| start = 2011-05-02
| end = 2011-07
| group = <translate><!--T:36--> Features</translate>
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<translate><!--T:60--> An impression of the abstract concept of WikiLove</translate>|thumb|<translate><!--T:61--> An impression of the abstract concept of WikiLove</translate>]]
<noinclude>
<translate>
<!--T:1-->
:''By appreciation we make excellence in others our own property.'' — Voltaire
</translate>
<translate><!--T:2--> '''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</translate>
<translate><!--T:45--> WikiLove can be invoked from any user page by clicking the "Heart" icon.</translate>
<translate><!--T:46--> It was originally developed by Ryan Kaldari as a user script, and is now available as a [[<tvar name=ext-wlove>Special:MyLanguage/Extension:WikiLove</tvar>|MediaWiki extension]] that developers can add to their wikis.</translate>
<translate>
== Rationale == <!--T:3-->
</translate>
<translate><!--T:4--> Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[<tvar name=1>WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/</tvar>|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</translate>
<translate><!--T:47--> See also: [[<tvar name=1>WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/</tvar>|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</translate>
<translate><!--T:5--> On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</translate>
<translate><!--T:48--> This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</translate>
[[File:Message-features-area.png|thumb|500px|center|<translate><!--T:37--> Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[<tvar name=1>meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends</tvar>|newbie teaching strategy trends research sprint]]</translate>]]
<translate>
== Key dates == <!--T:7-->
</translate>
* {{ymd|2011|6|16}} - <translate><!--T:8--> WikiLove activated on <tvar name=1>[http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</tvar></translate>
* {{ymd|2011|6|24}} - <translate><!--T:72--> WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</translate>
* {{ymd|2011|6|30}} - <translate><!--T:70--> WikiLove deployed to the English Wikipedia. See [<tvar name=url>{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}}</tvar> WikiLove actions].</translate>
* {{ymd|2011|10|28}} - <translate><!--T:71--> WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</translate>
<translate>
== How to disable == <!--T:9-->
<!--T:10-->
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</translate>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<translate>
== How to customise == <!--T:11-->
</translate>
{{notice|1=<translate><!--T:12--> This section is about how to customise WikiLove for an individual editor.</translate> <translate><!--T:38--> To learn how to customise WikiLove for an entire wiki, see <tvar name=1>{{ll|Extension:WikiLove}}</tvar>.</translate>}}
<translate><!--T:13--> The WikiLove interface can be tailored to suit the needs of each individual editor.</translate>
<translate><!--T:49--> If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</translate>
<translate><!--T:14--> The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</translate>
<translate><!--T:50--> To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</translate>
<translate><!--T:51--> This will have any local overrides.</translate>
<translate><!--T:52--> Next, take a look at the [[<tvar name=1>phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js</tvar>|default configuration]].</translate>
<translate><!--T:53--> This will show you the basic tree of data that makes up the settings for WikiLove.</translate>
<translate><!--T:54--> Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</translate>
<translate><!--T:55--> (If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</translate>
<translate><!--T:56--> To change an existing item, simply override its value with an assignment statement.</translate>
<translate>
=== Change an existing type === <!--T:15-->
<!--T:16-->
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file (<tvar name=skin>[[Special:MyPage/skin.js|User:Example/skin.js]]</tvar>):
</translate>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<translate><!--T:17--> If you wanted to change the image for ''Stroopwafels'', you would add:</translate>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<translate>
=== Add a new type === <!--T:18-->
<!--T:19-->
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</translate>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // <translate nowrap><!--T:62--> name of the type (appears in the types menu)</translate>
fields: [ 'header', 'message' ], // <translate nowrap><!--T:63--> fields to ask for in form</translate>
header: 'A hedgehog for you!', // <translate nowrap><!--T:64--> header that appears at the top of the talk page post (optional)</translate>
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // <translate nowrap><!--T:65--> $3 is the image filename, $1 is the message</translate>
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // <translate nowrap><!--T:66--> maximum width of the images in the gallery</translate>
height: 150, // <translate nowrap><!--T:67--> maximum height of the images in the gallery</translate>
number: 3 // <translate nowrap><!--T:68--> number of random images to show (optional)</translate>
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // <translate nowrap><!--T:69--> appears in the types menu</translate>
};
} );
</syntaxhighlight>
<translate>
<!--T:20-->
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[<tvar name=wlove-conf>Special:MyLanguage/Extension:WikiLove#Custom_configuration</tvar>|extension documentation]].
=== Create a new type icon === <!--T:21-->
</translate>
<translate><!--T:22--> The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [<tvar name=psd>https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles</tvar> downloaded].</translate>
<translate><!--T:57--> To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</translate>
<translate>
=== Change the heart icon === <!--T:23-->
</translate>
<translate><!--T:24--> You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</translate>
<translate><!--T:58--> If you want to change the red heart icon to a blue heart, for example, you would add the following:</translate>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<translate>
== Requests for additional deployment == <!--T:25-->
<!--T:26-->
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
<!--T:27-->
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [<tvar name=transw-wlove>http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100</tvar> help localise it])
* A configuration file exists on the local wiki (<tvar name=1>[[MediaWiki:WikiLove.js]]</tvar>)
<!--T:28-->
Once these criteria are met, open a bug in [<tvar name=phabricator>https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup</tvar> Phabricator] requesting the deployment.
== WikiLove activity in real-time == <!--T:29-->
</translate>
<translate><!--T:30--> WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</translate>
<translate><!--T:59--> To quickly see what's going on, you can use [<tvar name=abuselog>https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423</tvar> edit filter 423] on the English Wikipedia.</translate>
<translate>
<!--T:31-->
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[<tvar name=1>Special:MyLanguage/WikiLove/Stories</tvar>|WikiLove/Stories]]
<!--T:32-->
Some preliminary analysis: [[<tvar name=wlove-anl>Special:MyLanguage/WikiLove/Analysis</tvar>|WikiLove/Analysis]]
== Additional documents == <!--T:33-->
<!--T:34-->
* Extension documentation:</translate> {{ll|Extension:WikiLove}}
<translate>
<!--T:39-->
* [[WikiLove 1.0/Design|Design document]]</translate>
<translate>
<!--T:40-->
* User Testing: see [[etherpad:UserTestToc|videos]]</translate>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<translate><!--T:41--> Status updates</translate>}}
* {{ll|WikiLove/Media coverage|2=<translate><!--T:42--> Media coverage based on June 24 blog post</translate>}}
* {{ll|WikiLove/Idea Log|2=<translate><!--T:43--> Idea Log</translate>}}
* {{ll|WikiLove/Data|2=<translate><!--T:44--> Data</translate>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
ptcxk9bos24f50yhxtrylyrb5e9c32y
Manual:MediaWiki architecture
100
67765
8390211
8306812
2026-05-24T22:22:16Z
Nintendofan885
12068159
invert on dark mode
8390211
wikitext
text/x-wiki
<languages/>
{{rellink|1=<translate><!--T:66--> This document is the result of the <tvar name=1>{{ll|MediaWiki architecture document}}</tvar> project, whose content was developed for inclusion in the [<tvar name=url>http://www.aosabook.org/</tvar> Architecture of Open Source Applications] book.</translate> <translate><!--T:67--> The [<tvar name=url>http://www.aosabook.org/en/mediawiki.html</tvar> book chapter] has a historical overview section that corresponds to [[<tvar name=1>Special:MyLanguage/MediaWiki history</tvar>|MediaWiki history]], and this wiki page has had numerous edits since the chapter was published in 2012.</translate>}}
<translate><!--T:68--> From the start, [[<tvar name=1>Special:MyLanguage/MediaWiki history</tvar>|MediaWiki was developed specifically to be Wikipedia's software]].</translate>
<translate><!--T:27--> Developers have worked to facilitate reuse by third-party users, but Wikipedia's influence and bias have shaped MediaWiki's architecture throughout its history.</translate>
<translate><!--T:28--> Wikipedia is one of the top ten websites in the world, currently getting about 400 million unique visitors a month.</translate>
<translate><!--T:29--> It gets over 100,000 hits per second.</translate>
<translate><!--T:30--> Wikipedia isn't commercially supported by ads; it is entirely supported by a non-profit organisation, the Wikimedia Foundation, which relies on donations as its primary funding model.</translate>
<translate><!--T:31--> This means that MediaWiki must not only run a top-ten website, but also do so on a shoestring budget.</translate>
<translate><!--T:32--> To meet these demands, MediaWiki has a heavy bias towards performance, caching and optimisation.</translate>
<translate><!--T:33--> Expensive features that can't be enabled on Wikipedia are either reverted or disabled through a configuration variable; there is an endless balance between performance and features.</translate>
<translate><!--T:34--> The influence of Wikipedia on MediaWiki's architecture isn't limited to performance.</translate>
<translate><!--T:35--> Unlike generic CMSes, MediaWiki was originally written for a very specific purpose: supporting a community that creates and curates freely-reusable knowledge on an open platform.</translate>
<translate><!--T:36--> This means, for example, that MediaWiki doesn't include regular features found in corporate CMSes (like easy publication workflow or access control lists (ACLs)), but does offer a variety of tools to handle spam and vandalism.</translate>
<translate><!--T:37--> So, from the start, the needs and actions of a constantly evolving community of Wikipedia participants have affected MediaWiki's development, and vice versa.</translate>
<translate><!--T:38--> The architecture of MediaWiki has been driven many times by initiatives started or requested by the community, such as the creation of Wikimedia Commons, or the Flagged Revisions feature.</translate>
<translate><!--T:39--> Developers made major architectural changes, like MediaWiki 1.12's preprocessor, because the way that MediaWiki was used by Wikipedians made it necessary.</translate>
<translate><!--T:40--> MediaWiki has also gained a solid external user base by being open-source software from the beginning.</translate>
<translate><!--T:41--> Third-party reusers know that as long as such a high-profile website as Wikipedia uses MediaWiki, the software will be maintained and improved.</translate>
<translate><!--T:42--> MediaWiki used to be really focused on Wikimedia sites, but efforts have been made to make it more generic and better accommodate the needs of these third-party users.</translate>
<translate><!--T:43--> For example, MediaWiki ships with an excellent web-based installer, making the installation process much less painful than when everything had to be done via the command line, and the software contained hardcoded paths for Wikipedia.</translate>
<translate>
<!--T:44-->
Still, MediaWiki is and remains Wikipedia's software, and this shows throughout its history and architecture.
== MediaWiki code base and practices == <!--T:1-->
</translate>
{|class="wikitable"
|+ <translate><!--T:69--> '''General architecture'''</translate>
! <translate><!--T:70--> User layer</translate>
| colspan="3"| <translate><!--T:71--> [[w:web browser|web browser]]</translate>
|-
! rowspan="2" | <translate><!--T:72--> Network layer</translate>
| colspan="3" |{{ll|Manual:Varnish caching|Varnish}}
|-
|colspan="3"| <translate><!--T:73--> [[<tvar name=1>Special:MyLanguage/Apache configuration</tvar>|Apache webserver]]</translate>
|-
! rowspan="2" | <translate><!--T:74--> Logic layer</translate>
|colspan="3"| <translate><!--T:75--> [[<tvar name=1>Special:MyLanguage/Manual:Code</tvar>|MediaWiki's PHP scripts]]</translate>
|-
|colspan="3" |{{ll|PHP configuration|PHP}}
|-
! <translate><!--T:76--> Data layer</translate>
| <translate><!--T:88--> [[<tvar name=1>Manual:MediaWiki file usage</tvar>|File system]]</translate>
| <translate><!--T:77--> [[<tvar name=1>Special:MyLanguage/Manual:Database layout</tvar>|MySQL Database (program and content)]]</translate>
| <translate><!--T:78--> [[<tvar name=1>Special:MyLanguage/Manual:Caching</tvar>|Caching system]]</translate>
|}
=== PHP ===
<translate><!--T:45--> PHP was chosen as the framework for Wikipedia's "Phase II" software in 2001; MediaWiki has grown organically since then, and is still evolving.</translate>
<translate><!--T:46--> Most MediaWiki developers are volunteers contributing in their free time, and they were very few in the early years.</translate>
<translate><!--T:47--> Some software design decisions or omissions may seem wrong in retrospect, but it's hard to criticise the founders for not implementing some abstraction which is now found to be critical, when the initial code base was so small, and the time taken to develop it so short.</translate>
<translate><!--T:48--> For example, MediaWiki uses unprefixed class names, which can cause conflicts when PHP core and PHP Extension Community Library (PECL) developers add new classes.</translate>
<translate><!--T:79--> As a consequence, the MediaWiki <tvar name=1><code>Namespace</code></tvar> class had to be renamed to <tvar name=2><code>MWNamespace</code></tvar> to be compatible with PHP 5.3.</translate><!-- Example with PERL: MWHttpRequeest -->
<translate><!--T:80--> Consistently using a prefix for all classes (e.g. <tvar name=1>"<code>MW</code>"</tvar>) would have made it easier to embed MediaWiki inside another application or library.</translate>
<translate><!--T:49--> Relying on PHP was probably not the best choice for performance, since it has not benefited from improvements that some other dynamic languages have seen.</translate>
<translate><!--T:50--> Using Java would have been much better for performance, and simplified execution scaling for back-end maintenance tasks.</translate>
<translate><!--T:51--> On the other hand, PHP is very popular, which facilitates recruiting new developers.</translate>
<translate><!--T:52--> Even if MediaWiki still contains "ugly" legacy code, major improvements have been made over the years, and new architectural elements have been introduced to MediaWiki throughout its history.</translate>
<translate><!--T:81--> They include the <tvar name=1><code>Parser</code></tvar>, <tvar name=2><code>SpecialPage</code></tvar>, and <tvar name=3><code>Database</code></tvar> classes, the <tvar name=4><code>Image</code></tvar> class and the <tvar name=5><code>FileRepo</code></tvar> class hierarchy, <tvar name=6><code>ResourceLoader</code></tvar>, and the <tvar name=7><code>Action</code></tvar> hierarchy.</translate>
<translate><!--T:53--> MediaWiki started without any of these things, but all of them support features that have been around since the beginning.</translate>
<translate><!--T:54--> Many developers are interested primarily in feature development, and architecture is often left behind, only to catch up later, as the cost of working within an inadequate architecture becomes apparent.</translate>
<translate>
=== [[<tvar name=1>Special:MyLanguage/Security for developers</tvar>|Security]] === <!--T:82-->
</translate>
<translate><!--T:55--> Because MediaWiki is the platform for high-profile sites such as Wikipedia, core developers and code reviewers have enforced strict security rules.</translate>
<translate><!--T:56--> To make it easier to write secure code, MediaWiki gives developers wrappers around HTML output and database queries to handle escaping.</translate>
<translate><!--T:83--> To sanitise user input, one uses the <tvar name=1><code>WebRequest</code></tvar> class, which analyzes data passed in the URL or via a POSTed form.</translate>
<translate><!--T:57--> It removes "magic quotes" slashes, strips illegal input characters and normalises Unicode sequences.</translate>
<translate><!--T:84--> Cross-site request forgery (CSRF) is avoided by using tokens, and cross-site scripting (XSS) by validating inputs and escaping outputs, usually with PHP's <tvar name=1><code>htmlspecialchars()</code></tvar> function.</translate>
<translate><!--T:85--> MediaWiki also provides (and uses) an HTML sanitiser with the <tvar name=1><code>Sanitizer</code></tvar> class, and database functions that prevent SQL injection.</translate>
<translate>
=== Configuration === <!--T:2-->
</translate>
<translate><!--T:58--> MediaWiki offers hundreds of {{<tvar name=1>ll|Manual:configuration settings</tvar>|configuration settings}}.</translate>
<translate><!--T:86--> Their default value is set in <tvar name=1><code>{{ll|Manual:DefaultSettings.php|DefaultSettings.php}}</code></tvar>, and the system administrator can override them by editing <tvar name=2><code>LocalSettings.php</code></tvar>.</translate>
<translate><!--T:59--> MediaWiki used to over-depend on global variables, including for configuration and context processing.</translate>
<translate><!--T:87--> Globals cause serious security implications with PHP's <tvar name=1><code>register_globals</code></tvar> function (which MediaWiki hasn't needed since version 1.2).</translate>
<translate><!--T:60--> This system also limits potential abstractions for configuration, and makes it more difficult to optimise the start-up process.</translate>
<translate><!--T:61--> Moreover, the configuration namespace is shared with variables used for registration and object context, leading to potential conflicts.</translate>
<translate><!--T:62--> From a user perspective, global configuration variables have also made MediaWiki seem difficult to configure and maintain.</translate>
<translate><!--T:63--> MediaWiki development has been a story of slowly moving context out of global variables and into objects.</translate>
<translate><!--T:64--> Storing processing context in object member variables allows those objects to be reused in a much more flexible way.</translate>
<translate>
== Database and text storage == <!--T:3-->
</translate>
[[File:MediaWiki database schema latest.svg|thumb|link=https://www.mediawiki.org/w/index.php?title=Manual:Database_layout/diagram&action=render|<translate><!--T:65--> Database schema of MediaWiki core</translate>]]
<translate><!--T:89--> MediaWiki has been using a relational database back-end since the Phase II software.</translate>
<translate><!--T:90--> The default (and best-supported) DBMS for MediaWiki is MySQL/MariaDB, which is the one that all Wikimedia sites use, but other DBMSes (such as PostgreSQL, Oracle, and SQLite) have community-supported implementations.</translate>
<translate><!--T:91--> A sysadmin can choose a DBMS while installing MediaWiki, and MediaWiki provides both a database abstraction and a query abstraction layer that simplify database access for developers.</translate>
<translate><!--T:92--> The [[<tvar name=1>Special:MyLanguage/Manual:Database layout</tvar>|current layout]] contains dozens of tables.</translate>
<translate><!--T:93--> Many are about the wiki's content (e.g. <tvar name=1><code>page</code></tvar>, <tvar name=2><code>revision</code></tvar>, <tvar name=3><code>category</code></tvar>, and <tvar name=4><code>recentchanges</code></tvar>).</translate>
<translate><!--T:94--> Other tables include data about users (<tvar name=1><code>user</code></tvar>, <tvar name=2><code>user_groups</code></tvar>), media files (<tvar name=3><code>image</code></tvar>, <tvar name=4><code>filearchive</code></tvar>), caching (<tvar name=5><code>objectcache</code></tvar>, <tvar name=6><code>l10n_cache</code></tvar>, <tvar name=7><code>querycache</code></tvar>) and internal tools (<tvar name=8><code>job</code></tvar> for the job queue), among others.</translate>
<translate><!--T:95--> Indices and summary tables are used extensively in MediaWiki, since SQL queries that scan huge numbers of rows can be very expensive, particularly on Wikimedia sites.</translate>
<translate><!--T:96--> Unindexed queries are usually discouraged.</translate>
<translate><!--T:97--> The database went through dozens of schema changes over the years.</translate> <translate><!--T:358--> One major change is the decoupling of text storage and revision tracking in MediaWiki 1.5.</translate>
[[File:Database-restructure.png|thumb|class=skin-invert-image|<translate><!--T:98--> The main content tables in MediaWiki 1.4 and 1.5.</translate>]]
<translate><!--T:99--> In the 1.4 model, the content was stored in two important tables, <tvar name=1><code>cur</code></tvar> (containing the text and metadata of the current revision of the page) and <tvar name=2><code>old</code></tvar> (containing previous revisions); deleted pages were kept in <tvar name=3><code>archive</code></tvar>.</translate>
<translate><!--T:100--> When an edit was made, the previously current revision was copied to the <tvar name=1><code>old</code></tvar> table, and the new edit was saved to <tvar name=2><code>cur</code></tvar>.</translate>
<translate><!--T:101--> When a page was renamed, the page title had to be updated in the metadata of all the <tvar name=1><code>old</code></tvar> revisions, which could be a long operation.</translate>
<translate><!--T:102--> When a page was deleted, its entries in both the <tvar name=1><code>cur</code></tvar> and <tvar name=2><code>old</code></tvar> tables had to be copied to the <tvar name=3><code>archive</code></tvar> table before being deleted; this meant moving the text of all revisions, which could be very large and thus take time.</translate>
<translate><!--T:103--> In the 1.5 model, revision metadata and revision text were split: the <tvar name=1><code>cur</code></tvar> and <tvar name=2><code>old</code></tvar> tables were replaced with <tvar name=3><code>page</code></tvar> (pages metadata), <tvar name=4><code>revision</code></tvar> (metadata for all revisions, old or current) and <tvar name=5><code>text</code></tvar> (text of all revisions, old, current or deleted).</translate>
<translate><!--T:104--> Now, when an edit is made, revision metadata doesn't need to be copied around tables: inserting a new entry and updating the <tvar name=1><code>page_latest</code></tvar> pointer is enough.</translate>
<translate><!--T:105--> Also, the revision metadata doesn't include the page title anymore, only its ID: this removes the need for renaming all revisions when a page is renamed.</translate>
<translate><!--T:106--> The <tvar name=1><code>revision</code></tvar> table stores metadata for each revision, but not their text; instead, they contain a text ID pointing to the <tvar name=2><code>text</code></tvar> table, which contains the actual text.</translate>
<translate><!--T:359--> (many years later a few more layers of indirection were added to this process for <tvar name=1>{{ll|Multi-Content Revisions}}</tvar> but the underlying structure is still the same)</translate>
<translate><!--T:107--> When a page is deleted, the text of all revisions of the page stays there and doesn't need to be moved to another table.</translate>
<translate><!--T:108--> The <tvar name=1><code>text</code></tvar> table is composed of a mapping of IDs to text blobs; a flags field indicates if the text blob is gzipped (for space savings) or if the text blob is only a pointer to an external text storage.</translate>
<translate><!--T:109--> Wikimedia sites use a MySQL-backed external storage cluster with blobs of a few dozen revisions.</translate>
<translate><!--T:110--> The first revision of the blob is stored in full, and following revisions to the same page are stored as diffs relative to the previous revision; the blobs are then gzipped.</translate>
<translate><!--T:111--> Because the revisions are grouped per page, they tend to be similar, so the diffs are relatively small and gzip works well.</translate>
<translate><!--T:112--> The compression ratio achieved on Wikimedia sites nears 98%.</translate>
<translate><!--T:113--> MediaWiki also has built-in support for load balancing, added as early as 2004 in MediaWiki 1.2 (when Wikipedia got its second server — a big deal at the time).</translate>
<translate><!--T:114--> The load balancer (MediaWiki's PHP code that decides which server to connect to) is now a critical part of Wikimedia's infrastructure, which explains its influence on some algorithm decisions in the code.</translate>
<translate><!--T:115--> The system administrator can specify in MediaWiki's configuration that there is one primary database server, and any number of replica database servers; a weight can be assigned to each server.</translate>
<translate><!--T:116--> The load balancer will send all writes to the master, and will balance reads according to the weights.</translate>
<translate><!--T:117--> It also keeps track of the replication lag of each slave.</translate>
<translate><!--T:118--> If any database's replication lag exceeds 30 seconds, it will not receive any read queries to allow it to catch up.</translate>
{{anchor|chronology protector|ChronologyProtector}}
<translate><!--T:119--> MediaWiki's "chronology protector" ensures that replication lag never causes a user to see a page that claims an action they've just performed hasn't happened yet.</translate>
<translate><!--T:120--> This is done by storing the primary database's position in the user's session if a request they made resulted in a write query.</translate>
<translate><!--T:121--> The next time the user makes a read request, the load balancer reads this position from the session, and tries to select a replica that has caught up to that replication position to serve the request.</translate>
<translate><!--T:122--> If none is available, it will wait until one is.</translate>
<translate><!--T:123--> It may appear to other users as though the action hasn't happened yet, but the chronology remains consistent for each user.</translate>
<translate>
== Requests, caching and delivery == <!--T:4-->
=== Execution workflow of a web request === <!--T:5-->
</translate>
<translate><!--T:124--> <tvar name=1><code>index.php</code></tvar> is the main access point for MediaWiki, and handles most requests processed by the application servers (i.e. requests that were not served by the ''caching'' infrastructure; [[<tvar name=2>#Caching</tvar>|see below]]).</translate>
<translate><!--T:125--> The code executed from <tvar name=1><code>index.php</code></tvar> performs security checks, loads default configuration settings, guesses configuration with <tvar name=3><code>includes/Setup.php</code></tvar> and then applies site settings contained in <tvar name=4><code>LocalSettings.php</code></tvar>, sets up some other global objects, and then passes the request off to the appropriate action via code in <tvar name="5"><code>ActionEntryPoint.php</code></tvar>.</translate>
<translate><!--T:127--> <tvar name=1><code>index.php</code></tvar> can take a variety of action parameters in the URL request; the default action is <tvar name=2><code>view</code></tvar>, which shows the regular view of an article's content.</translate>
<translate><!--T:128--> For example, the request <tvar name=1><code>https://en.wikipedia.org/w/index.php?title=Apple&action=view</code></tvar> displays the content of the article "Apple" on the English Wikipedia</translate><ref><translate><!--T:129--> View requests are usually prettified with URL rewriting, in this example to <tvar name=1><code>[[w:Apple]]</code></tvar>.</translate></ref>.
<translate><!--T:130--> Other frequent actions include <tvar name=1><code>edit</code></tvar> (to open an article for editing), <tvar name=2><code>submit</code></tvar> (to preview or save an article), <tvar name=3><code>history</code></tvar> (to show an article's history) and <tvar name=4><code>watch</code></tvar> (to add an article to the user's watchlist).</translate>
<translate><!--T:131--> Administrative actions include <tvar name=1><code>delete</code></tvar> (to delete an article) and <tvar name=2><code>protect</code></tvar> (to prevent edits to an article).</translate>
<translate><!--T:132--> <tvar name=1><code>ActionEntryPoint::performRequest()</code></tvar> is then called to handle most of the URL request.</translate>
<translate><!--T:133--> It checks for bad titles, read restrictions, local interwiki redirects, and redirect loops, and determines whether the request is for a normal or a special page.</translate>
<translate><!--T:134--> Normal page requests are handed over to <tvar name=1><code>ActionEntryPoint::initializeArticle()</code></tvar>, to create an <tvar name=2><code>Article</code></tvar> object for the page, and then to <tvar name=4><code>ActionEntryPoint::performAction()</code></tvar>, which handles "standard" actions.</translate>
<translate><!--T:135--> Once the action has been completed, <tvar name=1><code>ActionEntryPoint::doPostOutputShutdown()</code></tvar> (inherited from the parent class <tvar name="2"><code><nowiki>MediaWikiEntryPoint</nowiki></code></tvar> finalises the request by committing DB transactions, outputting the HTML and launching deferred updates through the job queue.</translate>
<translate><!--T:136--> <tvar name=1><code>ActionEntryPoint::restInPeace()</code></tvar> (likewise inherited) commits the deferred updates and closes the task gracefully.</translate>
<translate><!--T:137--> If the page requested is a Special page (i.e., not a regular wiki content page, but a special software-related page such as <tvar name=1><code>Statistics</code></tvar>), <tvar name=2><code>SpecialPageFactory::executePath</code></tvar> is called instead of <tvar name=3><code>initializeArticle()</code></tvar>; the corresponding special page's class is then called.</translate>
<translate><!--T:138--> Special pages can do all sorts of magical things, and each has a specific purpose, usually independent of any one article or its content.</translate>
<translate><!--T:139--> Special pages include various kinds of reports (recent changes, logs, uncategorised pages) and wiki administration tools (user blocks, user rights changes), among others.</translate>
<translate><!--T:140--> Their execution workflow depends on their function.</translate>
<translate>
=== Assembly of a non-cached page === <!--T:6-->
</translate>
<translate><!--T:145--> When viewing a page, HTML code may be taken from the cache ([[<tvar name=1>#Caching</tvar>|see below]]); if not, first the templates, parser functions and variables are expanded.</translate>
<translate><!--T:146--> This gives the [[<tvar name=2>Special:MyLanguage/Manual:Template expansion process</tvar>|expanded]] wikitext, an intermediate result which can be seen with <tvar name=1>[[Special:ExpandTemplates]]</tvar>, and depends on:</translate>
* <translate><!--T:147--> the wikitext;</translate>
* <translate><!--T:148--> the [[<tvar name=1>Special:MyLanguage/Help:Templates</tvar>|templates]] directly or indirectly referred to;</translate>
* <translate><!--T:149--> the [[<tvar name=1>Special:MyLanguage/Parser functions</tvar>|Parser functions]] directly or indirectly referred to;</translate>
* <translate><!--T:150--> the values of [[<tvar name=1>Special:MyLanguage/Help:Magic words#Variables</tvar>|variables]] directly or indirectly referred to.</translate>
<translate><!--T:151--> Next, this expanded wikitext is converted to [[w:HTML|HTML]] code; it is sent to the user, and contains references to CSS, JavaScript, and image files.</translate>
<translate><!--T:152--> The user can see this intermediate result by applying the "view source" option of the browser.</translate>
<translate><!--T:153--> The HTML code for a given page depends on:</translate>
* <translate><!--T:154--> the expanded wikitext;</translate>
* <translate><!--T:155--> the mode, such as viewing or editing ([[<tvar name=1>#anchor_edit_mode</tvar>|see below]]);</translate>
* <translate><!--T:156--> the existence of internally linked pages (gives view or edit link);</translate>
* <translate><!--T:157--> the skin and other user preferences;</translate>
* <translate><!--T:158--> the user's name;</translate>
* <translate><!--T:159--> the status of the user (more links if a sysop, etc.);</translate>
* <translate><!--T:160--> the [[<tvar name=1>Special:MyLanguage/Manual:Namespace</tvar>|namespace]] (determines the link to the Talk page, or in the case of a Talk page, the page concerned);</translate>
* <translate><!--T:161--> whether the page is watched by the user (gives watch or unwatch link);</translate>
* <translate><!--T:162--> whether the user's Talk page has been recently edited (gives a message).</translate>
<translate><!--T:163--> Finally, the browser renders the HTML, using the files it refers to.</translate>
<translate><!--T:164--> The result the user sees on the screen depends on:</translate>
* <translate><!--T:165--> the HTML code;</translate>
* <translate><!--T:166--> files referred to by the HTML code, such as embedded images, server-side CSS files, and JavaScript files;</translate>
* <translate><!--T:167--> the browser and browser settings, including possibly a local CSS file, and the screen resolution.</translate>
<translate><!--T:168--> If JavaScript is responding to an event such as a mouse click, the page on the screen depends also on these events.</translate>
<translate><!--T:169--> This applies, for example, in the case of a sortable table.</translate>
{{Anchor|anchor_edit_mode}}
<translate><!--T:170--> When the user selects the ''edit'' tab, the wikitext itself is sent to them, of the whole page or of one section only.</translate>
<translate><!--T:171--> When the user presses ''Show preview'', their new version of the wikitext is sent to the server, which sends the corresponding new version of the HTML code, which is rendered again and displayed above or below the user's new version of the wikitext (which the server has also returned).</translate>
<translate><!--T:172--> After possibly more changes and more previews, the user presses ''Save page'', sending the user's "final" version to the server, which now records the edit and sends the HTML of the new version (again).</translate>
<translate><!--T:173--> In some cases an [[<tvar name="1">Help:Pre-save_transform</tvar>|automatic conversion of wikitext]] also takes place in this stage.</translate>
<translate>
=== Caching === <!--T:7-->
</translate>
<translate><!--T:174--> MediaWiki itself is improved for performance because it plays a central role on Wikimedia sites, but it is also part of a larger operational ecosystem that has influenced its architecture.</translate>
<translate><!--T:175--> Wikimedia's caching infrastructure has imposed limitations in MediaWiki; developers worked around the issues, not by trying to shape Wikimedia's extensively optimised caching infrastructure around MediaWiki, but rather by making MediaWiki more flexible, so it could work within that infrastructure, without compromising on performance and caching needs.</translate>
<translate><!--T:176--> On Wikimedia sites, most requests are handled by reverse caching proxies ([[<tvar name=1>wikitech:Varnish</tvar>|Varnish]] and [[<tvar name=2>wikitech:ATS</tvar>|Apache Traffic Server]]), and never even make it to the MediaWiki application servers.</translate>
<translate><!--T:177--> These caches contain static versions of entire rendered pages, served for simple reads to users who aren't logged in to the site.</translate>
<translate><!--T:178--> MediaWiki natively supports this protocol, and integrates with this caching layer by, for example, notifying them to purge a page from the cache when it has been changed.</translate>
<translate><!--T:179--> Requests by logged-in users, and other requests that can't be served by these higher-level caches, are forwarded to the web server (Apache).</translate>
<translate><!--T:360--> See <tvar name=1>[[wikitech:MediaWiki at WMF]]</tvar> for more details on how the WMF's multi-layered caching proxy works.</translate>
<translate><!--T:180--> The second level of caching happens when MediaWiki renders and assembles the page from multiple objects, many of which can be cached to minimise future calls.</translate>
<translate><!--T:181--> Such objects include the page's interface (sidebar, menus, UI text) and the content proper, parsed from wikitext.</translate>
<translate><!--T:182--> The in-memory object cache has been available in MediaWiki since the early 1.1 version (2003), and is particularly important to avoid re-parsing long and complex pages.</translate>
<translate><!--T:183--> Login session data can also be stored in memcached, which lets sessions work transparently on multiple front-end web servers in a load-balancing setup (Wikimedia heavily relies on load balancing, using LVS with PyBal).</translate>
<translate><!--T:184--> Since version 1.16, MediaWiki uses a dedicated object cache for localised UI text; this was added after noticing that a large part of the objects cached in memcached consisted of UI messages localised into the user's language.</translate>
<translate><!--T:185--> The system is based on fast fetches of individual messages from static files with key-value pairs.</translate>
<translate><!--T:186--> These minimise memory overhead and start-up time in the typical case; they're also used for the [[<tvar name=1>Special:MyLanguage/interwiki cache</tvar>|interwiki cache]].</translate>
<translate><!--T:187--> The last caching layer consists of the PHP opcode cache, commonly enabled to speed up PHP applications.</translate>
<translate><!--T:188--> Compilation can be a lengthy process; to avoid compiling PHP scripts into opcode every time they're invoked, a PHP accelerator can be used to store the compiled opcode and execute it directly without compilation.</translate>
<translate><!--T:189--> MediaWiki will "just work" with many accelerators such as APC, PHP accelerator.</translate>
<translate><!--T:190--> Because of its Wikimedia bias, MediaWiki is optimised for this complete, multi-layer, distributed caching infrastructure.</translate>
<translate><!--T:191--> Nonetheless, it also natively supports alternate setups for smaller sites.</translate>
<translate><!--T:192--> For example, it offers an optional simplistic file caching system that stores the output of fully rendered pages.</translate>
<translate><!--T:193--> Also, MediaWiki's abstract object caching layer lets it store the cached objects in several places, including the file system, the database, or the opcode cache.</translate>
=== {{ll|ResourceLoader}} ===
<translate><!--T:195--> Like in many web applications, MediaWiki's interface has become more interactive and responsive over the years, mostly through the use of JavaScript.</translate>
<translate><!--T:196--> Usability efforts initiated in 2008, as well as advanced media handling (e.g. online editing of video files), called for dedicated front-end performance improvements.</translate>
<translate><!--T:197--> To optimise the delivery of JavaScript and CSS assets, the ResourceLoader module was developed.</translate>
<translate><!--T:198--> Started in 2009, it was completed in 2011 and has been a core feature of MediaWiki since version 1.17.</translate>
<translate><!--T:199--> ResourceLoader works by loading JS and CSS assets on demand, thus reducing loading and parsing time for unused features, for example in older browsers.</translate>
<translate><!--T:200--> It also minifies the code, groups resources to save requests, and can embed images as data URIs.</translate>
<translate>
== Languages == <!--T:8-->
</translate>
{{Main|Manual:Language}}
<translate>
=== Context and rationale === <!--T:9-->
</translate>
<translate><!--T:207--> A central part of effectively contributing and disseminating free knowledge to all is to provide it in as many languages as possible.</translate>
<translate><!--T:208--> Wikipedia is available in more than <tvar name="1">350</tvar> languages, and encyclopedia articles in English represent less than 20 % of all articles.</translate>
<translate><!--T:209--> Because Wikipedia and its sister sites exist in so many languages, it is important not only to provide the content in the readers' native language, but also to provide a localised interface, and effective input and conversion tools, so that participants can contribute content.</translate>
<translate><!--T:210--> For this reason, [[<tvar name="1">Special:MyLanguage/localisation</tvar>|localisation and internationalisation]] (l10n & i18n) are a central component of MediaWiki.</translate>
<translate><!--T:211--> The i18n system is pervasive, and impacts many parts of the software; it's also one of the most flexible and feature-rich.</translate>
<translate><!--T:212--> Translator convenience is usually preferred to developer convenience, but this is believed to be an acceptable cost.</translate>
<translate><!--T:213--> MediaWiki is currently localised in more than 350 languages, including non-latin and right-to-left (RTL) languages, with varying levels of completion.</translate>
<translate><!--T:214--> The interface and content can be in different languages, and can have mixed directionality.</translate>
<translate>
=== Content language === <!--T:10-->
</translate>
<translate><!--T:215--> MediaWiki originally used per-language encoding, which led to a lot of issues; for example, foreign scripts could not be used in page titles.</translate>
<translate><!--T:216--> UTF-8 was adopted instead.</translate>
<translate><!--T:217--> Support for character sets other than UTF-8 was dropped in 2005, along with the major database schema change in MediaWiki 1.5; content must now be encoded in UTF-8.</translate>
<translate><!--T:218--> Characters not available on the editor's keyboard can be customised and inserted via MediaWiki's <tvar name="1"><code>Edittools</code></tvar>, an interface message that appears below the edit window; its JavaScript version automatically inserts the character clicked into the edit window.</translate>
<translate><!--T:219--> The <tvar name="1">{{ll|Extension:WikiEditor|WikiEditor}}</tvar> extension for MediaWiki, developed as part of a usability effort, merges special characters with the edit toolbar.</translate>
<translate><!--T:220--> Another extension, called <tvar name="1">{{ll|Extension:UniversalLanguageSelector|UniversalLanguageSelector}}</tvar>, provides additional input methods and key mapping features for non-ASCII characters.</translate>
<translate>
<!--T:221-->
Recent and future improvements include better [[<tvar name="1">Special:MyLanguage/Directionality support</tvar>|support for right-to-left text]], bidirectional text (LTR and RTL text on the same page) and <tvar name="2">{{ll|Extension:UniversalLanguageSelector|UniversalLanguageSelector}}</tvar>.
=== Interface language === <!--T:11-->
</translate>
<translate><!--T:222--> Interface messages are currently stored in a JSON format.</translate>
<translate><!--T:361--> Prior to that, they used PHP arrays.</translate>
<translate><!--T:223--> Each message is identified by a unique key, which is assigned different values across languages.</translate>
<translate><!--T:224--> Keys are determined by developers, who are encouraged to use prefixes for extensions; for example, message keys for the UploadWizard extension will start with <tvar name="1"><code>mwe-upwiz-</code></tvar>, where <tvar name="2"><code>mwe</code></tvar> stands for ''MediaWiki extension''.</translate>
<translate><!--T:201--> MediaWiki messages can embed parameters provided by the software, which will often influence the grammar of the message.</translate>
<translate><!--T:202--> In order to support virtually any possible language, MediaWiki's localisation system has been improved and complexified over time to accommodate their specific traits and exceptions, often considered oddities by English speakers.</translate>
<translate><!--T:203--> For example, adjectives are invariable words in English, but languages like French require adjective agreement with nouns.</translate>
<translate><!--T:225--> If the user profile has gender preferences set, the <tvar name="1"><code><nowiki>{{GENDER:}}</nowiki></code></tvar> switch can be used in interface messages to appropriately address them ([[<tvar name="2">translatewiki:Gender</tvar>|more info]]).</translate>
<translate><!--T:226--> Other switches include <tvar name="1"><code><nowiki>{{PLURAL:}}</nowiki></code></tvar>, for "simple" plurals and languages like Arabic with dual, trial or paucal numbers, and <tvar name="2"><code><nowiki>{{GRAMMAR:}}</nowiki></code></tvar>, providing grammatical transformation functions for languages like Finnish whose grammatical cases cause alterations or inflections.</translate>
<translate><!--T:204--> The gender distinction can also be used in gender-dependent user namespace names, so that the title and URL of the page refers to the user correctly.</translate>
<translate><!--T:227--> Standard MediaWiki namespaces' gender variants are defined via <tvar name="1"><code>$namespaceGenderAliases</code></tvar> in each language's <tvar name="2">[[MessagesXx.php]]</tvar>, while <tvar name="3">{{ll|Manual:$wgExtraGenderNamespaces|$wgExtraGenderNamespaces}}</tvar> can be used for wiki-specific namespaces.</translate>
<translate><!--T:228--> As of <tvar name="1">{{rev|107559}}</tvar>, 13 languages use this feature by default:</translate>
* {{#language:Ar|{{PAGELANG2}}}}
* {{#language:Cs|{{PAGELANG2}}}}
* {{#language:De|{{PAGELANG2}}}}
* {{#language:Dsb|{{PAGELANG2}}}}
* {{#language:Es|{{PAGELANG2}}}}
* {{#language:Gl|{{PAGELANG2}}}}
* {{#language:He|{{PAGELANG2}}}}
* {{#language:Hsb|{{PAGELANG2}}}}
* {{#language:Pl|{{PAGELANG2}}}}
* {{#language:Pt-br|{{PAGELANG2}}}}
* {{#language:Pt|{{PAGELANG2}}}}
* {{#language:Ru|{{PAGELANG2}}}}
* {{#language:Stq|{{PAGELANG2}}}}
<translate>
=== Localising messages === <!--T:205-->
</translate>
{{See also|Help:System message}}
<translate><!--T:229--> Localised interface messages for MediaWiki and extensions reside in <tvar name="1"><code>i18n/qqt.json</code></tvar> files, where <tvar name="2"><code>qqt</code></tvar> is the ISO-639 code of the language (e.g. <tvar name="3"><code>i18n/fr.json</code></tvar> for French); default messages are in English and stored in <tvar name="4"><code>i18n/fr.json</code></tvar>.</translate>
<translate><!--T:206--> Other language-dependent information, such as date formats, is still stored in raw <tvar name="1"><code>MessagesQqt.php</code></tvar> files.</translate>
<translate><!--T:230--> Contributing translations used to be done by submitting <tvar name="1">PHP</tvar> patches for the <tvar name="2"><code>MessagesXx.php</code></tvar> files.</translate>
<translate><!--T:231--> In December 2003, MediaWiki 1.1 introduced "database messages", a subset of wiki pages in the MediaWiki namespace containing interface messages.</translate>
<translate><!--T:232--> The content of the wiki page {{<tvar name=1>tmpl|0=<code>MediaWiki:[$1]</code></tvar>|Message-key}} is the message's text, and overrides its value in the localization file.</translate>
<translate><!--T:233--> Localised versions of the message are at {{<tvar name=1>tmpl|0=<code>MediaWiki:[$1]/[$2]</code></tvar>|Message-key|language-code}}, e.g. <tvar name="2"><code>MediaWiki:Rollbacklink/de</code></tvar>.</translate>
<translate><!--T:234--> This feature has allowed power users to translate (and customise) interface messages locally on their wiki, but the process doesn't update i18n files shipping with MediaWiki.</translate>
<translate><!--T:235--> In 2006, <tvar name="1">Niklas Laxström</tvar> created a special, heavily hacked MediaWiki website (now hosted at <tvar name="2"><code>[//translatewiki.net translatewiki.net]</code></tvar>) where translators could easily localise interface messages in all languages, simply by editing a wiki page.</translate>
<translate><!--T:236--> The localization files are then updated in the MediaWiki code repository, where they can be automatically fetched by any wiki.</translate>
<translate><!--T:237--> On Wikimedia sites, database messages are now only used for customisation, and not for localisation any more.</translate>
<translate><!--T:238--> MediaWiki extensions and some related programs, such as bots, are also localised at <tvar name="1">translatewiki.net</tvar>.</translate>
<translate><!--T:239--> To help translators understand the context and meaning of an interface message, it is considered a good practice in MediaWiki to provide documentation for every message.</translate>
<translate><!--T:240--> This documentation is stored is a special Message file, with the <tvar name="1"><code>qqq</code></tvar> language code, which doesn't correspond to a real language.</translate>
<translate><!--T:241--> The documentation for each message is then displayed in the translation interface on <tvar name="1">translatewiki.net</tvar>.</translate>
<translate><!--T:242--> Another helpful tool is the <tvar name="1"><code>{{ll|Help:Qqx|qqx}}</code></tvar> language code: when used with the <tvar name="2"><code>&uselang</code></tvar> parameter to display a wiki page (e.g. <tvar name="3"><code>[//en.wikipedia.org/wiki/Special:RecentChanges?uselang=qqx en.wikipedia.org/wiki/Special:RecentChanges?uselang=qqx]</code></tvar>), MediaWiki will display the message keys instead of their values in the user interface; this is very useful to identify which message to translate or change.</translate>
[[Image:MediaWiki fallback chains.svg|thumb|<translate><!--T:243--> Graph of languages fallback</translate>]]
<translate><!--T:364--> Registered users can set their own interface language in their preferences, in which case it overrides the site's default interface language.</translate>
<translate><!--T:244--> MediaWiki also supports fallback languages: if a message isn't available in the chosen language, it will be displayed in the closest possible language, and not necessarily in English.</translate>
<translate><!--T:245--> For example, the fallback language for Breton is French.</translate>
<translate>
== Users == <!--T:12-->
</translate>
<translate><!--T:246--> Users are represented in the code using instances from the <tvar name="1"><code>User</code></tvar> class, which encapsulates all of the user-specific settings (user id, name, rights, password, email address, etc.).</translate>
<translate><!--T:247--> Client classes use accessors to access these fields; they do all the work of determining whether the user is logged in, and whether the requested option can be satisfied from cookies or whether a database query is needed.</translate>
<translate><!--T:248--> Most of the settings needed for rendering normal pages are set in the cookie to minimise use of the database.</translate>
<translate><!--T:249--> MediaWiki provides a very granular permissions system, with basically a user permission for every possible action. For example, to perform the "Rollback" action (i.e. to <tvar name="3"><code>{{int|action-rollback}}</code></tvar>), a user needs the <tvar name="1"><code>rollback</code></tvar> permission, included by default in MediaWiki's <tvar name="2"><code>sysop</code></tvar> user group.</translate>
<translate><!--T:250--> But it can also be added to other user groups, or have a dedicated user group only providing this permission (this is the case on the English Wikipedia, with the <tvar name="1"><code>Rollbackers</code></tvar> group).</translate>
<translate><!--T:363--> Customisation of user rights is done by editing the <tvar name="2"><code>$wgGroupPermissions</code></tvar> array in <tvar name="3"><code>LocalSettings.php</code></tvar>; for instance, <tvar name="4"><code>$wgGroupPermissions['user']['movefile'] = true;</code></tvar> allows all registered users to rename files.</translate>
<translate><!--T:251--> A user can belong to several groups, and inherits the highest rights associated with each of them.</translate>
<translate><!--T:252--> However, MediaWiki's user permissions system was really designed with Wikipedia in mind, i.e. a site whose content is accessible to all, and only certain actions are restricted to some users.</translate>
<translate><!--T:253--> MediaWiki lacks a unified, pervasive permissions concept; it doesn't provide traditional CMS features like restricting read or write access by namespace, category, etc.</translate>
<translate><!--T:254--> A few MediaWiki extensions provide such features to some extent.</translate>
<translate>
== Content == <!--T:13-->
=== Content structure === <!--T:14-->
</translate>
<translate><!--T:256--> The concept of namespaces was used in the UseModWiki era of Wikipedia, where talk pages were at the title "{{<tvar name=1>tmpl|0=[$1]/Talk</tvar>|article name}}".</translate>
<translate><!--T:257--> Namespaces were formally introduced in Magnus Manske's first "PHP script".</translate>
<translate><!--T:258--> They were reimplemented a few times over the years, but have kept the same function: to separate different kinds of content.</translate>
<translate><!--T:259--> They consist of a prefix, separated from the page title by a colon (e.g. <tvar name="1"><code>Talk:</code></tvar> or <tvar name="2"><code>File:</code></tvar> and <tvar name="3"><code>Template:</code></tvar>); the main content namespace has no prefix.</translate>
<translate><!--T:260--> Wikipedia users quickly adopted them, and they provided the community with different spaces to evolve.</translate>
<translate><!--T:261--> Namespaces have proven to be an important feature of MediaWiki, as they create the necessary preconditions for a wiki's community and set up meta-level discussions, community processes, portals, user profiles, etc.</translate>
<translate><!--T:262--> The default configuration for MediaWiki's main content namespace is to be flat (no subpages), because it's how Wikipedia works, but it is trivial to enable them.</translate>
<translate><!--T:263--> They are enabled in other namespaces (e.g. <tvar name="1"><code>User:</code></tvar>, where people can for instance work on draft articles) and display breadcrumbs.</translate>
<translate>
<!--T:264-->
Namespaces separate content by type; within a same namespace, pages can be organised by topic using categories, a pseudo-hierarchical organisation scheme introduced in MediaWiki 1.3.
=== Content processing: MediaWiki markup language & Parser === <!--T:15-->
</translate>
<translate><!--T:265--> The user-generated content stored by MediaWiki isn't in HTML, but in a [[<tvar name=1>Special:MyLanguage/Markup spec</tvar>|markup language]] specific to MediaWiki, sometimes called "wikitext".</translate>
<translate><!--T:266--> It allows users to make formatting changes (e.g. bold, italic using quotes), add links (using square brackets), include templates, insert context-dependent content (like a date or signature), and make an incredible number of other magical things happen.</translate>
<translate><!--T:267--> To display a page, this content needs to be parsed, assembled from all the external or dynamic pieces it calls, and converted to proper HTML.</translate>
<translate><!--T:268--> The parser is one of the most essential parts of MediaWiki, which also makes it difficult to change or improve.</translate>
<translate><!--T:269--> Because hundreds of millions of wiki pages worldwide depend on the parser to continue outputting HTML the way it always has, it has to remain extremely stable.</translate>
<translate><!--T:270--> The markup language wasn't formally spec'd from the beginning; it started based on [[<tvar name="1">MeatBall:WikiMarkupStandard</tvar>|UseModWiki's markup]], then morphed and evolved as needs have demanded.</translate>
<translate><!--T:271--> For example, the usage of a [[<tvar name="1">meatball:ThreadMode</tvar>|ThreadMode]] format for discussions made Magnus Manske implement the 3 or 4 tildes (<tvar name="2"><nowiki>~~~~</nowiki></tvar>) as a shortcut to sign one's posts in unstructured text.</translate>
<translate><!--T:272--> Tildes were chosen as it resembled his father's hand-written signature.</translate><ref>
https://twitter.com/MagnusManske/status/1083507467802365952
</ref>
<translate><!--T:273--> In the absence of a formal specification, the MediaWiki markup language has become a complex and idiosyncratic language, basically only compatible with MediaWiki's parser; it can't be represented as a formal grammar using <tvar name="1">BNF</tvar>, <tvar name="2">EBNF</tvar> or <tvar name="3">ANTLR</tvar> syntaxes.</translate>
<translate><!--T:274--> The current parser's specification is jokingly referred to as "whatever the parser spits out from wikitext, plus a few hundred test cases".</translate>
<translate><!--T:275--> There have been many attempts at alternative parsers, but none has succeeded so far.</translate>
<translate><!--T:276--> In 2004, an experimental tokeniser was written by <tvar name="1">Jens Frank</tvar> to parse wikitext, and enabled on Wikipedia; it had to be disabled three days later, because of the poor performance of PHP array memory allocations.</translate>
<translate><!--T:277--> Since then, most of the parsing has been done with a huge pile of regular expressions, and a ton of helper functions.</translate>
<translate><!--T:278--> The wiki markup, and all the special cases the parser needs to support, have also become considerably more complex, making future attempts even more difficult.</translate>
<translate><!--T:279--> A notable improvement was Tim Starling's preprocessor rewrite in MediaWiki 1.12, whose main motivation was to improve the parsing performance on pages with complex templates.</translate>
<translate><!--T:280--> The preprocessor converts wikitext to an XML DOM tree representing parts of the document (template invocations, parser functions, tag hooks, section headings, and a few other structures), but can skip "dead branches" in template expansion, such as unfollowed <tvar name="1"><code>#switch</code></tvar> cases and unused defaults for template arguments.</translate>
<translate><!--T:281--> The parser then iterates through the DOM structure and converts its content to HTML.</translate>
<translate><!--T:282--> Work on a visual editor for MediaWiki made it necessary to improve the parsing process (and make it faster), creating an entirely separate parser called "<tvar name="1">{{ll|Parsoid}}</tvar>", which can convert in both directions between MediaWiki markup and HTML.</translate>
<translate><!--T:362--> Currently, on most wikis the old parser is used for viewing articles, and Parsoid is used for visual editing and post-processing HTML for other tools, but there are plans in the works to deprecate the old parser entirely in favor of Parsoid.</translate>
<translate>
=== Magic words and templates === <!--T:16-->
</translate>
<translate><!--T:283--> MediaWiki offers {{<tvar name=1>ll|Help:Magic words</tvar>|magic words}} that modify the general behaviour of the page or include dynamic content into it.</translate>
<translate><!--T:284--> They consist of: behaviour switches like <tvar name="1"><code><nowiki>__NOTOC__</nowiki></code></tvar> (to hide the automatic table of content) or <tvar name="2"><code><nowiki>__NOINDEX__</nowiki></code></tvar> (to tell search engines not to index the page); variables like <tvar name="3"><code><nowiki>{{CURRENTTIME}}</nowiki></code></tvar> or <tvar name="4"><code><nowiki>{{SITENAME}}</nowiki></code></tvar>; and parser functions, i.e. magic words that can take parameters, like <tvar name="5"><code><nowiki>{{</nowiki>lc:[string]}}</code></tvar> (to output <tvar name="6"><code>[string]</code></tvar> in lowercase).</translate>
<translate><!--T:285--> Constructs like <tvar name="1"><code><nowiki>{{</nowiki>GENDER:}}</code></tvar>, <tvar name="2"><code><nowiki>{{</nowiki>PLURAL:}}</code></tvar> and <tvar name="3"><code><nowiki>{{</nowiki>GRAMMAR:}}</code></tvar>, used to localise the UI, are parser functions.</translate>
<translate><!--T:286--> The most common way to include content from other pages in a MediaWiki page is to use templates.</translate>
<translate><!--T:287--> Templates were really intended to be used to include the same content on different pages, e.g. navigation panels or maintenance banners on Wikipedia articles; having the ability to create partial page layouts and reuse them in thousands of articles with central maintenance made a huge impact on sites like Wikipedia.</translate>
<translate><!--T:288--> However, templates have also been used (and abused) by users for a completely different purpose.</translate>
<translate><!--T:289--> MediaWiki 1.3 made it possible for templates to take parameters that change their output; the ability to add a default parameter (introduced in MediaWiki 1.6) enabled the construction of a functional programming language implemented on top of PHP, which was ultimately one of the most costly features in terms of performance.</translate>
<translate><!--T:290--> Tim Starling then developed additional parser functions (the <tvar name=1>{{ll|Extension:ParserFunctions|ParserFunctions}}</tvar> extension), as a stopgap measure against insane constructs created by Wikipedia users with templates.</translate>
<translate><!--T:291--> This set of functions included logical structures like <tvar name="1"><code>#if</code></tvar> and <tvar name="2"><code>#switch</code></tvar>, and other functions like <tvar name="3"><code>#expr</code></tvar> (to evaluate mathematical expressions) and <tvar name="4"><code>#time</code></tvar> (for time formatting).</translate>
<translate><!--T:292--> Soon enough, Wikipedia users started to create even more complex templates using the new functions, which considerably degraded the parsing performance on template-heavy pages.</translate>
<translate><!--T:293--> The [[<tvar name="1">m:Special:MyLanguage/Migration to the new preprocessor</tvar>|new preprocessor]] introduced in MediaWiki 1.12 (a major architectural change) was implemented to partly remedy this issue.</translate>
<translate><!--T:294--> Later, MediaWiki developers discussed the possibility of using an actual scripting language to improve performance.</translate>
<translate><!--T:295--> <tvar name=1>{{ll|Extension:Scribunto}}</tvar> was added in February of 2013.</translate>
<translate>
=== Media files === <!--T:17-->
</translate>
<translate><!--T:296--> Users upload files through the <tvar name="1"><code>Special:Upload</code></tvar> page; administrators can configure the allowed file types through an extension whitelist.</translate>
<translate><!--T:297--> Once uploaded, files are stored in a folder on the file system, and thumbnails in a dedicated <tvar name="1"><code>thumb</code></tvar> directory.</translate>
<translate><!--T:298--> Because of Wikimedia's educational mission, MediaWiki supports file types that may be uncommon in other web applications or CMSes, like SVG vector images, and multipage PDFs & DjVus.</translate>
<translate><!--T:299--> They are rendered as PNG files, and can be thumbnailed and displayed inline, as are more common image files like GIFs, JPGs and PNGs.</translate>
<translate><!--T:300--> When a file is uploaded, it is assigned a <tvar name="1"><code>File:</code></tvar> page containing information entered by the uploader; this is free text, which usually includes copyright information (author, license) and items describing or classifying the content of the file (description, location, date, categories, etc.).</translate>
<translate><!--T:301--> While private wikis may not care much about this information, on media libraries like Wikimedia Commons they are critical to organise the collection and ensure the legality of sharing these files.</translate>
<translate><!--T:302--> It has been argued that most of these metadata should, in fact, be stored in a queryable structure like a database table.</translate>
<translate><!--T:303--> This would considerably facilitate search, but also attribution and reuse by third parties — for example, through the API.</translate>
<translate><!--T:304--> Some Wikimedia sites also allow "local" uploads to each wiki, but the community tries to store freely-licensed media files in Wikimedia's free media library, Wikimedia Commons.</translate>
<translate><!--T:305--> Any Wikimedia site can display a file hosted on Commons as if it were hosted locally.</translate>
<translate><!--T:306--> This custom avoids having to upload a file to every wiki to use it there.</translate>
<translate><!--T:307--> As a consequence, MediaWiki natively supports foreign media repositories, i.e., the ability to access media files hosted on another wiki through its API and the <tvar name="1"><code>ForeignAPIRepo</code></tvar> system.</translate>
<translate><!--T:308--> Since version 1.16, any MediaWiki website can easily use files from Wikimedia Commons through the <tvar name="1"><code>{{ll|InstantCommons}}</code></tvar> feature.</translate>
<translate><!--T:309--> When using a foreign repository, thumbnails are stored locally to save bandwidth.</translate>
<translate><!--T:310--> However, it is not (yet) possible to upload to a foreign media repository from another wiki.</translate>
<translate>
== Customising and extending MediaWiki == <!--T:18-->
=== Levels === <!--T:19-->
</translate>
<translate><!--T:311--> MediaWiki's architecture provides different ways to customise and extend the software.</translate>
<translate><!--T:312--> This can be done at different levels of access:</translate>
* <translate><!--T:345--> System administrators can install extensions and skins, and configure the wiki's separate helper programs (e.g. for image thumbnailing and TeX rendering) and global settings (see [[<tvar name=1>#Configuration</tvar>|Configuration]] above).</translate>
* <translate><!--T:346--> Wiki interface administrators can edit site-wide gadgets, JavaScript and CSS settings.</translate>
* <translate><!--T:347--> Any registered user can customise their own experience and interface using their preferences (for existing settings, skins and gadgets) or make their own modifications (using their personal JS and CSS pages).</translate> <translate><!--T:348--> External programs can also communicate with MediaWiki through its API, basically making any feature and data accessible to the user.</translate>
<translate>
=== JavaScript and CSS === <!--T:20-->
<!--T:313-->
MediaWiki can read and apply site-wide or skin-wide JavaScript and CSS using custom wiki pages; these pages are in the <tvar name="1"><code>MediaWiki:</code></tvar> namespace, and thus can only be edited by sysops; for example, JavaScript modifications from <tvar name="2"><code>MediaWiki:Common.js</code></tvar> apply to all skins, CSS from <tvar name="3"><code>MediaWiki:Common.css</code></tvar> applies to all skins, but <tvar name="4"><code>MediaWiki:Vector.css</code></tvar> only applies to users with the Vector skin.
</translate>
<translate><!--T:314--> Users can do the same types of changes, which will only apply to their own interface, by editing subpages of their user page (e.g. <tvar name="1"><code>User:[Username]/common.js</code></tvar> for JavaScript on all skins, <tvar name="2"><code>User:[Username]/common.css</code></tvar> for CSS on all skins, or <tvar name="3"><code>User:[Username]/vector.css</code></tvar> for CSS modifications that only apply to the Vector skin).</translate>
<translate><!--T:315--> If the Gadgets extension is installed, interface admins can also edit gadgets, i.e. snippets of JavaScript code providing features that can be turned on and off by users in their preferences.</translate>
<translate><!--T:317--> This set of tools has had a huge impact and greatly increased the democratisation of MediaWiki's software development.</translate>
<translate><!--T:318--> Individual users are empowered to add features for themselves; power users can share them with others, both informally and through globally-configurable sysop-controlled systems.</translate>
<translate><!--T:319--> This framework is ideal for small, self-contained modifications, and presents a lower barrier of entry than heavier code modifications done through hooks and extensions.</translate>
<translate>
=== Extensions and skins === <!--T:21-->
</translate>
<translate><!--T:320--> When JavaScript and CSS modifications are not enough, MediaWiki provides a system of [[<tvar name=1>Special:MyLanguage/Manual:Hooks</tvar>|hooks]] that let third-party developers run custom PHP code before, after, or instead of MediaWiki code for particular events.</translate>
<translate><!--T:321--> MediaWiki extensions use hooks to plug into the code.</translate>
<translate><!--T:322--> Before hooks existed in MediaWiki, adding custom PHP code meant modifying the core code, which was neither easy nor recommended.</translate>
<translate><!--T:323--> The first hooks were proposed and added in 2004 by Evan Prodromou; many more have been added over the years when needed.</translate>
<translate><!--T:324--> Using hooks, it is even possible to extend MediaWiki's wiki markup with additional capabilities, using tag extensions.</translate>
<translate><!--T:326--> The extension architecture is a fairly flexible infrastructure that has helped make specialised code more modular, keeping the core software from expanding (too) much, and making it easier for third-party users to build custom functionality on top of MediaWiki.</translate>
=== {{ll|API}} ===
<translate><!--T:330--> The other main access point for MediaWiki, besides <tvar name="1"><code>index.php</code></tvar>, is <tvar name="2"><code>api.php</code></tvar>, used to access its machine-readable query API (Application Programming Interface).</translate>
<translate><!--T:331--> Wikipedia users originally created "bots" that worked by [[<tvar name=1>Special:MyLanguage/screen scraping</tvar>|screen scraping]] the HTML content served by MediaWiki; this method was very unreliable and broke many times.</translate>
<translate><!--T:332--> To improve this situation, developers introduced a read-only interface (located at <tvar name="1"><code>query.php</code></tvar>), which then evolved into a full-fledged read and write machine API providing direct, high-level access to the data contained in the MediaWiki database.</translate>
<translate><!--T:333--> Client programs can use the API to login, get data, and post changes.</translate>
<translate><!--T:334--> The API supports thin web-based JavaScript clients and end-user applications.</translate>
<translate><!--T:335--> Almost anything that can be done via the web interface can basically be done through the API.</translate>
<translate><!--T:336--> Client libraries implementing the MediaWiki API are available in many languages, including Python and .NET.</translate>
<translate>
== Layers, domains, and patterns == <!--T:353-->
</translate>
{{Main|Architecture:MediaWiki}}
<translate><!--T:354--> MediaWiki can be divided into around 12 {{<tvar name=1>ll|Architecture:MediaWiki/Technical layers</tvar>|technical layers}}, with each layer calling classes and code in the layer beneath it but not above it.</translate>
<translate><!--T:355--> Examples include the {{<tvar name=1>ll|Architecture:MediaWiki/installer layer</tvar>|installer layer}}, {{<tvar name=2>ll|Architecture:MediaWiki/entry point layer</tvar>|entry point layer}}, {{<tvar name=3>ll|Architecture:MediaWiki/wiring layer</tvar>|wiring layer}}, and {{<tvar name=4>ll|Architecture:MediaWiki/API layer</tvar>|API layer}}.</translate>
<translate><!--T:356--> Code spanning all the layers can be grouped into around 21 {{<tvar name=1>ll|Architecture:MediaWiki/Domain modules</tvar>|domain modules}}, with examples including the {{<tvar name=2>ll|Architecture:MediaWiki/navigation domain</tvar>|navigation domain}} (skins), {{<tvar name=3>ll|Architecture:MediaWiki/user management domain</tvar>|user management domain}} (create, rename, login), and {{<tvar name=4>ll|Architecture:MediaWiki/internationalization domain</tvar>|internationalisation domain}}.</translate>
<translate><!--T:357--> Many {{<tvar name=1>ll|Architecture:MediaWiki/Pattern language</tvar>|software design patterns}} are used in MediaWiki, including the {{<tvar name=2>ll|Architecture:MediaWiki/factory pattern</tvar>|factory pattern}}, {{<tvar name=3>ll|Architecture:MediaWiki/handler pattern</tvar>|handler pattern}}, and {{<tvar name=4>ll|Architecture:MediaWiki/command pattern</tvar>|command pattern}}.</translate>
<translate>
== Future == <!--T:22-->
</translate>
<translate><!--T:337--> What started as a summer project done by a single volunteer PHP developer has grown into MediaWiki, a mature, stable wiki engine powering a top-ten website with a ridiculously small operational infrastructure.</translate>
<translate><!--T:338--> This has been made possible by constant optimisation for performance, iterative architectural changes and a team of awesome developers.</translate>
<translate><!--T:339--> The evolution of web technologies, and the growth of Wikipedia, call for ongoing improvements and new features, some of which require major changes to MediaWiki's architecture.</translate>
<translate><!--T:340--> This is, for example, the case for the ongoing visual editor project, which has prompted renewed work on the parser and on the wiki markup language, the DOM and final HTML conversion.</translate>
<translate><!--T:341--> MediaWiki is a tool that is used for varied purposes. Within Wikimedia projects, for instance, it's used to create and curate an encyclopedia (Wikipedia), to power a huge media library (Wikimedia Commons) or to transcribe scanned reference texts (Wikisource); and so on.</translate>
<translate><!--T:342--> In other contexts, MediaWiki is used as a corporate CMS, or as a data repository, sometimes combined with a semantic framework.</translate>
<translate><!--T:343--> These specialised uses that weren't planned for will probably continue to drive constant adjustments to the software's internal structure.</translate>
<translate><!--T:344--> As such, MediaWiki's architecture is very much alive, just like the immense community of users it supports.</translate>
<translate>
== Notes and references == <!--T:24-->
</translate>
<references />
<translate>
== Further reading == <!--T:25-->
</translate>
* <translate><!--T:350--> Automatically-generated MediaWiki documentation:</translate> [[wmdoc:]]
* <translate><!--T:351--> Domas Mituzas, ''Wikipedia: site internals, configuration, code examples and management issues'', MySQL Users conference, 2007. Full text available at <tvar name=1>http://dom.as/talks/</tvar></translate>
* <translate><!--T:352--> Faidon Liambotis, ''The Wikimedia infrastructure'', dotScale 2014. [<tvar name="url">https://www.youtube.com/watch?v=646mJu5f2cQ</tvar> (YouTube video)]</translate>
<translate>
== See also == <!--T:26-->
</translate>
* {{ll|How to become a MediaWiki hacker}}
* [[Manual:Architectural modules]]
[[Category:MediaWiki technical documentation{{#translation:}}]]
i0yf8o4niamw1cavzospynb55or75ie
WikiLove/ja
0
73233
8390513
8254205
2026-05-25T10:48:54Z
FuzzyBot
451990
Updating to match new version of source page
8390513
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = 利用者間の感謝の表現を奨励する拡張機能。
| start = 2011-05-02
| end = 2011-07
| group = 特長
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=WikiLoveの抽象的な概念はこんな印象|thumb|WikiLoveの抽象的な概念はこんな印象]]
<noinclude>
:''感謝によって、私たちは他者の美徳を自分のものにする。'' — ヴォルテール
ウィキラブは、他の利用者に向けた感謝の言葉を簡単に楽しく送れるようにするために開発された機能です。
WikiLove はどの利用者ページにもある「ハート型」アイコンを押すと利用できます。(訳注:デスクトップ表示)
当初は Ryan Kaldari がユーザー スクリプトとして開発、現在は[[Special:MyLanguage/Extension:WikiLove|MediaWiki拡張機能]]として提供しています。
<span id="Rationale"></span>
==設計思想==
利用者はみな評価を受けるのが好きです。2011年のウィキペディア編集者アンケートによれば(おおまかな結果については[[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]を参照)、17の選択肢のうち、「熟練編集者から見下されること」が編集頻度を下げるもっとも大きな要因(69%の一致率)であること、「自分の編集や記事について賞賛を受けること」が編集頻度をあげるもっとも大きな要因(78%の一致率)であることが分かりました。
関連して、[[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|「肯定的な評価は編集に役立つというウィキペディア編集者からの声」("Positive feedback works for editing, say Wikipedia editors")]]というウィキメディアブログの記事もご覧ください。
一方で、ウィキペディアの編集はときとともに難しくなってきており、新しい利用者が訂正や批判を受けることは多くなってきました。
これは新規利用者の体験を分析し記述しようとする多くの試みでも表れています。その一例としてウィキメディア・サマー・オブ・リサーチの枠組みで調べられた、最近の新規利用者に対する教育戦略についての調査があります(訳注:下記参照)。
[[File:Message-features-area.png|thumb|500px|center|英語版ウィキペディアにおける新規利用者が受け取るメッセージの比率。[[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|新人教育戦略の傾向についての調査(英語)]]より。訳注:緑は警告、黄色は賞賛か感謝、赤は批判、青は指導のメッセージを表す。]]
<span id="Key_dates"></span>
== 主な日程 ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">ウィキラブを[$proto prototype.wikimedia.org]にて始動。</span>
* {{ymd|2011|6|24}} - prototype.wikimedia.orgの登録利用者は既定で有効に。ブログでテスター募集を告知。
* {{ymd|2011|6|30}} - ウィキラブを英語版ウィキペディアに実装。詳細は [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove の操作]を参照。
* {{ymd|2011|10|28}} - マケドニア語版ウィキペディア ([[:mk:|Macedonian Wikipedia]]・「ВикиЉубов」)に[[bugzilla:31831#c3|実装]]。
<span id="How_to_disable"></span>
== 無効にするには ==
ウィキラブを無効にするには、[[:ja:Special:Preferences#mw-prefsection-editing|個人設定]]の「編集」タブ内の、「ウィキラブのタブを使用して他の利用者に感謝の意を示せるようにする」の左にあるチェックボックスのチェックを外し、ページ下部の「保存」ボタンをクリックします。
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== カスタマイズするには ==
{{notice|1=この節ではウィキラブを個々の編集者ごとにカスタマイズする方法について説明しています。 ひとつのウィキ全体でウィキラブをカスタマイズするには、{{ll|Extension:WikiLove}} を参照してください。}}
ウィキラブのインターフェイスは個々の編集者の要求に合わせて変えることができます。
歓迎のメッセージや、誕生日ケーキなどを送るためにウィキラブを使いたければ、既定の設定を自分のための設定で簡単に上書きすることができます。
ウィキラブは大がかりな[[w:JSON|JSON]]オブジェクトであり、構成の変更や追加はキーに割り当てられた変数の修正だけで実現します。
どの値を現状で適用するか、皆さんのローカルのウィキで MediaWiki:WikiLove.js ページを確認してください。
これはローカルで採用する上書きに対応します。
次に、[[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|既定の設定]]をチェック。
settings for WikiLoveを構成する基本データを、ツリー構造で表示します。
どの値を修正するか選んだら、利用するウィキで skin.js ファイルを開きます。
(一例として、英語版ウィキペディアの場合なら、編集の対象は[[w:Special:MyPage/common.js|こちら]]。)
既存の項目の修正は、値を上書きして説明文を添えます。<!-- assignment statement. -->
<span id="Change_an_existing_type"></span>
=== 既存のタイプの変更 ===
一例として表示名を「Kittens」から「Cats」 に変更するには、利用中のローカルの<code>.js</code>ファイル ([[Special:MyPage/skin.js|User:Example/skin.js]]) の末尾に下記を追加します。
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
あるいはストロープワッフェル (''Stroopwafels'' )の画像を入れ替えるには、同じく下記を末尾に追加。
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== 新しいタイプの追加 ===
新規に独自のタイプ (あるいはサブタイプ) を追加するには JSON 系統樹構造を利用します。「Hedgehogs」ハリネズミを新設する例を示します。
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // タイプの名称(タイプのメニューに表示)
fields: [ 'header', 'message' ], // フォーム内の記入欄
header: 'A hedgehog for you!', // トークページ投稿の冒頭に示す見出し(オプション)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 は画像のファイル名、$1 はメッセージ文字列
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // ギャラリー表示するはばの高さの上限値
height: 150, // ギャラリー表示する画像の高さの上限値
number: 3 // 無作為に表示する画像の点数 (省略可能)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // タイプメニューに表示
};
} );
</syntaxhighlight>
新しい項目を追加する場合、くれぐれもすべて正しい指数を宣言したかどうかチェックしてください。タイプ別の指数全体を把握するには[[Special:MyLanguage/Extension:WikiLove#Custom_configuration|拡張機能の説明文書]]を参照します。
<span id="Create_a_new_type_icon"></span>
=== 新しくアイコンを作るには ===
画面左手に表示されるウィキラブのタイプ アイコン (モノクロ アイコン) の Photoshop ソースファイルは[https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles ダウンロード]できます。
原型を 50 x 50 ピクセル前後の作図画面にコピー&ペースト、減色してサンプルとして保存したら、原型のソースファイルのスタイルを新しいアイコンのデザインにコピーして使います。
<span id="Change_the_heart_icon"></span>
=== ハートのアイコンを変更するには ===
もうひとつの方法として、ベクター外装で {{Blue|User:Example/vector.css}} のような vector.css を編集して、ウィキラブのハート形をカスタマイズできます。
例えば色を赤から青に変えるなら次の記述を末尾に追加します。
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== 実装の要望 ==
以下の諸条件に適合するウィキは、ウィキラブ実装を要望できます。
* コミュニティで実装の合意形成が済んでいること
* TranslateWiki 上で使用言語版への地域化が完了していること (翻訳に参加するには[http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 こちら])
* ローカルのウィキに構成設定ファイル [[MediaWiki:WikiLove.js]] を作成してあること
上記の必須条件を整えたら [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] でバグ報告を書き、実装を申請します。
<span id="WikiLove_activity_in_real-time"></span>
== リアルタイムでのウィキラブ活動 ==
ウィキラブが独自のテーブルに収集するデータは UI 上には浮上しません。
英語版ウィキペディアで[https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 フィルター423 を編集]すると、現状を即座に把握する手段になります。
ウィキラブを使った場面を教えてください。影響度の参考にします。[[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
途中経過の分析: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
<span id="Additional_documents"></span>
== 関連文書 ==
* 拡張機能の説明文書: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|設計文書]]
* 利用者による試験: [[etherpad:UserTestToc|動画]]を参照{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=状態の更新}}
* {{ll|WikiLove/Media coverage|2=6月24日付けブログ投稿に基づくメディア掲載記事}}
* {{ll|WikiLove/Idea Log|2=アイデアログ}}
* {{ll|WikiLove/Data|2=データ}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
ie8dthu4a63cy32kh6af4psl74cj4rm
Translations:Help:Editing pages/2/ko
1198
127221
8390075
4488245
2026-05-24T14:07:53Z
YeBoy371
2746081
8390075
wikitext
text/x-wiki
페이지의 상단에 있는 '''$1''' [[$2|탭]]을 클릭하십시오.
o2w8lgk7xi8kybpvohyato3fu2svyk7
Translations:Help:Editing pages/10/ko
1198
127229
8390073
4488254
2026-05-24T14:07:19Z
YeBoy371
2746081
8390073
wikitext
text/x-wiki
편집 요약은 편집과 함께 저장되며 사람들이 위키의 [[$1|변경 내용 추적]]을 보다 더 효과적으로 할 수 있도록 합니다.
9ruchlmnp77h5vtc99rrizn1qscj3ny
Translations:Help:Starting a new page/12/ko
1198
181086
8390081
866641
2026-05-24T14:10:44Z
YeBoy371
2746081
8390081
wikitext
text/x-wiki
== 새 페이지로 넘겨주기 생성 ==
tv550g6hidvu0nyv2qbz9cp85xj4ab2
Translations:Help:Starting a new page/13/ko
1198
181087
8390083
1533611
2026-05-24T14:10:54Z
YeBoy371
2746081
8390083
wikitext
text/x-wiki
하나의 페이지를 생성할 때, 넘겨주기를 설정하는 것을 잊지 마십시오.
sqvzkyvsi5x8v0gldhr0m6tucwi1xvk
Extension:PageTriage/es
102
240368
8390110
8365067
2026-05-24T18:22:27Z
MSG0007
18297834
8390110
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver la extensión en funcionamiento:
<div class="mw-translate-fuzzy">
* Agregue una nueva página de código auxiliar como usuario anónimo.
</div>
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
La nueva página debería aparecer{{int|pagetriage-no-categories}} marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de revisión de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
m326vkklbdrecdcrltmsthyzoxqn77w
8390112
8390110
2026-05-24T18:22:30Z
MSG0007
18297834
8390112
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
<div class="mw-translate-fuzzy">
* Agregue una nueva página de código auxiliar como usuario anónimo.
</div>
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
La nueva página debería aparecer{{int|pagetriage-no-categories}} marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de revisión de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
kqwmi521d0fsk98vjozs9yevtbwdqk0
8390114
8390112
2026-05-24T18:22:35Z
MSG0007
18297834
8390114
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
La nueva página debería aparecer{{int|pagetriage-no-categories}} marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de revisión de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
gtdif9n3eryszwuknbln3melvcgfpdi
8390116
8390114
2026-05-24T18:22:40Z
MSG0007
18297834
8390116
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debería aparecer{{int|pagetriage-no-categories}} marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de revisión de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
jje4m5o8ymn29g7gwo6xlwcc6rue7j0
8390119
8390116
2026-05-24T18:22:46Z
MSG0007
18297834
8390119
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de revisión de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
k3sj1ylwmqdt0r95i1xsfyl0lb9ya89
8390120
8390119
2026-05-24T18:22:48Z
MSG0007
18297834
8390120
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
<div class="mw-translate-fuzzy">
* Visita [[Special:NewPagesFeed]]
</div>
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
8bsrs5y4ycu0e5pv3o7glckayie3jec
8390122
8390120
2026-05-24T18:23:15Z
MSG0007
18297834
8390122
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "{{int|pagetriage-triage}}" al lado de la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
rtsyvni169ij46tcps3slvict7f10yu
8390124
8390122
2026-05-24T18:23:26Z
MSG0007
18297834
8390124
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "$triar" junto a la nueva página.
* Haga clic en esto y debería ver la barra de herramientas de revisión de página en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
q9gzfaeomz4qi6e8mg3fdwqmq4hog7i
8390126
8390124
2026-05-24T18:23:32Z
MSG0007
18297834
8390126
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "$triar" junto a la nueva página.
* Haga clic en esto y verá la barra de herramientas de curado de páginas en la nueva página.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Advanced installation ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
sl548fa9ojlaojou4bgg1jphrhhe2bk
8390128
8390126
2026-05-24T18:23:36Z
MSG0007
18297834
Created page with "==Configuración avanzada=="
8390128
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "$triar" junto a la nueva página.
* Haga clic en esto y verá la barra de herramientas de curado de páginas en la nueva página.
<span id="Advanced_installation"></span>
==Configuración avanzada==
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Additional extensions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
59e0fhe0d985uhljeozw53uqc8h2v2t
8390130
8390128
2026-05-24T18:23:47Z
MSG0007
18297834
Created page with "== Notas adicionales =="
8390130
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "$triar" junto a la nueva página.
* Haga clic en esto y verá la barra de herramientas de curado de páginas en la nueva página.
<span id="Advanced_installation"></span>
==Configuración avanzada==
<span id="Additional_extensions"></span>
== Notas adicionales ==
<div lang="en" dir="ltr" class="mw-content-ltr">
For full functionality, you'll also need to install some additional extensions, although PageTriage works without them.
</div>
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
nio582st0npjq9b1uu26gqcidlrjwf7
8390132
8390130
2026-05-24T18:23:56Z
MSG0007
18297834
Created page with "Para la funcionalidad completa, también necesitará instalar algunas extensiones adicionales, aunque PageTriage funciona sin ellas."
8390132
wikitext
text/x-wiki
<languages />
{{Extension |templatemode =
|status = stable
|type1 = special
|type2 = interface
|newhook1 =
|newhook2 =
|username =
|author = [[User:Kaldari|Ryan Kaldari]], [[User:Bsitu|Benny Situ]]
|description = Facilita la revisión y aprobación de nuevas páginas
|image = Extension-PageTriage Special-NewPagesFeed Screenshot.png
|imagesize = 300
|version =
|update =
|version preview =
|update preview =
|compatibility policy = rel
|mediawiki =
|php =
|composer =
|table1 = pagetriage_page
|table2 = pagetriage_page_tags
|table3 = pagetriage_tags
|download = {{WikimediaDownload|phab=EPTR}}
|readme =
|changelog =
|example = [[wikipedia:Special:NewPagesFeed | Special:NewPagesFeed on the English Wikipedia]]
|namespace =
|tags =
|compatibility =
|bugzilla =
|phabricator = PageTriage
|vagrant-role =
}}
'''PageTriage''' es una extensión que tiene como objetivo proporcionar una interfaz rica en funciones para clasificar artículos recién creados.
Su objetivo es reemplazar la función principal de ''patrullaje de páginas nuevas'' al tiempo que agrega funcionalidad adicional para revisar, etiquetar y mejorar nuevos artículos.
<span class="mw-translate-fuzzy">Agrega una nueva página a [[Special:NewPagesFeed]] y una barra de herramientas de revisión de páginas para páginas nuevas para aquellos con el permiso de [[:w:es:Wikipedia:Verificadores|verificador]].</span>
Fue desarrollado por el [[Wikimedia_Features_engineering|equipo de desarrolladores de caracteísticas]] de la Fundación Wikimedia.
Para detalles adicionales, véase ''[[Page Curation|Revisión de páginas]]''.
Una nota importante es que parte de la configuración y el código son específicos de los flujos de trabajo de Wikipedia en inglés y, como está construido ahora, la extensión es prácticamente imposible de internacionalizar.
(Véase [[Phabricator:T50552]].)
[[File:Page-Curation-Video.ogv|thumb|An overview of the page curation feature. The interface in the video is outdated but the content remains useful.]]
<span id="Installation"></span>
== Instalación ==
[[File:PageTriage-ListView-Whole.png|thumb|Screenshot of Special:NewPagesFeed as it appeared in 2012]]
{{ExtensionInstall
|db-update=yes
|registration=required
|localsettings=
}}
== Checking for successful install ==
Para ver realmente la extensión funcionando:
* Agregue una nueva página de código auxiliar como usuario anónimo.
* Visita especial:Nuevas páginasFeed
La nueva página debe aparecer, marcada como "{{int|pagetriage-no-categories}}", "{{int|pagetriage-orphan}}", etc.
Para ver la barra de herramientas de curado de páginas:
* Inicie sesión como usuario con el permiso 'sysop', o agregue un grupo con el permiso "[[Special:MyLanguage/Help:Patrolled_edits|patrol]]", y agregue algún usuario a ese grupo, e inicie sesión como ese usuario.
* Visita especial:Nuevas página feed.
* Ahora debería ver un botón "$triar" junto a la nueva página.
* Haga clic en esto y verá la barra de herramientas de curado de páginas en la nueva página.
<span id="Advanced_installation"></span>
==Configuración avanzada==
<span id="Additional_extensions"></span>
== Notas adicionales ==
Para la funcionalidad completa, también necesitará instalar algunas extensiones adicionales, aunque PageTriage funciona sin ellas.
* {{ll|Extension:Echo|Echo}} - Allows users to receive notifications for things like when an article they created has been marked as reviewed.
* {{ll|Extension:ORES|ORES}} - In Special:NewPagesFeed, allows filtering by "predicted class" (<code>articlequality</code>: stub, start, c-class, b-class, good, featured) and "potential issues" (<code>draftquality</code>: vandalism, spam, attack, copyvio). The predictions are done with machine learning (except for copyvio, which is done via a third party bot using an API, but is included here because <code>draftquality</code> needs to be turned on). ORES AI is typically trained by editors via https://labels.wmflabs.org/ui/, or by analyzing reverts. The ORES database provides probabilities which are accessed via the ORES extension. A threshold (tolerable false positive rate) is applied to this data, and some of the thresholds are set in the ORES extension's [[git:mediawiki/extensions/ORES/+/8bd39f26548d58fa8bf6765e1c23f5e3086f1cd4/extension.json#225|extension.json file]].
* {{ll|Extension:WikiLove|WikiLove}} - Adds a button to the Page Curation toolbar that allows you to leave a person a barnstar more easily.
=== Enabling draft namespace ===
By default, the draft namespace is disabled, but can be enabled with the following update to LocalSettings.php
<syntaxhighlight lang="php" copy>
// These three settings are optional, and will enable the Articles-for-Creation mode.
$wgPageTriageDraftNamespaceId = 118;
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId ] = 'Draft';
$wgExtraNamespaces[ $wgPageTriageDraftNamespaceId + 1 ] = 'Draft_talk';
</syntaxhighlight>
When enabled, a new "articles for creation" tab will show up on Special:NewPagesFeed.
By default pages edited in the draft namespace will be "unsubmitted".
Articles in the draft namespace can be submitted for review by adding <nowiki>[[Category:Pending_AfC_submissions]]</nowiki> to the draft page.
At which point they will show up under "awaiting review".
Note the toolbar controlled by the configuration variable '''$wgPageTriageEnableCurationToolbar''' does not show up in the draft namespace.
=== Cron jobs ===
To make sure old articles are eventually taken out of the new pages feed, you should set up a cron job to run the following file every 48 hours: <code>cron/updatePageTriageQueue.php</code>
== Manual testing ==
=== Special:NewPagesFeed -> Articles for Creation ===
* Enable draftspace by following the directions above in the section [[#Enabling draft namespace]].
* In Special:NewPagesFeed, to place a draft in one of the AFC states, you need to create a page in the "Draft" namespace, and add it to the following categories:
** Unsubmitted: (no category)
** Awaiting review: Category:Pending AfC submissions
** Under review: Category:Pending AfC submissions being reviewed now
** Declined: Category:Declined AfC submissions
Note: The Page Curation toolbar does not display for drafts.
=== ORES ===
Enwiki has the [[Extension:ORES|ORES extension]] installed, which provides machine learning predictions of an article's quality and of some common issues. ORES works fine in production, but requires some setup if you want to test in a localhost environment. It can be desirable to test with ORES turned on, for example, if you are changing the layout of Special:NewPagesFeed. Here is a localhost testing procedure:
* Clone Extension:ORES and add <code>wfLoadExtension( 'ORES' );</code> in <code>LocalSettings.php</code>
* Add this to <code>LocalSettings.php</code> <syntaxhighlight lang="php" copy>
$wgPageTriageEnableOresFilters = true;
$wgOresWikiId = 'enwiki';
$wgOresModels = [
'articlequality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'cleanParent' => true ],
'draftquality' => [ 'enabled' => true, 'namespaces' => [ 0 ], 'sources' => [ 1 ] ]
];
</syntaxhighlight>
* Run <code>php maintenance/run.php ./extensions/ORES/maintenance/BackfillPageTriageQueue.php</code>
== Determining if a page is reviewed ==
=== Status codes ===
There are status codes used to track whether a page is reviewed or not. These are the values given when you query <code>patrol_status</code>, <code>ptrp_reviewed</code>, and <code>ptrl_reviewed</code>:
* Unreviewed
** 0 - unreviewed
* Reviewed
** 1 - reviewed (someone clicked the green check mark in the Page Curation toolbar)
** 2 - patrolled (someone clicked the "Mark as patrolled" link at the bottom right corner of a page)
** 3 - autopatrolled (someone with the <code>autopatrol</code> user right created the page, or moved the page from a non-tracked namespace to a tracked namespace)
** no result - will occur if the page is not in a tracked namespace (mainspace, userspace, and draftspace), if the article was created before PageTriage was installed, or if the article was reviewed for longer than 30 days (these records are deleted by a cron job)
=== Via the API ===
To check the review status of pages using an API query, you can use <code>api.php?action=query&prop=isreviewed</code>.
Sample JavaScript code:<syntaxhighlight lang="js" copy>
/**
* @param {number} pageID The page ID number. A positive number with no commas.
*/
async isReviewed(pageID) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
pageids: pageID,
} );
return response.query.pages[0].isreviewed;
}
/**
* @param {string} title One title. Can include namespace. Example: User:Test
*/
async function isReviewed(title) {
let api = new mw.Api();
let response = await api.get( {
action: 'query',
format: 'json',
formatversion: '2',
prop: 'isreviewed',
titles: title,
} );
return response.query.pages[0].isreviewed;
}
</syntaxhighlight>
=== Via SQL ===
To check the review status of pages using an SQL query, you need to query the <code>{{ll|Extension:PageTriage/pagetriage page table|pagetriage_page}}</code> table and the <code>ptrp_reviewed</code> field.
Follow the directions in [[#Status codes]] to interpret the values of this field.
<syntaxhighlight lang="sql" copy>
/* By page_id */
SELECT ptrp_reviewed
FROM pagetriage_page
WHERE ptrp_page_id = 71318376
/* By page_title and page_namespace */
SELECT ptrp_reviewed
FROM pagetriage_page
JOIN page ON page_id = ptrp_page_id
WHERE page_title = 'Živko_Kostadinović' -- underscores, not spaces
AND page_namespace = 0
</syntaxhighlight>
== SQL ==
=== SQL tables ===
{| class="wikitable"
|+
!Name
!Prefix
!Description
!Old entry deletion strategy
!Service classes (when refactoring, SQL queries should be moved to here)
!Data classes
|-
|[[Extension:PageTriage/pagetriage page table|pagetriage_page]]
|ptrp_
|The main table. Log of all pages created after PageTriage was installed. One entry per page. Stores the "mark as reviewed" statuses mentioned above. Also stores the last time a tag was placed on the page by PageTriage. Query <code>ptrp_reviewed > 0</code> in this table to figure out if a page is marked as reviewed. No entry also means the page is reviewed.
|All articles deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirects deleted after 180 days regardless of patrol status.
|QueueManager, QueueLookup
|QueueRecord
|-
|[[Extension:PageTriage/pagetriage page tags table|pagetriage_page_tags]]
|ptrpt_
|Stores metadata about pages, to make the filters in the Page Curation toolbar work. For example, if you pick the filter "Were previously deleted", then PageTriage will query this table looking for the recreated tag ID. The tag ID is discovered by checking the <code>pagetriage_tags</code> table. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|All article metadata deleted once <code>ptrp_reviewed</code> > 0 (marked as reviewed) and older than 30 days. All redirect metadata deleted after 180 days regardless of patrol status.
|
|
|-
|[[Extension:PageTriage/pagetriage tags table|pagetriage_tags]]
|ptrt_
|A dictionary of page_tags, and their corresponding ID number. See [[Extension:PageTriage#pagetriage%20page%20tags|#pagetriage_page_tags]] for list of tags.
|
|
|
|}
=== pagetriage_page_tags ===
<code>pagetriage_page_tags</code> data is updated by calling <code>ArticleCompileProcessor::newFromPageId( [ $pageId ] )->compileMetadata()</code>. This is called in the following hooks:
* <code>onPageMoveComplete()</code> - runs when moving a page
* <code>onLinksUpdateComplete()</code> - runs when saving an edit
* <code>onMarkPatrolledComplete()</code> - runs when clicking the "Mark this page as patrolled" link in bottom right corner of certain pages
It is called asynchronously. The user will see that their edit succeeded and can continue browsing the website, and the page tags update will occur in the background, invisibly to the user.
==== List of tags ====
The <code>pagetriage_page_tags</code> are as follows:
* Author information
** user_id
** user_name - there's a filter where you can type in their username
** user_editcount
** user_creation_date
** user_autoconfirmed
** user_experience - Experience level: newcomer (non-autoconfirmed), learner (newly autoconfirmed), experienced, or anonymous. These experience levels are baked into core and can be accessed with <code>MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $performer )->getExperienceLevel()</code>
** user_bot
** user_block_status
* Deletion tags - will display a black trash can icon if marked for deletion
** afd_status
** blp_prod_status
** csd_status
** prod_status
* Special:NewPagesFeed red warning text
** category_count - No categories
** linkcount - Orphan
** reference - No citations
** recreated - Previously deleted
** user_block_status - Blocked
* Page information
** page_len - size of article, in bytes
** rev_count - number of edits to the article
** snippet - text from beginning of article, used in Special:NewPagesFeed to preview the article
* afc_state - 1 unsubmitted, 2 pending, 3 under review, 4 declined
* copyvio - latest revision ID that has been tagged as a likely copyright violation, if any
== PHP ==
<span id="Extension_configuration"></span>
=== Configuración de extensión ===
La extensión se basa en el permiso de "verificador".
Para obtener más información sobre la configuración de patrullaje, véase {{ll|Manual:Patrolling}}.
Las siguientes variables de configuración se pueden establecer desde su archivo LocalSettings.php:
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">Variable</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Default</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
|-
| {{phpi|$wgPageTriageEnableCurationToolbar}}
| {{phpi|true}}
| Establecer en falso para deshabilitar la [[Special:MyLanguage/Page Curation#User Experience: Curation Toolbar|barra de herramientas de revisión]] (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageInfiniteScrolling}}
| {{phpi|true}}
| Si se usa o no el desplazamiento infinito en el nuevo feed de páginas (el valor predeterminado es verdadero)
|-
| {{phpi|$wgPageTriageMaxAge}}
|90
| The age (in days) at which PageTriage allows unreviewed articles to become indexed by search engines (if $wgPageTriageNoIndexUnreviewedNewArticles is true).
|-
| {{phpi|$wgPageTriageNamespaces}}
|NS_MAIN
| The namespaces that PageTriage is active in.
|-
| {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}}
| {{phpi|false}}
| Establezca esto en verdadero si los artículos nuevos no revisados deben establecerse en noindex. En otras palabras, si no deben ser indexados por los motores de búsqueda hasta que sean revisados. (el valor predeterminado es falso)
|}
Véase [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/extension.json#698|extension.json]] para la lista completa de variables de configuración.
=== API ===
<div class="mw-translate-fuzzy">
PageTriage agrega 5 ''endpoint'' de API que se pueden usar:
</div>
{| class="wikitable"
|+
! <span lang="en" dir="ltr" class="mw-content-ltr">API</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Description</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Type</span>
! <span lang="en" dir="ltr" class="mw-content-ltr">Triggering action</span>
|-
|pagetriageaction
| <span class="mw-translate-fuzzy">Marca una página como revisada o no revisada</span>
|Write
|
* Using the Page Curation toolbar to mark a page as reviewed
* Using the Page Curation toolbar to mark a page as unreviewed
|-
|pagetriagelist
| <span class="mw-translate-fuzzy">Recupera la lista de páginas en la cola y los metadatos asociados</span> To retrieve one page, you must provide the <code>page_id</code>. To provide multiple pages, you must select one of <code>showreviewed</code>/<code>showunreviewed</code>, and one of <code>showredirs</code>/<code>showdeleted</code>/<code>showothers</code>, or no pages will be returned.
|Read
|
* Loading the Page Curation toolbar (automatically loaded if you have the <code>patrol</code> userright and view a page that is unpatrolled or recently patrolled)
* Viewing Special:NewPagesFeed (provides the list of articles)
|-
|pagetriagestats
| <span class="mw-translate-fuzzy">Recupera estadísticas sobre el número de páginas en la cola y los revisores principales</span>
|Read
|
* Viewing Special:NewPagesFeed (provides the total articles in the header, and provides the stats in the footer)
|-
|pagetriagetagcopyvio
|Mark an article as a potential copyright violation, and logs the action in Special:Log.
|Write
|
* Marking as a copyright violation by a bot with the <code>copyviobot</code> userright
|-
|pagetriagetagging
| <span class="mw-translate-fuzzy">Agregua etiquetas de limpieza o plantillas de eliminación a una página</span>
|Write
|
* Using the Page Curation toolbar to place a maintenance tag on an article
* Using the Page Curation toolbar to place a deletion tag on an article
|}
=== Special:Log ===
The following logs are created by the extension:
{| class="wikitable"
|+
!Special:Log
!<code>log_type</code>
!<code>log_action</code>
!Description
!Notes
|-
|Page curation log
|pagetriage-curation
|delete, enqueue, reviewed, tag, unreviewed
|Logs deletion tagging, maintenance tagging, marking page as reviewed, marking page as unreviewed
|
|-
|Potential copyright violation log
|pagetriage-copyvio
|insert
|Allows a bot to log potential copyright violations
|Doesn't display unless you set {{phpi|$wgPageTriageEnableCopyvio}} to true
|}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Entry points ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension's features can be triggered by various actions:
</div>
{| class="wikitable"
|+
!Entry point type
!File location
!Notes
|-
|5 APIs
|includes/Api/*
|
|-
|1 special page
|includes/SpecialNewPagesFeed.php
|
|-
|20 hooks
|
* includes/Hooks.php
* includes/HookHandlers/UndeleteHookHandler.php
* includes/HookHandlers/Schema.php
|
|-
|1 cron job
|cron/updatePageTriageQueue.php
|runs every 48 hours
|-
|7 maintenance scripts
|maintenance/*
|need to be run manually
|}
Here is a list of some actions and the corresponding entry points they trigger:
{| class="wikitable"
|+
!Action
!Entry points used
|-
|View Main page
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
|-
|Save an edit to the Main page
|
* Hooks.php -> onRevisionFromEditComplete()
* Hooks.php -> onPageSaveComplete()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onLinksUpdateComplete()
|-
|Type in search box, triggering search suggestions
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onApiMain__moduleManager()
|-
|View Special:NewPagesFeed
|
* Hooks.php -> onBeforeCreateEchoEvent()
* SpecialNewPagesFeed
* ApiPageTriageStats
* ApiPageTriageList
|-
|View an unreviewed article while logged in
and having the <code>patrol</code> permission.
|
* Hooks.php -> onBeforeCreateEchoEvent()
* Hooks.php -> onArticleViewFooter()
* Hooks.php -> onResourceLoaderGetConfigVars()
* Hooks.php -> onDefinedTags()
* Hooks.php -> onApiMain__moduleManager()
* ApiPageTriageList (by <code>page_id</code>)
|}
==== Hooks ====
{| class="wikitable"
|+
!File
!Group
!Hook
!Actions it performs
|-
| rowspan="18" |Hooks.php
|Move page
|[[Manual:Hooks/PageMoveComplete|onPageMoveComplete]]
|Changes patrolled status, updates cache, updates metadata in <code>pagetriage_page_tags</code> table.
|-
| rowspan="3" |Edit page
|[[Manual:Hooks/RevisionFromEditComplete|onRevisionFromEditComplete]]
|Handles marking '''redirects that flip to articles''' as unreviewed. [[Deferred updates|DeferredUpdate]].
|-
|[[Manual:Hooks/PageSaveComplete|onPageSaveComplete]]
|Add '''new articles''' to the New Pages Feed and <code>pagetriage_page</code> table.
|-
|[[Manual:Hooks/LinksUpdateComplete|onLinksUpdateComplete]]
|[[Deferred updates|DeferredUpdate]] of metadata / <code>pagetriage_page_tags</code> table.
|-
|Every page load
|[[Manual:Hooks/ArticleViewFooter|onArticleViewFooter]]
|
* Turn on '''noindex''' for new, unreviewed articles.
* Determine whether to load a '''link for autopatrolled users to unpatrol''' their article
* Displays the '''Page Curation toolbar''' on recently created pages.
* Create '''"Add to New Pages Feed" toolbox link''' for old articles.
|-
|[[Help:Patrolled edits]]
|[[Manual:Hooks/MarkPatrolledComplete|onMarkPatrolledComplete]]
|Marking as patrolled (the patrol link shows up in template namespace, for example) will also mark as reviewed in PageTriage.
|-
| rowspan="2" |Blocking and unblocking
|[[Manual:Hooks/BlockIpComplete|onBlockIpComplete]]
| rowspan="2" |Update article metadata / <code>pagetriage_page_tags</code> when a user gets blocked or unblocked. This is so Special:NewPagesFeed can display "Blocked" by articles created by blocked users.
|-
|[[Manual:Hooks/UnblockUserComplete|onUnblockUserComplete]]
|-
|
|[[Manual:Hooks/ResourceLoaderGetConfigVars|onResourceLoaderGetConfigVars]]
|Adjusts some config vars related to draft namespace ID.
|-
| rowspan="3" |[[Extension:Echo]]
|[[Manual:Hooks/BeforeCreateEchoEvent|onBeforeCreateEchoEvent]]
| rowspan="3" |Code that makes PageTriage Echo notifications work. For example, the notification to article creators that their article was marked as reviewed.
|-
|[[Manual:Hooks/EchoGetDefaultNotifiedUsers|onEchoGetDefaultNotifiedUsers]]
|-
|[[Manual:Hooks/LocalUserCreated|onLocalUserCreated]]
|-
|[[Extension:ORES]]
|[[Manual:Hooks/ORESCheckModels|onORESCheckModels]]
|Code that makes PageTriage ORES filters in Special:NewPagesFeed work. For example, filtering by article size or by predicted vandalism/spam/copyvio.
|-
| rowspan="3" |[[Help:Tags]]
|[[Manual:Hooks/ListDefinedTags|onListDefinedTags]]
| rowspan="3" |Code that makes PageTriage tags work. Tags can be attached to individual revisions to show that a tool helped make the edit. For PageTriage, it tags edits "PageTriage".
|-
|[[Manual:Hooks/ChangeTagsAllowedAdd|onChangeTagsAllowedAdd]]
|-
|[[Manual:Hooks/ChangeTagsListActive|onChangeTagsListActive]]
|-
|API
|[[Manual:Hooks/ApiMain::moduleManager|onApiMain__moduleManager]]
|Disables the pagetriagetagging API, if that feature is turned off in PageTriage's settings.
|-
| rowspan="2" |Delete or undelete page
|[[Manual:Hooks/PageDeleteComplete|onPageDeleteComplete]]
|If a page is deleted, also delete its data from the PageTriage queue, and remove it from the cache.
|-
|HookHandlers/
UndeleteHookHandler.php
|[[Manual:Hooks/ArticleUndelete|onArticleUndelete]]
|If a page is undeleted, add it back to the PageTriage queue, regardless of autopatrol status. Fixes a bug where undeleted pages were automatically marked as reviewed.
|-
|HookHandlers/ Schema.php
|SQL
|[[Manual:Hooks/LoadExtensionSchemaUpdates|onLoadExtensionSchemaUpdates]]
|
* The code that installs PageTriage's 4 SQL tables when you run <code>php maintenance/run.php update</code>.
* Will also alter schemas from previous versions to match the latest schema.
* This is also where all the '''pagetriage_tags''' are hard-coded.
|}
==== Cron jobs and maintenance scripts ====
{| class="wikitable"
|+
!File
!What it does
!Why run it? When is it useful?
![[phab:T341431|Safe to delete maintenance script?]]
|-
|cron/updatePageTriageQueue.php
|Every 48 hours, remove some items from the new pages feed after certain time limits. Removed items can be re-added by clicking "Add to the New Pages Feed".
|Keeps the SQL tables from getting too big.
|
|-
|maintenance/cleanupPageTriage.php
|Remove page with namespace other than NS_MAIN/NS_USER from pagetriage queue.
|Fix a bug? [[phab:T321982|T321982]]
|
|-
|maintenance/cleanupPageTriageLog.php
|Maintenance script that updates parameter name from '4::tags' to 'tags' in pagetriage-curation log and (now defunct) pagetriage-deletion log
|One time conversion of old log entries to modern format? Logs are now always written in the new format. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/6d9105c020c62d648a4ef6be957297bbc8a6d7d2].
|Probably
|-
|maintenance/cleanupPageTriagePageTags.php
|Remove page from <code>pagetriage_page_tags</code> if they are not in <code>pagetriage_page</code>
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/00a752368e00e0d8b29a4908bfc3bab3096268dd].
|Probably
|-
|maintenance/DeleteAfcStates.php
|Delete the afc_state tag value for every page in the queue (drafts and non-drafts). Normally all pages have this tag even if they're not drafts.
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ab2d8d4a2f9d0f4ff981afaee35a85f33edb5e99]. [[phab:T203184#4592953|T203184#4592953]].
|Probably
|-
|maintenance/FixNominatedForDeletion.php
|Set <code>pagetriage_page.ptrp_deleted</code> if the page is has any <code>pagetriage_page_tags</code> related to deletion (e.g. prod_status, blp_prod_status, etc.)
|Fix a bug that made it into production. All solved now. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/ff0c433226300aeba692089b5389435d47feef1e]. [[phab:T202582|T202582]].
|Probably
|-
|maintenance/populateDraftQueue.php
|Add missing Draft namespace pages to the AfC triage queue.
|Related to deploying PageTriage's draftspace feature into an environment that already has a draftspace. [https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/59e1fedffcdafc46722d7231011aee194db9ee08].
|
|-
|maintenance/updateUserMetadata.php
|Former cron job. Update expired user metadata in the <code>pagetriage_page_tags</code> table
|[https://github.com/wikimedia/mediawiki-extensions-PageTriage/commit/92a675a5f1f2e07cee532ec90fc57eee7f2cd49b]. [[phab:T341432|T341432]].
|
|}
=== NOINDEX ===
NOINDEX refers to the HTML code <code><meta name="robots" content="noindex"></code>, which can be inserted into a page to stop the page from appearing in search engine results. In default installations of MediaWiki, all pages are indexed unless they contain the wikicode <code><nowiki>__NOINDEX__</nowiki></code>. When {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is set to true, PageTriage will take over deciding what pages are indexed. The logic that determines this is located in <code>includes/Hooks.php</code>, in the <code>onArticleViewFooter()</code> method.
==== First check ====
* First check: Noindex the page if ALL of the following are true:
** {{phpi|$wgPageTriageNoIndexUnreviewedNewArticles}} is turned on
** Page age is less than {{phpi|$wgPageTriageMaxAge}} (set to 90 days on enwiki)
** Page is in <code>pagetriage_page</code> table<ref>Checked by <code>isPageUnreviewed()</code></ref>
** Page is marked as unpatrolled (ptrp_status = 0)
==== Second check ====
* Second check: If the wikitext has the <code><nowiki>__NOINDEX__</nowiki></code> magic word, noindex the page if ALL of the following are true:
** Page age is less than {{phpi|$wgPageTriageMaxNoIndexAge}} (set to 90 days on enwiki)
** If {{phpi|$wgPageTriageMaxNoIndexAge}} is not null, page is in <code>pagetriage_page</code> table<ref>Checked by <code>isNewEnoughToNoIndex()</code>, if it doesn't exit early due to <code>$wgPageTriageMaxNoIndexAge</code> being <code>null</code>.</ref>
The main use case for the <nowiki>__NOINDEX__</nowiki> magic word is in deletion templates and maintenance tag templates that are transcluded into mainspace or draftspace. See [https://en.wikipedia.org/w/index.php?search=NOINDEX&title=Special:Search&profile=advanced&fulltext=1&ns10=1 this search].
==== Is the page in the <code>pagetriage_page</code> table? ====
In regards to the requirement "Page is in <code>pagetriage_page</code> table", there are several ways a for a page to get into this table:
* Not been deleted by a PageTriage cron job
** One cron job deletes redirects older than {{phpi|$wgPageTriageRedirectAutoreviewAge}} days old (default 180 days as of Sep 2022), regardless of patrol status. In other words, this cron job autopatrols them.
** Another cron job deletes reviewed pages after 30 days of being reviewed
* In a namespace that PageTriage is configured to patrol
* Isn't an article that is so old it predates the installation of PageTriage
== JavaScript ==
=== Directory structure ===
* /modules/
** ext.pageTriage.article - related to marking an article as reviewed
** ext.pageTriage.defaultTagsOptions - lists of deletion tags and maintenance tags used by the Page Curation toolbar
** ext.pageTriage.init - creates a mw.pageTriage object
** ext.pageTriage.newPagesFeed - Special:NewPagesFeed
** ext.pageTriage.sidebarLink - related to the "Add to the New Pages feed" link that shows up in the left menu toolbox, and the ooui alert box it generates
** ext.pageTriage.toolbar - Page Curation toolbar
<!--** ext.pageTriage.toolbar - Page Curation toolbar (Vue version)-->
** ext.pageTriage.toolbarStartup - ActionQueue and toolbar startup code
** ext.pageTriage.util - Backbone.js models (article, revision, stats)
** external - contains external libraries including backbone, jquery.tipoff, jquery.badge, jquery.waypoint, and underscore
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Toolbar ===
</div>
The toolbar has three states: <code>maximized</code>, <code>minimized</code>, and <code>hidden</code>. The maximized toolbar is the full-size toolbar with all buttons. The minimized toolbar still displays and floats, but simply says "Curation" and has an X you can click to close it. The hidden toolbar doesn't display at all, and can be re-opened by clicking the "Open Page Curation" link in the left menu.
=== External libraries ===
* front end
** old (moving away from)
*** [[w:Backbone.js|Backbone.js]]
*** [[w:jQuery|jQuery]]
*** jQuery Badge
*** jQuery Waypoints
*** [[w:jQuery UI|jQuery UI]]
*** [[w:Mustache (template system)|Mustache (template system)]]
*** [[OOUI]] - used in modules/ext.PageTriage.enqueue ([https://codesearch.wmcloud.org/deployed/?q=oojs&files=&excludeFiles=&repos=mediawiki%2Fextensions%2FPageTriage codesearch])
*** [[w:Underscore.js|Underscore.js]]
** new (moving towards)
*** Codex
*** [[w:Moment.js|Moment.js]]
*** Vue
Backbone and Underscore are unusual libraries to use in MediaWiki extensions, and jQuery UI is deprecated. Long term, [[phab:T208256|we are interested in replacing these front end libraries]], to make the extension easier to maintain.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Client-side hooks ===
</div>
==== mw.hook ====
* <code>ext.pageTriage.toolbar.ready</code>
==== mw.pageTriage.actionQueue ====
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage provides a specialised action queue system to allow other scripts and gadgets to integrate with it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is similar to <code>mw.hook</code> except that it uses promises.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is done using the <code>mw.pageTriage.actionQueue</code> module.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the comments in the {{tmpl|0={{git file|project=mediawiki/extensions/PageTriage|branch=master|file=modules/ext.pageTriage.toolbarStartup/ext.pageTriage.actionQueue.js|text=$1}}|source code}} for documentation on how the system works.</span>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">It is [$1 not currently used by any scripts or gadgets on enwiki], but it is used internally by PageTriage.</span>
|1=https://en.wikipedia.org/w/index.php?search=%22actionQueue%22&title=Special:Search&profile=advanced&fulltext=1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The actionQueue module is available after the mw.hook <code>ext.pageTriage.toolbar.ready</code> fires.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">PageTriage will give the action queue handler an Object with the following data, in addition to other data as noted below:</span>
* <code>pageid</code> — <span lang="en" dir="ltr" class="mw-content-ltr">ID of the page being reviewed.</span>
* <code>title</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Title of the page, including namespace.</span>
* <code>reviewer</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of who is using PageTriage.</span>
* <code>creator</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Username of the creator of the page.</span>
* <code>reviewed</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Whether or not the page is currently or will be marked as reviewed.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Available actions =====
</div>
* <code>delete</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the reviewer tags a page for deletion. The data given to the handler also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An object of all the templates added to the page. The keys are the template title, and the values are an object of metadata, including things like the speedy deletion code.</span>
* <code>mark</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when the review status of a page is changed. Also includes:</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
* <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">Fired when maintenance tags are added to the page. Also includes:</span>
** <code>tags</code> — <span lang="en" dir="ltr" class="mw-content-ltr">An array of the titles of all templates that were added to the page.</span>
** <code>note</code> — <span lang="en" dir="ltr" class="mw-content-ltr">The personal message the reviewer added for the creator of the page. This may be blank.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===== Example =====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To use the action queue, register a function to be ran when an aforementioned action is fired. PageTriage will wait for any asynchronous code to complete before doing anything else, such as refreshing the page. For example, to edit [[Sandbox]] after a page has been marked as reviewed, you could use:
</div>
<syntaxhighlight lang="javascript">
$( function () {
// You must first listen for the ext.pageTriage.toolbar.ready event using mw.hook, to ensure your handler is registered at the right time.
mw.hook( 'ext.pageTriage.toolbar.ready' ).add( function ( queue ) {
// Listen for the 'mark' action.
queue.add( 'mark', function ( data ) {
return new mw.Api().edit( 'Sandbox', function ( revision ) {
// Replace 'foo' with the note the reviewer left.
return revision.content.replace( 'foo', data.note );
} );
} );
} );
} );
</syntaxhighlight>
=== Where are preferences stored? ===
Preferences such as the user's Special:NewPagesFeed selected filters are stored as MediaWiki user preferences. The preference name is <code>userjs-NewPagesFeedFilterOptions</code>. It is set using <code>mw.Api().saveOption()</code> and read using <code>mw.user.options.get()</code>. This data ends up in the SQL <code>user_properties</code> table. Temporary accounts (IP masking) will not be able to store their preferences.
== Installation on WMF wikis ==
This extension was designed for English Wikipedia. There is interest in changing its code and making it more useful to other wikis ([[phab:T50552]]), however this is challenging from a technical perspective and progress is slow. For now, the following are true:
* PageTriage is allowed to be installed on other wikis<ref>https://meta.wikimedia.org/w/index.php?title=Limits_to_configuration_changes&diff=prev&oldid=26121135</ref> (although as of 2024 this hasn't happened yet).
* The setting <code>$wgPageTriageEnableExtendedFeatures</code> can be set to <code>false</code> to turn off English Wikipedia-specific features such as maintenance tags and deletion tags in the Page Curation toolbar.
* There are concerns that the noindex features (controlled by <code>$wgPageTriageNoIndexUnreviewedNewArticles</code> and <code>$wgPageTriageMaxNoIndexAge</code>) create search engine optimization problems, and these noindex features should not be enabled on new wikis without first discussing it with product manager [[User:Samwalton9 (WMF)|Samwalton9 (WMF)]].
* Like most other WMF-deployed extensions, PageTriage supports internationalization, and has its interface [[gerrit:plugins/gitiles/mediawiki/extensions/PageTriage/+/refs/heads/master/i18n/|translated into many other languages]].
<span id="See_also"></span>
== Véase también ==
* [[commons:Category:PageTriage extension]]
* [[Help:New pages feed]]
* [[w:Wikipedia:Page Curation/Help]]
== Notes ==
<references />
{{OnWikimedia}}
{{Used by}}
[[Category:API extensions{{#translation:}}]]
mqqzla93locjfogvjpopdo4v5hlk5bc
Translations:Extension:PageTriage/10/es
1198
240369
8390109
5934141
2026-05-24T18:22:26Z
MSG0007
18297834
8390109
wikitext
text/x-wiki
== Instalación ==
qla68vnrzlu595h55ou7rpi7exltbmv
WikiLove/ko
0
243505
8390514
8254204
2026-05-25T10:48:54Z
FuzzyBot
451990
Updating to match new version of source page
8390514
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = 이용자 간의 감사의 표현을 장려하기 위한 확장 프로그램입니다.
| start = 2011-05-02
| end = 2011-07
| group = 기능
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
'''위키사랑'''은 다른 사용자들에게 공개적으로 감사를 쉽고 재밌게 표할 수 있도록 설계된 기능입니다.
위키사랑은 사용자 문서에서 "하트" 아이콘을 클릭하여 호출할 수 있습니다.
원래 Ryan Kaldari가 사용자 스크립트로 개발한 것으로, 지금은 개발자들이 위키에 추가할 수 있는 [[Special:MyLanguage/Extension:WikiLove|미디어위키 확장 기능]]의 하나로 이용이 가능합니다.
<span id="Rationale"></span>
== 이유 ==
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<span id="Key_dates"></span>
== 중요 날짜 ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 6월 16일, 2011년: 위키사랑 activated on[$proto prototype.wikimedia.org]
* 6월 24일, 2011년: WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span class="mw-translate-fuzzy">* 6월 30일, 2011년: 위키사랑 deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span class="mw-translate-fuzzy">* 10월 28일, 2011년: 위키사랑[[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<span id="How_to_disable"></span>
== 비활성화하는 방법 ==
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== 어떻게 커스터마이즈하나요? ==
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== 새 타입 만들기 ===
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<span id="Create_a_new_type_icon"></span>
=== 새로운 종류의 아이콘 만들기 ===
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<span id="Change_the_heart_icon"></span>
=== 하트 아이콘 바꾸기 ===
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<span id="Additional_documents"></span>
== 추가적인 문서 ==
* 확장기능 문서: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|디자인 문서]]
* 사용자 연습: [[etherpad:UserTestToc|동영상]]참조.{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=스테이터스 업데이트}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=아이디어 로그}}
* {{ll|WikiLove/Data|2=데이터}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
6gkh5v2hrkn82gdqztvn2vlqud08zhl
Translations:Extension:PageTriage/Page display title/es
1198
246895
8390108
3404562
2026-05-24T18:21:40Z
MSG0007
18297834
8390108
wikitext
text/x-wiki
Extensión:PáginaCarga
la1lhu6b1r5g2bsdg3v55p64ngycgg8
Translations:Help:Contents/Page display title/ar
1198
249088
8390213
8167232
2026-05-24T22:38:57Z
~2026-31109-24
18405223
8390213
wikitext
text/x-wiki
مساعدة:محتويات ميتا بلاتفورمز
n6h5hw557f9hmjw7pe9o1tr6id6898g
8390501
8390213
2026-05-25T10:25:02Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31109-24|~2026-31109-24]] ([[User talk:~2026-31109-24|talk]]) to last version by Tanbiruzzaman
5343759
wikitext
text/x-wiki
مساعدة:محتويات
lu6szz6ezx7qqvs6gii0cykr6nq37do
Translations:WikiLove/8/en
1198
258591
8390508
7957556
2026-05-25T10:48:43Z
FuzzyBot
451990
Importing a new version from external source
8390508
wikitext
text/x-wiki
WikiLove activated on $1
rnq2fb57lk01krnmoybg35yddgq6tcb
WikiLove/pt-br
0
258963
8390516
8254211
2026-05-25T10:48:58Z
FuzzyBot
451990
Updating to match new version of source page
8390516
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Uma extensão para incentivar manifestações de apreço entre os usuários.
| start = 2011-05-02
| end = 2011-07
| group = Recursos
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Uma impressão do conceito abstrato do WikiApreço|thumb|Uma impressão do conceito abstrato do WikiApreço]]
<noinclude>
:''Por reconhecimento, fazemos da excelência nos outros nossa própria propriedade.'' — Voltaire
O '''WikiApreço''' é um recurso projetado para tornar mais fácil e divertido expressar publicamente apreço por outros usuários.
O WikiApreço pode ser chamado a partir de qualquer página de usuário clicando no ícone de “coração”.
Ele foi originalmente desenvolvido por Ryan Kaldari como um ''script'' de usuário, e agora está disponível como uma [[Special:MyLanguage/Extension:WikiLove|extensão do MediaWiki]] que os desenvolvedores podem adicionar em suas wikis.
<span id="Rationale"></span>
== Justificativa ==
Usuários gostam de se sentir valorizados. De acordo com a pesquisa de 2011 com editores da Wikipedia (veja os [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|dados principais]]), entre 17 variáveis, “ser menosprezado por editores mais experientes” é o mais provável de fazer com que as pessoas digam que editarão com menos frequência (69% de concordância), enquanto “receber elogios de outras pessoas por suas edições/artigos”WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/ é o mais provável de fazer com que as pessoas digam que editarão com mais frequência (78% de concordância).
Veja também: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|“''feedback'' positivo serve para edição, diz editores da Wikipedia”]] no blog da Wikimedia.
Por outro lado, editar na Wikipédia tende a ficar mais difícil com o tempo, e a probabilidade de novos usuários receberem correções/críticas aumentou.
Isso reflete vários esforços para codificar e analisar a experiência para novos usuários, como o recente pulo de pesquisa de estratégia de ensino para novatos realizado no escopo de nosso verão de pesquisa.
[[File:Message-features-area.png|thumb|500px|center|Proporção relativa dos diferentes tipos de mensagens enviadas a novos usuários na Wikipédia em inglês, conforme codificado no [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|sprint de pesquisa sobre tendências de estratégias de ensino para novatos]].]]
<span id="Key_dates"></span>
== Datas-chave ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16 de junho de 2011: WikiApreço ativado em [$proto prototype.wikimedia.org]
* 24 de junho de 2011: WikiApreço ativado por padrão para novos usuários registrados em prototype.wikimedia.org; anúncio no blog chamando por testadores</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span class="mw-translate-fuzzy">* 30 de junho de 2011: WikiApreço implantado na Wikipédia inglês. Veja [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} ações do WikiApreço].</span>
* {{ymd|2011|10|28}} - <span class="mw-translate-fuzzy">* 28 de outubro de 2011: WikiApreço [[bugzilla:31831#c3|implantado]] na [[:mk:|Wikipédia macedônia]] (sobre o nome “ВикиЉубов”)</span>
<span id="How_to_disable"></span>
== Como desabilitar ==
Para desativar o WikiApreço, vá para a aba de edição em [[:en:Special:Preferences#mw-prefsection-editing|suas preferências]] e desmarque a caixa ao lado de "Ativar a exibição de apreciação por outros usuários com a aba WikiLove" na seção Páginas de usuário. Em seguida, clique em Salvar.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== Como personalizar ==
{{notice|1=Esta seção é sobre como personalizar o WikiApreço para um editor individual. Para saber como personalizar o WikiApreço para uma wiki inteira, consulte a {{ll|Extension:WikiLove}}.}}
A interface do WikiApreço pode ser personalizada para atender às necessidades de cada editor individual.
Se você quiser usar o WikiApreço para deixar mensagens de boas-vindas, bolos de aniversário ou ouriços, é fácil substituir a configuração padrão com suas próprias configurações.
A configuração do WikiApreço é um grande objeto [[w:JSON|JSON]], então, para fazer uma alteração ou adição, basta modificar os valores atribuídos às chaves.
Para ver quais valores estão atualmente atribuídos, primeiro verifique a página MediaWiki:WikiLove.js no seu wiki local.
Isso incluirá quaisquer substituições locais.
Em seguida, dê uma olhada na [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|configuração padrão]].
Isso mostrará a árvore básica de dados que compõe as configurações do WikiApreço.
Depois de decidir quais valores deseja alterar, vá para o arquivo skin.js no wiki que você está usando.
(Se você estiver na Wikipédia em inglês, por exemplo, você editaria [[w:Special:MyPage/common.js|esta página]].)
Para alterar um item existente, simplesmente substitua seu valor com uma declaração de atribuição.
<span id="Change_an_existing_type"></span>
=== Alterar um tipo existente ===
Por exemplo, se você quisesse mudar o nome de exibição de 'Gatinhos' para 'Gatos', você adicionaria o seguinte ao seu arquivo .js local ([[Special:MyPage/skin.js|User:Example/skin.js]]):
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
Se você quisesse mudar a imagem de ''Crepioca'', você adicionaria:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== Adicionar um novo tipo ===
Você também pode adicionar um tipo de item (ou subtipo) completamente novo usando a estrutura de árvore JSON. Por exemplo, para adicionar "Ouriços":
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // nome do tipo (aparece no menu de tipos)
fields: [ 'header', 'message' ], // campos a serem solicitados no formulário
header: 'A hedgehog for you!', // cabeçalho que aparece no topo da postagem na página de discussão (opcional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 é o nome do arquivo de imagem, $1 é a mensagem
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // largura máxima das imagens na galeria
height: 150, // altura máxima das imagens na galeria
number: 3 // número de imagens aleatórias a serem exibidas (opcional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // aparece no menu de tipos
};
} );
</syntaxhighlight>
Certifique-se de declarar todos os parâmetros apropriados ao adicionar novos itens! Para aprender sobre todos os diferentes parâmetros de tipo, consulte a [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|documentação da extensão]].
<span id="Create_a_new_type_icon"></span>
=== Criar um novo ícone de tipo ===
O arquivo fonte do Photoshop para os ícones de tipo do WikiApreço (os ícones em preto e branco que aparecem no menu à esquerda) pode ser [[https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles baixado]].
Para criar o seu próprio, cole uma imagem que tenha aproximadamente 50 × 50 pixels, dessature-a e copie e cole os estilos aplicados aos exemplos no arquivo fonte.
<span id="Change_the_heart_icon"></span>
=== Alterar o ícone de coração ===
Você também pode personalizar o ícone de coração do WikiApreço usado na skin Vector editando seu arquivo vector.css ({{Blue|User:Example/vector.css}}).
Se você quiser mudar o ícone de coração vermelho para um coração azul, por exemplo, você adicionaria o seguinte:
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== Pedidos de implantação adicional ==
Wikis individuais podem solicitar que o WikiApreço seja implementado para eles, desde que os seguintes critérios sejam atendidos:
* Consenso da comunidade para a implementação foi alcançado
* A extensão WikiApreço foi localizada para o idioma do wiki no TranslateWiki (você pode [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 ajudar a localizá-la])
* Um arquivo de configuração existe no wiki local ([[MediaWiki:WikiLove.js]])
Uma vez que esses critérios sejam atendidos, abra um bug no [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] solicitando a implementação.
<span id="WikiLove_activity_in_real-time"></span>
== Atividade do WikiApreço em tempo real ==
O WikiApreço coleta dados em suas próprias tabelas, mas esses dados ainda não são exibidos na interface do usuário.
Para ver rapidamente o que está acontecendo, você pode usar [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 o filtro de edição 423] na Wikipédia em inglês.
Estamos a coletar histórias da utilização do WikiApreço aqui para uma melhor compreensão da evolução do seu impacto: [[Special:MyLanguage/WikiLove/Stories|WikiApreço/Histórias]]
Algumas análises preliminares: [[Special:MyLanguage/WikiLove/Analysis|WikiApreço/Análise]]
<span id="Additional_documents"></span>
== Documentação adicional ==
* Documentação da extensão: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|Documento de ''design'']]
* Teste do Usuário: consulte [[etherpad:UserTestToc|vídeos]]{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=Atualizações}}
* {{ll|WikiLove/Media coverage|2=Cobertura de mídia com base em post do blog de 24 de junho}}
* {{ll|WikiLove/Idea Log|2=Registro de ideias}}
* {{ll|WikiLove/Data|2=Dados}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
21hd2vffj91bd0ux0no30wh196g24ep
WikiLove/es
0
260104
8390511
8254194
2026-05-25T10:48:50Z
FuzzyBot
451990
Updating to match new version of source page
8390511
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Una extensión para alentar expresiones de aprecio entre los usuarios.
| start = 2011-05-02
| end = 2011-07
| group = Características:
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Una impresión del concepto abstracto de WikiLove|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
:''Con el reconocimiento, hacemos de la excelencia en otros algo propio.'' — Voltaire
'''WikiAprecio''' es una característica diseñada para hacer más fácil y divertida la expresión pública de aprecio hacia otros usuarios.
WikiAprecio puede ser llamado desde cualquier página de usuario al hacer clic en el icono de "Corazón".
Fue desarrollado originalmente por Ryan Kaldari como un script de usuario, y ahora se encuentra disponible como una [[Special:MyLanguage/Extension:WikiLove|extensión de MediaWiki]], la cual puede ser añadida por los desarrolladores a sus wikis.
<span id="Rationale"></span>
== Justificación ==
<span class="mw-translate-fuzzy">A las personas les agrada ser valoradas. De acuerdo a una encuesta de 2011 sobre los editores de Wikipedia (véase la [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|información de la línea superior]]), de entre 17 variables "ser menospreciado por los usuarios más experimentados" es la causa más común por la que las personas editarían menos (69% de apoyo), mientras que "recibir cumplidos por las ediciones y contribuciones" es el motivo más común por el que los usuarios editarían mas frecuentemente (78% de apoyo). Véase también: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Retroalimentación positiva ayuda a editar, dicen los editores de Wikipedia"]] en el blog de Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span class="mw-translate-fuzzy">Por otro lado, la edición de Wikipedia ha tendido a ser más difícil con el tiempo, y la probabilidad de cómo los nuevos usuarios recibirán la corrección / crítica ha aumentado. Ésto se refleja en diversos esfuerzos para codificar y analizar la experiencia de los nuevos usuarios, así como la reciente investigación de la estrategia para enseñar al neófito rápidamente emprendida dentro del ámbito de nuestro ''Verano de Investigación''.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span class="mw-translate-fuzzy">Proporción relativa a los diferentes tipos de mensajes enviados a usuarios nuevos de la Wikipedia inglesa, codificado como [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|Tendencias de estrategia aprendizaje rápido para neófitos]]</span>]]
<span id="Key_dates"></span>
== Fechas clave ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16 de junio de 2011: WikiAprecio es activado en [$proto prototype.wikimedia.org]
* 24 de junio de 2011: WikiAprecio es una herramienta por defecto para los usuarios registrados en prototype.wikimedia.org
* 30 de junio de 2011: WikiAprecio se implementa en la Wikipedia en inglés. Véanse las [[w:Special:AbuseLog?title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=|acciones mediante WikiAmor]].
* 28 de octubre de 2011: WikiAprecio se [[bugzilla:31831#c3|implementa]] en la [[:mk:|Wikipedia en macedonio]] (bajo el nombre de "ВикиЉубов").</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<span id="How_to_disable"></span>
== Cómo desactivarlo ==
Para desactivar WikiAprecio, dirigirse a la pestaña de Edición en [[:es:Special:Preferences#mw-prefsection-editing|Preferencias]], y desmarcar la casilla "Permitir agradecer a otros usuarios con la pestaña Wikiaprecio" debajo de las páginas de Usuario. Tras ello, Guardar.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== Cómo personalizarlo ==
{{notice|1=Esta sección es sobre cómo personalizar WikiAprecio para un editor individual. Para aprender cómo personalizar WikiAprecio para toda una wiki, ver {{ll|Extension:WikiLove}}.}}
<span class="mw-translate-fuzzy">La interfaz de WikiAprecio puede ser adecuada a las necesidades de cada editor individual. Si quieres usar WikiAprecio para dejar mensajes de bienvenidas, tartas de cumpleaños, o erizos, es fácil sobreescribir la configuración por defecto con encuadres propios.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span class="mw-translate-fuzzy">La configuración de WikiAprecio es amplia [[w:JSON|JSON]], así que, para hacer un cambio o adición, todo lo que tiene que hacer es modificar los valores asignados a las claves. Para ver cuáles son los valores actualmente asignados, primero revisar la página MediaWiki:Wikilove.js en vuestro local wiki; ésto hará sobreescribir cualquier local. Luego, ojear en la [$svn-wlove default configuration]; ésto te mostrará el árbol básico de datos que hace los encuadres para WikiAprecio. Una vez decididos lo que valores a cambiar, ir a vuestro skin.js archivo en la wiki que estás utilizando. (Si eres en la Wikipedia inglesa, por ejemplo, editarías [[w:Especial:MyPage/common.js|esta página]].) Para cambiar un elemento existente, sencillamente modifica su valor con una nueva asignación.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<span id="Change_an_existing_type"></span>
=== Cambio un tipo existente ===
Por ejemplo, si quisieras cambiar el nombre mostrado de 'Gatitos' a 'Gatos', añadirías lo siguiente a vuestro personal <code>.js</code> archivo ([[Special:MyPage/skin.js|User:Example/skin.js]]):
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
Si quisiera cambiar la imagen para ''stroopwafels'', añadirías:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== Tipos adicionales ===
También puedes añadir un tipo (o subtipo) totalmente nuevo utilizando la estructura de árbol JSON. Por ejemplo, para añadir "Erizos":
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
Asegúrate que declaras todos los parámetros apropiados al añadir nuevos elementos. Para aprender sobre los diferentes tipos de parámetros, consultar la [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
<span id="Create_a_new_type_icon"></span>
=== Crear un tipo nuevo de icono ===
<span class="mw-translate-fuzzy">El archivo de fuente de Photoshop para los iconos del tipo WikiAprecio (iconos negros y blancos que aparece en el menú de la izquierda) se puede descargar [$wlove-iconos aquí]. Para crear el vuestro propio, pégalo en un gráfico de aproximadamente 50 x 50 píxeles, desatúralo, y copia y pega los estilos aplicados a los ejemplos en el archivo de fuente.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<span id="Change_the_heart_icon"></span>
=== Cambio el icono de corazón ===
<span class="mw-translate-fuzzy">También puedes personalizar el icono WikiAprecio de corazón utilizado en el tema Vector editando vuestro archivo vector.css ({{Blue|User:Example/vector.css}}). Si quieres cambiar el icono de corazón rojo a un corazón azul, por ejemplo, añadirías lo siguiente:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== Peticiones para Despliegue Adicional ==
Las wiki individuales puede solicitar un despliegue de provisto de los siguientes criterios:
<div class="mw-translate-fuzzy">
* Consenso de la comunidad para el despliegue logrado
* Extensión WikiAprecio traducida al idioma de esa wiki en TranslateWiki (puedes ayudar [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 aquí])
* Que exista un fichero de configuración en la wiki local ([[MediaWiki:WikiLove.js|MediaWiki:WikiLove.js]])
</div>
Una vez reunidos estos criterios, abrir una incidencia en [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] solicitando el despliegue.
<span id="WikiLove_activity_in_real-time"></span>
== Actividad WikiAprecio en tiempo real ==
<span class="mw-translate-fuzzy">WikiAprecio reúne datos en tablas propias, pero estos datos no son visibles mediante la interfaz de usuario aún. Para ojear rápidamente cómo va, puede usarse [$abuselog edit filter 423] de la Wikipedia inglesa.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
Reunimos historia del uso de WikiAprecio aquí para comprender mejor su creciente impacto: [[Special:MyLanguage/WikiLove/Stories|WikiAprecio/Historias]]
Algunos análisis preliminares: [[Special:MyLanguage/WikiLove/Analysis|WikiAprecio/Análisis]]
<span id="Additional_documents"></span>
== Documentos adicionales ==
* Documentación de la extensión: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|Diseño]]
* Testeo: véanse los [[etherpad:UserTestToc|videos]]{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=Actualizaciones de estado}}
* {{ll|WikiLove/Media coverage|2=Archivos multimedia cubiertos según la entrada del blog del 24 de junio}}
* {{ll|WikiLove/Idea Log|2=Registro de ideas}}
* {{ll|WikiLove/Data|2=Datos}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
64gbnt18cnrlts5akrru8fhwe66nhia
WikiLove/fr
0
273975
8390512
8254198
2026-05-25T10:48:52Z
FuzzyBot
451990
Updating to match new version of source page
8390512
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Une extension pour encourager l'expression d'appréciations entre utilisateurs.
| start = 2011-05-02
| end = 2011-07
| group = Caractéristique
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Impression du concept abstrait de WikiLove|thumb|Impression du concept abstrait de WikiLove]]
<noinclude>
:''Par reconnaissance, nous faisons de l'excellence chez les autres notre propre propriété.'' — Voltaire
'''WikiLove''' est une fonctionnalité qui a pour but de rendre facile et amusante l'appréciation publique des autres utilisateurs.
On peut utiliser WikiLove à partir de n'importe quelle page utilisateur en cliquant sur le bouton représentant un « cœur ».
Cette fonctionnalité a d'abord été développée par Ryan Kaldari comme un script utilisateur, et elle est maintenant disponible en tant qu'[[Special:MyLanguage/Extension:WikiLove|extension MediaWiki]] que les développeurs peuvent ajouter à leur wiki.
<span id="Rationale"></span>
== Principe ==
Les utilisateurs aiment être valorisés. D'après le sondage 2011 auprès des contributeurs Wikipedia (voir les [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|données résumées]]), parmi 17 items, « Être ignoré par les contributeurs plus expérimentés » est - au dire des utilisateurs -, la cause la plus probable pour qu'ils fassent des contributions moins souvent (69% des cas), alors que « Recevoir des compliments sur ses modifications ou ses articles » entraine qu'ils feront des modifications plus souvent (78% des cas).
Voir aussi : [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|« Les commentaires positifs encouragent à contribuer, d'après les éditeurs de Wikipedia »]] sur le blog Wikimedia.
D'un autre côté, éditer Wikipedia tend à devenir de plus en plus compliqué dans le temps, et la probabilité que les nouveaux utilisateurs soient corrigés/critiqués a grimpé.
C'est le reflet de divers efforts pour codifier et analyser l’expérience des nouveaux utilisateurs, comme récemment le ''Newbie teaching strategy research sprint'' entrepris dans le cadre de notre Été de la Recherche.
[[File:Message-features-area.png|thumb|500px|center|Proportion des différents types de messages envoyés aux nouveaux utilisateurs de la Wikipedia anglophone, tel qu'indiqué dans le [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|''Newbie teaching strategy trends research sprint'']]]]
<span id="Key_dates"></span>
== Dates principales ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16 juin 2011 : WikiLove est activé sur [$proto prototype.wikimedia.org]
* 24 juin 2011 : WikiLove est activé par défaut pour les utilisateurs enregistrés sur prototype.wikimedia.org ; appel fait sur le blog aux testeurs</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span class="mw-translate-fuzzy">* 30 juin 2011 : WikiLove est déployé sur la Wikipédia anglophone. Voir les [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span class="mw-translate-fuzzy">* 28 octobre 2011 : WikiLove est [[bugzilla:31831#c3|déployé]] sur la [[:mk:|Wikipedia macédonienne]] (sous le nom de "ВикиЉубов").</span>
<span id="How_to_disable"></span>
== Comment le désactiver ==
Pour désactiver WikiLove, allez dans l'onglet de ''Modification'' de vos [[:fr:Special:Preferences#mw-prefsection-editing|Préférences]], et décochez la case à côté de « "Activer l'onglet WikiLove servant à signifier aux autres contributeurs votre appréciation » sur les pages utilisateur. Cliquez ensuite sur ''Enregistrer les préférences''.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== Comment personnaliser ==
{{notice|1=Cette section concerne la personnalisation de WikiLove pour un contributeur individuel. Pour apprendre comment personnaliser WikiLove sur un wiki entier, voir {{ll|Extension:WikiLove}}.}}
L'interface WikiLove peut être adapté pour convenir aux besoins de chaque contributeur individuel.
Si vous voulez utiliser WikiLove pour envoyer des messages de bienvenue, des gateaux d'anniversaire, ou des petits hérissons, il est facile de redéfinir la configuration par défaut avec vos propres valeurs.
La configuration de WikiLove est comme un gros objet [[w:JSON|JSON]], et pour modifier ou ajouter quelque chose, vous n'avez qu'à modifier les valeurs assignées aux clés.
Pour afficher les valeurs courantes, allez d'abord sur la page ''MediaWiki:WikiLove.js'' de votre wiki local.
Ceci peut être redéfini localement.
Ensuite, allez voir la [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|configuration par défaut]].
Cela vous montrera l'arborescence de base des données qui paramètrent WikiLove.
Une fois définies les valeurs à changer, allez voir le fichier ''skin.js'' du wiki que vous utilisez.
(Si vous êtes par exemple sur la Wikipedia anglophone, mettez à jour [[w:Special:MyPage/common.js|cette page]].)
Pour modifier un élément existant, remplacez simplement sa valeur par une nouvelle affectation.
<span id="Change_an_existing_type"></span>
=== Changer un type existant ===
Par exemple, pour que le nom affiché 'Kittens' (chatons) devienne 'Cats' (chats), ajoutez ceci à votre fichier <code>.js</code> local ([[Special:MyPage/skin.js|User:Example/skin.js]]) :
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
Pour changer l'image de ''Stroopwafels'', il faut ajouter :
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== Ajouter un nouveau type ===
Vous pouvez également ajouter un nouveau type complet d'élément (ou un sous-type) en utilisant la structure de l'arbre JSON. Par exemple, pour ajouter ''Hedgehogs'' :
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // nom du type (s'affiche dans le menu des types)
fields: [ 'header', 'message' ], // champs de saisie du formulaire
header: 'A hedgehog for you!', // entête apparaissant au début du billet de la page de discussion (optionnel)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 est le nom de fichier de l'image, $1 est le message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // largeur maximale des images de la galerie
height: 150, // hauteur maximale des images de la galerie
number: 3 // nombre d'images aléatoires à afficher (optionnel)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // s'affiche dans le menu des types
};
} );
</syntaxhighlight>
Assurez-vous d'avoir bien déclaré tous les paramètres appropriés lorsque vous ajoutez de nouveaux éléments ! Pour en savoir plus sur les différents types de paramètres, consultez la [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|documentation de l'extension]].
<span id="Create_a_new_type_icon"></span>
=== Créer un nouveau type d'icône ===
Le fichier source Photoshop correspondant aux icônes de types WikiLove (icônes en noir et blanc qui apparaissent dans le menu de gauche) peut être téléchargé [[$1|ici]].
Pour créer la vôtre, collez un graphique d'environ 50 x 50 pixels, désaturez-le, puis copiez et collez les styles appliqués aux exemples dans le fichier source.
<span id="Change_the_heart_icon"></span>
=== Changer l'icône du cœur ===
Vous pouvez également personnaliser l'icône du coeur WikiLove dans l'habillage ''Vector'' en modifiant votre fichier ''vector.css'' ({{Blue|User:Example/vector.css}}).
Pour transformer le coeur rouge en coeur bleu sur l'icône, vous pouvez par exemple ajouter ceci :
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== Demandes de déploiement additionnel ==
Les wikis individuels peuvent nécessiter que WikiLove y soit déployé moyennant que les critères suivants sont satisfaits :
* le consensus de la communauté pour le déploiement a été atteint
* l'extension WikiLove a été traduite dans la langue du wiki sur TranslateWiki (vous pouvez nous aider pour cela [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 ici])
* il existe un fichier de configuration [[MediaWiki:WikiLove.js]] sur le wiki local
Une fois ces critères satisfaits, ouvrez un rapport de bogue dans [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] pour demander le déploiement.
<span id="WikiLove_activity_in_real-time"></span>
== Activité WikiLove en temps réel ==
WikiLove collecte les données dans ses propres tables mais elles ne sont pas encore exposées sur l'interface utilisateur.
Pour voir rapidement ce qui se passe ensuite, utilisez le [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 filtre d'édition 423] sur la Wikipedia anglophone.
Nous collectons l'historique de l'utilisation de WikiLove ici pour mieux comprendre l'impact de son évolution : [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
Quelques analyses préliminaires : [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analyse]]
<span id="Additional_documents"></span>
== Documents additionnels ==
* Documentation de l'extension : {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|Document d'architecture]]
* Test des utilisateurs : voir les [[etherpad:UserTestToc|vidéos]]{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=Dernières mises à jour}}
* {{ll|WikiLove/Media coverage|2=Couverture des medias basée sur les billets de blog du 24 juin 2011}}
* {{ll|WikiLove/Idea Log|2=Journal des idées}}
* {{ll|WikiLove/Data|2=Données}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
1gw2rr9qgnpn44hukpccsdwqo94kb6h
Help:Deletion and undeletion/ko
12
287291
8390090
8071117
2026-05-24T14:12:35Z
YeBoy371
2746081
8390090
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
일반 사용자는 일반적으로 '''문서 영구 삭제'''를 할 수 없으나, 관리자는 문서가 복구될 수 있도록 삭제할 수 있습니다.
이는 숙고하기 위한 설계 기능이고 왜 위키가 작동하는가의 중요한 부분입니다.
삭제된 문서 복구를 포함하여 모든 작업은 되돌릴 수 있습니다.
<span class="mw-translate-fuzzy">문서 삭제는 작은 '삭제' 버튼만 누르면 이유 적시를 거친 후 진행됩니다.</span>
'''문서 삭제'''는 [[Special:MyLanguage/Help:Sysops and permissions|관리자 권한]]을 가지고 있는 누구에게나 동일하게 동작합니다. 즉 한 번 삭제된 문서는 관리자가 복구하지 않는 한 반영구적으로 삭제된다는 것입니다.
<span class="mw-translate-fuzzy">일반적으로 관리자는 일정 기간 후 삭제 신청 문서를 찾고, 이 페이지들에 대해 적절한 작업들을 수행합니다.</span>
만일 문서가 심각한 개인 정보 유포 등의 이유로 즉시 삭제되어야 한다면, 삭제를 요청하기 위해 관리자와 직접 접촉하셔야 합니다.
[[Special:MyLanguage/Help:RevisionDelete|특정판 삭제]]는 문서 전체가 아닌, 문서 중 특정한 버전만을 삭제할 수 있도록 하는 기능입니다.
<span id="Before_deleting"></span>
== 삭제하기 전에 ==
관리자에게는 [[#When not to delete a page|언제 문서를 삭제하면 안 되는지]]에 대한 조언 문서를 읽어보는 것이 권장됩니다. 삭제가 너무 빠르거나 극단적인 상황은 여럿 일어납니다. 그 예로는 넘겨주기가 적절하겠군요.
삭제하기 전에 몇 가지 사항을 확인해야 합니다.
* "<code>{{int|whatlinkshere}}</code>" 도구를 사용하세요. 이것은 어떤 문서가 이 문서와 연관되어 있는지, 즉 링크로 이 문서를 가리키고 있는지 알려줍니다. 아마도 그 문서는 매우 많은 문서에서 링크하고 있을 수도 있겠군요. 삭제를 하게 되면 이 문서에 대한 모든 링크는 빨간색으로 변하게 됩니다. 이 문서가 존재할 이유가 없다면 문서에 대한 모든 링크는 변경 또는 삭제되는 것이 바람직합니다. 문서를 삭제하기 이전에 위키 공동체에 조언을 구하는 것도 괜찮습니다.
* 문서 역사, 그리고 관련된 토론 페이지를 확인하세요. 누가 삭제를 요청했나? 누가 반대하는가? 적절하게 논의되었는가? 이의를 제기할 충분한 시간을 가졌는가? 누군가가 문서 훼손을 위해 삭제 제안을 하였는가?
대개 위 다섯 가지 조건을 통하여 삭제에 대한 검토가 이루어집니다. 각 조건에 대한 세부적인 정도는 위키 공동체의 규모나, 삭제 신청 사유의 명백성 등에 따라 달라집니다.
오직 관리자만이 삭제 행위를 취소할 수 있고 일반 사용자에게는 영구적으로 삭제된 것처럼 보인다는 것을 명심하세요.
<span id="Use_the_'delete'_action"></span>
== 삭제 기능 사용 ==
<span class="mw-translate-fuzzy">관리자는 모든 문서의 상단 '동작 메뉴'에서 '삭제', 또는 다른 선택 사항을 선택할 수 있습니다.</span>
<span class="mw-translate-fuzzy">'동작 메뉴'는 문서 상단 '역사 보기' 탭 우측의 아래 방향 화살표나 삼각형을 클릭함으로서 찾을 수 있습니다.</span>
마우스를 삼각형 위에 올리면 '삭제', '옮기기', '보호', '주시' 선택 사항이 나타나게 됩니다.
문서를 삭제하기 위해 '삭제'를 클릭하세요.
<span class="mw-translate-fuzzy">사용하는 브라우저가 키보드 단축키를 지원하면 (Control-Alt-D)를 사용할 수 있습니다.</span>
시스템은 정말로 삭제하고자 하는 것이 맞는지 다시 한 번 확인을 요청하며, 이 페이지에서 삭제 이유를 표기할 수 있습니다.
삭제 이유와 함께 나타나는 작은 입력창에 삭제 이유를 입력하시면 됩니다.
<span lang="en" dir="ltr" class="mw-content-ltr">You can also delete the associated talk page along with the subject page.</span>
여러분의 행동은 최근 바뀜 문서와 삭제 기록([[Special:Log]])에 나타납니다.
관리자 만 업로드 된 파일을 삭제할 수 있습니다.
<span id="Undeleting"></span>
== 되살리기 ==
<span lang="en" dir="ltr" class="mw-content-ltr">Pages can be completely undeleted, all revisions and page contents are stored.</span>
문서를 되살리기 위해 정확한 문서 이름을 검색하여, 해당 문서로 이동해야 합니다.
문서 제목을 모르신다면 삭제 기록([[Special:Log]])에서 찾을 수 있습니다.
해당 문서로 이동할 경우 "<code>{{int|thisisdeleted|{{int|restorelink|n}}}}</code>" 링크를 볼 수 있습니다.
복구를 원하는 판 (대개 전체 판을 선택합니다)을 체크합니다.
<span id="Configuring_deletion_reasons"></span>
== 삭제 이유 설정하기 ==
자주 쓰이는 삭제 이유를 상자 클릭만으로 지정할 수 있게 하는 목록 상자에 표시될 이유 목록은 [[MediaWiki:Deletereason-dropdown]]에서 수정할 수 있습니다.
<span lang="en" dir="ltr" class="mw-content-ltr">For deletion of Files:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The list of reasons in the dropdown box is maintained at [[MediaWiki:Filedelete-reason-dropdown]].</span>
<span id="When_not_to_delete_a_page"></span>
== 문서를 삭제하지 말아야 할 때 ==
일반적으로 문서의 내용이 전체적으로 부적절하고 위키의 목적에 맞지 않을 때 문서를 삭제하게 됩니다.
문서 삭제가 아닌 다른 행동이 취해저야 하는 상황에서는 적은 단계의 과정을 거칩니다. 그 예로:
* 문서의 제목이 잘못되어, 다른 제목으로 이동되어야 합니다. {{ll|Help:Moving a page}}을 참고하세요.
* 내용이 이 문서가 아닌 다른 문서에 있어야 합니다. -- 내용을 다른 문서로 잘라내기 → 붙여넣기하고 이 문서는 넘겨주기 형태로 바꿉니다. {{ll|Help:Redirects}}을 참고하세요.
* 내용이 이미 다른 문서에 있습니다. -- 중복된 내용을 삭제하고 넘겨주기만을 남기세요. 다른 사람이 자주 검색하는 비공식 표제어나, 이해할 수 있는 문서 제목은 넘겨주기를 사용하는 것이 적절합니다. {{ll|Help:Redirects}}을 참고하세요.
* 정보가 오래되어 갱신이 필요한 문서입니다. -- '~이다.'와 같은 현재형 문장들을 '~였다.'와 같은 과거형 문장으로 바꾸세요. 또는 '이 문서는 정보가 오래되어 갱신하여야 합니다.'와 같은 알림 상자를 추가할 수도 있습니다.
<div class="mw-translate-fuzzy">
* [[$meta-dont-del-redir|m:넘겨주기를 삭제하지 마세요]].
</div>
보통 실제 삭제는 문서의 "제목"이 적절하지 않을 때 필요합니다.
다른 상황에서는 합치기나 넘겨주기가 더 적합합니다.
<span id="Proposing_changes"></span>
== 변경 제안 ==
적절한 문서 제목을 결정하는 것은 어려운 면이 있고, 종종 논쟁을 발생시키기도 합니다.
만약 합치기나 삭제를 결정한 것이 혼란을 야기한다면 먼저 수정 제안을 해야합니다.
이는 [[Special:MyLanguage/Help:Talk pages|토론 문서]]에 여러분의 의견을 남김으로서 진행됩니다.
또는 모든 사람이 여러분의 의견을 알 수 있도록 문서에 '병합 필요'나 '삭제 요청' 등의 틀을 달 수도 있습니다.
<span id="Unlinking_a_page"></span>
=== 문서를 가리키는 링크 제거 ===
<span class="mw-translate-fuzzy">사이드바의 도구 모음에 있는 '여기를 가리키는 문서' 기능은 현재 문서를 링크하고 있는 다른 문서의 목록을 표시합니다.</span>
항상 삭제하기 전 확인을 위해 이 기능을 사용하세요.
삭제 대상과 연관된 문서 목록은 링크들을 수정하는 데에 필요합니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Code stewardship ==
</div>
{{Component|mediawiki-page-deletion}}
<span id="See_also"></span>
== 같이 보기 ==
* {{ll|Manual:Page deletion}} – <span lang="en" dir="ltr" class="mw-content-ltr">documentation for MediaWiki developers</span>
* {{ll|Manual:Administrators#Deletion|2=메뉴얼:관리자#삭제}}
* {{ll|Help:RevisionDelete}} – 활성화해야 하는 선택적 기능. {{ll|Manual:RevisionDelete}}을 참조하십시오.
[[Category:Help{{#translation:}}|Sysop deleting and undeleting]]
3tpikv6mi2uu0q6vyiigdkt8glze48c
8390092
8390090
2026-05-24T14:13:30Z
YeBoy371
2746081
8390092
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
일반 사용자는 일반적으로 '''문서 영구 삭제'''를 할 수 없으나, 관리자는 문서가 복구될 수 있도록 삭제할 수 있습니다.
이는 숙고하기 위한 설계 기능이고 왜 위키가 작동하는가의 중요한 부분입니다.
삭제된 문서 복구를 포함하여 모든 작업은 되돌릴 수 있습니다.
<span class="mw-translate-fuzzy">문서 삭제는 작은 '삭제' 버튼만 누르면 이유 적시를 거친 후 진행됩니다.</span>
'''문서 삭제'''는 [[Special:MyLanguage/Help:Sysops and permissions|관리자 권한]]을 가지고 있는 누구에게나 동일하게 동작합니다. 즉 한 번 삭제된 문서는 관리자가 복구하지 않는 한 반영구적으로 삭제된다는 것입니다.
<span class="mw-translate-fuzzy">일반적으로 관리자는 일정 기간 후 삭제 신청 문서를 찾고, 이 페이지들에 대해 적절한 작업들을 수행합니다.</span>
만일 문서가 심각한 개인 정보 유포 등의 이유로 즉시 삭제되어야 한다면, 삭제를 요청하기 위해 관리자와 직접 접촉하셔야 합니다.
[[Special:MyLanguage/Help:RevisionDelete|특정판 삭제]]는 문서 전체가 아닌, 문서 중 특정한 버전만을 삭제할 수 있도록 하는 기능입니다.
<span id="Before_deleting"></span>
== 삭제하기 전에 ==
관리자에게는 [[#When not to delete a page|언제 문서를 삭제하면 안 되는지]]에 대한 조언 문서를 읽어보는 것이 권장됩니다. 삭제가 너무 빠르거나 극단적인 상황은 여럿 일어납니다. 그 예로는 넘겨주기가 적절하겠군요.
삭제하기 전에 몇 가지 사항을 확인해야 합니다.
* "<code>{{int|whatlinkshere}}</code>" 도구를 사용하세요. 이것은 어떤 문서가 이 문서와 연관되어 있는지, 즉 링크로 이 문서를 가리키고 있는지 알려줍니다. 아마도 그 문서는 매우 많은 문서에서 링크하고 있을 수도 있겠군요. 삭제를 하게 되면 이 문서에 대한 모든 링크는 빨간색으로 변하게 됩니다. 이 문서가 존재할 이유가 없다면 문서에 대한 모든 링크는 변경 또는 삭제되는 것이 바람직합니다. 문서를 삭제하기 이전에 위키 공동체에 조언을 구하는 것도 괜찮습니다.
* 문서 역사, 그리고 관련된 토론 페이지를 확인하세요. 누가 삭제를 요청했나? 누가 반대하는가? 적절하게 논의되었는가? 이의를 제기할 충분한 시간을 가졌는가? 누군가가 문서 훼손을 위해 삭제 제안을 하였는가?
대개 위 다섯 가지 조건을 통하여 삭제에 대한 검토가 이루어집니다. 각 조건에 대한 세부적인 정도는 위키 공동체의 규모나, 삭제 신청 사유의 명백성 등에 따라 달라집니다.
오직 관리자만이 삭제 행위를 취소할 수 있고 일반 사용자에게는 영구적으로 삭제된 것처럼 보인다는 것을 명심하세요.
<span id="Use_the_'delete'_action"></span>
== 삭제 기능 사용 ==
<span class="mw-translate-fuzzy">관리자는 모든 문서의 상단 '동작 메뉴'에서 '삭제', 또는 다른 선택 사항을 선택할 수 있습니다.</span>
<span class="mw-translate-fuzzy">'동작 메뉴'는 문서 상단 '역사 보기' 탭 우측의 아래 방향 화살표나 삼각형을 클릭함으로서 찾을 수 있습니다.</span>
마우스를 삼각형 위에 올리면 '삭제', '옮기기', '보호', '주시' 선택 사항이 나타나게 됩니다.
문서를 삭제하기 위해 '삭제'를 클릭하세요.
<span class="mw-translate-fuzzy">사용하는 브라우저가 키보드 단축키를 지원하면 (Control-Alt-D)를 사용할 수 있습니다.</span>
시스템은 정말로 삭제하고자 하는 것이 맞는지 다시 한 번 확인을 요청하며, 이 페이지에서 삭제 이유를 표기할 수 있습니다.
삭제 이유와 함께 나타나는 작은 입력창에 삭제 이유를 입력하시면 됩니다.
<span lang="en" dir="ltr" class="mw-content-ltr">You can also delete the associated talk page along with the subject page.</span>
여러분의 행동은 최근 바뀜 문서와 삭제 기록([[Special:Log]])에 나타납니다.
관리자 만 업로드 된 파일을 삭제할 수 있습니다.
<span id="Undeleting"></span>
== 되살리기 ==
<span lang="en" dir="ltr" class="mw-content-ltr">Pages can be completely undeleted, all revisions and page contents are stored.</span>
문서를 되살리기 위해 정확한 문서 이름을 검색하여, 해당 문서로 이동해야 합니다.
문서 제목을 모르신다면 삭제 기록([[Special:Log]])에서 찾을 수 있습니다.
해당 문서로 이동할 경우 "<code>{{int|thisisdeleted|{{int|restorelink|n}}}}</code>" 링크를 볼 수 있습니다.
복구를 원하는 판 (대개 전체 판을 선택합니다)을 체크합니다.
<span id="Configuring_deletion_reasons"></span>
== 삭제 이유 설정하기 ==
자주 쓰이는 삭제 이유를 상자 클릭만으로 지정할 수 있게 하는 목록 상자에 표시될 이유 목록은 [[MediaWiki:Deletereason-dropdown]]에서 수정할 수 있습니다.
<span lang="en" dir="ltr" class="mw-content-ltr">For deletion of Files:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The list of reasons in the dropdown box is maintained at [[MediaWiki:Filedelete-reason-dropdown]].</span>
<span id="When_not_to_delete_a_page"></span>
== 문서를 삭제하지 말아야 할 때 ==
일반적으로 문서의 내용이 전체적으로 부적절하고 위키의 목적에 맞지 않을 때 문서를 삭제하게 됩니다.
문서 삭제가 아닌 다른 행동이 취해저야 하는 상황에서는 적은 단계의 과정을 거칩니다. 그 예로:
* 문서의 제목이 잘못되어, 다른 제목으로 이동되어야 합니다. {{ll|Help:Moving a page}}을 참고하세요.
* 내용이 이 문서가 아닌 다른 문서에 있어야 합니다. -- 내용을 다른 문서로 잘라내기 → 붙여넣기하고 이 문서는 넘겨주기 형태로 바꿉니다. {{ll|Help:Redirects}}을 참고하세요.
* 내용이 이미 다른 문서에 있습니다. -- 중복된 내용을 삭제하고 넘겨주기만을 남기세요. 다른 사람이 자주 검색하는 비공식 표제어나, 이해할 수 있는 문서 제목은 넘겨주기를 사용하는 것이 적절합니다. {{ll|Help:Redirects}}을 참고하세요.
* 정보가 오래되어 갱신이 필요한 문서입니다. -- '~이다.'와 같은 현재형 문장들을 '~였다.'와 같은 과거형 문장으로 바꾸세요. 또는 '이 문서는 정보가 오래되어 갱신하여야 합니다.'와 같은 알림 상자를 추가할 수도 있습니다.
* [[m:Special:MyLanguage/Don't delete redirects|m:넘겨주기를 삭제하지 마세요]].
보통 실제 삭제는 문서의 "제목"이 적절하지 않을 때 필요합니다.
다른 상황에서는 합치기나 넘겨주기가 더 적합합니다.
<span id="Proposing_changes"></span>
== 변경 제안 ==
적절한 문서 제목을 결정하는 것은 어려운 면이 있고, 종종 논쟁을 발생시키기도 합니다.
만약 합치기나 삭제를 결정한 것이 혼란을 야기한다면 먼저 수정 제안을 해야합니다.
이는 [[Special:MyLanguage/Help:Talk pages|토론 문서]]에 여러분의 의견을 남김으로서 진행됩니다.
또는 모든 사람이 여러분의 의견을 알 수 있도록 문서에 '병합 필요'나 '삭제 요청' 등의 틀을 달 수도 있습니다.
<span id="Unlinking_a_page"></span>
=== 문서를 가리키는 링크 제거 ===
<span class="mw-translate-fuzzy">사이드바의 도구 모음에 있는 '여기를 가리키는 문서' 기능은 현재 문서를 링크하고 있는 다른 문서의 목록을 표시합니다.</span>
항상 삭제하기 전 확인을 위해 이 기능을 사용하세요.
삭제 대상과 연관된 문서 목록은 링크들을 수정하는 데에 필요합니다.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Code stewardship ==
</div>
{{Component|mediawiki-page-deletion}}
<span id="See_also"></span>
== 같이 보기 ==
* {{ll|Manual:Page deletion}} – <span lang="en" dir="ltr" class="mw-content-ltr">documentation for MediaWiki developers</span>
* {{ll|Manual:Administrators#Deletion|2=메뉴얼:관리자#삭제}}
* {{ll|Help:RevisionDelete}} – 활성화해야 하는 선택적 기능. {{ll|Manual:RevisionDelete}}을 참조하십시오.
[[Category:Help{{#translation:}}|Sysop deleting and undeleting]]
lvl700rdan79mc4rmrdbmj8kw0xd2f1
Phabricator/Code
0
299487
8390267
8034907
2026-05-25T05:18:55Z
Rebulka
17532855
editace
8390267
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream. This sounds like a major obstacle, but in practice, the upstream maintainers are very prompt in responding to suggestions.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See [[Phabricator/Local Dev Environment]].
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
56ptfsgvnlfnl2otc1ehbdypkhqskzm
8390278
8390267
2026-05-25T05:23:53Z
Rebulka
17532855
editace
8390278
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream. This sounds like a major obstacle, but in practice, the upstream maintainers are very prompt in responding to suggestions.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See [[Phabricator/Local Dev Environment]].
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
5n544gmper5p3qd5gcqu22i50b01jxw
8390287
8390278
2026-05-25T05:25:25Z
Rebulka
17532855
editace
8390287
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream. This sounds like a major obstacle, but in practice, the upstream maintainers are very prompt in responding to suggestions.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See [[Phabricator/Local Dev Environment]].
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `<tvar name=1>phabricator::labs</tvar>` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
6ducgmvfe5hwusku0tx5bkk8e7kl4in
8390296
8390287
2026-05-25T05:29:19Z
Rebulka
17532855
editace
8390296
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream. This sounds like a major obstacle, but in practice, the upstream maintainers are very prompt in responding to suggestions.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See [[Phabricator/Local Dev Environment]].
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `<tvar name=1>phabricator::labs</tvar>` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [<tvar name=url>https://git.collabora.com/cgit/user/em/phabricator.git/</tvar> phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
f1t5ye3acd83nil40yihuzwo424iva4
8390305
8390296
2026-05-25T05:32:09Z
Rebulka
17532855
editace
8390305
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream. This sounds like a major obstacle, but in practice, the upstream maintainers are very prompt in responding to suggestions.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See <tvar name=1>[[Phabricator/Local Dev Environment]]</tvar>.
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `<tvar name=1>phabricator::labs</tvar>` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [<tvar name=url>https://git.collabora.com/cgit/user/em/phabricator.git/</tvar> phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
sqxhkwfn7v1a5frpjja3pwevxgpdw69
8390319
8390305
2026-05-25T07:52:49Z
AKlapper (WMF)
790805
Remove outdated sentence about previous upstream
8390319
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See <tvar name=1>[[Phabricator/Local Dev Environment]]</tvar>.
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `<tvar name=1>phabricator::labs</tvar>` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate><!--T:84--> Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [<tvar name=url>https://git.collabora.com/cgit/user/em/phabricator.git/</tvar> phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
19sg6rikpaxk185io5ahzg7zqa2r47h
8390320
8390319
2026-05-25T07:55:00Z
AKlapper (WMF)
790805
Remove irrelevant other migration script links from 11 years ago which are now 404s
8390320
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> This document describes the development process for [[<tvar name=1>phab:</tvar>|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</translate>
<translate><!--T:2--> In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</translate>
<translate><!--T:3--> Afterwards, there are a few notes on how to get started with the actual development.</translate>
<translate>
== Phabricator at Wikimedia == <!--T:4-->
</translate>
<translate><!--T:5--> Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</translate>
<translate><!--T:6--> The exceptions to this are ''extensions'', which live in a [<tvar name=url>https://gitlab.wikimedia.org/repos/phabricator/extensions/</tvar> separate repository] and thus do not need regular merges.</translate>
<translate><!--T:7--> Any other changes thus have to pass through upstream.</translate>
<translate>
== Wikimedia Phabricator bug workflow == <!--T:8-->
</translate>
<translate><!--T:9--> It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</translate>
<translate><!--T:10--> <tvar name=phab>[[phab:project/profile/5/|#phabricator]]</tvar> for WMF-specific bugs and</translate>
<translate><!--T:11--> <tvar name=phab-org>[[phab:project/profile/6/|#phabricator-upstream]]</tvar> for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</translate>
<translate>
<!--T:47-->
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</translate>
; <translate><!--T:48--> Backlog: This is where new tasks land by default.</translate> <translate><!--T:49--> Stalled tasks can also be found here.</translate>
: <translate><!--T:51--> These tasks could potentially go into the [<tvar name=phorgeurl>https://we.phorge.it/</tvar> Phorge bug tracker]. When doing so, you must follow:</translate>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <translate><!--T:90--> Phorge's guidelines for bug reports</translate>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <translate><!--T:91--> Phorge's guidelines for feature requests</translate>]
; <translate><!--T:52--> Upstreamed: Tasks which have been reported upstream.</translate>
; <translate><!--T:85--> Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</translate>
<translate><!--T:54--> Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</translate>
''<translate><!--T:55--> At this point a developer can start with the implementation.</translate>''
<translate><!--T:56--> In some cases, the upstream developers will decide a feature does not fit into their plans.</translate>
<translate><!--T:57--> In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</translate>
<translate><!--T:58--> Once this has been decided, one can start with the implementation.</translate>
<translate>
<!--T:92-->
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) == <!--T:93-->
</translate>
* [https://we.phorge.it/ponder/question/create/ <translate><!--T:94--> Ask a new question about Phorge</translate>]
* [https://we.phorge.it/ponder/ <translate><!--T:95--> Browse questions and answers about Phorge</translate>]
* [https://we.phorge.it/tag/affects-wikimedia/ <translate><!--T:96--> See the Tag <tvar name=tag>#affects-wikimedia</tvar> in Phorge</translate>]
<translate>
== Local changes == <!--T:20-->
</translate>
<translate><!--T:21--> As mentioned in the previous section, we try to keep local patches to a minimum.</translate>
<translate><!--T:78--> There are limited resources available to maintain patches, and to merge them with changes from upstream.</translate>
<translate><!--T:79--> Any local patches therefore have to be discussed within the #phabricator project.</translate>
<translate><!--T:80--> It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</translate>
<translate><!--T:81--> Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</translate>
<translate><!--T:82--> Phorge does not have any frozen APIs which are deemed safe to depend on.</translate>
<translate>
<!--T:87-->
The current code of the Wikimedia Phabricator instance itself:
</translate>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<translate>
<!--T:22-->
The current locally-maintained extensions are:
<!--T:23-->
* [<tvar name=1>https://gitlab.wikimedia.org/repos/phabricator/extensions</tvar> Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at <tvar name=secure>https://secure.phabricator.com/T5096</tvar>), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.</translate>
<translate>
<!--T:88-->
* [<tvar name=1>https://gerrit.wikimedia.org/g/phabricator/antivandalism/</tvar> Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration == <!--T:26-->
<!--T:27-->
Most of the configuration is set through the web interface. Defaults (shared between <tvar name=phab>https://phabricator.wikimedia.org</tvar> and e.g. <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>) are set using either the [[<tvar name=1>phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml</tvar>|puppet maniphest]] or the [<tvar name=2>https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2</tvar> Scap template] (see <tvar name=3>[[phab:T239355]]</tvar>).
== Setting up == <!--T:28-->
<!--T:89-->
See <tvar name=1>[[Phabricator/Local Dev Environment]]</tvar>.
<!--T:29-->
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</translate>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<translate>
<!--T:77-->
* Access the Phabricator instance at URL:</translate> http://phabricator.local.wmftest.net:8080/
<translate>
<!--T:39-->
* The Phabricator install is located in `<tvar name=1>/srv/phabricator/</tvar>` (?) on the VM.
=== Using a Cloud VPS VM === <!--T:41-->
<!--T:42-->
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `<tvar name=1>phabricator::labs</tvar>` role. This should give you a basic setup with the same configuration as <tvar name=wmflabs>https://phabricator.wmcloud.org/</tvar>.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator == <!--T:43-->
</translate>
<translate><!--T:44--> The [[<tvar name=1>phab:diffusion/PHTO/browse/</tvar>|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</translate>
<translate><!--T:45--> Note that the migration code is [<tvar name=blogs>https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/</tvar> not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</translate>
<translate>
<!--T:70-->
Data was migrated from Mingle to Phabricator via a script available in <tvar name=phab>[[phab:P129]]</tvar>.
</translate>
<translate><!--T:71--> The scripts to migrate data from Trello to Phabricator are available.</translate>
<translate><!--T:72--> See <tvar name=1>[[phab:T821]]</tvar> for more information.</translate>
[[Category:Phabricator{{#translation:}}]]
d2dm6i5c25catvrq84vz63es14eg5xo
Phabricator/Bots
0
346324
8390329
8010016
2026-05-25T08:02:27Z
Rebulka
17532855
editace
8390329
wikitext
text/x-wiki
<languages />
<translate><!--T:1--> Phabricator [[<tvar name=1>Special:MyLanguage/Manual:Bots</tvar>|bots]] are users in Phabricator for whom actions are automated or are a consequence of the actions of multiple users.</translate>
<translate><!--T:32--> See the [<tvar name=url>https://we.phorge.it/book/phorge/article/users/#bot-accounts</tvar> upstream documentation] for more information.</translate>
<translate>
<!--T:3-->
Phabricator bots are similar to MediaWiki bots, and much of the general [[<tvar name=1>m:Special:MyLanguage/Bot policy</tvar>|Wikimedia bot policy]] is relevant to them.
<!--T:2-->
Check the [[<tvar name=1>phab:people/query/nHA9uASWJR6r/#R</tvar>|list of bots registered in <tvar name=2>phabricator.wikimedia.org</tvar>]].
== Separating bot accounts from personal accounts == <!--T:4-->
</translate>
<translate><!--T:5--> A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</translate>
<translate><!--T:6--> Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</translate>
<translate><!--T:7--> In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</translate>
<translate>
== Acquiring a bot == <!--T:8-->
</translate>
<translate><!--T:9--> Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</translate>
<translate><!--T:10--> In order to request a bot account, please [<tvar name=phab>https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests</tvar> create a task under the Phabricator-Bot-Requests project] with the following details:</translate>
<translate>
<!--T:11-->
* Name</translate>
<translate>
<!--T:12-->
* Purpose</translate>
<translate>
<!--T:13-->
* An email address (which can be invalid but must be unique)</translate>
<translate>
<!--T:14-->
* Responsible user or organisation
== Phabricator admins: Steps to perform == <!--T:15-->
<!--T:16-->
Steps for Phabricator admins to create such an account:
</translate>
* [[phab:people/new/bot/|<translate><!--T:17--> Create bot user</translate>]]
<translate>
<!--T:18-->
* For transparency, add human owner to bot account description</translate>
<translate>
<!--T:19-->
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".</translate> <translate><!--T:20--> Copy that token.</translate>
<translate>
<!--T:21-->
* [[<tvar name=1>phab:paste/edit/form/14/</tvar>|Create paste]] containing that token and set "View policy" to human owner and yourself</translate>
<translate>
<!--T:22-->
* Paste link in the creation request task and ask human owner to close the task once it works as expected
== Bot account holders: Steps to perform == <!--T:23-->
<!--T:24-->
These are the steps to configure arc to use your bot account.
<!--T:25-->
* Acquire account certificate for your bot</translate>
<translate>
<!--T:26-->
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</translate>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<translate>
<!--T:27-->
* Save this file somewhere.</translate> <translate><!--T:28--> The default location arc looks is "<tvar name=1><code>.arcrc</code></tvar>" in your home directory (<tvar name=2><code>~/.arcrc</code></tvar> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</translate> <translate><!--T:29--> For purposes of this example, we'll use "<tvar name=1><code>bot.arcrc</code></tvar>" in the current working directory.</translate>
<translate>
<!--T:30-->
* Run the following command as a test:
</translate>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<translate>
<!--T:31-->
This should return a short summary of a single task out of Maniphest.
</translate>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
pb1nbzk557es3ikjda318buj0xg14n0
Translations:Extension:PageTriage/20/es
1198
348159
8390121
1334410
2026-05-24T18:23:13Z
MSG0007
18297834
8390121
wikitext
text/x-wiki
* Visita especial:Nuevas página feed.
nr2mldd7yuec9zjklws3rh4qh3q6ozi
Translations:Extension:PageTriage/16/es
1198
348160
8390115
1334412
2026-05-24T18:22:39Z
MSG0007
18297834
8390115
wikitext
text/x-wiki
* Visita especial:Nuevas páginasFeed
9avlk2r495xwi2ed81sblqwi9y8cy9l
Translations:Phabricator/Code/7/en
1198
369535
8390466
1400829
2026-05-25T10:02:23Z
FuzzyBot
451990
Importing a new version from external source
8390466
wikitext
text/x-wiki
Any other changes thus have to pass through upstream.
4hsz6126xrrcy5a6lrhutosul0aiz8m
Translations:Phabricator/Code/27/en
1198
369556
8390467
6080231
2026-05-25T10:02:23Z
FuzzyBot
451990
Importing a new version from external source
8390467
wikitext
text/x-wiki
Most of the configuration is set through the web interface. Defaults (shared between $phab and e.g. $wmflabs) are set using either the [[$1|puppet maniphest]] or the [$2 Scap template] (see $3).
jl099bdquxqarlt9jaclemmfm401hwv
Translations:Phabricator/Code/39/en
1198
369567
8390469
6080212
2026-05-25T10:02:23Z
FuzzyBot
451990
Importing a new version from external source
8390469
wikitext
text/x-wiki
* The Phabricator install is located in `$1` (?) on the VM.
omv7elb8w6dymncn5whxhy3tmcfx9gn
Translations:Phabricator/Code/42/en
1198
369568
8390470
5026418
2026-05-25T10:02:24Z
FuzzyBot
451990
Importing a new version from external source
8390470
wikitext
text/x-wiki
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `$1` role. This should give you a basic setup with the same configuration as $wmflabs.
qzyniv6e2701nv0cab0hluc52k7pir8
Phabricator/Code/en
0
369576
8390474
8034929
2026-05-25T10:02:26Z
FuzzyBot
451990
Updating to match new version of source page
8390474
wikitext
text/x-wiki
<languages />
This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.
In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.
Afterwards, there are a few notes on how to get started with the actual development.
== Phabricator at Wikimedia ==
Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.
The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.
Any other changes thus have to pass through upstream.
== Wikimedia Phabricator bug workflow ==
It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:
[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and
[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
; Backlog: This is where new tasks land by default. Stalled tasks can also be found here.
: These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Phorge's guidelines for bug reports]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Phorge's guidelines for feature requests]
; Upstreamed: Tasks which have been reported upstream.
; Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.
Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.
''At this point a developer can start with the implementation.''
In some cases, the upstream developers will decide a feature does not fit into their plans.
In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?
Once this has been decided, one can start with the implementation.
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
== Contact Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Ask a new question about Phorge]
* [https://we.phorge.it/ponder/ Browse questions and answers about Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ See the Tag #affects-wikimedia in Phorge]
== Local changes ==
As mentioned in the previous section, we try to keep local patches to a minimum.
There are limited resources available to maintain patches, and to merge them with changes from upstream.
Any local patches therefore have to be discussed within the #phabricator project.
It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.
Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.
Phorge does not have any frozen APIs which are deemed safe to depend on.
The current code of the Wikimedia Phabricator instance itself:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
The current locally-maintained extensions are:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
== Site configuration ==
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
== Setting up ==
See [[Phabricator/Local Dev Environment]].
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Access the Phabricator instance at URL: http://phabricator.local.wmftest.net:8080/
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
=== Using a Cloud VPS VM ===
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].
Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
The scripts to migrate data from Trello to Phabricator are available.
See [[phab:T821]] for more information.
[[Category:Phabricator{{#translation:}}]]
5q1frd55ohngdt2v9x49qn3avbzvppy
Phabricator/Code/pt-br
0
369624
8390484
8034939
2026-05-25T10:02:31Z
FuzzyBot
451990
Updating to match new version of source page
8390484
wikitext
text/x-wiki
<languages />
<span class="mw-translate-fuzzy">Este documento descreve o processo de desenvolvimento para a instância do [https://phabricator.wikimedia.org Phabricator da Wikimedia]. O [[:pt:Phabricator|Phabricator]] é escrito em [[:pt:PHP|PHP]], exatamente como o [[:pt:MediaWiki|MediaWiki]], o que pode ajudar na iniciação ao desenvolvimento.</span>
Neste documento, primeiramente veremos como a Wikimedia está usando o Phabricator e o que esperar durante o desenvolvimento.
Em seguida, há algumas notas sobre como começar com o desenvolvimento real.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator no Wikimedia ==
<span class="mw-translate-fuzzy">A Wikimedia usa uma instância do Phabricator com alterações mínimas da versão do autor. A razão para isso é o ritmo alto de desenvolvimento dos desenvolvedores originais – a manutenção de correções locais é complicado.</span>
<span class="mw-translate-fuzzy">As exceções são as ''extensões'', que ficam em um diretório separado e, portanto, não precisam de fusões regulares.</span>
<span class="mw-translate-fuzzy">Quaisquer outras alterações, assim, têm de passar pela versão do autor. Isso soa como um grande obstáculo, mas, na prática, os mantenedores estão prontos para responder a sugestões.</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Fluxo de trabalho de bugs no Wikimedia Phabricator ==
É útil para entender o ciclo de vida de um bug antes de assumir uma das tarefas. Existem dois projetos:
[[phab:project/profile/5/|#phabricator]] para bugs específicos da Wikimedia Foundation e
<span class="mw-translate-fuzzy">[[phab:project/profile/6/|#phabricator-upstream]] para bugs gerais do Phabricator. Bugs de software e pedidos de melhorias normalmente recaem nesta segunda categoria.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span class="mw-translate-fuzzy">Uma vez que uma tarefa foi montada, os desenvolvedores upstream respondem com sua avaliação e sugestões sobre como o recurso deve ser implementado.</span>
''Neste ponto, um desenvolvedor pode começar com a implementação.''
Em alguns casos, os desenvolvedores upstream vão decidir que um recurso não se encaixa em seus planos.
Neste caso, a tarefa no Wikimedia Phabricator é movida do projeto # phabricator-upstream para o projeto #phabricator e acaba de volta ao estágio de discussão: esse recurso é importante o suficiente para manter os patches locais?
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== Mudanças locais ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<span id="Site_configuration"></span>
== Configuração do site ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<span id="Setting_up"></span>
== Configurando ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div class="mw-translate-fuzzy">
A maneira mais fácil de se configurar é usando o [[$vagrant|Vagrant]]. Seguir esses passos deve ajudá-lo a começar:
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<span id="Using_a_Cloud_VPS_VM"></span>
<div class="mw-translate-fuzzy">
=== Usando uma máquina virtual do Labs ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
<div class="mw-translate-fuzzy">
== Código de migração do Bugzilla/RT para o Phabricator ==
</div>
<span class="mw-translate-fuzzy">Os scripts que a Wikimedia utilizou para migrar os dados do Bugzilla e do RT [$git estão disponíveis].</span>
<span class="mw-translate-fuzzy">Note que o código de migração [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ não está livre de bugs] e que foi escrito e utilizado apenas para as configurações específicas das ferramentas da Wikimedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
7edq20qppkutz1cgpeprael3sw704ky
Phabricator/Code/es
0
372500
8390475
8034932
2026-05-25T10:02:26Z
FuzzyBot
451990
Updating to match new version of source page
8390475
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator en Wikimedia ==
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Flujo de trabajo de bugs en Wikimedia Phabricator ==
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== Cambios locales ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Las actualizaciones mantenidas localmente son:
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<span id="Site_configuration"></span>
== Configuración del sitio ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
<div class="mw-translate-fuzzy">
== Código de migración desde Bugzilla/RT hacia Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
46kysbui4k4f8s6h3qaq1tjm17b3azb
Phabricator/Code/ja
0
376717
8390479
8034934
2026-05-25T10:02:28Z
FuzzyBot
451990
Updating to match new version of source page
8390479
wikitext
text/x-wiki
<languages />
この文書では[[phab:|ウィキメディアの Phabricator]] インスタンスの作成手順を説明します。[[:ja:MediaWiki|MediaWiki]]同様、[[:ja:Phabricator|Phabricator]]の説明は[[:ja:PHP|PHP]]で行い、すぐに開発に参加できます。
この説明文書ではPhabricatorのWikimedia内での使用例を見て、開発中に想定することを述べます。
それに続き、実際に開発する場合の注意点をいくつかあげます。
<span id="Phabricator_at_Wikimedia"></span>
== ウィキメディアとPhabricator ==
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== ローカルの変更 ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
kj9gi77f1tu8ai1ah5btey052pmqma9
Help:System message/cs
12
381936
8390313
8389874
2026-05-25T07:46:02Z
Rebulka
17532855
Created page with "Zprávy používané rozhraním REST API"
8390313
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
{{i18n navigation}}
[[File:MediaWiki SpecialUpload interface labelled.png|thumb|Označený formulář [[Special:Upload]], zobrazující různé systémové zprávy.]]
'''Systémová zpráva''' je úryvek prostého textu (nowiki), wikitext, [[w:CSS|CSS]] nebo [[w:JavaScript|JavaScript]], který lze použít k přizpůsobení chování MediaWiki a jeho zobrazení pro každý jazyk a [[w:Locale (computer software)|lokální počítačový software]].
MediaWiki používá zprávy pro jakoukoli část uživatelského rozhraní, což umožňuje internacionalizaci a lokalizaci uživatelského rozhraní MediaWiki pro jádro i rozšíření.
Všechny zprávy používané v MediaWiki jsou definovány v [[#Localisation file format|souboru zpráv]].
<span id="Overriding_messages_on-wiki"></span>
== Přepisování zpráv na wiki ==
Zprávy lze přepsat z jejich výchozích hodnot úpravou na wiki.
Každá zpráva má wiki stránku v jmenném prostoru MediaWiki s klíčem zprávy jako názvem stránky.
Například zpráva "aboutsite" je uložena na MediaWiki:aboutsite.
Ve výchozím nastavení je tento jmenný prostor omezen na úpravy, pokud uživatel nemá oprávnění "editinterface" (rozhraní pro úpravy).
Seznam všech stránek se zprávami naleznete na [[Special:AllMessages]].
Úpravy zpráv rozhraní jsou obvykle jednoduché, stejně jako úpravy normální stránky wiki, ale jsou omezeny na uživatele s povolením [[Special:MyLanguage/editinterface|editinterface]], které je ve výchozím nastavení přiřazeno správcům (a správcům rozhraní).
[[File:Wiki-system-messages.png|thumb|Jeden řádek v rámci původní stránky [[Special:AllMessages]].]]
Speciální stránka [[Special:AllMessages]] vypisuje zvlášť pro každou zvolenou jazykovou mutaci tabulku se dvěma sloupci: název propojeného rozhraní a text.
Text je vodorovně rozdělen, aby se zobrazil výchozí text nahoře a přizpůsobený text níže.
Pokud vlastní zpráva neexistuje, zobrazí se pouze výchozí.
Pokud chcete přizpůsobit zprávu, klikněte na horní odkaz v levém sloupci (název zprávy).
Tento odkaz je červený, pokud se používá výchozí text, protože stránka pro úpravy je prázdná.
Druhý odkaz v levém sloupci vede na stránku, na které lze vést případnou diskuzi o tom jak má vypadat obsah příslušné zprávy.
Přepsání zpráv na wiki se doporučuje pouze v následujících případech:
* Zpráva obsahuje závažnou chybu, kterou je třeba co nejdříve opravit. V tomto případě se doporučuje opravit tuto chybu také ve zdrojovém kódu, pokud je v angličtině, nebo v překladu na translatewiki, pokud tomu tak není. Po nasazení opravy by měla být stránka s místním přizpůsobením odstraněna.
* Pokud místní wiki používá jinou terminologii. Mnoho zpráv používá například slovo "page", ale anglická Wikipedie místo toho často říká "article".
* Místní zpráva se pokouší přidat nějakou jedinečnou funkcionalitu, například pro miniaplikaci nebo šablonu. (V takovém případě se stále doporučuje zvážit změnu zdrojové zprávy nebo tuto funkci zapouzdřit do rozšíření, aby si ji ostatní wikiny mohli pohodlně užít, aniž by museli ručně kopírovat přizpůsobení.)
<span id="Finding_messages_and_documentation"></span>
== Vyhledávání zpráv a dokumentace ==
Jak se v MediaWiki se zprávami pracuje, jaké jsou s nimi spojené proměnné, parametry, omezení atp. je popsáno v [//translatewiki.net/w/i.php?title=Special:Translate&task=reviewall&group=core&language=qqq&limit=5000&action=page&filter= dokumentaci k souborům pseudojazyka qqq], a v [[#Message_documentation|pravidlech pro dokumentaci zpráv]].
Pro některé starší zprávy můžete najít obsáhlejší dokumentaci v rámci původní {{ll|Category:Interface messages}}.
{{note
|1=Ve wiki bázi translatewiki.net je qqq stránka, která obsahuje uživatelskou dokumentaci ke zprávě (v angličtině, protože je stejná pro všechny čtenáře).
Stejně jako /en, /zu, /fr, ..., /qqq je podstránkou článku a lze ji přímo zobrazit.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/en]] a prohlédněte si zprávu v angličtině.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/fr]] a prohlédněte si stejnou zprávu ve francouzštině.
* Zkuste zobrazit [[translatewiki:MediaWiki:Tog-hideminor/qqq]] a zobrazit související dokumentaci (v angličtině).
Z tohoto hlediska je <code>qqq</code> považován za jazyk v parametru <code>language=</code> požadavku.
}}
{{MW 1.18|and later}}
Od MediaWiki verze 1.18 a vyšší, můžete vyhledat identifikační řetězce zpráv použitých na stránce jejím zobrazení s využitím kódu pseudo-jazyka <code>'''[[Special:MyLanguage/Help:Qqx|qqx]]'''</code>. To lze udělat buď tak, že připojíte za URL příslušné wiki stránky <code>?[[Special:MyLanguage/uselang|uselang]]=qqx</code>, nebo pokud již URL obsahuje znak <code>?</code> přidáte parametr <code>&uselang=qqx</code> (viz [{{fullurl:{{FULLPAGENAME}}|uselang=qqx}} například]).
Místo obsahu zprávy se tak na stránce zobrazí její identifikační řetězec (''klíč''), takže pak můžete snadno vyhledat ten, který odpovídá zprávě, kterou chcete upravit.
Je-li zpráva součástí obsahu stránky, tak se při použití qqx nic nezobrazí.
V případě, že stránka používá nějaké vlastní záložky jako např. [[Special:Preferences#mw-prefsection-rendering|speciální stránka "Nastavení"]] budete muset přidat záložku až za parametr <code>uselang</code>, např. <code>Special:Preferences?uselang=qqx#mw-prefsection-rendering</code>.
{{MW 1.38|and later|gerrit change=765385}}
Před MediaWiki 1.38 nebyly klávesy záložních zpráv zobrazeny, což ztěžovalo identifikaci zdroje některých zpráv, zejména [[Special:MyLanguage/Help:Navigation#Page tabs|navigačních karet]].
Od verze MediaWiki 1.38 jsou klíče záložních zpráv zobrazeny oddělené lomítky (<code>/</code>).
{{MW 1.43|and later|gerrit change=1025837}}
Před MediaWiki 1.43 nebyly zobrazeny ani klíče pro přepisování zpráv (pomocí háčků jako {{ll|Manual:Hooks/MessageCacheFetchOverrides|MessageCacheFetchOverrides}}), což ztěžovalo identifikaci zdroje zpráv přepsaných rozšířeními (jako je {{ll|Extension:WikimediaMessages|WikimediaMessages}}).
Od verze MediaWiki 1.43 je klíč zprávy přepsání zobrazen za znakem rovná se (<code>=</code>).
{{Anchor|Messages file}}
<span id="Localisation_file_format"></span>
== Formát lokalizačního souboru ==
Všechny zprávy používané v MediaWiki jsou definovány v ''souboru zpráv''.
V MediaWiki existují dva typy souborů zpráv: JSON a PHP.
Od dubna 2014 byla základní MediaWiki a většina udržovaných rozšíření převedena do formátu JSON.
Pro veškerý nový vývoj byste měli používat JSON.
Další informace o migraci na JSON najdete na stránce [[Requests for comment/Localisation format]].
=== JSON ===
Od konce roku 2013 byl zaveden nový formát souborů pro zprávy: JSON.
Toto je prostý [[:w:JSON|JSON]], známý jako běžný obecný formát ukládání dat.
Každý klíč v něm je klíčem zprávy a hodnotou je text zprávy.
Speciální klíč <code>@metadata</code> navíc slouží k uložení informací o překladu, jako jsou autoři překladu.
Použitím JSON jsou lokalizační soubory bezpečnější, protože nejsou spustitelné.
Je také kompatibilní s jquery.i18n, knihovnou JavaScript vyvinutou jako součást [[Milkshake|projektu Milkshake]], která poskytuje možnosti lokalizace frontendu podobné MediaWiki a je používána některými rozšířeními, která chtějí být méně závislá na MediaWiki, jako je [[Special:MyLanguage/Extension:VisualEditor|VisualEditor]] a [[Special:MyLanguage/Extension:UniversalLanguageSelector|UniversalLanguageSelector]].
Protože širší sada nástrojů pro internacionalizaci a lokalizaci byla nazvána "[[Project Milkshake]]", někteří lidé nazývají tento formát "banán".
<span id="File_location"></span>
==== Umístění souboru ====
V jádru MediaWiki jsou lokalizační soubory umístěny v adresáři <code>{{git file |file=languages/i18n |action=tree}}</code>.
Rozšíření MediaWiki obvykle umístí svá rozšíření do podadresáře <code>i18n/</code>.
Pokud v rámci projektu existuje velký počet zpráv, je možné je rozdělit do dvou nebo více aktuálních podadresářů, aby bylo možné je udržovat.
V kontextu MediaWiki se k výpisu těchto podadresářů používá konfigurační klíč {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
Zde je příklad z rozšíření VisualEditoru pro MediaWiki:
<syntaxhighlight lang="json">
{
"MessagesDirs": {
"VisualEditor": [
"lib/ve/modules/ve/i18n",
"modules/ve-mw/i18n",
"modules/ve-wmf/i18n",
"lib/ve/lib/oojs-ui/i18n"
]
}
}
</syntaxhighlight>
Nové zprávy přidáte do anglického souboru zpráv "<code>en</code>" <code>en.json</code> a zdokumentujete je v souboru dokumentace zpráv se speciálním kódem pseudojazyka "<code>qqq</code>" – <code>qqq.json</code>.
''Viz také: [[#Adding new messages|Přidávání nových zpráv]]''.
==== Metadata ====
V současné době se v souborech používají následující pole metadat:
;authors
:JSON seznam autorů zpráv. Pro angličtinu (en) a dokumentaci ke zprávám (qqq) jsou tyto při úpravě souboru zpráv přidány ručně. U všech ostatních jazyků se toto vkládá automaticky při exportu souboru zpráv z [[translatewiki.net]]. Dokumentaci zprávy lze upravovat na translatewiki.net a do souboru qqq.json se automaticky vkládají také editace dokumentace.
;message-documentation
:Toto je kód pseudojazyka pro ukládání dokumentace zprávy. Pro MediaWiki je to vždy ''qqq''. (To se objevuje v některých rozšířeních, ale ve skutečnosti není žádným způsobem zpracováno. Není to povinné.)
<span id="Conventions"></span>
==== Konvence ====
Speciální znaky, jako jsou zalomení řádků, jsou escapovány (<code>"\n"</code>).
Znaky Unicode, které představují písmena v různých abecedách, jsou uloženy jako skutečné znaky a nikoli jako kódy znaků, protože tyto soubory někdy čtou lidé, a proto jsou soubory menší (<code>"誼"</code> a ne <code>"\u8ABC"</code>).
V každém případě mají vývojáři málo důvodů upravovat zprávy v jakémkoli jazyce kromě angličtiny, protože ty se obvykle upravují přes translatewiki.net.
Neunikne ani kód HTML, takže <code>"<strong>Warning</strong>"</code> a ne <code>"\u003cstrong\u003eWarning\u003c/strong\u003e"</code>.
Soubory JSON jsou odsazeny pomocí tabulátorů.
=== PHP ===
{{note|type=warn|1=Tato část se týká použití souborů [[MessagesXx.php]] pro lokalizaci zpráv, které bylo [[Requests for comment/Localisation format|zastaralé v roce 2014]]. Soubory se však stále používají pro {{ll|Manual:Language#What can be localised|konfiguraci specifickou pro jiný jazyk}}.}}
PHP je starší formát lokalizačního souboru.
Toto je v podstatě pole PHP se všemi zprávami.
V jádru MediaWiki je každý jazyk umístěn ve svém vlastním souboru v adresáři languages/message zdrojového kódu MediaWiki.
V rozšířeních jsou všechny jazyky a dokumentace zprávy (''qqq'') ve stejném souboru: ''ExtensionName.i18n.php'', obvykle v hlavním adresáři rozšíření.
Chcete-li migrovat systémové zprávy z PHP na JSON, použijte skript {{ll|Manual:GenerateJsonI18n.php|generateJsonI18n.php}}.
Přesune zprávy do souborů JSON a nahradí text souboru PHP podložkou, která ukazuje na soubory JSON.
Tento standardní kód je potřeba pro zpětnou kompatibilitu s MediaWiki 1.19.
Nepoužívá se v nových rozšířeních, která nevyžadují kompatibilitu s MediaWiki 1.19.
<span id="Using_messages"></span>
== Používání zpráv ==
MediaWiki používá ''centrální'' úložiště zpráv, na které se odkazují klíče v kódu.
To se liší například od systému [https://www.gnu.org/software/gettext/ gettext], který získává přeložitelné řetězce ze zdrojových souborů.
Systém založený na key-based některé věci usnadňuje, jako je upřesňování původních textů a sledování změn zpráv.
Nevýhodou je, že seznam použitých zpráv a seznam zdrojových textů pro tyto klíče mohou být nesynchronizované.
V praxi to není velký problém a jediným významným problémem je, že někdy další zprávy, které se již nepoužívají, stále zůstávají k překladu.
=== Making messages findable ===
Aby se klíče zpráv lépe spravovaly a snáze se hledaly, pište je vždy celé a nespoléhejte se příliš na jejich dynamické vytváření.
{{tmpl
|0=Můžete zřetězit části klíčů zpráv, pokud máte pocit, že to dává vašemu kódu lepší strukturu – ale udělejte to pouze v případě, že rozhodně existuje více možností, $1 a nezapomeňte přidat komentář se seznamem možných výsledných klíčů. Například:
|1=<ref>Některé lintry odmítnou seznamy zpráv pouze s jednou položkou, např.: [https://github.com/wikimedia/eslint-plugin-mediawiki/issues/57 mediawiki/msg-doc nepřijímá platné dokumenty s jedním záznamem].</ref>
}}
<syntaxhighlight lang="php">
// Zde lze použít zprávy:
// * myextension-connection-success
// * myextension-connection-warning
// * myextension-connection-error
$text = wfMessage( 'myextension-connection-' . $status )->parse();
</syntaxhighlight>
Viz také [[Special:MyLanguage/Manual:Coding_conventions#Dynamic_identifiers|konvence kódování pro dynamické identifikátory]].
<span id="Loading_messages_for_use_in_JavaScript_code"></span>
=== Načítání zpráv pro použití v kódu JavaScript ===
Chcete-li použít zprávu v JavaScriptu, musíte ji [[Special:MyLanguage/Manual:Messages API#Using a ResourceLoader module|uvést]] v definici vašeho modulu ResourceLoader ve vlastnosti <code>"messages"</code>.
=== Message usage functions ===
Podrobné využití funkcí zpráv v PHP a JavaScriptu je na stránce {{ll|Manual:Messages API}}.
'''Toto je důležitá stránka dokumentace a měli byste si ji přečíst, než napíšete kód, který používá zprávy.'''
<span id="Message_sources"></span>
== Zdroje zpráv ==
Kód vyhledává systémové zprávy z těchto zdrojů:
* Jmenný prostor MediaWiki. To umožňuje wikinám převzít nebo přepsat všechny své zprávy, když standardní zprávy nevyhovují nebo jsou nežádoucí.
** MediaWiki:''Message-key'' je výchozí zpráva,
** MediaWiki:''Message-key''/''language-code'' je zpráva, která se má použít, pokud uživatel zvolil jiný jazyk, než je výchozí jazyk wiki.
* Ze souborů zpráv:
** Samotné jádro MediaWiki a v současnosti udržovaná [[Special:MyLanguage/Category:All extensions|rozšíření]] používají soubor pro jazyk s názvem <code>''zyx''.json</code>, kde ''zyx'' je kód jazyka pro daný jazyk.
** Některá starší rozšíření používají kombinovaný soubor zpráv obsahující všechny zprávy ve všech jazycích, obvykle pojmenovaný {{tmpl|0=<code>''$1''.i18n.php</code>|MyExtensionName}}.
** Mnoho wikin Wikimedia Foundation přistupuje k některým zprávám z rozšíření {{ll|Extension:WikimediaMessages|nsp=0}}, což jim umožňuje standardizovat zprávy na wikinách WMF, aniž by je vnucovaly každé instalaci MediaWiki.
** Několik rozšíření používá jiné techniky.
<span id="Caching"></span>
== Ukládání do mezipaměti ==
Systémové zprávy jsou jednou z významnějších součástí MediaWiki, především proto, že se používají v každém webovém požadavku.
Soubory zpráv PHP jsou velké, protože obsahují tisíce klíčů a hodnot zpráv.
Načtení tohoto souboru (a případně více souborů, pokud se jazyk uživatele liší od jazyka obsahu) činí velké nároky na paměť a výkon.
Ke snížení tohoto dopadu na výkon se používá agresivní vrstvený systém ukládání do mezipaměti.
MediaWiki má vestavěno mnoho mechanismů ukládání do mezipaměti, díky kterým je kód poněkud obtížnější pochopit.
Od 1.16 je nový systém ukládání do mezipaměti, který ukládá zprávy do mezipaměti buď v souborech [[cdb]] nebo v databázi.
Přizpůsobené zprávy se ukládají do mezipaměti v souborovém systému a v [[Special:MyLanguage/memcached|memcached]] (nebo alternativně), v závislosti na konfiguraci.
Níže uvedená tabulka poskytuje přehled příslušných nastavení:
{|class="wikitable"
|-
!colspan="2" rowspan="2"| Umístění mezipaměti
!colspan="4"| {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}
|-
! 'store' => 'db'<br /> !! 'store' => 'detect'<br />(výchozí) !! 'store' => 'files'<br /> !! 'store' => 'array'<br />''(experimentální od MW ≥ 1.26)''
|-
!rowspan="2"| {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}
! = false<br />(výchozí)
| {{ll|Manual:l10n cache table|l10n cache table}} || {{ll|Manual:l10n cache table|l10n cache table}} || ''chyba'' (nedefinovaná cesta) || ''chyba'' (nedefinovaná cesta)
|-
! = ''path''
| {{ll|Manual:l10n cache table|l10n cache table}} || lokální souborový systém (CDB) || lokální souborový systém (CDB) || lokální souborový systém (pole PHP)
|}
{{MW version|version=1.27.0|version2=1.27.2|gerrit change=Id3e2d2b18ddb423647bf2e893bcf942722c0e097}}
V MediaWiki 1.27.0 a 1.27.1 byla autodetekce změněna tak, aby upřednostňovala backend souboru.
V případě <code>'store' => 'detect'</code> (výchozí) se použije backend souboru s cestou z {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}.
Pokud tato hodnota není nastavena (což je výchozí hodnota), použije se dočasný adresář určený operačním systémem.
Pokud nelze dočasný adresář detekovat, použije se jako záložní řešení backend databáze.
Toto bylo vráceno z 1.27.2 a 1.28.0 kvůli konfliktu souborů na sdílených hostitelích a bezpečnostním problémům (viz [[:phab:T127127|T127127]] a [[:phab:T161453|T161453]]).
<span id="Function_backtrace"></span>
=== Funkce backtrace ===
Pro lepší vizuální znázornění vrstev ukládání do mezipaměti je zde funkce backtrace toho, jaké metody se nazývají při načítání zprávy.
Vysvětlení každé vrstvy najdete v následujících částech.
* <code>Message::fetchMessage()</code>
* <code>MessageCache::get()</code>
* <code>Language::getMessage()</code>
* <code>LocalisationCache::getSubitem()</code>
* <code>LCStore::get()</code>
=== MessageCache ===
Třída <code>MessageCache</code> je nejvyšší úrovní ukládání zpráv do mezipaměti.
Je volána ze třídy Message a vrací konečný nezpracovaný obsah zprávy.
Tato vrstva zpracovává následující logiku:
* Kontrola přepsání zpráv v databázi
* Ukládání přepsaných zpráv do mezipaměti v {{ll|memcached}} nebo v čemkoli, na co je {{ll|Manual:$wgMessageCacheType|$wgMessageCacheType}} nastaveno
* Vyřešení zbytku sekvence [[Special:MyLanguage/Manual:Language#Fallback languages|jazykovou rezervou]]
Poslední odrážka je důležitá.
[[Special:MyLanguage/Manual:Language#Fallback languages|Jazyková rezerva]] (language fallbacks) umožňuje MediaWiki použít jiný jazyk, pokud originál neobsahuje požadovanou zprávu.
Jak je zmíněno v další části, většina jazykových řešení se vyskytuje na nižší úrovni.
Pouze vrstva <code>MessageCache</code> však kontroluje, zda v databázi nejsou přepsané zprávy.
Zde se tedy provádí integrace přepsaných zpráv z databáze do záložního řetězce.
Pokud databázi nepoužíváte, lze celou tuto vrstvu zakázat.
=== LocalisationCache ===
Viz {{ll|Manual:LocalisationCache.php|LocalisationCache.php}}
=== LCStore ===
Třída <code>LCStore</code> je pouze implementací typu back-end, kterou používá třída LocalisationCache pro skutečné ukládání do mezipaměti a získávání zpráv.
Stejně jako třída <code>BagOStuff</code>, která se používá pro obecné ukládání do mezipaměti v MediaWiki, existuje řada různých typů mezipaměti (konfigurovaných pomocí {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}):
* <code>db</code> (výchozí) - ukládá zprávy do mezipaměti v databázi
* <code>file</code> (výchozí, pokud je nastaveno <code>$wgCacheDirectory</code>) - používá [[w:cdb (software)|CDB]] k ukládání zpráv do mezipaměti v místním souboru
* <code>accel</code> – k ukládání dat používá [[Special:MyLanguage/Manual:Caching|APC]] nebo jinou mezipaměť operačních kódů
Možnost <code>file</code> používá Wikimedia Foundation a je doporučena, protože je rychlejší než přechod do databáze a spolehlivější než mezipaměť APC, zejména proto, že APC není kompatibilní s PHP verze 5.5 nebo novější.
<span id="Adding_new_messages"></span>
== Přidávání nových zpráv ==
<span id="Choosing_the_message_key"></span>
=== Výběr klíče zprávy ===
Viz také:
{{ll|Manual:Coding conventions#System messages}}
Klíč zprávy musí být globálně jedinečný.
To zahrnuje jádro MediaWiki a všechna rozšíření a vzhledy.
V názvech zpráv se držte malých písmen, číslic a pomlček. Většina ostatních znaků je mezi méně praktickými nebo nefungujícími vůbec.
Podle konvence MediaWiki první znak nerozlišuje velká a malá písmena a ostatní znaky rozlišují malá a velká písmena.
Při pojmenovávání prosím dodržujte globální nebo místní konvence.
U předpon použijte standardní prefix, nejlépe název předpony psaný malými písmeny, za kterým následuje pomlčka (<code>-</code>).
Výjimky jsou:
; Zprávy používané rozhraním API
: Musí začínat znaky <code>apihelp-</code>, <code>apiwarn-</code>, <code>apierror-</code>. Za tuto předponu vložte předponu rozšíření. (Všimněte si, že tyto zprávy by měly být v samostatném souboru, obvykle pod [[phab:source/mediawiki/browse/master/includes/api/i18n/|includes/i18/api]].)
; Zprávy používané rozhraním REST API
: <code>rest-module-</code>, <code>rest-endpoint-desc-<HTTP_METHOD></code>, <code>rest-endpoint-summ-<HTTP_METHOD></code>, <code>rest-param-desc</code>, <code>rest-property-desc</code>, <code>rest-schema-desc</code>. <span lang="en" dir="ltr" class="mw-content-ltr">After this prefix put the extension prefix.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Note that these messages should be in a separate file, usually under [[phab:source/mediawiki/browse/master/includes/Rest/i18n/|includes/i18/Rest]].</span>
; Zprávy související s protokolem
: Musí začínat znaky <code>logentry-</code>, <code>log-name-</code>, <code>log-description</code>.
; Uživatelská práva
: Klíč pro název práva, jak je zobrazen na Special:ListGroupRights, musí začínat <code>right-</code>. Název akce, která doplňuje větu "<code>{{int|Permissionserrorstext-withaction|unused}}</code>" musí začínat <code>action-</code>.
; Značky revizí
: Značky revizí musí začínat <code>tag-</code>.
; Speciální názvy stránek
: Speciální názvy stránek musí začínat <code>special-</code>.
; Popisy rozšíření
: Popisy rozšíření musí začínat názvem rozšíření a končit <code>-desc</code>.
Zobrazují se v tabulce [[Special:Version]] a jejich obsah musí stručně vysvětlovat, co rozšíření dělá.
<span id="Gender"></span>
=== Pohlaví ===
Anglické zprávy téměř nikdy nepotřebují různá slova, která se mění kvůli pohlaví uživatele.
Angličtina to potřebuje pouze u zájmen ve třetí osobě ("on" a "ona"), ale ta jsou ve zprávách překvapivě vzácná.
Pokud je to nutné, použijte <code><nowiki>{{GENDER:$1|he|she|they}}</nowiki></code>.
Mnoho dalších jazyků však potřebuje různá slova v závislosti na pohlaví uživatele, a to nejen pro zájmena ve třetí osobě, ale i pro jiná zájmena, stejně jako pro slovesa v různých časech (např. "vytvořeno", "vymazáno"), podstatná jména (např. "mentor", "administrátor"), přídavná jména (např. "nový") atd.
Angličtina je proto užitečná pouze ve zprávách, když je použito slovo <code>GENDER</code>.
To dává překladatelům nápovědu, že <code>GENDER</code> lze ve zprávě použít.
Také se vyhne varováním na translatewiki o chybějících parametrech, když chybí volitelný parametr uživatelského jména (to se stává zvláště často ve zprávách záznamu protokolu).
<span id="Other_things_to_note_when_creating_messages"></span>
=== Další věci, které je třeba vzít v úvahu při vytváření zpráv ===
# Ujistěte se, že pro zprávu používáte vhodné zpracování (analýzu, nahrazení <code><nowiki>{{</nowiki></code>, escapování pro HTML atd.)
# Pokud je vaše zpráva součástí jádra, měla by být obvykle přidána k <code>languages/i18n/en.json</code>, ačkoli některé specifické komponenty, jako je Installer, EXIF tagy, ApiHelp, preference a některé další, mají své vlastní soubory zpráv.
# Pokud je vaše zpráva v rozšíření, přidejte ji do souboru <code>i18n/en.json</code> nebo <code>en.json</code> v příslušném podadresáři. Zejména zprávy API, které vidí pouze vývojáři a ne většina koncových uživatelů, jsou obvykle v samostatném souboru, například <code>i18n/api/en.json</code>. Pokud má rozšíření mnoho zpráv, můžete vytvořit podadresáře pod <code>i18n</code>. Všechny adresáře zpráv, včetně výchozího <code>i18n/</code>, musí být uvedeny v sekci <code>MessagesDirs</code> v <code>extension.json</code> nebo v proměnné {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
# Udělejte si pauzu a zvažte znění zprávy. Je to co nejjasnější? Může to být špatně pochopeno? Pokud je to možné, vyžádejte si komentáře od jiných vývojářů nebo lokalizátorů. Postupujte podle [[#Internationalisation hints|Internacionalizačních rad]].
# Přidejte dokumentaci do <code>qqq.json</code> ve stejném adresáři.
# Neřaďte zprávy svévolně podle abecedy. Pořadí zpráv v souboru by mělo zhruba odpovídat funkcím vašeho projektu. Umístěte zprávy ze stejné funkce vedle sebe. To pomáhá překladatelům zůstat soustředění a být efektivní a konzistentní.
# Pokud zpráva nebo její dokumentace (<code>qqq</code>) odkazuje na jinou zprávu ve stejném souboru JSON, zkuste tuto zprávu umístit za zprávu, na kterou odkazuje, aby překladatelé měli možnost přeložit odkazovanou zprávu, než přeloží odkazující zprávu. Není to vždy možné, například když na sebe zprávy odkazují, ale snažte se to udělat, kdykoli je to možné. (Odkaz se obvykle provádí pomocí kouzelného slova {{tmpl|0=<code><nowiki>{{int:</nowiki>$1<nowiki>}}</nowiki></code>|''key''}} v samotné zprávě nebo pomocí šablony <code><nowiki>{{msg-mw}}</nowiki></code> v dokumentaci <code>qqq</code>. Viz část [[#Message_documentation|Dokumentace ke zprávě]].
# Na začátek souboru umístěte zprávy, u kterých se očekává, že budou nejzákladnější a nejčastěji používané, a na konec zprávy, které jsou vzácnější a technicky vyspělejší.
<span id="Messages_that_should_not_be_translated"></span>
== Zprávy, které by se neměly překládat ==
# '''Ignored''' (ignorované) zprávy jsou ty, které by měly existovat pouze v anglickém [[#Localisation file format|souboru zpráv]]. Jsou to zprávy, které by neměly vyžadovat překlad, protože odkazují pouze na jiné zprávy nebo jazykově neutrální funkce, ''např.'' zprávu "<code><nowiki>{{SITENAME}}</nowiki></code>".
# '''Optional''' (volitelné) zprávy mohou být přeloženy pouze v případě, že jsou změněny v cílovém jazyce.
Označení takových zpráv:
* Použijte šablonu v dokumentaci ke zprávě <code>qqq</code>, tj.
*# <code>{<nowiki/>{[[translatewiki:Template:Notranslate|notranslate]]}}</code> nebo
*# <code>{<nowiki/>{[[translatewiki:Template:Optional|optional]]}}</code>;
* Nakonfigurujte, kde jsou vystavené zprávy pro překlad:
** Pro ignorované zprávy v jádru přidejte klíče zpráv do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/en.json}} a jejich dokumentaci do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/qqq.json}}. Tyto soubory se používají místo výpisu zpráv v konfiguraci skupiny translatewiki.
** Pro volitelné zprávy v jádru odešlete záplatu na {{git file|project=translatewiki|file=groups/MediaWiki/MediaWiki.yaml}} a přidejte klíče zpráv pod <code dir="ltr">optional:</code>.;
** Pro rozšíření v {{git file|project=translatewiki|file=groups/MediaWiki/mediawiki-extensions.txt}} přidejte pod název rozšíření řádek jako
**# <code>ignored = ''msg-key-1'',''msg-key-2''</code> or
**# <code>optional = ''msg-key-1'',''msg-key-2''</code>.
<span id="Removing_existing_messages"></span>
== Odebírání existujících zpráv ==
Odstraňte ji z <code>en.json</code> a <code>qqq.json</code>.
Neobtěžujte se jinými jazyky.
Aktualizace z {{ll|translatewiki.net|translatewiki.net}} je zpracují automaticky.
Kromě toho zkontrolujte, zda se zpráva objeví kdekoli v konfiguraci translatewiki, například v seznamu volitelných nebo nejpoužívanějších zpráv (měl by stačit jednoduchý git grep).
V případě potřeby jej z těchto seznamů odstraňte.
<span id="Changing_existing_messages"></span>
== Změna existujících zpráv ==
# Zvažte aktualizaci [[#Message documentation|dokumentace zprávy]].
# Změňte klíč zprávy, pokud staré překlady nejsou vhodné pro nový význam. To zahrnuje také změny ve zpracování zpráv (parsování, escapování, parametry atd.). Zlepšení frázování zprávy bez technických změn obvykle není důvodem pro změnu klíče. Na translatewiki.net budou překlady označeny jako zastaralé, aby na ně mohli cílit překladatelé. Změna klíče zprávy nevyžaduje komunikaci s týmem i18n nebo podání žádosti o podporu. Pokud však máte zvláštní okolnosti nebo dotazy, zeptejte se na {{irc|translatewiki}} nebo na [[translatewiki:Support|stránce podpory]] na {{ll|translatewiki.net|translatewiki.net}}.
# Pokud rozšíření podporuje {{ll|translatewiki.net|translatewiki.net}}, změňte prosím pouze anglickou zdrojovou zprávu anebo klíč a doprovodný záznam v <code>qqq.json</code>. V případě potřeby se tým translatewiki.net postará o aktualizaci překladů, označí je jako zastaralé, vyčistí soubor nebo přejmenuje klíče tam, kde je to možné. To platí také v případě, že měníte pouze prvky, jako jsou značky HTML, které byste mohli změnit v jiných jazycích, aniž byste těmito jazyky hovořili. Většina z těchto akcí proběhne v [[translatewiki:|translatewiki.net]] a dorazí do Gitu s přibližně jednodenním zpožděním.
<span id="Message_documentation"></span>
== Dokumentace zprávy ==
Pro dokumentaci zpráv existuje pseudojazykový kód <code>qqq</code>.
Je to jeden z kódů ISO 639 vyhrazený pro soukromé použití.
Tam neuchováváme překlady každé zprávy, ale shromažďujeme anglické věty ''o každé zprávě'': Říká nám, kde se používá, dává rady, jak ji přeložit, a vyjmenovává a popisuje její parametry, odkazuje na související zprávy a tak dále.
Na [[translatewiki:|translatewiki.net]] se tyto rady zobrazují překladatelům, když upravují zprávy.
Programátoři musí zdokumentovat každou zprávu.
Dokumentace zpráv je nezbytným zdrojem – nejen pro překladatele, ale pro všechny správce modulu.
Kdykoli je do softwaru přidána zpráva, ''musí'' být přidána také odpovídající položka <code>qqq</code>. Revize, které tak nečiní, jsou označeny "<code>V-1</code>", dokud nebude přidána dokumentace.
Dokumentace v souborech <code>qqq</code> by měla být upravována přímo pouze při přidávání nových zpráv nebo při změně existující anglické zprávy způsobem, který vyžaduje změnu dokumentace, například přidání nebo odebrání parametrů.
V ostatních případech by měla být dokumentace obvykle upravována v translatewiki.
Každý dokumentační řetězec je přístupný na <nowiki>https://translatewiki.net/wiki/MediaWiki:</nowiki>''message-key''<nowiki>/qqq</nowiki>, jako by to byl překlad.
Tyto úpravy budou exportovány do zdrojových úložišť spolu s překlady.
Mezi užitečné informace, které by měly být v dokumentaci, patří:
# Práce se zprávami (analýza, escapování, prostý text).
# Typ parametrů s ukázkovými hodnotami.
# Kde je zpráva použita (stránky, umístění v uživatelském rozhraní).
# Jak se zpráva používá tam, kde je použita (název stránky, text tlačítka, ''atd.'').
# Jaké další zprávy se používají spolu s touto zprávou nebo na které další zprávy se tato zpráva vztahuje.
# Cokoli jiného, co lze pochopit, když je zpráva viděna v kontextu, ale ne, když je zpráva zobrazena samostatně (což je případ, kdy je překládána).
# Případně poznámky o gramatice. Například "open" v angličtině může být sloveso i přídavné jméno. V mnoha jiných jazycích se slova liší a je nemožné uhodnout, jak je přeložit bez dokumentace.
# Přídavná jména, která popisují věci, jako je "disabled" (zakázané), "open" (otevřené) nebo "blocked" (blokované), musí ''vždy'' říkat, co popisují. V mnoha jazycích musí mít přídavná jména rod podstatného jména, které popisují. Může se také stát, že různé druhy věcí potřebují různá přídavná jména.
# Pokud má zpráva speciální vlastnosti, například pokud se jedná o název stránky, nebo pokud by neměla být přímým překladem, ale měla by být přizpůsobena kultuře nebo projektu.
# Zda se zpráva objeví v souvislosti s jinou zprávou, například v seznamu nebo v nabídce. Znění nebo gramatické rysy slov by pravděpodobně měly být podobné se souvisejícími zprávami. Položky v seznamu by měly také správně souviset se záhlavím seznamu.
# Části zprávy, které se nesmí překládat, jako jsou názvy obecných jmenných prostorů, adresy URL nebo značky.
# Vysvětlení potenciálně nejasných slov, například zkratky, jako je "CTA" nebo konkrétní žargon, jako "template" (šablona), "suppress" (potlačit) nebo "stub" (útržek). (Všimněte si, že je nejlepší se takovým slovům v první řadě vyhnout!)
# Snímky obrazovek (Screenshot) jsou velmi užitečné. Neořezávejte – obrázek celé obrazovky, na kterém se zpráva zobrazuje, poskytuje úplný kontext a lze jej znovu použít v několika zprávách.
Několik dalších tipů:
* Pamatujte, že překladatelé velmi, velmi často překládají zprávy, aniž by skutečně používali software.
* Překladatelé většinou nemají žádné kontextové informace, ani o vašem modulu, ani o jiných zprávách v něm.
* Samotná přeformulovaná zpráva je ve většině případů k ničemu.
* Nepoužívejte žargon návrhářů jako "hamburger", "nav" nebo "comps".
* Zvažte sepsání [[betawiki:Terminology#Terminologies|slovníku]] technických termínů, které se používají ve vašem modulu. Pokud to uděláte, odkažte na něj v dokumentace zpráv.
* Dokumentace zpráv je zobrazena na translatewiki a analyzována jako wikitext. Pokud používáte tagy mention wikitext nebo HTML, které se mají zobrazovat tak, jak jsou, a ne parsovat, použijte {{tag|nowiki|open}}.
Na další zprávy můžete odkazovat pomocí {{tmpl|0=<code>{{((}}msg-mw{{!}}message key{{))}}</code>|klíče zprávy}}.
Udělejte to, prosím, pokud části zpráv pocházejí z jiných zpráv (pokud tomu nelze zabránit), nebo pokud jsou některé zprávy zobrazeny společně nebo ve stejném kontextu.
translatewiki.net poskytuje některé výchozí šablony, které by měly být použity v dokumentaci, například:
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-action|doc-action]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>action-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-right|doc-right]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>right-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-group|doc-group]]|[...]|[...]<nowiki>}}</nowiki></code>
:pro zprávy kolem skupin uživatelů (<code>group</code>, <code>member</code>, <code>page</code>, <code>js</code> a <code>css</code>)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-accesskey|doc-accesskey]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>accesskey-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Experimental|experimental]]<nowiki>}}</nowiki></code>
:šablona pro označení zpráv, které se v blízké budoucnosti pravděpodobně změní (nezapomeňte ji odstranit, jakmile se zpráva stabilizuje)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Logentry|logentry]]<nowiki>}}</nowiki></code>
:šablona pro označování zpráv protokolu
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Optional|optional]]<nowiki>}}</nowiki></code>
:šablona pro označení volitelných zpráv, které by neměly být překládány do většiny jazyků a které se překladatelům ve výchozím nastavení nezobrazují
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Ignored|ignored]]<nowiki>}}</nowiki></code>
:šablona pro označení ignorovaných zpráv, které se vůbec nesmí překládat
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-important|doc-important]]<nowiki>}}</nowiki></code>
:šablona pro zdůraznění odstavců v dokumentaci.
Více šablon tohoto druhu naleznete v kategorii [[:translatewiki:Category:Message Documentation Templates|Message Documentation Templates]].
Pro více informací se podívejte na stránky šablon.
<span id="Internationalisation_hints"></span>
== Internacionalizační rady ==
Kromě [[#Message documentation|dokumentace]] překladatelé žádají vývojáře, aby zvážili některé rady, které by jim usnadnily a zefektivnily práci a umožnily skutečnou a dobrou lokalizaci pro všechny jazyky.
I když pouze přidáváte nebo upravujete zprávy v angličtině, měli byste si být vědomi potřeb všech jazyků.
Každá zpráva je přeložena do více než 300 jazyků a to by mělo být provedeno co nejlepším způsobem.
Správná implementace těchto rad vám velmi často pomůže psát lepší zprávy také v angličtině.
[[Special:MyLanguage/Localisation#Help and contact info|Localisation#Help_and_contact_info]] uvádí hlavní místa, kde můžete najít pomoc zkušených a znalých lidí ohledně i18n.
<span id="Use_message_parameters_and_switches_properly"></span>
=== Správně používání parametrů zpráv a přepínačů ===
To je předpokladem správné formulace vašich zpráv.
<span id="Avoid_message_re-use"></span>
=== Vyhněte se opětovnému použití zprávy ===
Překladatelé odrazují od opětovného použití zpráv.
To se může zdát neintuitivní, protože kopírování a duplikování kódu je obvykle špatný postup, ale v systémových zprávách je to často potřebné.
Ačkoli lze dva pojmy vyjádřit stejným slovem v angličtině, nemusí to nutně znamenat, že je lze vyjádřit stejným slovem v každém jazyce.
Dobrým příkladem je "OK": V angličtině se používá pro obecný štítek tlačítka, ale v některých jazycích dávají přednost použití štítku tlačítka souvisejícího s operací, kterou tlačítko provede.
Dalším příkladem je prakticky jakékoli přídavné jméno: Slovo jako "multiple" se v mnoha jazycích mění podle pohlaví, takže jej nemůžete znovu použít k popisu několika různých věcí a musíte vytvořit několik samostatných zpráv.
Pokud přidáváte více identických zpráv, přidejte dokumentaci ke zprávě, která popisuje rozdíly v jejich kontextech.
Nebojte se práce navíc pro překladatele.
Překladová paměť v tom hodně pomáhá a zároveň si zachovává v případě potřeby flexibilitu pro různé překlady.
{{anchor|Avoid patchwork messages}}
<span id="Avoid_fragmented_or_"patchwork"_messages"></span>
=== Vyhněte se fragmentovaným nebo "patchworkovým" (slátaninám) zprávám ===
Jazyky mají různé slovosledy a různě složitá gramatická a syntaktická pravidla.
Zprávy tvořené více kusy textu, případně s určitou nepřímostí, nazývané také "řetězení řetězců", v kódu, který nelze přímo ovládat překladateli, se v žargonu vývojářů nazývají "lego" nebo "patchwork" (slátaniny) zprávy. Správně přeložit "lego" zprávy je prakticky nemožné.
Udělejte z každé zprávy úplnou frázi.
Několik vět lze v případě potřeby obvykle mnohem snadněji spojit do textového bloku.
Chcete-li v jedné zprávě zkombinovat několik řetězců, předejte je jako parametry, protože překladatelé je mohou při překladu pro svůj jazyk správně seřadit.
<span id="Messages_quoting_each_other"></span>
==== Zprávy, které se navzájem citují ====
{{main|Manual:Messages API#Referring to other messages}}
Výjimkou z pravidla mohou být zprávy, které na sebe odkazují: 'Zadejte jméno původního autora do pole označeného "<code><nowiki>{{int:name}}</nowiki></code>" a klikněte na "<code><nowiki>{{int:proceed}}</nowiki></code>" pro dokončení'.
Díky tomu je zpráva konzistentní, když vývojář softwaru nebo provozovatel wiki později změní "name" (jméno) nebo "proceed" (pokračovat).
Bez tohoto int-triku by si vývojáři a operátoři museli být vědomi všech souvisejících zpráv, které je třeba upravit, když se cokoli změní.
<span id="Write_messages_in_natural_language"></span>
=== Zprávy pište v přirozeném jazyce ===
Pokud je to možné, pište zprávy přirozeným lidským jazykem.
Zkuste si zprávu přečíst nahlas a zamyslete se: je to něco, co zní jako správná gramatická angličtina, kterou lidé ''mluví''?
Pokud je to v angličtině složité, těžko vyslovitelné nebo jakkoli nepřirozené, bude to pro překladatele a uživatele v jiných jazycích ještě těžší.
Vyhněte se interpunkci, která je příliš technická nebo byrokratická nebo kterou nelze přečíst nahlas.
Lomítko (<code>/</code>) by mělo být obvykle nahrazeno "or".
[[w:And/or|And/or]] by mělo být nahrazeno "and" nebo "or".
Věty [[w:comma splice|spojované čárkou]], by měly být rozděleny do kratších vět.
<span id="Don't_use_terms_and_templates_that_are_specific_to_particular_projects"></span>
=== Nepoužívejte termíny a šablony, které jsou specifické pro konkrétní projekty ===
MediaWiki používají velmi různorodí lidé v rámci hnutí Wikimedie i mimo něj.
Přestože byla původně vytvořena pro encyklopedii, nyní se používá pro různé druhy obsahu.
Používejte proto obecné výrazy.
Vyhněte se například výrazům jako "article" (článek) a místo toho použijte "page" (stránka), pokud si nejste absolutně jisti, že funkce, kterou vyvíjíte, bude použita pouze na webu, kde se stránky nazývají "articles" (články).
Nepoužívejte "village pump", což je název stránky komunity na anglické Wikipedii, a místo toho používejte obecný termín, například "community discussion page" (diskusní stránka komunity).
Nepředpokládejte, že určitá šablona existuje na všech wikinách.
Šablony jsou pro wikiny lokální.
To platí jak pro zdrojové zprávy, tak pro jejich překlady.
Pokud zprávy používají šablony, budou fungovat pouze tehdy, pokud je šablona vytvořena na ''každé'' wiki, kde je funkce nasazena.
Nejlepší je úplně se vyhnout používání šablon ve zprávách.
Pokud je opravdu musíte použít, musíte to jasně zdokumentovat v dokumentaci ke zprávě a v pokynech k instalaci rozšíření.
<span id="Separate_times_from_dates_in_sentences"></span>
=== Oddělte ve větách časy od dat ===
Některé jazyky musí mezi datum a čas vložit něco, co gramaticky závisí na jiných slovech ve větě.
Nebudou tedy moci používat kombinaci data a času.
Ostatním se může tato kombinace zdát vhodná, proto je obvykle nejlepší volbou v takových případech zadat tři hodnoty parametrů (datum/čas, datum, čas) a v každém překladu ponechat buď první, nebo poslední dvě podle potřeby nevyužité.
=== Vyhněte se <code><nowiki>{{SITENAME}}</nowiki></code> ve zprávách ===
<code><nowiki>{{SITENAME}}</nowiki></code> má několik nevýhod.
Může to být cokoliv (akronym, slovo, krátká fráze, ''atd.'') a v závislosti na jazyce může vyžadovat použití <code>{{ll|Manual:Messages_API#…on use context inside sentences via GRAMMAR|<nowiki>{{GRAMMAR}}</nowiki>}}</code> při každém výskytu.
Bez ohledu na to, každá zpráva s <code><nowiki>{{SITENAME}}</nowiki></code> bude vyžadovat kontrolu ve většině jazyků wiki pro každou novou wiki, na které je nainstalován váš kód.
Ve většině případů, kdy pro jazyk neexistuje obecná konfigurace <code>GRAMMAR</code>, budou muset operátoři wiki přidat nebo upravit kód PHP tak, aby fungoval <code><nowiki>{{GRAMMAR}}</nowiki></code> pro <code><nowiki>{{SITENAME}}</nowiki></code>.
To vyžaduje více dovedností a více porozumění než v jiném případě.
Je vhodnější mít obecné odkazy jako "this wiki" (tato wiki).
To sice instalacím nebrání lokálně měnit tyto zprávy tak, aby používaly <code><nowiki>{{SITENAME}}</nowiki></code>, ale alespoň nemusí a mohou odložit přizpůsobení zpráv, dokud wiki již nebude spuštěna a používána.
<span id="Avoid_references_to_visual_layout_and_positions"></span>
=== Vyhněte se odkazům na vizuální rozvržení a pozice ===
Co se kde vykreslí, závisí na vzhledech.
Rozvržení obrazovky jazyků psaných zleva doprava jsou nejčastěji zrcadlená ve srovnání s těmi, která se používají pro jazyky psané zprava doleva, ale ne vždy a u některých jazyků a wikin ne úplně.
Ruční zařízení, úzká okna a tak dále mohou pod sebou zobrazovat bloky, které by se na větších displejích objevovaly vedle sebe.
Vzhledem k tomu, že skripty a miniaplikace JavaScriptu psané webem a uživatelem mohou a také budou skrývat části nebo přesouvat věci nepředvídatelným způsobem, neexistuje žádný spolehlivý způsob, jak zjistit skutečné rozvržení.
Je nesprávné spojovat informace o rozvržení s jazyky obsahu, protože jazyk uživatelského rozhraní nemusí být jazykem obsahu stránky a rozvržení může být v závislosti na okolnostech kombinací obou.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, ani nemají koncept vizuálního rozvržení.
Proto byste se ve většině případů neměli odkazovat na pozice vizuálního rozvržení, ačkoli termíny sémantického rozvržení mohou být stále použity ("předchozí kroky ve formuláři" ''atd.'').
MediaWiki nepodporuje zobrazování různých zpráv nebo fragmentů zpráv na základě aktuální směrovosti rozhraní (viz [[phab:T30997|T30997]]).
Připravovaná podpora prohlížeče a MediaWiki pro psaní shora dolů ve východní a severní Asii<ref>http://dev.w3.org/csswg/css3-writing-modes/</ref> způsobí, že rozložení obrazovky bude ještě nepředvídatelnější, alespoň osm možných rozložení (levá/pravá výchozí pozice, horní/dolní výchozí pozice a to, co nastane jako první).
<span id="Avoid_references_to_screen_colours"></span>
=== Vyhněte se odkazům na barvy obrazovky ===
Barva, ve které je něco vykresleno, závisí na mnoha faktorech, včetně vzhledů, skriptů a gadgetů JavaScriptu napsaných webem a uživatelem a přepisů místního uživatelského agenta z důvodu dostupnosti nebo technologických omezení.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, nemají ani koncept barev.
Proto byste neměli odkazovat na barvy obrazovky.
(Ze stejného důvodu byste se také neměli spoléhat pouze na barvu jako na mechanismus informování uživatele o stavu.)
<span id="Avoid_markup_that_doesn't_need_to_be_translated"></span>
=== Vyhněte se značkám, které není třeba překládat ===
Značky HTML, které nevyžadují překlad, jako je uzavření {{tag|div|open}} značkami, pravítka nad nebo pod a podobně, by obvykle neměly být součástí zpráv.
Je to zbytečná zátěž pro překladatele a je často náhodně změněna nebo přeskočena v procesu překladu.
Překladové rozhraní nemá žádné zvýraznění syntaxe ani ověření a chyby jsou běžné.
Vyhněte se také složitému značení wikitextu.
Wikitext je někdy rozumnější než psát totéž v PHP a je lákavé napsat něco jako:
{{codesample-header|[[MediaWiki:Revreview-basic/en]]}}
<syntaxhighlight lang="wikitext">
This is the [[{{MediaWiki:Validationpage}}|stable version]], [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} checked] on <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 pending {{PLURAL:$3|change|changes}}] {{PLURAL:$3|awaits|await}} review.
</syntaxhighlight>
To je však pro překladatele obtížné, zejména při překladu do jazyků psaných zprava doleva, protože části zprávy musí zůstat v angličtině, což má za následek, že se směr textu mnohokrát mění v jednom řádku:
{{codesample-header|[[MediaWiki:Revreview-basic/ar]]}}
<syntaxhighlight lang="wikitext" dir="rtl">
هذه هي [[{{MediaWiki:Validationpage}}|النسخة المستقرة]]، [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} المفحوصة] في <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} {{PLURAL:$3||تغيير واحد معلق|تغييران معلقان|$3 تغييرات معلقة|$3 تغييرا معلقا|$3 تغيير معلق}}] {{PLURAL:$3||ينتظر|ينتظران|تنتظر|ينتظر}} المراجعة.
</syntaxhighlight>
Nejlepší je předat jakékoli cíle odkazů jako parametry zprávy a používat pouze jednoduché značky jako {{tmpl|0=<code>[$1 $2]</code>|$1|Label}} a {{tmpl|0=<code><nowiki>[[</nowiki>$1{{!}}Label<nowiki>]]</nowiki></code>|$1|Label}}.
Nepoužívejte ve zprávách {{ll|Help:Magic words|magické slovo}} s <code>formatnum</code>.
Naformátujte číselné parametry v kódu, který načítá zprávu, podle pokynů v {{ll|Manual:Messages API}}.
<span id="Translated_messages_are_often_longer_than_you_think!"></span>
=== Přeložené zprávy jsou často delší, než si myslíte! ===
Při procházení souborů zpráv v cizích jazycích téměř nikdy nenajdete přeložené zprávy kratší než čínské a jen zřídka kratší než anglické. Často však najdete překlady, které jsou mnohem delší než anglické.
Zejména ve formulářích před vstupními poli bývají anglické zprávy stručné a krátké.
To se v překladech často neuchovává.
Jazyky mohou postrádat technickou slovní zásobu v angličtině a mohou vyžadovat více slov nebo dokonce celé věty k vysvětlení některých pojmů.
Například krátká anglická zpráva "TSV file:" může být přeložena do jazyka doslovně:
<blockquote>''Sem zadejte název, který označuje sbírku počítačových dat, která se skládá z postupně organizovaných sérií strojopisných řádků, které jsou samy o sobě organizovány jako série informačních polí, kde jsou uvedená pole informací ohraničena a ohraničení mezi nimi jsou jediné znaky toho druhu, které posouvají vozík psacího stroje dále do další předem definované polohy. Tady to je: _____ (děkuji)''</blockquote>
Toto je, pravda, extrémní příklad, ale tuto možnost máte.
Představte si tuto větu ve sloupci ve tvaru, kde každé slovo zabírá vlastní řádek a vstupní pole je svisle vystředěno v dalším sloupci. :-(
<span id="Avoid_using_very_close,_similar,_or_identical_words_to_denote_different_things,_or_concepts"></span>
=== Nepoužívejte velmi blízká, podobná nebo identická slova k označení různých věcí nebo pojmů ===
Stránky mohou mít například starší ''revize'' (konkrétního data, času a úprav), zahrnující minulé ''verze'' uvedené stránky.
Slova ''revize'' a ''verze'' lze používat zaměnitelně.
Problém nastává, když jsou verzované stránky revidovány a také se zmiňuje revize, ''tj.'' proces jejich revize.
To nemusí představovat vážný problém, když dvě synonyma "revize" mají různé překlady.
Na to však nespoléhejte.
Je tedy lepší se použití "revize" ''aka'' "verze" úplně vyhnout, aby nedošlo k jeho nesprávné interpretaci.
<span id="Basic_words_may_have_unforeseen_connotations,_or_not_exist_at_all"></span>
=== Základní slova mohou mít nepředvídatelné konotace nebo vůbec neexistují ===
Některá slova se těžko překládají kvůli jejich velmi specifickému použití v MediaWiki.
Některá možná [[#Expect untranslated words|nebudou přeložena vůbec]].
Například v několika jazycích neexistuje slovo "uživatel" (user) vztahující se k "někomu, kdo něco používá".
Podobně v [[:en:Colognian language|Kölsch]] anglická slova "namespace" a "apartment" se překládají jako stejné slovo.
Také v Kölsch říkají stejným slovem "corroborator and participant" (potvrzující a účastník), protože jakýkoli odkaz na "use" (použití) by příliš silně znamenal "abuse" (zneužívání).
Termín "wiki farma" se překládá jako "stáj plná wiki", protože farma s jednou plodinou by byla v rozporu s termíny v jazyce a nepochopena, ''atd.''.
{{anchor|Expect untranslated words}}
=== V případě potřeby použijte značky {{tag|code|open}}, {{tag|var|open}} a {{tag|kbd|open}} ===
Když mluvíte o technických parametrech, hodnotách nebo vstupech z klávesnice, označte je jako takové vhodně pomocí značek HTML {{tag|code|open}}, {{tag|var|open}} nebo {{tag|kbd|open}}.
Jsou tedy typograficky odsazeny od běžného textu.
To čtenářům vyjasní jejich smysl a zabrání zmatkům, chybám a chybným prohlášením.
Ujistěte se, že vaše zpracování zpráv umožňuje takové označení.
<span id="Symbols,_colons,_brackets,_etc._are_parts_of_messages"></span>
=== Symboly, dvojtečky, závorky, ''atd.'' jsou součástí zpráv ===
Mnoho symbolů je také lokalizovatelných. Některá písma mají jiné druhy závorek než latinka.
V některých jazycích nemusí být po štítku nebo výzvě k zadání dvojtečka vhodná.
Začlenění těchto symbolů do zpráv pomáhá vytvářet lepší a méně anglo-centrické překlady a také snižuje změť kódu.
Například v «norštině», ”švédštině”, »dánštině«, „němčině” a 「japonštině」 se používají různé konvence uvozovek.<ref>[[w:Quotation_mark#Summary_table]]</ref>
Pokud potřebujete zalomit nějaký text do lokalizovaných závorek, hranatých závorek nebo uvozovek, můžete použít <code>parentheses</code> {{int|parentheses}} nebo <code>brackets</code> {{int|brackets}} nebo <code>quotation-marks</code> {{int|quotation-marks}} zprávy jako takto:
<syntaxhighlight lang=php>
wfMessage( 'parentheses' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'brackets' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'quotation-marks' )->rawParams( /* text přejde do uvozovek */ )->escaped()
</syntaxhighlight>
<span id="Do_not_expect_symbols_and_punctuation_to_survive_translation"></span>
=== Neočekávejte, že symboly a interpunkce přežijí překlad ===
Jazyky psané zprava doleva (na rozdíl od angličtiny) obvykle zaměňují symboly šipek prezentované s odkazy "next" (další) a "previous" (předchozí) a jejich umístění vzhledem k textu zprávy může, ale také nemusí být převráceno.
Elipsis může být přeloženo jako "''atd.''" nebo jako slova.
Otazníky, vykřičníky, dvojtečky budou umístěny jinde než na konci věty, vůbec a nebo dvakrát.
V důsledku toho vždy zahrňte všechny do textu svých zpráv a nikdy se nepokoušejte je vkládat programově.
<span id="Use_full_stops"></span>
=== Použití teček ===
'''Do''' ukončuje běžné věty tečkami.
To je pro překladatele často jediný ukazatel, podle kterého pozná, že se nejedná o titulky nebo položky seznamu, které může být potřeba přeložit jinak.
<span id="Use_meaningful_link_anchors"></span>
=== Použijte smysluplné kotvy odkazů ===
Ujistěte se, že kotva dobře popisuje cílovou stránku.
Vždy se vyhněte běžným a obecným slovům.
Například "Click here" (klikněte sem) je absolutně zákázáno,<ref>http://www.w3.org/QA/Tips/noClickHere</ref>, protože cílové stránky téměř nikdy nejsou o "kliknutí sem".
Místo toho použijte přesná akční slova, která říkají, k čemu se uživatel dostane, když bude následovat odkaz, jako například "Můžete [[Special:Upload|nahrát soubor]], pokud si přejete."
Viz také ''[http://www.nngroup.com/articles/using-link-titles-to-help-users-predict-where-they-are-going/ Pomozte uživatelům předvídat, kam jdou]'', a [[w:Mystery meat navigation|tajemná navigace hmoty]] a ''[https://tosbourn.com/click-here/ Hlavní důvody, proč bychom neměli používat klikni sem jako text odkazu]''.
<span id="Avoid_jargon_and_slang"></span>
=== Vyhněte se žargonu a slangu ===
Vyhněte se ve zprávách žargonu vývojářů a zkušených uživatelů. Snažte se používat jednoduchý jazyk, kdykoli je to možné.
Pokud chcete uživatele upozornit, že se něco stalo nebo nestalo, neříkejte "success" (úspěch), "successfully" (úspěšně), "fail" (neúspěch), "error occurred while" (došlo k chybě) atd.
To vychází z pohledu vývojářů, kteří vidí všechno jako pravdivé nebo nepravdivé, ale uživatelé obvykle chtějí vědět, co se skutečně stalo nebo nestalo a co by s tím měli dělat (pokud vůbec). Tak:
* "Soubor byl úspěšně přejmenován" -> "Soubor byl přejmenován"
* "Přejmenování souboru se nezdařilo" -> "Soubor s tímto názvem již existuje. Vyberte prosím jiný název."
<span id="Be_aware_of_whitespace_and_line_breaks"></span>
=== Dejte si pozor na mezery a zalomení řádků ===
Lokalizované zprávy MediaWiki se obvykle upravují na wiki buď operacemi wiki na živých wikinách nebo překladateli na [[[[translatewiki.net]]]].
Měli byste si být vědomi toho, jak mezery, zejména na začátku nebo konci vaší zprávy, ovlivní editory:
* Mezery a konce řádků (nové řádky) na konci zprávy jsou vždy automaticky odstraněny editorem wikitextu. Vaše zpráva nesmí končit mezerou nebo zalomením řádku, protože se při úpravě na wiki ztratí.
* Mezery a zalomení řádků na začátku nejsou automaticky odstraněny, ale pravděpodobně budou odstraněny náhodně během úprav a je třeba se jim vyhnout.
Začněte a ukončete svou zprávu aktivním textem. Pokud kolem něj potřebujete zalomení nového řádku nebo odstavce, váš okolní kód by se měl vypořádat s jeho přidáním do vráceného textu.
Některé zprávy vyžadují na konci mezeru, například <code>word-separator</code> (který se ve většině jazyků skládá pouze z mezery).
Pro podporu takových případů použití jsou ve zprávách povoleny následující entity HTML a transformovány na skutečné znaky i když zpráva jinak neumožňuje formátování wikitextu nebo HTML:<ref>
https://github.com/wikimedia/mediawiki/blob/REL1_34/includes/cache/MessageCache.php#L887
</ref>
* <code>&#32;</code> – mezera
* <code>&nbsp;</code> nebo <code>&#160;</code> – [[w:non-breaking space|nezalomitelná mezera]]
* <code>&shy;</code> – [[w:soft hyphen|měkký spojovník]]
Související poznámka, jakékoli další prvky syntaxe ovlivněné [[Special:MyLanguage/pre-save transforms|transformací před uložením]] nesmí být také použity ve zprávách, protože budou transformovány, pokud bude zpráva na wiki upravena.
<span id="Use_standard_capitalisation"></span>
=== Použijte standardní velká písmena ===
Velká písmena překladatelům napoví, co překládají, jako jsou jednotlivá slova, položky seznamu nebo nabídky, fráze nebo celé věty.
Správná (standardní) velká písmena můžou také hrát roli při hodnocení vašich stránek vyhledávači.
MediaWiki používá [[w:Letter case|case case]] (''Rychlá hnědá liška skáče přes líného psa'') ve zprávách rozhraní.
Vždy si pamatujte, že mnoho psacích systémů vůbec nemá velká písmena a některé z těch, které je mají, je používají jinak než angličtina.
Proto pro zdůraznění nepoužívejte VŠECHNA VELKÁ PÍSMENA.
Použijte CSS nebo HTML {{tag|em|open}} nebo {{tag|strong|open}} níže:
<span id="Emphasis"></span>
==== Důraz ====
V normálním textu by měly být součástí textů zpráv [[w:Emphasis|emphasis]] '''tučné písmo''' nebo ''kurzíva'' a podobně.
Místní konvence v důrazu se často liší, zvláště některá asijská písma mají svá vlastní.
Překladatelé musí být schopni přizpůsobit důraz svým cílovým jazykům a oblastem.
Zkuste ve svém uživatelském rozhraní použít "{{tag|em|open}}" a "{{tag|strong|open}}", abyste umožnili značkování podle jazyka nebo skriptu.
V moderních rozvrženích obrazovky v anglickém a evropském stylu se důraz používá méně.
Uveďte to ve své [[#Message documentation|dokumentaci zprávy]], protože to může poskytnout cenné rady, jak překládat.
Důraz může a měl by být podle potřeby použit v jiných kulturních kontextech za předpokladu, že o tom překladatelé vědí.
<span id="Some_things_must_be_added_to_English_messages_even_when_they_are_not_required"></span>
==== Některé věci je nutné do anglických zpráv přidat, i když nejsou nutné ====
Někdy se stává, že anglické zprávy nepotřebují podporu některých parametrů $ nebo PLURAL či GENDER, ale překlady těchto zpráv do jiných jazyků je potřebují.
V takových případech musí být tyto parametry nebo klíčová slova přidány do angličtiny, i když nedělají nic.
To je nutné ze dvou důvodů:
* Překladateli to ve zprávě jasně ukazuje, že tyto parametry jsou k dispozici.
* Zabraňuje translatewiki zobrazovat varování o parametrech, které jsou použity v překladu, ale nejsou použity v angličtině.
Například anglické slovo "deleted" se může vztahovat na jednu smazanou stránku nebo na několik smazaných stránek, ale v jiných jazycích by se toto slovo lišilo v závislosti na počtu stránek.
Takže napište něco jako: <code><nowiki>{{PLURAL:$1|deleted}}</nowiki></code>.
<span id="See_also"></span>
== Související odkazy ==
* {{ll|Customization}}
* {{ll|Manual:Configuration settings}}
* {{ll|Manual:Skins}}
* {{ll|Manual:Messages API}}
* {{ll|Localisation}}
* {{ll|Manual:MediaWiki architecture#Localizing messages|2=Příručka:Architektura MediaWiki a lokalizace zpráv}}
* [[translatewiki:FAQ]]
<span id="Notes"></span>
== Poznámky pod čarou ==
<references />
[[Category:Customization techniques{{#translation:}}]]
[[Category:User interface{{#translation:}}]]
[[Category:Localisation{{#translation:}}]]
[[Category:System message{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
ru2srocqfofczhtrheg9mss9qrzy1nl
8390315
8390313
2026-05-25T07:46:23Z
Rebulka
17532855
Created page with "Za tento prefix vložte prefix rozšíření."
8390315
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
{{i18n navigation}}
[[File:MediaWiki SpecialUpload interface labelled.png|thumb|Označený formulář [[Special:Upload]], zobrazující různé systémové zprávy.]]
'''Systémová zpráva''' je úryvek prostého textu (nowiki), wikitext, [[w:CSS|CSS]] nebo [[w:JavaScript|JavaScript]], který lze použít k přizpůsobení chování MediaWiki a jeho zobrazení pro každý jazyk a [[w:Locale (computer software)|lokální počítačový software]].
MediaWiki používá zprávy pro jakoukoli část uživatelského rozhraní, což umožňuje internacionalizaci a lokalizaci uživatelského rozhraní MediaWiki pro jádro i rozšíření.
Všechny zprávy používané v MediaWiki jsou definovány v [[#Localisation file format|souboru zpráv]].
<span id="Overriding_messages_on-wiki"></span>
== Přepisování zpráv na wiki ==
Zprávy lze přepsat z jejich výchozích hodnot úpravou na wiki.
Každá zpráva má wiki stránku v jmenném prostoru MediaWiki s klíčem zprávy jako názvem stránky.
Například zpráva "aboutsite" je uložena na MediaWiki:aboutsite.
Ve výchozím nastavení je tento jmenný prostor omezen na úpravy, pokud uživatel nemá oprávnění "editinterface" (rozhraní pro úpravy).
Seznam všech stránek se zprávami naleznete na [[Special:AllMessages]].
Úpravy zpráv rozhraní jsou obvykle jednoduché, stejně jako úpravy normální stránky wiki, ale jsou omezeny na uživatele s povolením [[Special:MyLanguage/editinterface|editinterface]], které je ve výchozím nastavení přiřazeno správcům (a správcům rozhraní).
[[File:Wiki-system-messages.png|thumb|Jeden řádek v rámci původní stránky [[Special:AllMessages]].]]
Speciální stránka [[Special:AllMessages]] vypisuje zvlášť pro každou zvolenou jazykovou mutaci tabulku se dvěma sloupci: název propojeného rozhraní a text.
Text je vodorovně rozdělen, aby se zobrazil výchozí text nahoře a přizpůsobený text níže.
Pokud vlastní zpráva neexistuje, zobrazí se pouze výchozí.
Pokud chcete přizpůsobit zprávu, klikněte na horní odkaz v levém sloupci (název zprávy).
Tento odkaz je červený, pokud se používá výchozí text, protože stránka pro úpravy je prázdná.
Druhý odkaz v levém sloupci vede na stránku, na které lze vést případnou diskuzi o tom jak má vypadat obsah příslušné zprávy.
Přepsání zpráv na wiki se doporučuje pouze v následujících případech:
* Zpráva obsahuje závažnou chybu, kterou je třeba co nejdříve opravit. V tomto případě se doporučuje opravit tuto chybu také ve zdrojovém kódu, pokud je v angličtině, nebo v překladu na translatewiki, pokud tomu tak není. Po nasazení opravy by měla být stránka s místním přizpůsobením odstraněna.
* Pokud místní wiki používá jinou terminologii. Mnoho zpráv používá například slovo "page", ale anglická Wikipedie místo toho často říká "article".
* Místní zpráva se pokouší přidat nějakou jedinečnou funkcionalitu, například pro miniaplikaci nebo šablonu. (V takovém případě se stále doporučuje zvážit změnu zdrojové zprávy nebo tuto funkci zapouzdřit do rozšíření, aby si ji ostatní wikiny mohli pohodlně užít, aniž by museli ručně kopírovat přizpůsobení.)
<span id="Finding_messages_and_documentation"></span>
== Vyhledávání zpráv a dokumentace ==
Jak se v MediaWiki se zprávami pracuje, jaké jsou s nimi spojené proměnné, parametry, omezení atp. je popsáno v [//translatewiki.net/w/i.php?title=Special:Translate&task=reviewall&group=core&language=qqq&limit=5000&action=page&filter= dokumentaci k souborům pseudojazyka qqq], a v [[#Message_documentation|pravidlech pro dokumentaci zpráv]].
Pro některé starší zprávy můžete najít obsáhlejší dokumentaci v rámci původní {{ll|Category:Interface messages}}.
{{note
|1=Ve wiki bázi translatewiki.net je qqq stránka, která obsahuje uživatelskou dokumentaci ke zprávě (v angličtině, protože je stejná pro všechny čtenáře).
Stejně jako /en, /zu, /fr, ..., /qqq je podstránkou článku a lze ji přímo zobrazit.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/en]] a prohlédněte si zprávu v angličtině.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/fr]] a prohlédněte si stejnou zprávu ve francouzštině.
* Zkuste zobrazit [[translatewiki:MediaWiki:Tog-hideminor/qqq]] a zobrazit související dokumentaci (v angličtině).
Z tohoto hlediska je <code>qqq</code> považován za jazyk v parametru <code>language=</code> požadavku.
}}
{{MW 1.18|and later}}
Od MediaWiki verze 1.18 a vyšší, můžete vyhledat identifikační řetězce zpráv použitých na stránce jejím zobrazení s využitím kódu pseudo-jazyka <code>'''[[Special:MyLanguage/Help:Qqx|qqx]]'''</code>. To lze udělat buď tak, že připojíte za URL příslušné wiki stránky <code>?[[Special:MyLanguage/uselang|uselang]]=qqx</code>, nebo pokud již URL obsahuje znak <code>?</code> přidáte parametr <code>&uselang=qqx</code> (viz [{{fullurl:{{FULLPAGENAME}}|uselang=qqx}} například]).
Místo obsahu zprávy se tak na stránce zobrazí její identifikační řetězec (''klíč''), takže pak můžete snadno vyhledat ten, který odpovídá zprávě, kterou chcete upravit.
Je-li zpráva součástí obsahu stránky, tak se při použití qqx nic nezobrazí.
V případě, že stránka používá nějaké vlastní záložky jako např. [[Special:Preferences#mw-prefsection-rendering|speciální stránka "Nastavení"]] budete muset přidat záložku až za parametr <code>uselang</code>, např. <code>Special:Preferences?uselang=qqx#mw-prefsection-rendering</code>.
{{MW 1.38|and later|gerrit change=765385}}
Před MediaWiki 1.38 nebyly klávesy záložních zpráv zobrazeny, což ztěžovalo identifikaci zdroje některých zpráv, zejména [[Special:MyLanguage/Help:Navigation#Page tabs|navigačních karet]].
Od verze MediaWiki 1.38 jsou klíče záložních zpráv zobrazeny oddělené lomítky (<code>/</code>).
{{MW 1.43|and later|gerrit change=1025837}}
Před MediaWiki 1.43 nebyly zobrazeny ani klíče pro přepisování zpráv (pomocí háčků jako {{ll|Manual:Hooks/MessageCacheFetchOverrides|MessageCacheFetchOverrides}}), což ztěžovalo identifikaci zdroje zpráv přepsaných rozšířeními (jako je {{ll|Extension:WikimediaMessages|WikimediaMessages}}).
Od verze MediaWiki 1.43 je klíč zprávy přepsání zobrazen za znakem rovná se (<code>=</code>).
{{Anchor|Messages file}}
<span id="Localisation_file_format"></span>
== Formát lokalizačního souboru ==
Všechny zprávy používané v MediaWiki jsou definovány v ''souboru zpráv''.
V MediaWiki existují dva typy souborů zpráv: JSON a PHP.
Od dubna 2014 byla základní MediaWiki a většina udržovaných rozšíření převedena do formátu JSON.
Pro veškerý nový vývoj byste měli používat JSON.
Další informace o migraci na JSON najdete na stránce [[Requests for comment/Localisation format]].
=== JSON ===
Od konce roku 2013 byl zaveden nový formát souborů pro zprávy: JSON.
Toto je prostý [[:w:JSON|JSON]], známý jako běžný obecný formát ukládání dat.
Každý klíč v něm je klíčem zprávy a hodnotou je text zprávy.
Speciální klíč <code>@metadata</code> navíc slouží k uložení informací o překladu, jako jsou autoři překladu.
Použitím JSON jsou lokalizační soubory bezpečnější, protože nejsou spustitelné.
Je také kompatibilní s jquery.i18n, knihovnou JavaScript vyvinutou jako součást [[Milkshake|projektu Milkshake]], která poskytuje možnosti lokalizace frontendu podobné MediaWiki a je používána některými rozšířeními, která chtějí být méně závislá na MediaWiki, jako je [[Special:MyLanguage/Extension:VisualEditor|VisualEditor]] a [[Special:MyLanguage/Extension:UniversalLanguageSelector|UniversalLanguageSelector]].
Protože širší sada nástrojů pro internacionalizaci a lokalizaci byla nazvána "[[Project Milkshake]]", někteří lidé nazývají tento formát "banán".
<span id="File_location"></span>
==== Umístění souboru ====
V jádru MediaWiki jsou lokalizační soubory umístěny v adresáři <code>{{git file |file=languages/i18n |action=tree}}</code>.
Rozšíření MediaWiki obvykle umístí svá rozšíření do podadresáře <code>i18n/</code>.
Pokud v rámci projektu existuje velký počet zpráv, je možné je rozdělit do dvou nebo více aktuálních podadresářů, aby bylo možné je udržovat.
V kontextu MediaWiki se k výpisu těchto podadresářů používá konfigurační klíč {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
Zde je příklad z rozšíření VisualEditoru pro MediaWiki:
<syntaxhighlight lang="json">
{
"MessagesDirs": {
"VisualEditor": [
"lib/ve/modules/ve/i18n",
"modules/ve-mw/i18n",
"modules/ve-wmf/i18n",
"lib/ve/lib/oojs-ui/i18n"
]
}
}
</syntaxhighlight>
Nové zprávy přidáte do anglického souboru zpráv "<code>en</code>" <code>en.json</code> a zdokumentujete je v souboru dokumentace zpráv se speciálním kódem pseudojazyka "<code>qqq</code>" – <code>qqq.json</code>.
''Viz také: [[#Adding new messages|Přidávání nových zpráv]]''.
==== Metadata ====
V současné době se v souborech používají následující pole metadat:
;authors
:JSON seznam autorů zpráv. Pro angličtinu (en) a dokumentaci ke zprávám (qqq) jsou tyto při úpravě souboru zpráv přidány ručně. U všech ostatních jazyků se toto vkládá automaticky při exportu souboru zpráv z [[translatewiki.net]]. Dokumentaci zprávy lze upravovat na translatewiki.net a do souboru qqq.json se automaticky vkládají také editace dokumentace.
;message-documentation
:Toto je kód pseudojazyka pro ukládání dokumentace zprávy. Pro MediaWiki je to vždy ''qqq''. (To se objevuje v některých rozšířeních, ale ve skutečnosti není žádným způsobem zpracováno. Není to povinné.)
<span id="Conventions"></span>
==== Konvence ====
Speciální znaky, jako jsou zalomení řádků, jsou escapovány (<code>"\n"</code>).
Znaky Unicode, které představují písmena v různých abecedách, jsou uloženy jako skutečné znaky a nikoli jako kódy znaků, protože tyto soubory někdy čtou lidé, a proto jsou soubory menší (<code>"誼"</code> a ne <code>"\u8ABC"</code>).
V každém případě mají vývojáři málo důvodů upravovat zprávy v jakémkoli jazyce kromě angličtiny, protože ty se obvykle upravují přes translatewiki.net.
Neunikne ani kód HTML, takže <code>"<strong>Warning</strong>"</code> a ne <code>"\u003cstrong\u003eWarning\u003c/strong\u003e"</code>.
Soubory JSON jsou odsazeny pomocí tabulátorů.
=== PHP ===
{{note|type=warn|1=Tato část se týká použití souborů [[MessagesXx.php]] pro lokalizaci zpráv, které bylo [[Requests for comment/Localisation format|zastaralé v roce 2014]]. Soubory se však stále používají pro {{ll|Manual:Language#What can be localised|konfiguraci specifickou pro jiný jazyk}}.}}
PHP je starší formát lokalizačního souboru.
Toto je v podstatě pole PHP se všemi zprávami.
V jádru MediaWiki je každý jazyk umístěn ve svém vlastním souboru v adresáři languages/message zdrojového kódu MediaWiki.
V rozšířeních jsou všechny jazyky a dokumentace zprávy (''qqq'') ve stejném souboru: ''ExtensionName.i18n.php'', obvykle v hlavním adresáři rozšíření.
Chcete-li migrovat systémové zprávy z PHP na JSON, použijte skript {{ll|Manual:GenerateJsonI18n.php|generateJsonI18n.php}}.
Přesune zprávy do souborů JSON a nahradí text souboru PHP podložkou, která ukazuje na soubory JSON.
Tento standardní kód je potřeba pro zpětnou kompatibilitu s MediaWiki 1.19.
Nepoužívá se v nových rozšířeních, která nevyžadují kompatibilitu s MediaWiki 1.19.
<span id="Using_messages"></span>
== Používání zpráv ==
MediaWiki používá ''centrální'' úložiště zpráv, na které se odkazují klíče v kódu.
To se liší například od systému [https://www.gnu.org/software/gettext/ gettext], který získává přeložitelné řetězce ze zdrojových souborů.
Systém založený na key-based některé věci usnadňuje, jako je upřesňování původních textů a sledování změn zpráv.
Nevýhodou je, že seznam použitých zpráv a seznam zdrojových textů pro tyto klíče mohou být nesynchronizované.
V praxi to není velký problém a jediným významným problémem je, že někdy další zprávy, které se již nepoužívají, stále zůstávají k překladu.
=== Making messages findable ===
Aby se klíče zpráv lépe spravovaly a snáze se hledaly, pište je vždy celé a nespoléhejte se příliš na jejich dynamické vytváření.
{{tmpl
|0=Můžete zřetězit části klíčů zpráv, pokud máte pocit, že to dává vašemu kódu lepší strukturu – ale udělejte to pouze v případě, že rozhodně existuje více možností, $1 a nezapomeňte přidat komentář se seznamem možných výsledných klíčů. Například:
|1=<ref>Některé lintry odmítnou seznamy zpráv pouze s jednou položkou, např.: [https://github.com/wikimedia/eslint-plugin-mediawiki/issues/57 mediawiki/msg-doc nepřijímá platné dokumenty s jedním záznamem].</ref>
}}
<syntaxhighlight lang="php">
// Zde lze použít zprávy:
// * myextension-connection-success
// * myextension-connection-warning
// * myextension-connection-error
$text = wfMessage( 'myextension-connection-' . $status )->parse();
</syntaxhighlight>
Viz také [[Special:MyLanguage/Manual:Coding_conventions#Dynamic_identifiers|konvence kódování pro dynamické identifikátory]].
<span id="Loading_messages_for_use_in_JavaScript_code"></span>
=== Načítání zpráv pro použití v kódu JavaScript ===
Chcete-li použít zprávu v JavaScriptu, musíte ji [[Special:MyLanguage/Manual:Messages API#Using a ResourceLoader module|uvést]] v definici vašeho modulu ResourceLoader ve vlastnosti <code>"messages"</code>.
=== Message usage functions ===
Podrobné využití funkcí zpráv v PHP a JavaScriptu je na stránce {{ll|Manual:Messages API}}.
'''Toto je důležitá stránka dokumentace a měli byste si ji přečíst, než napíšete kód, který používá zprávy.'''
<span id="Message_sources"></span>
== Zdroje zpráv ==
Kód vyhledává systémové zprávy z těchto zdrojů:
* Jmenný prostor MediaWiki. To umožňuje wikinám převzít nebo přepsat všechny své zprávy, když standardní zprávy nevyhovují nebo jsou nežádoucí.
** MediaWiki:''Message-key'' je výchozí zpráva,
** MediaWiki:''Message-key''/''language-code'' je zpráva, která se má použít, pokud uživatel zvolil jiný jazyk, než je výchozí jazyk wiki.
* Ze souborů zpráv:
** Samotné jádro MediaWiki a v současnosti udržovaná [[Special:MyLanguage/Category:All extensions|rozšíření]] používají soubor pro jazyk s názvem <code>''zyx''.json</code>, kde ''zyx'' je kód jazyka pro daný jazyk.
** Některá starší rozšíření používají kombinovaný soubor zpráv obsahující všechny zprávy ve všech jazycích, obvykle pojmenovaný {{tmpl|0=<code>''$1''.i18n.php</code>|MyExtensionName}}.
** Mnoho wikin Wikimedia Foundation přistupuje k některým zprávám z rozšíření {{ll|Extension:WikimediaMessages|nsp=0}}, což jim umožňuje standardizovat zprávy na wikinách WMF, aniž by je vnucovaly každé instalaci MediaWiki.
** Několik rozšíření používá jiné techniky.
<span id="Caching"></span>
== Ukládání do mezipaměti ==
Systémové zprávy jsou jednou z významnějších součástí MediaWiki, především proto, že se používají v každém webovém požadavku.
Soubory zpráv PHP jsou velké, protože obsahují tisíce klíčů a hodnot zpráv.
Načtení tohoto souboru (a případně více souborů, pokud se jazyk uživatele liší od jazyka obsahu) činí velké nároky na paměť a výkon.
Ke snížení tohoto dopadu na výkon se používá agresivní vrstvený systém ukládání do mezipaměti.
MediaWiki má vestavěno mnoho mechanismů ukládání do mezipaměti, díky kterým je kód poněkud obtížnější pochopit.
Od 1.16 je nový systém ukládání do mezipaměti, který ukládá zprávy do mezipaměti buď v souborech [[cdb]] nebo v databázi.
Přizpůsobené zprávy se ukládají do mezipaměti v souborovém systému a v [[Special:MyLanguage/memcached|memcached]] (nebo alternativně), v závislosti na konfiguraci.
Níže uvedená tabulka poskytuje přehled příslušných nastavení:
{|class="wikitable"
|-
!colspan="2" rowspan="2"| Umístění mezipaměti
!colspan="4"| {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}
|-
! 'store' => 'db'<br /> !! 'store' => 'detect'<br />(výchozí) !! 'store' => 'files'<br /> !! 'store' => 'array'<br />''(experimentální od MW ≥ 1.26)''
|-
!rowspan="2"| {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}
! = false<br />(výchozí)
| {{ll|Manual:l10n cache table|l10n cache table}} || {{ll|Manual:l10n cache table|l10n cache table}} || ''chyba'' (nedefinovaná cesta) || ''chyba'' (nedefinovaná cesta)
|-
! = ''path''
| {{ll|Manual:l10n cache table|l10n cache table}} || lokální souborový systém (CDB) || lokální souborový systém (CDB) || lokální souborový systém (pole PHP)
|}
{{MW version|version=1.27.0|version2=1.27.2|gerrit change=Id3e2d2b18ddb423647bf2e893bcf942722c0e097}}
V MediaWiki 1.27.0 a 1.27.1 byla autodetekce změněna tak, aby upřednostňovala backend souboru.
V případě <code>'store' => 'detect'</code> (výchozí) se použije backend souboru s cestou z {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}.
Pokud tato hodnota není nastavena (což je výchozí hodnota), použije se dočasný adresář určený operačním systémem.
Pokud nelze dočasný adresář detekovat, použije se jako záložní řešení backend databáze.
Toto bylo vráceno z 1.27.2 a 1.28.0 kvůli konfliktu souborů na sdílených hostitelích a bezpečnostním problémům (viz [[:phab:T127127|T127127]] a [[:phab:T161453|T161453]]).
<span id="Function_backtrace"></span>
=== Funkce backtrace ===
Pro lepší vizuální znázornění vrstev ukládání do mezipaměti je zde funkce backtrace toho, jaké metody se nazývají při načítání zprávy.
Vysvětlení každé vrstvy najdete v následujících částech.
* <code>Message::fetchMessage()</code>
* <code>MessageCache::get()</code>
* <code>Language::getMessage()</code>
* <code>LocalisationCache::getSubitem()</code>
* <code>LCStore::get()</code>
=== MessageCache ===
Třída <code>MessageCache</code> je nejvyšší úrovní ukládání zpráv do mezipaměti.
Je volána ze třídy Message a vrací konečný nezpracovaný obsah zprávy.
Tato vrstva zpracovává následující logiku:
* Kontrola přepsání zpráv v databázi
* Ukládání přepsaných zpráv do mezipaměti v {{ll|memcached}} nebo v čemkoli, na co je {{ll|Manual:$wgMessageCacheType|$wgMessageCacheType}} nastaveno
* Vyřešení zbytku sekvence [[Special:MyLanguage/Manual:Language#Fallback languages|jazykovou rezervou]]
Poslední odrážka je důležitá.
[[Special:MyLanguage/Manual:Language#Fallback languages|Jazyková rezerva]] (language fallbacks) umožňuje MediaWiki použít jiný jazyk, pokud originál neobsahuje požadovanou zprávu.
Jak je zmíněno v další části, většina jazykových řešení se vyskytuje na nižší úrovni.
Pouze vrstva <code>MessageCache</code> však kontroluje, zda v databázi nejsou přepsané zprávy.
Zde se tedy provádí integrace přepsaných zpráv z databáze do záložního řetězce.
Pokud databázi nepoužíváte, lze celou tuto vrstvu zakázat.
=== LocalisationCache ===
Viz {{ll|Manual:LocalisationCache.php|LocalisationCache.php}}
=== LCStore ===
Třída <code>LCStore</code> je pouze implementací typu back-end, kterou používá třída LocalisationCache pro skutečné ukládání do mezipaměti a získávání zpráv.
Stejně jako třída <code>BagOStuff</code>, která se používá pro obecné ukládání do mezipaměti v MediaWiki, existuje řada různých typů mezipaměti (konfigurovaných pomocí {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}):
* <code>db</code> (výchozí) - ukládá zprávy do mezipaměti v databázi
* <code>file</code> (výchozí, pokud je nastaveno <code>$wgCacheDirectory</code>) - používá [[w:cdb (software)|CDB]] k ukládání zpráv do mezipaměti v místním souboru
* <code>accel</code> – k ukládání dat používá [[Special:MyLanguage/Manual:Caching|APC]] nebo jinou mezipaměť operačních kódů
Možnost <code>file</code> používá Wikimedia Foundation a je doporučena, protože je rychlejší než přechod do databáze a spolehlivější než mezipaměť APC, zejména proto, že APC není kompatibilní s PHP verze 5.5 nebo novější.
<span id="Adding_new_messages"></span>
== Přidávání nových zpráv ==
<span id="Choosing_the_message_key"></span>
=== Výběr klíče zprávy ===
Viz také:
{{ll|Manual:Coding conventions#System messages}}
Klíč zprávy musí být globálně jedinečný.
To zahrnuje jádro MediaWiki a všechna rozšíření a vzhledy.
V názvech zpráv se držte malých písmen, číslic a pomlček. Většina ostatních znaků je mezi méně praktickými nebo nefungujícími vůbec.
Podle konvence MediaWiki první znak nerozlišuje velká a malá písmena a ostatní znaky rozlišují malá a velká písmena.
Při pojmenovávání prosím dodržujte globální nebo místní konvence.
U předpon použijte standardní prefix, nejlépe název předpony psaný malými písmeny, za kterým následuje pomlčka (<code>-</code>).
Výjimky jsou:
; Zprávy používané rozhraním API
: Musí začínat znaky <code>apihelp-</code>, <code>apiwarn-</code>, <code>apierror-</code>. Za tuto předponu vložte předponu rozšíření. (Všimněte si, že tyto zprávy by měly být v samostatném souboru, obvykle pod [[phab:source/mediawiki/browse/master/includes/api/i18n/|includes/i18/api]].)
; Zprávy používané rozhraním REST API
: <code>rest-module-</code>, <code>rest-endpoint-desc-<HTTP_METHOD></code>, <code>rest-endpoint-summ-<HTTP_METHOD></code>, <code>rest-param-desc</code>, <code>rest-property-desc</code>, <code>rest-schema-desc</code>. Za tento prefix vložte prefix rozšíření. <span lang="en" dir="ltr" class="mw-content-ltr">Note that these messages should be in a separate file, usually under [[phab:source/mediawiki/browse/master/includes/Rest/i18n/|includes/i18/Rest]].</span>
; Zprávy související s protokolem
: Musí začínat znaky <code>logentry-</code>, <code>log-name-</code>, <code>log-description</code>.
; Uživatelská práva
: Klíč pro název práva, jak je zobrazen na Special:ListGroupRights, musí začínat <code>right-</code>. Název akce, která doplňuje větu "<code>{{int|Permissionserrorstext-withaction|unused}}</code>" musí začínat <code>action-</code>.
; Značky revizí
: Značky revizí musí začínat <code>tag-</code>.
; Speciální názvy stránek
: Speciální názvy stránek musí začínat <code>special-</code>.
; Popisy rozšíření
: Popisy rozšíření musí začínat názvem rozšíření a končit <code>-desc</code>.
Zobrazují se v tabulce [[Special:Version]] a jejich obsah musí stručně vysvětlovat, co rozšíření dělá.
<span id="Gender"></span>
=== Pohlaví ===
Anglické zprávy téměř nikdy nepotřebují různá slova, která se mění kvůli pohlaví uživatele.
Angličtina to potřebuje pouze u zájmen ve třetí osobě ("on" a "ona"), ale ta jsou ve zprávách překvapivě vzácná.
Pokud je to nutné, použijte <code><nowiki>{{GENDER:$1|he|she|they}}</nowiki></code>.
Mnoho dalších jazyků však potřebuje různá slova v závislosti na pohlaví uživatele, a to nejen pro zájmena ve třetí osobě, ale i pro jiná zájmena, stejně jako pro slovesa v různých časech (např. "vytvořeno", "vymazáno"), podstatná jména (např. "mentor", "administrátor"), přídavná jména (např. "nový") atd.
Angličtina je proto užitečná pouze ve zprávách, když je použito slovo <code>GENDER</code>.
To dává překladatelům nápovědu, že <code>GENDER</code> lze ve zprávě použít.
Také se vyhne varováním na translatewiki o chybějících parametrech, když chybí volitelný parametr uživatelského jména (to se stává zvláště často ve zprávách záznamu protokolu).
<span id="Other_things_to_note_when_creating_messages"></span>
=== Další věci, které je třeba vzít v úvahu při vytváření zpráv ===
# Ujistěte se, že pro zprávu používáte vhodné zpracování (analýzu, nahrazení <code><nowiki>{{</nowiki></code>, escapování pro HTML atd.)
# Pokud je vaše zpráva součástí jádra, měla by být obvykle přidána k <code>languages/i18n/en.json</code>, ačkoli některé specifické komponenty, jako je Installer, EXIF tagy, ApiHelp, preference a některé další, mají své vlastní soubory zpráv.
# Pokud je vaše zpráva v rozšíření, přidejte ji do souboru <code>i18n/en.json</code> nebo <code>en.json</code> v příslušném podadresáři. Zejména zprávy API, které vidí pouze vývojáři a ne většina koncových uživatelů, jsou obvykle v samostatném souboru, například <code>i18n/api/en.json</code>. Pokud má rozšíření mnoho zpráv, můžete vytvořit podadresáře pod <code>i18n</code>. Všechny adresáře zpráv, včetně výchozího <code>i18n/</code>, musí být uvedeny v sekci <code>MessagesDirs</code> v <code>extension.json</code> nebo v proměnné {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
# Udělejte si pauzu a zvažte znění zprávy. Je to co nejjasnější? Může to být špatně pochopeno? Pokud je to možné, vyžádejte si komentáře od jiných vývojářů nebo lokalizátorů. Postupujte podle [[#Internationalisation hints|Internacionalizačních rad]].
# Přidejte dokumentaci do <code>qqq.json</code> ve stejném adresáři.
# Neřaďte zprávy svévolně podle abecedy. Pořadí zpráv v souboru by mělo zhruba odpovídat funkcím vašeho projektu. Umístěte zprávy ze stejné funkce vedle sebe. To pomáhá překladatelům zůstat soustředění a být efektivní a konzistentní.
# Pokud zpráva nebo její dokumentace (<code>qqq</code>) odkazuje na jinou zprávu ve stejném souboru JSON, zkuste tuto zprávu umístit za zprávu, na kterou odkazuje, aby překladatelé měli možnost přeložit odkazovanou zprávu, než přeloží odkazující zprávu. Není to vždy možné, například když na sebe zprávy odkazují, ale snažte se to udělat, kdykoli je to možné. (Odkaz se obvykle provádí pomocí kouzelného slova {{tmpl|0=<code><nowiki>{{int:</nowiki>$1<nowiki>}}</nowiki></code>|''key''}} v samotné zprávě nebo pomocí šablony <code><nowiki>{{msg-mw}}</nowiki></code> v dokumentaci <code>qqq</code>. Viz část [[#Message_documentation|Dokumentace ke zprávě]].
# Na začátek souboru umístěte zprávy, u kterých se očekává, že budou nejzákladnější a nejčastěji používané, a na konec zprávy, které jsou vzácnější a technicky vyspělejší.
<span id="Messages_that_should_not_be_translated"></span>
== Zprávy, které by se neměly překládat ==
# '''Ignored''' (ignorované) zprávy jsou ty, které by měly existovat pouze v anglickém [[#Localisation file format|souboru zpráv]]. Jsou to zprávy, které by neměly vyžadovat překlad, protože odkazují pouze na jiné zprávy nebo jazykově neutrální funkce, ''např.'' zprávu "<code><nowiki>{{SITENAME}}</nowiki></code>".
# '''Optional''' (volitelné) zprávy mohou být přeloženy pouze v případě, že jsou změněny v cílovém jazyce.
Označení takových zpráv:
* Použijte šablonu v dokumentaci ke zprávě <code>qqq</code>, tj.
*# <code>{<nowiki/>{[[translatewiki:Template:Notranslate|notranslate]]}}</code> nebo
*# <code>{<nowiki/>{[[translatewiki:Template:Optional|optional]]}}</code>;
* Nakonfigurujte, kde jsou vystavené zprávy pro překlad:
** Pro ignorované zprávy v jádru přidejte klíče zpráv do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/en.json}} a jejich dokumentaci do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/qqq.json}}. Tyto soubory se používají místo výpisu zpráv v konfiguraci skupiny translatewiki.
** Pro volitelné zprávy v jádru odešlete záplatu na {{git file|project=translatewiki|file=groups/MediaWiki/MediaWiki.yaml}} a přidejte klíče zpráv pod <code dir="ltr">optional:</code>.;
** Pro rozšíření v {{git file|project=translatewiki|file=groups/MediaWiki/mediawiki-extensions.txt}} přidejte pod název rozšíření řádek jako
**# <code>ignored = ''msg-key-1'',''msg-key-2''</code> or
**# <code>optional = ''msg-key-1'',''msg-key-2''</code>.
<span id="Removing_existing_messages"></span>
== Odebírání existujících zpráv ==
Odstraňte ji z <code>en.json</code> a <code>qqq.json</code>.
Neobtěžujte se jinými jazyky.
Aktualizace z {{ll|translatewiki.net|translatewiki.net}} je zpracují automaticky.
Kromě toho zkontrolujte, zda se zpráva objeví kdekoli v konfiguraci translatewiki, například v seznamu volitelných nebo nejpoužívanějších zpráv (měl by stačit jednoduchý git grep).
V případě potřeby jej z těchto seznamů odstraňte.
<span id="Changing_existing_messages"></span>
== Změna existujících zpráv ==
# Zvažte aktualizaci [[#Message documentation|dokumentace zprávy]].
# Změňte klíč zprávy, pokud staré překlady nejsou vhodné pro nový význam. To zahrnuje také změny ve zpracování zpráv (parsování, escapování, parametry atd.). Zlepšení frázování zprávy bez technických změn obvykle není důvodem pro změnu klíče. Na translatewiki.net budou překlady označeny jako zastaralé, aby na ně mohli cílit překladatelé. Změna klíče zprávy nevyžaduje komunikaci s týmem i18n nebo podání žádosti o podporu. Pokud však máte zvláštní okolnosti nebo dotazy, zeptejte se na {{irc|translatewiki}} nebo na [[translatewiki:Support|stránce podpory]] na {{ll|translatewiki.net|translatewiki.net}}.
# Pokud rozšíření podporuje {{ll|translatewiki.net|translatewiki.net}}, změňte prosím pouze anglickou zdrojovou zprávu anebo klíč a doprovodný záznam v <code>qqq.json</code>. V případě potřeby se tým translatewiki.net postará o aktualizaci překladů, označí je jako zastaralé, vyčistí soubor nebo přejmenuje klíče tam, kde je to možné. To platí také v případě, že měníte pouze prvky, jako jsou značky HTML, které byste mohli změnit v jiných jazycích, aniž byste těmito jazyky hovořili. Většina z těchto akcí proběhne v [[translatewiki:|translatewiki.net]] a dorazí do Gitu s přibližně jednodenním zpožděním.
<span id="Message_documentation"></span>
== Dokumentace zprávy ==
Pro dokumentaci zpráv existuje pseudojazykový kód <code>qqq</code>.
Je to jeden z kódů ISO 639 vyhrazený pro soukromé použití.
Tam neuchováváme překlady každé zprávy, ale shromažďujeme anglické věty ''o každé zprávě'': Říká nám, kde se používá, dává rady, jak ji přeložit, a vyjmenovává a popisuje její parametry, odkazuje na související zprávy a tak dále.
Na [[translatewiki:|translatewiki.net]] se tyto rady zobrazují překladatelům, když upravují zprávy.
Programátoři musí zdokumentovat každou zprávu.
Dokumentace zpráv je nezbytným zdrojem – nejen pro překladatele, ale pro všechny správce modulu.
Kdykoli je do softwaru přidána zpráva, ''musí'' být přidána také odpovídající položka <code>qqq</code>. Revize, které tak nečiní, jsou označeny "<code>V-1</code>", dokud nebude přidána dokumentace.
Dokumentace v souborech <code>qqq</code> by měla být upravována přímo pouze při přidávání nových zpráv nebo při změně existující anglické zprávy způsobem, který vyžaduje změnu dokumentace, například přidání nebo odebrání parametrů.
V ostatních případech by měla být dokumentace obvykle upravována v translatewiki.
Každý dokumentační řetězec je přístupný na <nowiki>https://translatewiki.net/wiki/MediaWiki:</nowiki>''message-key''<nowiki>/qqq</nowiki>, jako by to byl překlad.
Tyto úpravy budou exportovány do zdrojových úložišť spolu s překlady.
Mezi užitečné informace, které by měly být v dokumentaci, patří:
# Práce se zprávami (analýza, escapování, prostý text).
# Typ parametrů s ukázkovými hodnotami.
# Kde je zpráva použita (stránky, umístění v uživatelském rozhraní).
# Jak se zpráva používá tam, kde je použita (název stránky, text tlačítka, ''atd.'').
# Jaké další zprávy se používají spolu s touto zprávou nebo na které další zprávy se tato zpráva vztahuje.
# Cokoli jiného, co lze pochopit, když je zpráva viděna v kontextu, ale ne, když je zpráva zobrazena samostatně (což je případ, kdy je překládána).
# Případně poznámky o gramatice. Například "open" v angličtině může být sloveso i přídavné jméno. V mnoha jiných jazycích se slova liší a je nemožné uhodnout, jak je přeložit bez dokumentace.
# Přídavná jména, která popisují věci, jako je "disabled" (zakázané), "open" (otevřené) nebo "blocked" (blokované), musí ''vždy'' říkat, co popisují. V mnoha jazycích musí mít přídavná jména rod podstatného jména, které popisují. Může se také stát, že různé druhy věcí potřebují různá přídavná jména.
# Pokud má zpráva speciální vlastnosti, například pokud se jedná o název stránky, nebo pokud by neměla být přímým překladem, ale měla by být přizpůsobena kultuře nebo projektu.
# Zda se zpráva objeví v souvislosti s jinou zprávou, například v seznamu nebo v nabídce. Znění nebo gramatické rysy slov by pravděpodobně měly být podobné se souvisejícími zprávami. Položky v seznamu by měly také správně souviset se záhlavím seznamu.
# Části zprávy, které se nesmí překládat, jako jsou názvy obecných jmenných prostorů, adresy URL nebo značky.
# Vysvětlení potenciálně nejasných slov, například zkratky, jako je "CTA" nebo konkrétní žargon, jako "template" (šablona), "suppress" (potlačit) nebo "stub" (útržek). (Všimněte si, že je nejlepší se takovým slovům v první řadě vyhnout!)
# Snímky obrazovek (Screenshot) jsou velmi užitečné. Neořezávejte – obrázek celé obrazovky, na kterém se zpráva zobrazuje, poskytuje úplný kontext a lze jej znovu použít v několika zprávách.
Několik dalších tipů:
* Pamatujte, že překladatelé velmi, velmi často překládají zprávy, aniž by skutečně používali software.
* Překladatelé většinou nemají žádné kontextové informace, ani o vašem modulu, ani o jiných zprávách v něm.
* Samotná přeformulovaná zpráva je ve většině případů k ničemu.
* Nepoužívejte žargon návrhářů jako "hamburger", "nav" nebo "comps".
* Zvažte sepsání [[betawiki:Terminology#Terminologies|slovníku]] technických termínů, které se používají ve vašem modulu. Pokud to uděláte, odkažte na něj v dokumentace zpráv.
* Dokumentace zpráv je zobrazena na translatewiki a analyzována jako wikitext. Pokud používáte tagy mention wikitext nebo HTML, které se mají zobrazovat tak, jak jsou, a ne parsovat, použijte {{tag|nowiki|open}}.
Na další zprávy můžete odkazovat pomocí {{tmpl|0=<code>{{((}}msg-mw{{!}}message key{{))}}</code>|klíče zprávy}}.
Udělejte to, prosím, pokud části zpráv pocházejí z jiných zpráv (pokud tomu nelze zabránit), nebo pokud jsou některé zprávy zobrazeny společně nebo ve stejném kontextu.
translatewiki.net poskytuje některé výchozí šablony, které by měly být použity v dokumentaci, například:
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-action|doc-action]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>action-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-right|doc-right]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>right-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-group|doc-group]]|[...]|[...]<nowiki>}}</nowiki></code>
:pro zprávy kolem skupin uživatelů (<code>group</code>, <code>member</code>, <code>page</code>, <code>js</code> a <code>css</code>)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-accesskey|doc-accesskey]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>accesskey-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Experimental|experimental]]<nowiki>}}</nowiki></code>
:šablona pro označení zpráv, které se v blízké budoucnosti pravděpodobně změní (nezapomeňte ji odstranit, jakmile se zpráva stabilizuje)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Logentry|logentry]]<nowiki>}}</nowiki></code>
:šablona pro označování zpráv protokolu
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Optional|optional]]<nowiki>}}</nowiki></code>
:šablona pro označení volitelných zpráv, které by neměly být překládány do většiny jazyků a které se překladatelům ve výchozím nastavení nezobrazují
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Ignored|ignored]]<nowiki>}}</nowiki></code>
:šablona pro označení ignorovaných zpráv, které se vůbec nesmí překládat
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-important|doc-important]]<nowiki>}}</nowiki></code>
:šablona pro zdůraznění odstavců v dokumentaci.
Více šablon tohoto druhu naleznete v kategorii [[:translatewiki:Category:Message Documentation Templates|Message Documentation Templates]].
Pro více informací se podívejte na stránky šablon.
<span id="Internationalisation_hints"></span>
== Internacionalizační rady ==
Kromě [[#Message documentation|dokumentace]] překladatelé žádají vývojáře, aby zvážili některé rady, které by jim usnadnily a zefektivnily práci a umožnily skutečnou a dobrou lokalizaci pro všechny jazyky.
I když pouze přidáváte nebo upravujete zprávy v angličtině, měli byste si být vědomi potřeb všech jazyků.
Každá zpráva je přeložena do více než 300 jazyků a to by mělo být provedeno co nejlepším způsobem.
Správná implementace těchto rad vám velmi často pomůže psát lepší zprávy také v angličtině.
[[Special:MyLanguage/Localisation#Help and contact info|Localisation#Help_and_contact_info]] uvádí hlavní místa, kde můžete najít pomoc zkušených a znalých lidí ohledně i18n.
<span id="Use_message_parameters_and_switches_properly"></span>
=== Správně používání parametrů zpráv a přepínačů ===
To je předpokladem správné formulace vašich zpráv.
<span id="Avoid_message_re-use"></span>
=== Vyhněte se opětovnému použití zprávy ===
Překladatelé odrazují od opětovného použití zpráv.
To se může zdát neintuitivní, protože kopírování a duplikování kódu je obvykle špatný postup, ale v systémových zprávách je to často potřebné.
Ačkoli lze dva pojmy vyjádřit stejným slovem v angličtině, nemusí to nutně znamenat, že je lze vyjádřit stejným slovem v každém jazyce.
Dobrým příkladem je "OK": V angličtině se používá pro obecný štítek tlačítka, ale v některých jazycích dávají přednost použití štítku tlačítka souvisejícího s operací, kterou tlačítko provede.
Dalším příkladem je prakticky jakékoli přídavné jméno: Slovo jako "multiple" se v mnoha jazycích mění podle pohlaví, takže jej nemůžete znovu použít k popisu několika různých věcí a musíte vytvořit několik samostatných zpráv.
Pokud přidáváte více identických zpráv, přidejte dokumentaci ke zprávě, která popisuje rozdíly v jejich kontextech.
Nebojte se práce navíc pro překladatele.
Překladová paměť v tom hodně pomáhá a zároveň si zachovává v případě potřeby flexibilitu pro různé překlady.
{{anchor|Avoid patchwork messages}}
<span id="Avoid_fragmented_or_"patchwork"_messages"></span>
=== Vyhněte se fragmentovaným nebo "patchworkovým" (slátaninám) zprávám ===
Jazyky mají různé slovosledy a různě složitá gramatická a syntaktická pravidla.
Zprávy tvořené více kusy textu, případně s určitou nepřímostí, nazývané také "řetězení řetězců", v kódu, který nelze přímo ovládat překladateli, se v žargonu vývojářů nazývají "lego" nebo "patchwork" (slátaniny) zprávy. Správně přeložit "lego" zprávy je prakticky nemožné.
Udělejte z každé zprávy úplnou frázi.
Několik vět lze v případě potřeby obvykle mnohem snadněji spojit do textového bloku.
Chcete-li v jedné zprávě zkombinovat několik řetězců, předejte je jako parametry, protože překladatelé je mohou při překladu pro svůj jazyk správně seřadit.
<span id="Messages_quoting_each_other"></span>
==== Zprávy, které se navzájem citují ====
{{main|Manual:Messages API#Referring to other messages}}
Výjimkou z pravidla mohou být zprávy, které na sebe odkazují: 'Zadejte jméno původního autora do pole označeného "<code><nowiki>{{int:name}}</nowiki></code>" a klikněte na "<code><nowiki>{{int:proceed}}</nowiki></code>" pro dokončení'.
Díky tomu je zpráva konzistentní, když vývojář softwaru nebo provozovatel wiki později změní "name" (jméno) nebo "proceed" (pokračovat).
Bez tohoto int-triku by si vývojáři a operátoři museli být vědomi všech souvisejících zpráv, které je třeba upravit, když se cokoli změní.
<span id="Write_messages_in_natural_language"></span>
=== Zprávy pište v přirozeném jazyce ===
Pokud je to možné, pište zprávy přirozeným lidským jazykem.
Zkuste si zprávu přečíst nahlas a zamyslete se: je to něco, co zní jako správná gramatická angličtina, kterou lidé ''mluví''?
Pokud je to v angličtině složité, těžko vyslovitelné nebo jakkoli nepřirozené, bude to pro překladatele a uživatele v jiných jazycích ještě těžší.
Vyhněte se interpunkci, která je příliš technická nebo byrokratická nebo kterou nelze přečíst nahlas.
Lomítko (<code>/</code>) by mělo být obvykle nahrazeno "or".
[[w:And/or|And/or]] by mělo být nahrazeno "and" nebo "or".
Věty [[w:comma splice|spojované čárkou]], by měly být rozděleny do kratších vět.
<span id="Don't_use_terms_and_templates_that_are_specific_to_particular_projects"></span>
=== Nepoužívejte termíny a šablony, které jsou specifické pro konkrétní projekty ===
MediaWiki používají velmi různorodí lidé v rámci hnutí Wikimedie i mimo něj.
Přestože byla původně vytvořena pro encyklopedii, nyní se používá pro různé druhy obsahu.
Používejte proto obecné výrazy.
Vyhněte se například výrazům jako "article" (článek) a místo toho použijte "page" (stránka), pokud si nejste absolutně jisti, že funkce, kterou vyvíjíte, bude použita pouze na webu, kde se stránky nazývají "articles" (články).
Nepoužívejte "village pump", což je název stránky komunity na anglické Wikipedii, a místo toho používejte obecný termín, například "community discussion page" (diskusní stránka komunity).
Nepředpokládejte, že určitá šablona existuje na všech wikinách.
Šablony jsou pro wikiny lokální.
To platí jak pro zdrojové zprávy, tak pro jejich překlady.
Pokud zprávy používají šablony, budou fungovat pouze tehdy, pokud je šablona vytvořena na ''každé'' wiki, kde je funkce nasazena.
Nejlepší je úplně se vyhnout používání šablon ve zprávách.
Pokud je opravdu musíte použít, musíte to jasně zdokumentovat v dokumentaci ke zprávě a v pokynech k instalaci rozšíření.
<span id="Separate_times_from_dates_in_sentences"></span>
=== Oddělte ve větách časy od dat ===
Některé jazyky musí mezi datum a čas vložit něco, co gramaticky závisí na jiných slovech ve větě.
Nebudou tedy moci používat kombinaci data a času.
Ostatním se může tato kombinace zdát vhodná, proto je obvykle nejlepší volbou v takových případech zadat tři hodnoty parametrů (datum/čas, datum, čas) a v každém překladu ponechat buď první, nebo poslední dvě podle potřeby nevyužité.
=== Vyhněte se <code><nowiki>{{SITENAME}}</nowiki></code> ve zprávách ===
<code><nowiki>{{SITENAME}}</nowiki></code> má několik nevýhod.
Může to být cokoliv (akronym, slovo, krátká fráze, ''atd.'') a v závislosti na jazyce může vyžadovat použití <code>{{ll|Manual:Messages_API#…on use context inside sentences via GRAMMAR|<nowiki>{{GRAMMAR}}</nowiki>}}</code> při každém výskytu.
Bez ohledu na to, každá zpráva s <code><nowiki>{{SITENAME}}</nowiki></code> bude vyžadovat kontrolu ve většině jazyků wiki pro každou novou wiki, na které je nainstalován váš kód.
Ve většině případů, kdy pro jazyk neexistuje obecná konfigurace <code>GRAMMAR</code>, budou muset operátoři wiki přidat nebo upravit kód PHP tak, aby fungoval <code><nowiki>{{GRAMMAR}}</nowiki></code> pro <code><nowiki>{{SITENAME}}</nowiki></code>.
To vyžaduje více dovedností a více porozumění než v jiném případě.
Je vhodnější mít obecné odkazy jako "this wiki" (tato wiki).
To sice instalacím nebrání lokálně měnit tyto zprávy tak, aby používaly <code><nowiki>{{SITENAME}}</nowiki></code>, ale alespoň nemusí a mohou odložit přizpůsobení zpráv, dokud wiki již nebude spuštěna a používána.
<span id="Avoid_references_to_visual_layout_and_positions"></span>
=== Vyhněte se odkazům na vizuální rozvržení a pozice ===
Co se kde vykreslí, závisí na vzhledech.
Rozvržení obrazovky jazyků psaných zleva doprava jsou nejčastěji zrcadlená ve srovnání s těmi, která se používají pro jazyky psané zprava doleva, ale ne vždy a u některých jazyků a wikin ne úplně.
Ruční zařízení, úzká okna a tak dále mohou pod sebou zobrazovat bloky, které by se na větších displejích objevovaly vedle sebe.
Vzhledem k tomu, že skripty a miniaplikace JavaScriptu psané webem a uživatelem mohou a také budou skrývat části nebo přesouvat věci nepředvídatelným způsobem, neexistuje žádný spolehlivý způsob, jak zjistit skutečné rozvržení.
Je nesprávné spojovat informace o rozvržení s jazyky obsahu, protože jazyk uživatelského rozhraní nemusí být jazykem obsahu stránky a rozvržení může být v závislosti na okolnostech kombinací obou.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, ani nemají koncept vizuálního rozvržení.
Proto byste se ve většině případů neměli odkazovat na pozice vizuálního rozvržení, ačkoli termíny sémantického rozvržení mohou být stále použity ("předchozí kroky ve formuláři" ''atd.'').
MediaWiki nepodporuje zobrazování různých zpráv nebo fragmentů zpráv na základě aktuální směrovosti rozhraní (viz [[phab:T30997|T30997]]).
Připravovaná podpora prohlížeče a MediaWiki pro psaní shora dolů ve východní a severní Asii<ref>http://dev.w3.org/csswg/css3-writing-modes/</ref> způsobí, že rozložení obrazovky bude ještě nepředvídatelnější, alespoň osm možných rozložení (levá/pravá výchozí pozice, horní/dolní výchozí pozice a to, co nastane jako první).
<span id="Avoid_references_to_screen_colours"></span>
=== Vyhněte se odkazům na barvy obrazovky ===
Barva, ve které je něco vykresleno, závisí na mnoha faktorech, včetně vzhledů, skriptů a gadgetů JavaScriptu napsaných webem a uživatelem a přepisů místního uživatelského agenta z důvodu dostupnosti nebo technologických omezení.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, nemají ani koncept barev.
Proto byste neměli odkazovat na barvy obrazovky.
(Ze stejného důvodu byste se také neměli spoléhat pouze na barvu jako na mechanismus informování uživatele o stavu.)
<span id="Avoid_markup_that_doesn't_need_to_be_translated"></span>
=== Vyhněte se značkám, které není třeba překládat ===
Značky HTML, které nevyžadují překlad, jako je uzavření {{tag|div|open}} značkami, pravítka nad nebo pod a podobně, by obvykle neměly být součástí zpráv.
Je to zbytečná zátěž pro překladatele a je často náhodně změněna nebo přeskočena v procesu překladu.
Překladové rozhraní nemá žádné zvýraznění syntaxe ani ověření a chyby jsou běžné.
Vyhněte se také složitému značení wikitextu.
Wikitext je někdy rozumnější než psát totéž v PHP a je lákavé napsat něco jako:
{{codesample-header|[[MediaWiki:Revreview-basic/en]]}}
<syntaxhighlight lang="wikitext">
This is the [[{{MediaWiki:Validationpage}}|stable version]], [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} checked] on <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 pending {{PLURAL:$3|change|changes}}] {{PLURAL:$3|awaits|await}} review.
</syntaxhighlight>
To je však pro překladatele obtížné, zejména při překladu do jazyků psaných zprava doleva, protože části zprávy musí zůstat v angličtině, což má za následek, že se směr textu mnohokrát mění v jednom řádku:
{{codesample-header|[[MediaWiki:Revreview-basic/ar]]}}
<syntaxhighlight lang="wikitext" dir="rtl">
هذه هي [[{{MediaWiki:Validationpage}}|النسخة المستقرة]]، [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} المفحوصة] في <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} {{PLURAL:$3||تغيير واحد معلق|تغييران معلقان|$3 تغييرات معلقة|$3 تغييرا معلقا|$3 تغيير معلق}}] {{PLURAL:$3||ينتظر|ينتظران|تنتظر|ينتظر}} المراجعة.
</syntaxhighlight>
Nejlepší je předat jakékoli cíle odkazů jako parametry zprávy a používat pouze jednoduché značky jako {{tmpl|0=<code>[$1 $2]</code>|$1|Label}} a {{tmpl|0=<code><nowiki>[[</nowiki>$1{{!}}Label<nowiki>]]</nowiki></code>|$1|Label}}.
Nepoužívejte ve zprávách {{ll|Help:Magic words|magické slovo}} s <code>formatnum</code>.
Naformátujte číselné parametry v kódu, který načítá zprávu, podle pokynů v {{ll|Manual:Messages API}}.
<span id="Translated_messages_are_often_longer_than_you_think!"></span>
=== Přeložené zprávy jsou často delší, než si myslíte! ===
Při procházení souborů zpráv v cizích jazycích téměř nikdy nenajdete přeložené zprávy kratší než čínské a jen zřídka kratší než anglické. Často však najdete překlady, které jsou mnohem delší než anglické.
Zejména ve formulářích před vstupními poli bývají anglické zprávy stručné a krátké.
To se v překladech často neuchovává.
Jazyky mohou postrádat technickou slovní zásobu v angličtině a mohou vyžadovat více slov nebo dokonce celé věty k vysvětlení některých pojmů.
Například krátká anglická zpráva "TSV file:" může být přeložena do jazyka doslovně:
<blockquote>''Sem zadejte název, který označuje sbírku počítačových dat, která se skládá z postupně organizovaných sérií strojopisných řádků, které jsou samy o sobě organizovány jako série informačních polí, kde jsou uvedená pole informací ohraničena a ohraničení mezi nimi jsou jediné znaky toho druhu, které posouvají vozík psacího stroje dále do další předem definované polohy. Tady to je: _____ (děkuji)''</blockquote>
Toto je, pravda, extrémní příklad, ale tuto možnost máte.
Představte si tuto větu ve sloupci ve tvaru, kde každé slovo zabírá vlastní řádek a vstupní pole je svisle vystředěno v dalším sloupci. :-(
<span id="Avoid_using_very_close,_similar,_or_identical_words_to_denote_different_things,_or_concepts"></span>
=== Nepoužívejte velmi blízká, podobná nebo identická slova k označení různých věcí nebo pojmů ===
Stránky mohou mít například starší ''revize'' (konkrétního data, času a úprav), zahrnující minulé ''verze'' uvedené stránky.
Slova ''revize'' a ''verze'' lze používat zaměnitelně.
Problém nastává, když jsou verzované stránky revidovány a také se zmiňuje revize, ''tj.'' proces jejich revize.
To nemusí představovat vážný problém, když dvě synonyma "revize" mají různé překlady.
Na to však nespoléhejte.
Je tedy lepší se použití "revize" ''aka'' "verze" úplně vyhnout, aby nedošlo k jeho nesprávné interpretaci.
<span id="Basic_words_may_have_unforeseen_connotations,_or_not_exist_at_all"></span>
=== Základní slova mohou mít nepředvídatelné konotace nebo vůbec neexistují ===
Některá slova se těžko překládají kvůli jejich velmi specifickému použití v MediaWiki.
Některá možná [[#Expect untranslated words|nebudou přeložena vůbec]].
Například v několika jazycích neexistuje slovo "uživatel" (user) vztahující se k "někomu, kdo něco používá".
Podobně v [[:en:Colognian language|Kölsch]] anglická slova "namespace" a "apartment" se překládají jako stejné slovo.
Také v Kölsch říkají stejným slovem "corroborator and participant" (potvrzující a účastník), protože jakýkoli odkaz na "use" (použití) by příliš silně znamenal "abuse" (zneužívání).
Termín "wiki farma" se překládá jako "stáj plná wiki", protože farma s jednou plodinou by byla v rozporu s termíny v jazyce a nepochopena, ''atd.''.
{{anchor|Expect untranslated words}}
=== V případě potřeby použijte značky {{tag|code|open}}, {{tag|var|open}} a {{tag|kbd|open}} ===
Když mluvíte o technických parametrech, hodnotách nebo vstupech z klávesnice, označte je jako takové vhodně pomocí značek HTML {{tag|code|open}}, {{tag|var|open}} nebo {{tag|kbd|open}}.
Jsou tedy typograficky odsazeny od běžného textu.
To čtenářům vyjasní jejich smysl a zabrání zmatkům, chybám a chybným prohlášením.
Ujistěte se, že vaše zpracování zpráv umožňuje takové označení.
<span id="Symbols,_colons,_brackets,_etc._are_parts_of_messages"></span>
=== Symboly, dvojtečky, závorky, ''atd.'' jsou součástí zpráv ===
Mnoho symbolů je také lokalizovatelných. Některá písma mají jiné druhy závorek než latinka.
V některých jazycích nemusí být po štítku nebo výzvě k zadání dvojtečka vhodná.
Začlenění těchto symbolů do zpráv pomáhá vytvářet lepší a méně anglo-centrické překlady a také snižuje změť kódu.
Například v «norštině», ”švédštině”, »dánštině«, „němčině” a 「japonštině」 se používají různé konvence uvozovek.<ref>[[w:Quotation_mark#Summary_table]]</ref>
Pokud potřebujete zalomit nějaký text do lokalizovaných závorek, hranatých závorek nebo uvozovek, můžete použít <code>parentheses</code> {{int|parentheses}} nebo <code>brackets</code> {{int|brackets}} nebo <code>quotation-marks</code> {{int|quotation-marks}} zprávy jako takto:
<syntaxhighlight lang=php>
wfMessage( 'parentheses' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'brackets' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'quotation-marks' )->rawParams( /* text přejde do uvozovek */ )->escaped()
</syntaxhighlight>
<span id="Do_not_expect_symbols_and_punctuation_to_survive_translation"></span>
=== Neočekávejte, že symboly a interpunkce přežijí překlad ===
Jazyky psané zprava doleva (na rozdíl od angličtiny) obvykle zaměňují symboly šipek prezentované s odkazy "next" (další) a "previous" (předchozí) a jejich umístění vzhledem k textu zprávy může, ale také nemusí být převráceno.
Elipsis může být přeloženo jako "''atd.''" nebo jako slova.
Otazníky, vykřičníky, dvojtečky budou umístěny jinde než na konci věty, vůbec a nebo dvakrát.
V důsledku toho vždy zahrňte všechny do textu svých zpráv a nikdy se nepokoušejte je vkládat programově.
<span id="Use_full_stops"></span>
=== Použití teček ===
'''Do''' ukončuje běžné věty tečkami.
To je pro překladatele často jediný ukazatel, podle kterého pozná, že se nejedná o titulky nebo položky seznamu, které může být potřeba přeložit jinak.
<span id="Use_meaningful_link_anchors"></span>
=== Použijte smysluplné kotvy odkazů ===
Ujistěte se, že kotva dobře popisuje cílovou stránku.
Vždy se vyhněte běžným a obecným slovům.
Například "Click here" (klikněte sem) je absolutně zákázáno,<ref>http://www.w3.org/QA/Tips/noClickHere</ref>, protože cílové stránky téměř nikdy nejsou o "kliknutí sem".
Místo toho použijte přesná akční slova, která říkají, k čemu se uživatel dostane, když bude následovat odkaz, jako například "Můžete [[Special:Upload|nahrát soubor]], pokud si přejete."
Viz také ''[http://www.nngroup.com/articles/using-link-titles-to-help-users-predict-where-they-are-going/ Pomozte uživatelům předvídat, kam jdou]'', a [[w:Mystery meat navigation|tajemná navigace hmoty]] a ''[https://tosbourn.com/click-here/ Hlavní důvody, proč bychom neměli používat klikni sem jako text odkazu]''.
<span id="Avoid_jargon_and_slang"></span>
=== Vyhněte se žargonu a slangu ===
Vyhněte se ve zprávách žargonu vývojářů a zkušených uživatelů. Snažte se používat jednoduchý jazyk, kdykoli je to možné.
Pokud chcete uživatele upozornit, že se něco stalo nebo nestalo, neříkejte "success" (úspěch), "successfully" (úspěšně), "fail" (neúspěch), "error occurred while" (došlo k chybě) atd.
To vychází z pohledu vývojářů, kteří vidí všechno jako pravdivé nebo nepravdivé, ale uživatelé obvykle chtějí vědět, co se skutečně stalo nebo nestalo a co by s tím měli dělat (pokud vůbec). Tak:
* "Soubor byl úspěšně přejmenován" -> "Soubor byl přejmenován"
* "Přejmenování souboru se nezdařilo" -> "Soubor s tímto názvem již existuje. Vyberte prosím jiný název."
<span id="Be_aware_of_whitespace_and_line_breaks"></span>
=== Dejte si pozor na mezery a zalomení řádků ===
Lokalizované zprávy MediaWiki se obvykle upravují na wiki buď operacemi wiki na živých wikinách nebo překladateli na [[[[translatewiki.net]]]].
Měli byste si být vědomi toho, jak mezery, zejména na začátku nebo konci vaší zprávy, ovlivní editory:
* Mezery a konce řádků (nové řádky) na konci zprávy jsou vždy automaticky odstraněny editorem wikitextu. Vaše zpráva nesmí končit mezerou nebo zalomením řádku, protože se při úpravě na wiki ztratí.
* Mezery a zalomení řádků na začátku nejsou automaticky odstraněny, ale pravděpodobně budou odstraněny náhodně během úprav a je třeba se jim vyhnout.
Začněte a ukončete svou zprávu aktivním textem. Pokud kolem něj potřebujete zalomení nového řádku nebo odstavce, váš okolní kód by se měl vypořádat s jeho přidáním do vráceného textu.
Některé zprávy vyžadují na konci mezeru, například <code>word-separator</code> (který se ve většině jazyků skládá pouze z mezery).
Pro podporu takových případů použití jsou ve zprávách povoleny následující entity HTML a transformovány na skutečné znaky i když zpráva jinak neumožňuje formátování wikitextu nebo HTML:<ref>
https://github.com/wikimedia/mediawiki/blob/REL1_34/includes/cache/MessageCache.php#L887
</ref>
* <code>&#32;</code> – mezera
* <code>&nbsp;</code> nebo <code>&#160;</code> – [[w:non-breaking space|nezalomitelná mezera]]
* <code>&shy;</code> – [[w:soft hyphen|měkký spojovník]]
Související poznámka, jakékoli další prvky syntaxe ovlivněné [[Special:MyLanguage/pre-save transforms|transformací před uložením]] nesmí být také použity ve zprávách, protože budou transformovány, pokud bude zpráva na wiki upravena.
<span id="Use_standard_capitalisation"></span>
=== Použijte standardní velká písmena ===
Velká písmena překladatelům napoví, co překládají, jako jsou jednotlivá slova, položky seznamu nebo nabídky, fráze nebo celé věty.
Správná (standardní) velká písmena můžou také hrát roli při hodnocení vašich stránek vyhledávači.
MediaWiki používá [[w:Letter case|case case]] (''Rychlá hnědá liška skáče přes líného psa'') ve zprávách rozhraní.
Vždy si pamatujte, že mnoho psacích systémů vůbec nemá velká písmena a některé z těch, které je mají, je používají jinak než angličtina.
Proto pro zdůraznění nepoužívejte VŠECHNA VELKÁ PÍSMENA.
Použijte CSS nebo HTML {{tag|em|open}} nebo {{tag|strong|open}} níže:
<span id="Emphasis"></span>
==== Důraz ====
V normálním textu by měly být součástí textů zpráv [[w:Emphasis|emphasis]] '''tučné písmo''' nebo ''kurzíva'' a podobně.
Místní konvence v důrazu se často liší, zvláště některá asijská písma mají svá vlastní.
Překladatelé musí být schopni přizpůsobit důraz svým cílovým jazykům a oblastem.
Zkuste ve svém uživatelském rozhraní použít "{{tag|em|open}}" a "{{tag|strong|open}}", abyste umožnili značkování podle jazyka nebo skriptu.
V moderních rozvrženích obrazovky v anglickém a evropském stylu se důraz používá méně.
Uveďte to ve své [[#Message documentation|dokumentaci zprávy]], protože to může poskytnout cenné rady, jak překládat.
Důraz může a měl by být podle potřeby použit v jiných kulturních kontextech za předpokladu, že o tom překladatelé vědí.
<span id="Some_things_must_be_added_to_English_messages_even_when_they_are_not_required"></span>
==== Některé věci je nutné do anglických zpráv přidat, i když nejsou nutné ====
Někdy se stává, že anglické zprávy nepotřebují podporu některých parametrů $ nebo PLURAL či GENDER, ale překlady těchto zpráv do jiných jazyků je potřebují.
V takových případech musí být tyto parametry nebo klíčová slova přidány do angličtiny, i když nedělají nic.
To je nutné ze dvou důvodů:
* Překladateli to ve zprávě jasně ukazuje, že tyto parametry jsou k dispozici.
* Zabraňuje translatewiki zobrazovat varování o parametrech, které jsou použity v překladu, ale nejsou použity v angličtině.
Například anglické slovo "deleted" se může vztahovat na jednu smazanou stránku nebo na několik smazaných stránek, ale v jiných jazycích by se toto slovo lišilo v závislosti na počtu stránek.
Takže napište něco jako: <code><nowiki>{{PLURAL:$1|deleted}}</nowiki></code>.
<span id="See_also"></span>
== Související odkazy ==
* {{ll|Customization}}
* {{ll|Manual:Configuration settings}}
* {{ll|Manual:Skins}}
* {{ll|Manual:Messages API}}
* {{ll|Localisation}}
* {{ll|Manual:MediaWiki architecture#Localizing messages|2=Příručka:Architektura MediaWiki a lokalizace zpráv}}
* [[translatewiki:FAQ]]
<span id="Notes"></span>
== Poznámky pod čarou ==
<references />
[[Category:Customization techniques{{#translation:}}]]
[[Category:User interface{{#translation:}}]]
[[Category:Localisation{{#translation:}}]]
[[Category:System message{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
5490bh4nfdwqd9xdpj43wppji90rxsf
8390317
8390315
2026-05-25T07:46:41Z
Rebulka
17532855
Created page with "Upozorňujeme, že tyto zprávy by měly být v samostatném souboru, obvykle pod názvem $1."
8390317
wikitext
text/x-wiki
<languages />
{{PD Help Page}}
{{i18n navigation}}
[[File:MediaWiki SpecialUpload interface labelled.png|thumb|Označený formulář [[Special:Upload]], zobrazující různé systémové zprávy.]]
'''Systémová zpráva''' je úryvek prostého textu (nowiki), wikitext, [[w:CSS|CSS]] nebo [[w:JavaScript|JavaScript]], který lze použít k přizpůsobení chování MediaWiki a jeho zobrazení pro každý jazyk a [[w:Locale (computer software)|lokální počítačový software]].
MediaWiki používá zprávy pro jakoukoli část uživatelského rozhraní, což umožňuje internacionalizaci a lokalizaci uživatelského rozhraní MediaWiki pro jádro i rozšíření.
Všechny zprávy používané v MediaWiki jsou definovány v [[#Localisation file format|souboru zpráv]].
<span id="Overriding_messages_on-wiki"></span>
== Přepisování zpráv na wiki ==
Zprávy lze přepsat z jejich výchozích hodnot úpravou na wiki.
Každá zpráva má wiki stránku v jmenném prostoru MediaWiki s klíčem zprávy jako názvem stránky.
Například zpráva "aboutsite" je uložena na MediaWiki:aboutsite.
Ve výchozím nastavení je tento jmenný prostor omezen na úpravy, pokud uživatel nemá oprávnění "editinterface" (rozhraní pro úpravy).
Seznam všech stránek se zprávami naleznete na [[Special:AllMessages]].
Úpravy zpráv rozhraní jsou obvykle jednoduché, stejně jako úpravy normální stránky wiki, ale jsou omezeny na uživatele s povolením [[Special:MyLanguage/editinterface|editinterface]], které je ve výchozím nastavení přiřazeno správcům (a správcům rozhraní).
[[File:Wiki-system-messages.png|thumb|Jeden řádek v rámci původní stránky [[Special:AllMessages]].]]
Speciální stránka [[Special:AllMessages]] vypisuje zvlášť pro každou zvolenou jazykovou mutaci tabulku se dvěma sloupci: název propojeného rozhraní a text.
Text je vodorovně rozdělen, aby se zobrazil výchozí text nahoře a přizpůsobený text níže.
Pokud vlastní zpráva neexistuje, zobrazí se pouze výchozí.
Pokud chcete přizpůsobit zprávu, klikněte na horní odkaz v levém sloupci (název zprávy).
Tento odkaz je červený, pokud se používá výchozí text, protože stránka pro úpravy je prázdná.
Druhý odkaz v levém sloupci vede na stránku, na které lze vést případnou diskuzi o tom jak má vypadat obsah příslušné zprávy.
Přepsání zpráv na wiki se doporučuje pouze v následujících případech:
* Zpráva obsahuje závažnou chybu, kterou je třeba co nejdříve opravit. V tomto případě se doporučuje opravit tuto chybu také ve zdrojovém kódu, pokud je v angličtině, nebo v překladu na translatewiki, pokud tomu tak není. Po nasazení opravy by měla být stránka s místním přizpůsobením odstraněna.
* Pokud místní wiki používá jinou terminologii. Mnoho zpráv používá například slovo "page", ale anglická Wikipedie místo toho často říká "article".
* Místní zpráva se pokouší přidat nějakou jedinečnou funkcionalitu, například pro miniaplikaci nebo šablonu. (V takovém případě se stále doporučuje zvážit změnu zdrojové zprávy nebo tuto funkci zapouzdřit do rozšíření, aby si ji ostatní wikiny mohli pohodlně užít, aniž by museli ručně kopírovat přizpůsobení.)
<span id="Finding_messages_and_documentation"></span>
== Vyhledávání zpráv a dokumentace ==
Jak se v MediaWiki se zprávami pracuje, jaké jsou s nimi spojené proměnné, parametry, omezení atp. je popsáno v [//translatewiki.net/w/i.php?title=Special:Translate&task=reviewall&group=core&language=qqq&limit=5000&action=page&filter= dokumentaci k souborům pseudojazyka qqq], a v [[#Message_documentation|pravidlech pro dokumentaci zpráv]].
Pro některé starší zprávy můžete najít obsáhlejší dokumentaci v rámci původní {{ll|Category:Interface messages}}.
{{note
|1=Ve wiki bázi translatewiki.net je qqq stránka, která obsahuje uživatelskou dokumentaci ke zprávě (v angličtině, protože je stejná pro všechny čtenáře).
Stejně jako /en, /zu, /fr, ..., /qqq je podstránkou článku a lze ji přímo zobrazit.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/en]] a prohlédněte si zprávu v angličtině.
* Zkuste [[translatewiki:MediaWiki:Tog-hideminor/fr]] a prohlédněte si stejnou zprávu ve francouzštině.
* Zkuste zobrazit [[translatewiki:MediaWiki:Tog-hideminor/qqq]] a zobrazit související dokumentaci (v angličtině).
Z tohoto hlediska je <code>qqq</code> považován za jazyk v parametru <code>language=</code> požadavku.
}}
{{MW 1.18|and later}}
Od MediaWiki verze 1.18 a vyšší, můžete vyhledat identifikační řetězce zpráv použitých na stránce jejím zobrazení s využitím kódu pseudo-jazyka <code>'''[[Special:MyLanguage/Help:Qqx|qqx]]'''</code>. To lze udělat buď tak, že připojíte za URL příslušné wiki stránky <code>?[[Special:MyLanguage/uselang|uselang]]=qqx</code>, nebo pokud již URL obsahuje znak <code>?</code> přidáte parametr <code>&uselang=qqx</code> (viz [{{fullurl:{{FULLPAGENAME}}|uselang=qqx}} například]).
Místo obsahu zprávy se tak na stránce zobrazí její identifikační řetězec (''klíč''), takže pak můžete snadno vyhledat ten, který odpovídá zprávě, kterou chcete upravit.
Je-li zpráva součástí obsahu stránky, tak se při použití qqx nic nezobrazí.
V případě, že stránka používá nějaké vlastní záložky jako např. [[Special:Preferences#mw-prefsection-rendering|speciální stránka "Nastavení"]] budete muset přidat záložku až za parametr <code>uselang</code>, např. <code>Special:Preferences?uselang=qqx#mw-prefsection-rendering</code>.
{{MW 1.38|and later|gerrit change=765385}}
Před MediaWiki 1.38 nebyly klávesy záložních zpráv zobrazeny, což ztěžovalo identifikaci zdroje některých zpráv, zejména [[Special:MyLanguage/Help:Navigation#Page tabs|navigačních karet]].
Od verze MediaWiki 1.38 jsou klíče záložních zpráv zobrazeny oddělené lomítky (<code>/</code>).
{{MW 1.43|and later|gerrit change=1025837}}
Před MediaWiki 1.43 nebyly zobrazeny ani klíče pro přepisování zpráv (pomocí háčků jako {{ll|Manual:Hooks/MessageCacheFetchOverrides|MessageCacheFetchOverrides}}), což ztěžovalo identifikaci zdroje zpráv přepsaných rozšířeními (jako je {{ll|Extension:WikimediaMessages|WikimediaMessages}}).
Od verze MediaWiki 1.43 je klíč zprávy přepsání zobrazen za znakem rovná se (<code>=</code>).
{{Anchor|Messages file}}
<span id="Localisation_file_format"></span>
== Formát lokalizačního souboru ==
Všechny zprávy používané v MediaWiki jsou definovány v ''souboru zpráv''.
V MediaWiki existují dva typy souborů zpráv: JSON a PHP.
Od dubna 2014 byla základní MediaWiki a většina udržovaných rozšíření převedena do formátu JSON.
Pro veškerý nový vývoj byste měli používat JSON.
Další informace o migraci na JSON najdete na stránce [[Requests for comment/Localisation format]].
=== JSON ===
Od konce roku 2013 byl zaveden nový formát souborů pro zprávy: JSON.
Toto je prostý [[:w:JSON|JSON]], známý jako běžný obecný formát ukládání dat.
Každý klíč v něm je klíčem zprávy a hodnotou je text zprávy.
Speciální klíč <code>@metadata</code> navíc slouží k uložení informací o překladu, jako jsou autoři překladu.
Použitím JSON jsou lokalizační soubory bezpečnější, protože nejsou spustitelné.
Je také kompatibilní s jquery.i18n, knihovnou JavaScript vyvinutou jako součást [[Milkshake|projektu Milkshake]], která poskytuje možnosti lokalizace frontendu podobné MediaWiki a je používána některými rozšířeními, která chtějí být méně závislá na MediaWiki, jako je [[Special:MyLanguage/Extension:VisualEditor|VisualEditor]] a [[Special:MyLanguage/Extension:UniversalLanguageSelector|UniversalLanguageSelector]].
Protože širší sada nástrojů pro internacionalizaci a lokalizaci byla nazvána "[[Project Milkshake]]", někteří lidé nazývají tento formát "banán".
<span id="File_location"></span>
==== Umístění souboru ====
V jádru MediaWiki jsou lokalizační soubory umístěny v adresáři <code>{{git file |file=languages/i18n |action=tree}}</code>.
Rozšíření MediaWiki obvykle umístí svá rozšíření do podadresáře <code>i18n/</code>.
Pokud v rámci projektu existuje velký počet zpráv, je možné je rozdělit do dvou nebo více aktuálních podadresářů, aby bylo možné je udržovat.
V kontextu MediaWiki se k výpisu těchto podadresářů používá konfigurační klíč {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
Zde je příklad z rozšíření VisualEditoru pro MediaWiki:
<syntaxhighlight lang="json">
{
"MessagesDirs": {
"VisualEditor": [
"lib/ve/modules/ve/i18n",
"modules/ve-mw/i18n",
"modules/ve-wmf/i18n",
"lib/ve/lib/oojs-ui/i18n"
]
}
}
</syntaxhighlight>
Nové zprávy přidáte do anglického souboru zpráv "<code>en</code>" <code>en.json</code> a zdokumentujete je v souboru dokumentace zpráv se speciálním kódem pseudojazyka "<code>qqq</code>" – <code>qqq.json</code>.
''Viz také: [[#Adding new messages|Přidávání nových zpráv]]''.
==== Metadata ====
V současné době se v souborech používají následující pole metadat:
;authors
:JSON seznam autorů zpráv. Pro angličtinu (en) a dokumentaci ke zprávám (qqq) jsou tyto při úpravě souboru zpráv přidány ručně. U všech ostatních jazyků se toto vkládá automaticky při exportu souboru zpráv z [[translatewiki.net]]. Dokumentaci zprávy lze upravovat na translatewiki.net a do souboru qqq.json se automaticky vkládají také editace dokumentace.
;message-documentation
:Toto je kód pseudojazyka pro ukládání dokumentace zprávy. Pro MediaWiki je to vždy ''qqq''. (To se objevuje v některých rozšířeních, ale ve skutečnosti není žádným způsobem zpracováno. Není to povinné.)
<span id="Conventions"></span>
==== Konvence ====
Speciální znaky, jako jsou zalomení řádků, jsou escapovány (<code>"\n"</code>).
Znaky Unicode, které představují písmena v různých abecedách, jsou uloženy jako skutečné znaky a nikoli jako kódy znaků, protože tyto soubory někdy čtou lidé, a proto jsou soubory menší (<code>"誼"</code> a ne <code>"\u8ABC"</code>).
V každém případě mají vývojáři málo důvodů upravovat zprávy v jakémkoli jazyce kromě angličtiny, protože ty se obvykle upravují přes translatewiki.net.
Neunikne ani kód HTML, takže <code>"<strong>Warning</strong>"</code> a ne <code>"\u003cstrong\u003eWarning\u003c/strong\u003e"</code>.
Soubory JSON jsou odsazeny pomocí tabulátorů.
=== PHP ===
{{note|type=warn|1=Tato část se týká použití souborů [[MessagesXx.php]] pro lokalizaci zpráv, které bylo [[Requests for comment/Localisation format|zastaralé v roce 2014]]. Soubory se však stále používají pro {{ll|Manual:Language#What can be localised|konfiguraci specifickou pro jiný jazyk}}.}}
PHP je starší formát lokalizačního souboru.
Toto je v podstatě pole PHP se všemi zprávami.
V jádru MediaWiki je každý jazyk umístěn ve svém vlastním souboru v adresáři languages/message zdrojového kódu MediaWiki.
V rozšířeních jsou všechny jazyky a dokumentace zprávy (''qqq'') ve stejném souboru: ''ExtensionName.i18n.php'', obvykle v hlavním adresáři rozšíření.
Chcete-li migrovat systémové zprávy z PHP na JSON, použijte skript {{ll|Manual:GenerateJsonI18n.php|generateJsonI18n.php}}.
Přesune zprávy do souborů JSON a nahradí text souboru PHP podložkou, která ukazuje na soubory JSON.
Tento standardní kód je potřeba pro zpětnou kompatibilitu s MediaWiki 1.19.
Nepoužívá se v nových rozšířeních, která nevyžadují kompatibilitu s MediaWiki 1.19.
<span id="Using_messages"></span>
== Používání zpráv ==
MediaWiki používá ''centrální'' úložiště zpráv, na které se odkazují klíče v kódu.
To se liší například od systému [https://www.gnu.org/software/gettext/ gettext], který získává přeložitelné řetězce ze zdrojových souborů.
Systém založený na key-based některé věci usnadňuje, jako je upřesňování původních textů a sledování změn zpráv.
Nevýhodou je, že seznam použitých zpráv a seznam zdrojových textů pro tyto klíče mohou být nesynchronizované.
V praxi to není velký problém a jediným významným problémem je, že někdy další zprávy, které se již nepoužívají, stále zůstávají k překladu.
=== Making messages findable ===
Aby se klíče zpráv lépe spravovaly a snáze se hledaly, pište je vždy celé a nespoléhejte se příliš na jejich dynamické vytváření.
{{tmpl
|0=Můžete zřetězit části klíčů zpráv, pokud máte pocit, že to dává vašemu kódu lepší strukturu – ale udělejte to pouze v případě, že rozhodně existuje více možností, $1 a nezapomeňte přidat komentář se seznamem možných výsledných klíčů. Například:
|1=<ref>Některé lintry odmítnou seznamy zpráv pouze s jednou položkou, např.: [https://github.com/wikimedia/eslint-plugin-mediawiki/issues/57 mediawiki/msg-doc nepřijímá platné dokumenty s jedním záznamem].</ref>
}}
<syntaxhighlight lang="php">
// Zde lze použít zprávy:
// * myextension-connection-success
// * myextension-connection-warning
// * myextension-connection-error
$text = wfMessage( 'myextension-connection-' . $status )->parse();
</syntaxhighlight>
Viz také [[Special:MyLanguage/Manual:Coding_conventions#Dynamic_identifiers|konvence kódování pro dynamické identifikátory]].
<span id="Loading_messages_for_use_in_JavaScript_code"></span>
=== Načítání zpráv pro použití v kódu JavaScript ===
Chcete-li použít zprávu v JavaScriptu, musíte ji [[Special:MyLanguage/Manual:Messages API#Using a ResourceLoader module|uvést]] v definici vašeho modulu ResourceLoader ve vlastnosti <code>"messages"</code>.
=== Message usage functions ===
Podrobné využití funkcí zpráv v PHP a JavaScriptu je na stránce {{ll|Manual:Messages API}}.
'''Toto je důležitá stránka dokumentace a měli byste si ji přečíst, než napíšete kód, který používá zprávy.'''
<span id="Message_sources"></span>
== Zdroje zpráv ==
Kód vyhledává systémové zprávy z těchto zdrojů:
* Jmenný prostor MediaWiki. To umožňuje wikinám převzít nebo přepsat všechny své zprávy, když standardní zprávy nevyhovují nebo jsou nežádoucí.
** MediaWiki:''Message-key'' je výchozí zpráva,
** MediaWiki:''Message-key''/''language-code'' je zpráva, která se má použít, pokud uživatel zvolil jiný jazyk, než je výchozí jazyk wiki.
* Ze souborů zpráv:
** Samotné jádro MediaWiki a v současnosti udržovaná [[Special:MyLanguage/Category:All extensions|rozšíření]] používají soubor pro jazyk s názvem <code>''zyx''.json</code>, kde ''zyx'' je kód jazyka pro daný jazyk.
** Některá starší rozšíření používají kombinovaný soubor zpráv obsahující všechny zprávy ve všech jazycích, obvykle pojmenovaný {{tmpl|0=<code>''$1''.i18n.php</code>|MyExtensionName}}.
** Mnoho wikin Wikimedia Foundation přistupuje k některým zprávám z rozšíření {{ll|Extension:WikimediaMessages|nsp=0}}, což jim umožňuje standardizovat zprávy na wikinách WMF, aniž by je vnucovaly každé instalaci MediaWiki.
** Několik rozšíření používá jiné techniky.
<span id="Caching"></span>
== Ukládání do mezipaměti ==
Systémové zprávy jsou jednou z významnějších součástí MediaWiki, především proto, že se používají v každém webovém požadavku.
Soubory zpráv PHP jsou velké, protože obsahují tisíce klíčů a hodnot zpráv.
Načtení tohoto souboru (a případně více souborů, pokud se jazyk uživatele liší od jazyka obsahu) činí velké nároky na paměť a výkon.
Ke snížení tohoto dopadu na výkon se používá agresivní vrstvený systém ukládání do mezipaměti.
MediaWiki má vestavěno mnoho mechanismů ukládání do mezipaměti, díky kterým je kód poněkud obtížnější pochopit.
Od 1.16 je nový systém ukládání do mezipaměti, který ukládá zprávy do mezipaměti buď v souborech [[cdb]] nebo v databázi.
Přizpůsobené zprávy se ukládají do mezipaměti v souborovém systému a v [[Special:MyLanguage/memcached|memcached]] (nebo alternativně), v závislosti na konfiguraci.
Níže uvedená tabulka poskytuje přehled příslušných nastavení:
{|class="wikitable"
|-
!colspan="2" rowspan="2"| Umístění mezipaměti
!colspan="4"| {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}
|-
! 'store' => 'db'<br /> !! 'store' => 'detect'<br />(výchozí) !! 'store' => 'files'<br /> !! 'store' => 'array'<br />''(experimentální od MW ≥ 1.26)''
|-
!rowspan="2"| {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}
! = false<br />(výchozí)
| {{ll|Manual:l10n cache table|l10n cache table}} || {{ll|Manual:l10n cache table|l10n cache table}} || ''chyba'' (nedefinovaná cesta) || ''chyba'' (nedefinovaná cesta)
|-
! = ''path''
| {{ll|Manual:l10n cache table|l10n cache table}} || lokální souborový systém (CDB) || lokální souborový systém (CDB) || lokální souborový systém (pole PHP)
|}
{{MW version|version=1.27.0|version2=1.27.2|gerrit change=Id3e2d2b18ddb423647bf2e893bcf942722c0e097}}
V MediaWiki 1.27.0 a 1.27.1 byla autodetekce změněna tak, aby upřednostňovala backend souboru.
V případě <code>'store' => 'detect'</code> (výchozí) se použije backend souboru s cestou z {{ll|Manual:$wgCacheDirectory|$wgCacheDirectory}}.
Pokud tato hodnota není nastavena (což je výchozí hodnota), použije se dočasný adresář určený operačním systémem.
Pokud nelze dočasný adresář detekovat, použije se jako záložní řešení backend databáze.
Toto bylo vráceno z 1.27.2 a 1.28.0 kvůli konfliktu souborů na sdílených hostitelích a bezpečnostním problémům (viz [[:phab:T127127|T127127]] a [[:phab:T161453|T161453]]).
<span id="Function_backtrace"></span>
=== Funkce backtrace ===
Pro lepší vizuální znázornění vrstev ukládání do mezipaměti je zde funkce backtrace toho, jaké metody se nazývají při načítání zprávy.
Vysvětlení každé vrstvy najdete v následujících částech.
* <code>Message::fetchMessage()</code>
* <code>MessageCache::get()</code>
* <code>Language::getMessage()</code>
* <code>LocalisationCache::getSubitem()</code>
* <code>LCStore::get()</code>
=== MessageCache ===
Třída <code>MessageCache</code> je nejvyšší úrovní ukládání zpráv do mezipaměti.
Je volána ze třídy Message a vrací konečný nezpracovaný obsah zprávy.
Tato vrstva zpracovává následující logiku:
* Kontrola přepsání zpráv v databázi
* Ukládání přepsaných zpráv do mezipaměti v {{ll|memcached}} nebo v čemkoli, na co je {{ll|Manual:$wgMessageCacheType|$wgMessageCacheType}} nastaveno
* Vyřešení zbytku sekvence [[Special:MyLanguage/Manual:Language#Fallback languages|jazykovou rezervou]]
Poslední odrážka je důležitá.
[[Special:MyLanguage/Manual:Language#Fallback languages|Jazyková rezerva]] (language fallbacks) umožňuje MediaWiki použít jiný jazyk, pokud originál neobsahuje požadovanou zprávu.
Jak je zmíněno v další části, většina jazykových řešení se vyskytuje na nižší úrovni.
Pouze vrstva <code>MessageCache</code> však kontroluje, zda v databázi nejsou přepsané zprávy.
Zde se tedy provádí integrace přepsaných zpráv z databáze do záložního řetězce.
Pokud databázi nepoužíváte, lze celou tuto vrstvu zakázat.
=== LocalisationCache ===
Viz {{ll|Manual:LocalisationCache.php|LocalisationCache.php}}
=== LCStore ===
Třída <code>LCStore</code> je pouze implementací typu back-end, kterou používá třída LocalisationCache pro skutečné ukládání do mezipaměti a získávání zpráv.
Stejně jako třída <code>BagOStuff</code>, která se používá pro obecné ukládání do mezipaměti v MediaWiki, existuje řada různých typů mezipaměti (konfigurovaných pomocí {{ll|Manual:$wgLocalisationCacheConf|$wgLocalisationCacheConf}}):
* <code>db</code> (výchozí) - ukládá zprávy do mezipaměti v databázi
* <code>file</code> (výchozí, pokud je nastaveno <code>$wgCacheDirectory</code>) - používá [[w:cdb (software)|CDB]] k ukládání zpráv do mezipaměti v místním souboru
* <code>accel</code> – k ukládání dat používá [[Special:MyLanguage/Manual:Caching|APC]] nebo jinou mezipaměť operačních kódů
Možnost <code>file</code> používá Wikimedia Foundation a je doporučena, protože je rychlejší než přechod do databáze a spolehlivější než mezipaměť APC, zejména proto, že APC není kompatibilní s PHP verze 5.5 nebo novější.
<span id="Adding_new_messages"></span>
== Přidávání nových zpráv ==
<span id="Choosing_the_message_key"></span>
=== Výběr klíče zprávy ===
Viz také:
{{ll|Manual:Coding conventions#System messages}}
Klíč zprávy musí být globálně jedinečný.
To zahrnuje jádro MediaWiki a všechna rozšíření a vzhledy.
V názvech zpráv se držte malých písmen, číslic a pomlček. Většina ostatních znaků je mezi méně praktickými nebo nefungujícími vůbec.
Podle konvence MediaWiki první znak nerozlišuje velká a malá písmena a ostatní znaky rozlišují malá a velká písmena.
Při pojmenovávání prosím dodržujte globální nebo místní konvence.
U předpon použijte standardní prefix, nejlépe název předpony psaný malými písmeny, za kterým následuje pomlčka (<code>-</code>).
Výjimky jsou:
; Zprávy používané rozhraním API
: Musí začínat znaky <code>apihelp-</code>, <code>apiwarn-</code>, <code>apierror-</code>. Za tuto předponu vložte předponu rozšíření. (Všimněte si, že tyto zprávy by měly být v samostatném souboru, obvykle pod [[phab:source/mediawiki/browse/master/includes/api/i18n/|includes/i18/api]].)
; Zprávy používané rozhraním REST API
: <code>rest-module-</code>, <code>rest-endpoint-desc-<HTTP_METHOD></code>, <code>rest-endpoint-summ-<HTTP_METHOD></code>, <code>rest-param-desc</code>, <code>rest-property-desc</code>, <code>rest-schema-desc</code>. Za tento prefix vložte prefix rozšíření. Upozorňujeme, že tyto zprávy by měly být v samostatném souboru, obvykle pod názvem [[phab:source/mediawiki/browse/master/includes/Rest/i18n/|includes/i18/Rest]].
; Zprávy související s protokolem
: Musí začínat znaky <code>logentry-</code>, <code>log-name-</code>, <code>log-description</code>.
; Uživatelská práva
: Klíč pro název práva, jak je zobrazen na Special:ListGroupRights, musí začínat <code>right-</code>. Název akce, která doplňuje větu "<code>{{int|Permissionserrorstext-withaction|unused}}</code>" musí začínat <code>action-</code>.
; Značky revizí
: Značky revizí musí začínat <code>tag-</code>.
; Speciální názvy stránek
: Speciální názvy stránek musí začínat <code>special-</code>.
; Popisy rozšíření
: Popisy rozšíření musí začínat názvem rozšíření a končit <code>-desc</code>.
Zobrazují se v tabulce [[Special:Version]] a jejich obsah musí stručně vysvětlovat, co rozšíření dělá.
<span id="Gender"></span>
=== Pohlaví ===
Anglické zprávy téměř nikdy nepotřebují různá slova, která se mění kvůli pohlaví uživatele.
Angličtina to potřebuje pouze u zájmen ve třetí osobě ("on" a "ona"), ale ta jsou ve zprávách překvapivě vzácná.
Pokud je to nutné, použijte <code><nowiki>{{GENDER:$1|he|she|they}}</nowiki></code>.
Mnoho dalších jazyků však potřebuje různá slova v závislosti na pohlaví uživatele, a to nejen pro zájmena ve třetí osobě, ale i pro jiná zájmena, stejně jako pro slovesa v různých časech (např. "vytvořeno", "vymazáno"), podstatná jména (např. "mentor", "administrátor"), přídavná jména (např. "nový") atd.
Angličtina je proto užitečná pouze ve zprávách, když je použito slovo <code>GENDER</code>.
To dává překladatelům nápovědu, že <code>GENDER</code> lze ve zprávě použít.
Také se vyhne varováním na translatewiki o chybějících parametrech, když chybí volitelný parametr uživatelského jména (to se stává zvláště často ve zprávách záznamu protokolu).
<span id="Other_things_to_note_when_creating_messages"></span>
=== Další věci, které je třeba vzít v úvahu při vytváření zpráv ===
# Ujistěte se, že pro zprávu používáte vhodné zpracování (analýzu, nahrazení <code><nowiki>{{</nowiki></code>, escapování pro HTML atd.)
# Pokud je vaše zpráva součástí jádra, měla by být obvykle přidána k <code>languages/i18n/en.json</code>, ačkoli některé specifické komponenty, jako je Installer, EXIF tagy, ApiHelp, preference a některé další, mají své vlastní soubory zpráv.
# Pokud je vaše zpráva v rozšíření, přidejte ji do souboru <code>i18n/en.json</code> nebo <code>en.json</code> v příslušném podadresáři. Zejména zprávy API, které vidí pouze vývojáři a ne většina koncových uživatelů, jsou obvykle v samostatném souboru, například <code>i18n/api/en.json</code>. Pokud má rozšíření mnoho zpráv, můžete vytvořit podadresáře pod <code>i18n</code>. Všechny adresáře zpráv, včetně výchozího <code>i18n/</code>, musí být uvedeny v sekci <code>MessagesDirs</code> v <code>extension.json</code> nebo v proměnné {{ll|Manual:$wgMessagesDirs|$wgMessagesDirs}}.
# Udělejte si pauzu a zvažte znění zprávy. Je to co nejjasnější? Může to být špatně pochopeno? Pokud je to možné, vyžádejte si komentáře od jiných vývojářů nebo lokalizátorů. Postupujte podle [[#Internationalisation hints|Internacionalizačních rad]].
# Přidejte dokumentaci do <code>qqq.json</code> ve stejném adresáři.
# Neřaďte zprávy svévolně podle abecedy. Pořadí zpráv v souboru by mělo zhruba odpovídat funkcím vašeho projektu. Umístěte zprávy ze stejné funkce vedle sebe. To pomáhá překladatelům zůstat soustředění a být efektivní a konzistentní.
# Pokud zpráva nebo její dokumentace (<code>qqq</code>) odkazuje na jinou zprávu ve stejném souboru JSON, zkuste tuto zprávu umístit za zprávu, na kterou odkazuje, aby překladatelé měli možnost přeložit odkazovanou zprávu, než přeloží odkazující zprávu. Není to vždy možné, například když na sebe zprávy odkazují, ale snažte se to udělat, kdykoli je to možné. (Odkaz se obvykle provádí pomocí kouzelného slova {{tmpl|0=<code><nowiki>{{int:</nowiki>$1<nowiki>}}</nowiki></code>|''key''}} v samotné zprávě nebo pomocí šablony <code><nowiki>{{msg-mw}}</nowiki></code> v dokumentaci <code>qqq</code>. Viz část [[#Message_documentation|Dokumentace ke zprávě]].
# Na začátek souboru umístěte zprávy, u kterých se očekává, že budou nejzákladnější a nejčastěji používané, a na konec zprávy, které jsou vzácnější a technicky vyspělejší.
<span id="Messages_that_should_not_be_translated"></span>
== Zprávy, které by se neměly překládat ==
# '''Ignored''' (ignorované) zprávy jsou ty, které by měly existovat pouze v anglickém [[#Localisation file format|souboru zpráv]]. Jsou to zprávy, které by neměly vyžadovat překlad, protože odkazují pouze na jiné zprávy nebo jazykově neutrální funkce, ''např.'' zprávu "<code><nowiki>{{SITENAME}}</nowiki></code>".
# '''Optional''' (volitelné) zprávy mohou být přeloženy pouze v případě, že jsou změněny v cílovém jazyce.
Označení takových zpráv:
* Použijte šablonu v dokumentaci ke zprávě <code>qqq</code>, tj.
*# <code>{<nowiki/>{[[translatewiki:Template:Notranslate|notranslate]]}}</code> nebo
*# <code>{<nowiki/>{[[translatewiki:Template:Optional|optional]]}}</code>;
* Nakonfigurujte, kde jsou vystavené zprávy pro překlad:
** Pro ignorované zprávy v jádru přidejte klíče zpráv do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/en.json}} a jejich dokumentaci do {{git file|project=mediawiki/core|file=languages/i18n/nontranslatable/qqq.json}}. Tyto soubory se používají místo výpisu zpráv v konfiguraci skupiny translatewiki.
** Pro volitelné zprávy v jádru odešlete záplatu na {{git file|project=translatewiki|file=groups/MediaWiki/MediaWiki.yaml}} a přidejte klíče zpráv pod <code dir="ltr">optional:</code>.;
** Pro rozšíření v {{git file|project=translatewiki|file=groups/MediaWiki/mediawiki-extensions.txt}} přidejte pod název rozšíření řádek jako
**# <code>ignored = ''msg-key-1'',''msg-key-2''</code> or
**# <code>optional = ''msg-key-1'',''msg-key-2''</code>.
<span id="Removing_existing_messages"></span>
== Odebírání existujících zpráv ==
Odstraňte ji z <code>en.json</code> a <code>qqq.json</code>.
Neobtěžujte se jinými jazyky.
Aktualizace z {{ll|translatewiki.net|translatewiki.net}} je zpracují automaticky.
Kromě toho zkontrolujte, zda se zpráva objeví kdekoli v konfiguraci translatewiki, například v seznamu volitelných nebo nejpoužívanějších zpráv (měl by stačit jednoduchý git grep).
V případě potřeby jej z těchto seznamů odstraňte.
<span id="Changing_existing_messages"></span>
== Změna existujících zpráv ==
# Zvažte aktualizaci [[#Message documentation|dokumentace zprávy]].
# Změňte klíč zprávy, pokud staré překlady nejsou vhodné pro nový význam. To zahrnuje také změny ve zpracování zpráv (parsování, escapování, parametry atd.). Zlepšení frázování zprávy bez technických změn obvykle není důvodem pro změnu klíče. Na translatewiki.net budou překlady označeny jako zastaralé, aby na ně mohli cílit překladatelé. Změna klíče zprávy nevyžaduje komunikaci s týmem i18n nebo podání žádosti o podporu. Pokud však máte zvláštní okolnosti nebo dotazy, zeptejte se na {{irc|translatewiki}} nebo na [[translatewiki:Support|stránce podpory]] na {{ll|translatewiki.net|translatewiki.net}}.
# Pokud rozšíření podporuje {{ll|translatewiki.net|translatewiki.net}}, změňte prosím pouze anglickou zdrojovou zprávu anebo klíč a doprovodný záznam v <code>qqq.json</code>. V případě potřeby se tým translatewiki.net postará o aktualizaci překladů, označí je jako zastaralé, vyčistí soubor nebo přejmenuje klíče tam, kde je to možné. To platí také v případě, že měníte pouze prvky, jako jsou značky HTML, které byste mohli změnit v jiných jazycích, aniž byste těmito jazyky hovořili. Většina z těchto akcí proběhne v [[translatewiki:|translatewiki.net]] a dorazí do Gitu s přibližně jednodenním zpožděním.
<span id="Message_documentation"></span>
== Dokumentace zprávy ==
Pro dokumentaci zpráv existuje pseudojazykový kód <code>qqq</code>.
Je to jeden z kódů ISO 639 vyhrazený pro soukromé použití.
Tam neuchováváme překlady každé zprávy, ale shromažďujeme anglické věty ''o každé zprávě'': Říká nám, kde se používá, dává rady, jak ji přeložit, a vyjmenovává a popisuje její parametry, odkazuje na související zprávy a tak dále.
Na [[translatewiki:|translatewiki.net]] se tyto rady zobrazují překladatelům, když upravují zprávy.
Programátoři musí zdokumentovat každou zprávu.
Dokumentace zpráv je nezbytným zdrojem – nejen pro překladatele, ale pro všechny správce modulu.
Kdykoli je do softwaru přidána zpráva, ''musí'' být přidána také odpovídající položka <code>qqq</code>. Revize, které tak nečiní, jsou označeny "<code>V-1</code>", dokud nebude přidána dokumentace.
Dokumentace v souborech <code>qqq</code> by měla být upravována přímo pouze při přidávání nových zpráv nebo při změně existující anglické zprávy způsobem, který vyžaduje změnu dokumentace, například přidání nebo odebrání parametrů.
V ostatních případech by měla být dokumentace obvykle upravována v translatewiki.
Každý dokumentační řetězec je přístupný na <nowiki>https://translatewiki.net/wiki/MediaWiki:</nowiki>''message-key''<nowiki>/qqq</nowiki>, jako by to byl překlad.
Tyto úpravy budou exportovány do zdrojových úložišť spolu s překlady.
Mezi užitečné informace, které by měly být v dokumentaci, patří:
# Práce se zprávami (analýza, escapování, prostý text).
# Typ parametrů s ukázkovými hodnotami.
# Kde je zpráva použita (stránky, umístění v uživatelském rozhraní).
# Jak se zpráva používá tam, kde je použita (název stránky, text tlačítka, ''atd.'').
# Jaké další zprávy se používají spolu s touto zprávou nebo na které další zprávy se tato zpráva vztahuje.
# Cokoli jiného, co lze pochopit, když je zpráva viděna v kontextu, ale ne, když je zpráva zobrazena samostatně (což je případ, kdy je překládána).
# Případně poznámky o gramatice. Například "open" v angličtině může být sloveso i přídavné jméno. V mnoha jiných jazycích se slova liší a je nemožné uhodnout, jak je přeložit bez dokumentace.
# Přídavná jména, která popisují věci, jako je "disabled" (zakázané), "open" (otevřené) nebo "blocked" (blokované), musí ''vždy'' říkat, co popisují. V mnoha jazycích musí mít přídavná jména rod podstatného jména, které popisují. Může se také stát, že různé druhy věcí potřebují různá přídavná jména.
# Pokud má zpráva speciální vlastnosti, například pokud se jedná o název stránky, nebo pokud by neměla být přímým překladem, ale měla by být přizpůsobena kultuře nebo projektu.
# Zda se zpráva objeví v souvislosti s jinou zprávou, například v seznamu nebo v nabídce. Znění nebo gramatické rysy slov by pravděpodobně měly být podobné se souvisejícími zprávami. Položky v seznamu by měly také správně souviset se záhlavím seznamu.
# Části zprávy, které se nesmí překládat, jako jsou názvy obecných jmenných prostorů, adresy URL nebo značky.
# Vysvětlení potenciálně nejasných slov, například zkratky, jako je "CTA" nebo konkrétní žargon, jako "template" (šablona), "suppress" (potlačit) nebo "stub" (útržek). (Všimněte si, že je nejlepší se takovým slovům v první řadě vyhnout!)
# Snímky obrazovek (Screenshot) jsou velmi užitečné. Neořezávejte – obrázek celé obrazovky, na kterém se zpráva zobrazuje, poskytuje úplný kontext a lze jej znovu použít v několika zprávách.
Několik dalších tipů:
* Pamatujte, že překladatelé velmi, velmi často překládají zprávy, aniž by skutečně používali software.
* Překladatelé většinou nemají žádné kontextové informace, ani o vašem modulu, ani o jiných zprávách v něm.
* Samotná přeformulovaná zpráva je ve většině případů k ničemu.
* Nepoužívejte žargon návrhářů jako "hamburger", "nav" nebo "comps".
* Zvažte sepsání [[betawiki:Terminology#Terminologies|slovníku]] technických termínů, které se používají ve vašem modulu. Pokud to uděláte, odkažte na něj v dokumentace zpráv.
* Dokumentace zpráv je zobrazena na translatewiki a analyzována jako wikitext. Pokud používáte tagy mention wikitext nebo HTML, které se mají zobrazovat tak, jak jsou, a ne parsovat, použijte {{tag|nowiki|open}}.
Na další zprávy můžete odkazovat pomocí {{tmpl|0=<code>{{((}}msg-mw{{!}}message key{{))}}</code>|klíče zprávy}}.
Udělejte to, prosím, pokud části zpráv pocházejí z jiných zpráv (pokud tomu nelze zabránit), nebo pokud jsou některé zprávy zobrazeny společně nebo ve stejném kontextu.
translatewiki.net poskytuje některé výchozí šablony, které by měly být použity v dokumentaci, například:
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-action|doc-action]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>action-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-right|doc-right]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>right-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-group|doc-group]]|[...]|[...]<nowiki>}}</nowiki></code>
:pro zprávy kolem skupin uživatelů (<code>group</code>, <code>member</code>, <code>page</code>, <code>js</code> a <code>css</code>)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-accesskey|doc-accesskey]]|[...]<nowiki>}}</nowiki></code>
:pro zprávy <code>accesskey-</code>
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Category:MediaWiki API Message Documentation Templates|doc-api*]]|[...]<nowiki>}}</nowiki></code>
:sada šablon pro nápovědu API a chybové zprávy API
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Experimental|experimental]]<nowiki>}}</nowiki></code>
:šablona pro označení zpráv, které se v blízké budoucnosti pravděpodobně změní (nezapomeňte ji odstranit, jakmile se zpráva stabilizuje)
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Logentry|logentry]]<nowiki>}}</nowiki></code>
:šablona pro označování zpráv protokolu
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Optional|optional]]<nowiki>}}</nowiki></code>
:šablona pro označení volitelných zpráv, které by neměly být překládány do většiny jazyků a které se překladatelům ve výchozím nastavení nezobrazují
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Ignored|ignored]]<nowiki>}}</nowiki></code>
:šablona pro označení ignorovaných zpráv, které se vůbec nesmí překládat
;<code><nowiki>{{</nowiki>[[translatewiki:Template:Doc-important|doc-important]]<nowiki>}}</nowiki></code>
:šablona pro zdůraznění odstavců v dokumentaci.
Více šablon tohoto druhu naleznete v kategorii [[:translatewiki:Category:Message Documentation Templates|Message Documentation Templates]].
Pro více informací se podívejte na stránky šablon.
<span id="Internationalisation_hints"></span>
== Internacionalizační rady ==
Kromě [[#Message documentation|dokumentace]] překladatelé žádají vývojáře, aby zvážili některé rady, které by jim usnadnily a zefektivnily práci a umožnily skutečnou a dobrou lokalizaci pro všechny jazyky.
I když pouze přidáváte nebo upravujete zprávy v angličtině, měli byste si být vědomi potřeb všech jazyků.
Každá zpráva je přeložena do více než 300 jazyků a to by mělo být provedeno co nejlepším způsobem.
Správná implementace těchto rad vám velmi často pomůže psát lepší zprávy také v angličtině.
[[Special:MyLanguage/Localisation#Help and contact info|Localisation#Help_and_contact_info]] uvádí hlavní místa, kde můžete najít pomoc zkušených a znalých lidí ohledně i18n.
<span id="Use_message_parameters_and_switches_properly"></span>
=== Správně používání parametrů zpráv a přepínačů ===
To je předpokladem správné formulace vašich zpráv.
<span id="Avoid_message_re-use"></span>
=== Vyhněte se opětovnému použití zprávy ===
Překladatelé odrazují od opětovného použití zpráv.
To se může zdát neintuitivní, protože kopírování a duplikování kódu je obvykle špatný postup, ale v systémových zprávách je to často potřebné.
Ačkoli lze dva pojmy vyjádřit stejným slovem v angličtině, nemusí to nutně znamenat, že je lze vyjádřit stejným slovem v každém jazyce.
Dobrým příkladem je "OK": V angličtině se používá pro obecný štítek tlačítka, ale v některých jazycích dávají přednost použití štítku tlačítka souvisejícího s operací, kterou tlačítko provede.
Dalším příkladem je prakticky jakékoli přídavné jméno: Slovo jako "multiple" se v mnoha jazycích mění podle pohlaví, takže jej nemůžete znovu použít k popisu několika různých věcí a musíte vytvořit několik samostatných zpráv.
Pokud přidáváte více identických zpráv, přidejte dokumentaci ke zprávě, která popisuje rozdíly v jejich kontextech.
Nebojte se práce navíc pro překladatele.
Překladová paměť v tom hodně pomáhá a zároveň si zachovává v případě potřeby flexibilitu pro různé překlady.
{{anchor|Avoid patchwork messages}}
<span id="Avoid_fragmented_or_"patchwork"_messages"></span>
=== Vyhněte se fragmentovaným nebo "patchworkovým" (slátaninám) zprávám ===
Jazyky mají různé slovosledy a různě složitá gramatická a syntaktická pravidla.
Zprávy tvořené více kusy textu, případně s určitou nepřímostí, nazývané také "řetězení řetězců", v kódu, který nelze přímo ovládat překladateli, se v žargonu vývojářů nazývají "lego" nebo "patchwork" (slátaniny) zprávy. Správně přeložit "lego" zprávy je prakticky nemožné.
Udělejte z každé zprávy úplnou frázi.
Několik vět lze v případě potřeby obvykle mnohem snadněji spojit do textového bloku.
Chcete-li v jedné zprávě zkombinovat několik řetězců, předejte je jako parametry, protože překladatelé je mohou při překladu pro svůj jazyk správně seřadit.
<span id="Messages_quoting_each_other"></span>
==== Zprávy, které se navzájem citují ====
{{main|Manual:Messages API#Referring to other messages}}
Výjimkou z pravidla mohou být zprávy, které na sebe odkazují: 'Zadejte jméno původního autora do pole označeného "<code><nowiki>{{int:name}}</nowiki></code>" a klikněte na "<code><nowiki>{{int:proceed}}</nowiki></code>" pro dokončení'.
Díky tomu je zpráva konzistentní, když vývojář softwaru nebo provozovatel wiki později změní "name" (jméno) nebo "proceed" (pokračovat).
Bez tohoto int-triku by si vývojáři a operátoři museli být vědomi všech souvisejících zpráv, které je třeba upravit, když se cokoli změní.
<span id="Write_messages_in_natural_language"></span>
=== Zprávy pište v přirozeném jazyce ===
Pokud je to možné, pište zprávy přirozeným lidským jazykem.
Zkuste si zprávu přečíst nahlas a zamyslete se: je to něco, co zní jako správná gramatická angličtina, kterou lidé ''mluví''?
Pokud je to v angličtině složité, těžko vyslovitelné nebo jakkoli nepřirozené, bude to pro překladatele a uživatele v jiných jazycích ještě těžší.
Vyhněte se interpunkci, která je příliš technická nebo byrokratická nebo kterou nelze přečíst nahlas.
Lomítko (<code>/</code>) by mělo být obvykle nahrazeno "or".
[[w:And/or|And/or]] by mělo být nahrazeno "and" nebo "or".
Věty [[w:comma splice|spojované čárkou]], by měly být rozděleny do kratších vět.
<span id="Don't_use_terms_and_templates_that_are_specific_to_particular_projects"></span>
=== Nepoužívejte termíny a šablony, které jsou specifické pro konkrétní projekty ===
MediaWiki používají velmi různorodí lidé v rámci hnutí Wikimedie i mimo něj.
Přestože byla původně vytvořena pro encyklopedii, nyní se používá pro různé druhy obsahu.
Používejte proto obecné výrazy.
Vyhněte se například výrazům jako "article" (článek) a místo toho použijte "page" (stránka), pokud si nejste absolutně jisti, že funkce, kterou vyvíjíte, bude použita pouze na webu, kde se stránky nazývají "articles" (články).
Nepoužívejte "village pump", což je název stránky komunity na anglické Wikipedii, a místo toho používejte obecný termín, například "community discussion page" (diskusní stránka komunity).
Nepředpokládejte, že určitá šablona existuje na všech wikinách.
Šablony jsou pro wikiny lokální.
To platí jak pro zdrojové zprávy, tak pro jejich překlady.
Pokud zprávy používají šablony, budou fungovat pouze tehdy, pokud je šablona vytvořena na ''každé'' wiki, kde je funkce nasazena.
Nejlepší je úplně se vyhnout používání šablon ve zprávách.
Pokud je opravdu musíte použít, musíte to jasně zdokumentovat v dokumentaci ke zprávě a v pokynech k instalaci rozšíření.
<span id="Separate_times_from_dates_in_sentences"></span>
=== Oddělte ve větách časy od dat ===
Některé jazyky musí mezi datum a čas vložit něco, co gramaticky závisí na jiných slovech ve větě.
Nebudou tedy moci používat kombinaci data a času.
Ostatním se může tato kombinace zdát vhodná, proto je obvykle nejlepší volbou v takových případech zadat tři hodnoty parametrů (datum/čas, datum, čas) a v každém překladu ponechat buď první, nebo poslední dvě podle potřeby nevyužité.
=== Vyhněte se <code><nowiki>{{SITENAME}}</nowiki></code> ve zprávách ===
<code><nowiki>{{SITENAME}}</nowiki></code> má několik nevýhod.
Může to být cokoliv (akronym, slovo, krátká fráze, ''atd.'') a v závislosti na jazyce může vyžadovat použití <code>{{ll|Manual:Messages_API#…on use context inside sentences via GRAMMAR|<nowiki>{{GRAMMAR}}</nowiki>}}</code> při každém výskytu.
Bez ohledu na to, každá zpráva s <code><nowiki>{{SITENAME}}</nowiki></code> bude vyžadovat kontrolu ve většině jazyků wiki pro každou novou wiki, na které je nainstalován váš kód.
Ve většině případů, kdy pro jazyk neexistuje obecná konfigurace <code>GRAMMAR</code>, budou muset operátoři wiki přidat nebo upravit kód PHP tak, aby fungoval <code><nowiki>{{GRAMMAR}}</nowiki></code> pro <code><nowiki>{{SITENAME}}</nowiki></code>.
To vyžaduje více dovedností a více porozumění než v jiném případě.
Je vhodnější mít obecné odkazy jako "this wiki" (tato wiki).
To sice instalacím nebrání lokálně měnit tyto zprávy tak, aby používaly <code><nowiki>{{SITENAME}}</nowiki></code>, ale alespoň nemusí a mohou odložit přizpůsobení zpráv, dokud wiki již nebude spuštěna a používána.
<span id="Avoid_references_to_visual_layout_and_positions"></span>
=== Vyhněte se odkazům na vizuální rozvržení a pozice ===
Co se kde vykreslí, závisí na vzhledech.
Rozvržení obrazovky jazyků psaných zleva doprava jsou nejčastěji zrcadlená ve srovnání s těmi, která se používají pro jazyky psané zprava doleva, ale ne vždy a u některých jazyků a wikin ne úplně.
Ruční zařízení, úzká okna a tak dále mohou pod sebou zobrazovat bloky, které by se na větších displejích objevovaly vedle sebe.
Vzhledem k tomu, že skripty a miniaplikace JavaScriptu psané webem a uživatelem mohou a také budou skrývat části nebo přesouvat věci nepředvídatelným způsobem, neexistuje žádný spolehlivý způsob, jak zjistit skutečné rozvržení.
Je nesprávné spojovat informace o rozvržení s jazyky obsahu, protože jazyk uživatelského rozhraní nemusí být jazykem obsahu stránky a rozvržení může být v závislosti na okolnostech kombinací obou.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, ani nemají koncept vizuálního rozvržení.
Proto byste se ve většině případů neměli odkazovat na pozice vizuálního rozvržení, ačkoli termíny sémantického rozvržení mohou být stále použity ("předchozí kroky ve formuláři" ''atd.'').
MediaWiki nepodporuje zobrazování různých zpráv nebo fragmentů zpráv na základě aktuální směrovosti rozhraní (viz [[phab:T30997|T30997]]).
Připravovaná podpora prohlížeče a MediaWiki pro psaní shora dolů ve východní a severní Asii<ref>http://dev.w3.org/csswg/css3-writing-modes/</ref> způsobí, že rozložení obrazovky bude ještě nepředvídatelnější, alespoň osm možných rozložení (levá/pravá výchozí pozice, horní/dolní výchozí pozice a to, co nastane jako první).
<span id="Avoid_references_to_screen_colours"></span>
=== Vyhněte se odkazům na barvy obrazovky ===
Barva, ve které je něco vykresleno, závisí na mnoha faktorech, včetně vzhledů, skriptů a gadgetů JavaScriptu napsaných webem a uživatelem a přepisů místního uživatelského agenta z důvodu dostupnosti nebo technologických omezení.
Nevizuální uživatelské agenty, jako jsou akustické čtečky obrazovky a další pomocná zařízení, nemají ani koncept barev.
Proto byste neměli odkazovat na barvy obrazovky.
(Ze stejného důvodu byste se také neměli spoléhat pouze na barvu jako na mechanismus informování uživatele o stavu.)
<span id="Avoid_markup_that_doesn't_need_to_be_translated"></span>
=== Vyhněte se značkám, které není třeba překládat ===
Značky HTML, které nevyžadují překlad, jako je uzavření {{tag|div|open}} značkami, pravítka nad nebo pod a podobně, by obvykle neměly být součástí zpráv.
Je to zbytečná zátěž pro překladatele a je často náhodně změněna nebo přeskočena v procesu překladu.
Překladové rozhraní nemá žádné zvýraznění syntaxe ani ověření a chyby jsou běžné.
Vyhněte se také složitému značení wikitextu.
Wikitext je někdy rozumnější než psát totéž v PHP a je lákavé napsat něco jako:
{{codesample-header|[[MediaWiki:Revreview-basic/en]]}}
<syntaxhighlight lang="wikitext">
This is the [[{{MediaWiki:Validationpage}}|stable version]], [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} checked] on <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 pending {{PLURAL:$3|change|changes}}] {{PLURAL:$3|awaits|await}} review.
</syntaxhighlight>
To je však pro překladatele obtížné, zejména při překladu do jazyků psaných zprava doleva, protože části zprávy musí zůstat v angličtině, což má za následek, že se směr textu mnohokrát mění v jednom řádku:
{{codesample-header|[[MediaWiki:Revreview-basic/ar]]}}
<syntaxhighlight lang="wikitext" dir="rtl">
هذه هي [[{{MediaWiki:Validationpage}}|النسخة المستقرة]]، [{{fullurl:{{#Special:Log}}|type=review&page={{FULLPAGENAMEE}}}} المفحوصة] في <i>$2</i>.
[{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} {{PLURAL:$3||تغيير واحد معلق|تغييران معلقان|$3 تغييرات معلقة|$3 تغييرا معلقا|$3 تغيير معلق}}] {{PLURAL:$3||ينتظر|ينتظران|تنتظر|ينتظر}} المراجعة.
</syntaxhighlight>
Nejlepší je předat jakékoli cíle odkazů jako parametry zprávy a používat pouze jednoduché značky jako {{tmpl|0=<code>[$1 $2]</code>|$1|Label}} a {{tmpl|0=<code><nowiki>[[</nowiki>$1{{!}}Label<nowiki>]]</nowiki></code>|$1|Label}}.
Nepoužívejte ve zprávách {{ll|Help:Magic words|magické slovo}} s <code>formatnum</code>.
Naformátujte číselné parametry v kódu, který načítá zprávu, podle pokynů v {{ll|Manual:Messages API}}.
<span id="Translated_messages_are_often_longer_than_you_think!"></span>
=== Přeložené zprávy jsou často delší, než si myslíte! ===
Při procházení souborů zpráv v cizích jazycích téměř nikdy nenajdete přeložené zprávy kratší než čínské a jen zřídka kratší než anglické. Často však najdete překlady, které jsou mnohem delší než anglické.
Zejména ve formulářích před vstupními poli bývají anglické zprávy stručné a krátké.
To se v překladech často neuchovává.
Jazyky mohou postrádat technickou slovní zásobu v angličtině a mohou vyžadovat více slov nebo dokonce celé věty k vysvětlení některých pojmů.
Například krátká anglická zpráva "TSV file:" může být přeložena do jazyka doslovně:
<blockquote>''Sem zadejte název, který označuje sbírku počítačových dat, která se skládá z postupně organizovaných sérií strojopisných řádků, které jsou samy o sobě organizovány jako série informačních polí, kde jsou uvedená pole informací ohraničena a ohraničení mezi nimi jsou jediné znaky toho druhu, které posouvají vozík psacího stroje dále do další předem definované polohy. Tady to je: _____ (děkuji)''</blockquote>
Toto je, pravda, extrémní příklad, ale tuto možnost máte.
Představte si tuto větu ve sloupci ve tvaru, kde každé slovo zabírá vlastní řádek a vstupní pole je svisle vystředěno v dalším sloupci. :-(
<span id="Avoid_using_very_close,_similar,_or_identical_words_to_denote_different_things,_or_concepts"></span>
=== Nepoužívejte velmi blízká, podobná nebo identická slova k označení různých věcí nebo pojmů ===
Stránky mohou mít například starší ''revize'' (konkrétního data, času a úprav), zahrnující minulé ''verze'' uvedené stránky.
Slova ''revize'' a ''verze'' lze používat zaměnitelně.
Problém nastává, když jsou verzované stránky revidovány a také se zmiňuje revize, ''tj.'' proces jejich revize.
To nemusí představovat vážný problém, když dvě synonyma "revize" mají různé překlady.
Na to však nespoléhejte.
Je tedy lepší se použití "revize" ''aka'' "verze" úplně vyhnout, aby nedošlo k jeho nesprávné interpretaci.
<span id="Basic_words_may_have_unforeseen_connotations,_or_not_exist_at_all"></span>
=== Základní slova mohou mít nepředvídatelné konotace nebo vůbec neexistují ===
Některá slova se těžko překládají kvůli jejich velmi specifickému použití v MediaWiki.
Některá možná [[#Expect untranslated words|nebudou přeložena vůbec]].
Například v několika jazycích neexistuje slovo "uživatel" (user) vztahující se k "někomu, kdo něco používá".
Podobně v [[:en:Colognian language|Kölsch]] anglická slova "namespace" a "apartment" se překládají jako stejné slovo.
Také v Kölsch říkají stejným slovem "corroborator and participant" (potvrzující a účastník), protože jakýkoli odkaz na "use" (použití) by příliš silně znamenal "abuse" (zneužívání).
Termín "wiki farma" se překládá jako "stáj plná wiki", protože farma s jednou plodinou by byla v rozporu s termíny v jazyce a nepochopena, ''atd.''.
{{anchor|Expect untranslated words}}
=== V případě potřeby použijte značky {{tag|code|open}}, {{tag|var|open}} a {{tag|kbd|open}} ===
Když mluvíte o technických parametrech, hodnotách nebo vstupech z klávesnice, označte je jako takové vhodně pomocí značek HTML {{tag|code|open}}, {{tag|var|open}} nebo {{tag|kbd|open}}.
Jsou tedy typograficky odsazeny od běžného textu.
To čtenářům vyjasní jejich smysl a zabrání zmatkům, chybám a chybným prohlášením.
Ujistěte se, že vaše zpracování zpráv umožňuje takové označení.
<span id="Symbols,_colons,_brackets,_etc._are_parts_of_messages"></span>
=== Symboly, dvojtečky, závorky, ''atd.'' jsou součástí zpráv ===
Mnoho symbolů je také lokalizovatelných. Některá písma mají jiné druhy závorek než latinka.
V některých jazycích nemusí být po štítku nebo výzvě k zadání dvojtečka vhodná.
Začlenění těchto symbolů do zpráv pomáhá vytvářet lepší a méně anglo-centrické překlady a také snižuje změť kódu.
Například v «norštině», ”švédštině”, »dánštině«, „němčině” a 「japonštině」 se používají různé konvence uvozovek.<ref>[[w:Quotation_mark#Summary_table]]</ref>
Pokud potřebujete zalomit nějaký text do lokalizovaných závorek, hranatých závorek nebo uvozovek, můžete použít <code>parentheses</code> {{int|parentheses}} nebo <code>brackets</code> {{int|brackets}} nebo <code>quotation-marks</code> {{int|quotation-marks}} zprávy jako takto:
<syntaxhighlight lang=php>
wfMessage( 'parentheses' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'brackets' )->rawParams( /* text, který chcete vložit do závorek */ )->escaped()
wfMessage( 'quotation-marks' )->rawParams( /* text přejde do uvozovek */ )->escaped()
</syntaxhighlight>
<span id="Do_not_expect_symbols_and_punctuation_to_survive_translation"></span>
=== Neočekávejte, že symboly a interpunkce přežijí překlad ===
Jazyky psané zprava doleva (na rozdíl od angličtiny) obvykle zaměňují symboly šipek prezentované s odkazy "next" (další) a "previous" (předchozí) a jejich umístění vzhledem k textu zprávy může, ale také nemusí být převráceno.
Elipsis může být přeloženo jako "''atd.''" nebo jako slova.
Otazníky, vykřičníky, dvojtečky budou umístěny jinde než na konci věty, vůbec a nebo dvakrát.
V důsledku toho vždy zahrňte všechny do textu svých zpráv a nikdy se nepokoušejte je vkládat programově.
<span id="Use_full_stops"></span>
=== Použití teček ===
'''Do''' ukončuje běžné věty tečkami.
To je pro překladatele často jediný ukazatel, podle kterého pozná, že se nejedná o titulky nebo položky seznamu, které může být potřeba přeložit jinak.
<span id="Use_meaningful_link_anchors"></span>
=== Použijte smysluplné kotvy odkazů ===
Ujistěte se, že kotva dobře popisuje cílovou stránku.
Vždy se vyhněte běžným a obecným slovům.
Například "Click here" (klikněte sem) je absolutně zákázáno,<ref>http://www.w3.org/QA/Tips/noClickHere</ref>, protože cílové stránky téměř nikdy nejsou o "kliknutí sem".
Místo toho použijte přesná akční slova, která říkají, k čemu se uživatel dostane, když bude následovat odkaz, jako například "Můžete [[Special:Upload|nahrát soubor]], pokud si přejete."
Viz také ''[http://www.nngroup.com/articles/using-link-titles-to-help-users-predict-where-they-are-going/ Pomozte uživatelům předvídat, kam jdou]'', a [[w:Mystery meat navigation|tajemná navigace hmoty]] a ''[https://tosbourn.com/click-here/ Hlavní důvody, proč bychom neměli používat klikni sem jako text odkazu]''.
<span id="Avoid_jargon_and_slang"></span>
=== Vyhněte se žargonu a slangu ===
Vyhněte se ve zprávách žargonu vývojářů a zkušených uživatelů. Snažte se používat jednoduchý jazyk, kdykoli je to možné.
Pokud chcete uživatele upozornit, že se něco stalo nebo nestalo, neříkejte "success" (úspěch), "successfully" (úspěšně), "fail" (neúspěch), "error occurred while" (došlo k chybě) atd.
To vychází z pohledu vývojářů, kteří vidí všechno jako pravdivé nebo nepravdivé, ale uživatelé obvykle chtějí vědět, co se skutečně stalo nebo nestalo a co by s tím měli dělat (pokud vůbec). Tak:
* "Soubor byl úspěšně přejmenován" -> "Soubor byl přejmenován"
* "Přejmenování souboru se nezdařilo" -> "Soubor s tímto názvem již existuje. Vyberte prosím jiný název."
<span id="Be_aware_of_whitespace_and_line_breaks"></span>
=== Dejte si pozor na mezery a zalomení řádků ===
Lokalizované zprávy MediaWiki se obvykle upravují na wiki buď operacemi wiki na živých wikinách nebo překladateli na [[[[translatewiki.net]]]].
Měli byste si být vědomi toho, jak mezery, zejména na začátku nebo konci vaší zprávy, ovlivní editory:
* Mezery a konce řádků (nové řádky) na konci zprávy jsou vždy automaticky odstraněny editorem wikitextu. Vaše zpráva nesmí končit mezerou nebo zalomením řádku, protože se při úpravě na wiki ztratí.
* Mezery a zalomení řádků na začátku nejsou automaticky odstraněny, ale pravděpodobně budou odstraněny náhodně během úprav a je třeba se jim vyhnout.
Začněte a ukončete svou zprávu aktivním textem. Pokud kolem něj potřebujete zalomení nového řádku nebo odstavce, váš okolní kód by se měl vypořádat s jeho přidáním do vráceného textu.
Některé zprávy vyžadují na konci mezeru, například <code>word-separator</code> (který se ve většině jazyků skládá pouze z mezery).
Pro podporu takových případů použití jsou ve zprávách povoleny následující entity HTML a transformovány na skutečné znaky i když zpráva jinak neumožňuje formátování wikitextu nebo HTML:<ref>
https://github.com/wikimedia/mediawiki/blob/REL1_34/includes/cache/MessageCache.php#L887
</ref>
* <code>&#32;</code> – mezera
* <code>&nbsp;</code> nebo <code>&#160;</code> – [[w:non-breaking space|nezalomitelná mezera]]
* <code>&shy;</code> – [[w:soft hyphen|měkký spojovník]]
Související poznámka, jakékoli další prvky syntaxe ovlivněné [[Special:MyLanguage/pre-save transforms|transformací před uložením]] nesmí být také použity ve zprávách, protože budou transformovány, pokud bude zpráva na wiki upravena.
<span id="Use_standard_capitalisation"></span>
=== Použijte standardní velká písmena ===
Velká písmena překladatelům napoví, co překládají, jako jsou jednotlivá slova, položky seznamu nebo nabídky, fráze nebo celé věty.
Správná (standardní) velká písmena můžou také hrát roli při hodnocení vašich stránek vyhledávači.
MediaWiki používá [[w:Letter case|case case]] (''Rychlá hnědá liška skáče přes líného psa'') ve zprávách rozhraní.
Vždy si pamatujte, že mnoho psacích systémů vůbec nemá velká písmena a některé z těch, které je mají, je používají jinak než angličtina.
Proto pro zdůraznění nepoužívejte VŠECHNA VELKÁ PÍSMENA.
Použijte CSS nebo HTML {{tag|em|open}} nebo {{tag|strong|open}} níže:
<span id="Emphasis"></span>
==== Důraz ====
V normálním textu by měly být součástí textů zpráv [[w:Emphasis|emphasis]] '''tučné písmo''' nebo ''kurzíva'' a podobně.
Místní konvence v důrazu se často liší, zvláště některá asijská písma mají svá vlastní.
Překladatelé musí být schopni přizpůsobit důraz svým cílovým jazykům a oblastem.
Zkuste ve svém uživatelském rozhraní použít "{{tag|em|open}}" a "{{tag|strong|open}}", abyste umožnili značkování podle jazyka nebo skriptu.
V moderních rozvrženích obrazovky v anglickém a evropském stylu se důraz používá méně.
Uveďte to ve své [[#Message documentation|dokumentaci zprávy]], protože to může poskytnout cenné rady, jak překládat.
Důraz může a měl by být podle potřeby použit v jiných kulturních kontextech za předpokladu, že o tom překladatelé vědí.
<span id="Some_things_must_be_added_to_English_messages_even_when_they_are_not_required"></span>
==== Některé věci je nutné do anglických zpráv přidat, i když nejsou nutné ====
Někdy se stává, že anglické zprávy nepotřebují podporu některých parametrů $ nebo PLURAL či GENDER, ale překlady těchto zpráv do jiných jazyků je potřebují.
V takových případech musí být tyto parametry nebo klíčová slova přidány do angličtiny, i když nedělají nic.
To je nutné ze dvou důvodů:
* Překladateli to ve zprávě jasně ukazuje, že tyto parametry jsou k dispozici.
* Zabraňuje translatewiki zobrazovat varování o parametrech, které jsou použity v překladu, ale nejsou použity v angličtině.
Například anglické slovo "deleted" se může vztahovat na jednu smazanou stránku nebo na několik smazaných stránek, ale v jiných jazycích by se toto slovo lišilo v závislosti na počtu stránek.
Takže napište něco jako: <code><nowiki>{{PLURAL:$1|deleted}}</nowiki></code>.
<span id="See_also"></span>
== Související odkazy ==
* {{ll|Customization}}
* {{ll|Manual:Configuration settings}}
* {{ll|Manual:Skins}}
* {{ll|Manual:Messages API}}
* {{ll|Localisation}}
* {{ll|Manual:MediaWiki architecture#Localizing messages|2=Příručka:Architektura MediaWiki a lokalizace zpráv}}
* [[translatewiki:FAQ]]
<span id="Notes"></span>
== Poznámky pod čarou ==
<references />
[[Category:Customization techniques{{#translation:}}]]
[[Category:User interface{{#translation:}}]]
[[Category:Localisation{{#translation:}}]]
[[Category:System message{{#translation:}}]]
[[Category:Help{{#translation:}}|{{PAGENAME}}]]
373nwmz07zcbz0rgd459zvsfha1356w
Translations:Help:Starting a new page/16/ko
1198
433207
8390087
1533127
2026-05-24T14:11:31Z
YeBoy371
2746081
8390087
wikitext
text/x-wiki
위키와 이름공간 뿐만 아니라 시작한 페이지에 따라 변할 수 있습니다.
2dw71m4n7bgx2wa0p3lvmntzb3jsdl2
Translations:Help:Starting a new page/19/ko
1198
433382
8390085
1533596
2026-05-24T14:11:04Z
YeBoy371
2746081
8390085
wikitext
text/x-wiki
당신이 생성한 페이지를 다른 사람이 다른 이름 혹은 다른 철자법을 사용하여 검색을 할 수도 있다고 생각이 드신 다면, 적절한 넘겨주기를 생성하십시오.
9fbt9h8nrdz9yu7etged2lhqpo0n93a
Translations:Help:Deletion and undeletion/3/ko
1198
433437
8390089
2618491
2026-05-24T14:12:35Z
YeBoy371
2746081
8390089
wikitext
text/x-wiki
[[$1|특정판 삭제]]는 문서 전체가 아닌, 문서 중 특정한 버전만을 삭제할 수 있도록 하는 기능입니다.
15wqocwtix5irpx6h5ayasrk9rozwb6
Translations:Help:Deletion and undeletion/23/ko
1198
433492
8390091
2618409
2026-05-24T14:13:29Z
YeBoy371
2746081
8390091
wikitext
text/x-wiki
* [[$1|m:넘겨주기를 삭제하지 마세요]].
lwui7j4qwild7wi7854j3erp3wb5gk8
WikiLove/uk
0
437529
8390518
8254219
2026-05-25T10:49:01Z
FuzzyBot
451990
Updating to match new version of source page
8390518
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Додаток, що дозволяє виразити схвалення і вдячність користувачу
| start = 2011-05-02
| end = 2011-07
| group = Можливості
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
:''Цінуючи в інших досконалість ми робимо її своїм надбанням.'' — Вольтер
'''ВікіСимпатія''' – це функція, розроблена для того, щоб було легко та весело публічно висловлювати подяку іншим користувачам.
ВікіСимпатія може бути виказана будь-якому користувачеві на його сторінці. Для цього необхідно натиснути на іконку "серця" в правому верхньому куті сторінки вибраного вами користувача.
Початково був розроблений Раяном Калдарі у якості користувацького скрипта, а зараз доступний як розширення [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]], яке розробники можуть додавати у свої вікі.
<span id="Rationale"></span>
== Обґрунтування ==
Користувачі люблять почуватися значущими. Згідно з опитуванням редакторів Вікіпедії 2011 року (див. [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|дані у верхній частині рядка]]), серед 17 змінних «позитивне ставлення досвідчених редакторів» з найбільшою ймовірністю спонукає людей казати, що вони будуть редагувати рідше (згодні 69%), у той час як «коли інші роблять вам компліменти за ваші редагування/статті» з найбільшою вірогідністю змусить людей казати, що вони будуть редагувати частіше (згодні 78%).
Див. також: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Позитивний відгук працює для редагування, кажуть редактори Вікіпедії"]] у блозі Вікімедіа.
З іншого боку, редагувати Вікіпедію з часом стало важче, і зросла ймовірність того, що нові користувачі отримають виправлення/критику.
Це відображено в різноманітних зусиллях із кодування й аналізу досвіду нових користувачів, як-от нещодавній спринт дослідження стратегії викладання для новачків, проведений у рамках нашого Літа Досліджень.
[[File:Message-features-area.png|thumb|500px|center|Відносна частка різних типів повідомлень, надісланих новим користувачам Вікіпедії англійською мовою, закодована в [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|дослідницькому спринті стратегії викладання новачків]]]]
<span id="Key_dates"></span>
== Ключові дати ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16 червня 2011: ВікіСимпатія активована на[$proto prototype.wikimedia.org]
* 24 червня 2011: ВікіСимпатія за замовчанням увімкнена для зареєстрованих користувачів на prototype.wikimedia.org; на блозі анонсоване тестування
* 30 червня 2011: ВікіСимпатія розгорнута в Англійській Вікіпедії. Див. [[w:Special:AbuseLog?title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=|дії ВікіСимпатії]].
* 28 жовтня 2011: ВікіСимпатія [[bugzilla:31831#c3|розгорнута]] в [[:mk:|Macedonian Wikipedia]] (під назвою «ВикиЉубов»).</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<span id="How_to_disable"></span>
== Як вимкнути ==
Щоб вимкнути WikiLove, перейдіть на вкладку редагування у [[:en:Special:Preferences#mw-prefsection-editing|ваших налаштуваннях]] і зніміть прапорець біля пункту «Увімкнути відображення вдячності для інших користувачів за допомогою вкладки WikiLove» у розділі сторінки Користувача. Потім натисніть Зберегти.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== Як налаштувати ==
{{notice|1=Цей розділ розповідає про те, як налаштувати WikiLove для індивідуального редактора. <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
mqccnnsowgbwngpxlmqx3abkij1duxj
WikiLove/bs
0
443187
8390509
8254189
2026-05-25T10:48:47Z
FuzzyBot
451990
Updating to match new version of source page
8390509
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Proširenje koje omogućava izražavanje zahvalnosti između korisnika.
| start = 2011-05-02
| end = 2011-07
| group = Mogućnosti
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
:''Zahvalnost je dakle izražaj ljubavi.'' — Voltaire
<span class="mw-translate-fuzzy">WikiLjubav je mogućnost kreirana da se napravi jednostavna i zanimljiva platforma za izražavanje zahvalnosti prema drugim korisnicima. WikiLjubav se može pozivati sa bilo koje korisničke stranice klikom na ikonu u obliku "srca". Kreator ove mogućnosti je Ryan Kaldari, prvo u vidu korisničke skripte, a danas je dostupna kao [[$ext-wlove|MediaWiki proširenje]] koje razvojni programeri mogu dodati u svoje wikije.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<span id="Key_dates"></span>
== Ključni datumi ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16. juni 2011: WikiLjubav je aktivirana na [$proto prototype.wikimedia.org]
* 25. juni 2011: WikiLjubav je omogućena po defaultu za registrirane korisnike na prototype.wikimedia.org; objava na blogu kojom se traže testeri
* 30. juni 2011: WikiLjubav je omogućena na engleskoj Wikipediji. Pogledajte [[w:Special:AbuseLog?title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=|akcije WikiLjubavi]].
* 28. oktobar 2011: WikiLjubav [[bugzilla:31831#c3|je omogućena]] na [[:mk:|makedonskoj Wikipediji]] (pod imenom "ВикиЉубов").</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<span id="How_to_disable"></span>
== Kako je isključiti ==
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
jst4zml9cb9f8avgr344dkc5s8ln456
Phabricator/Code/ps
0
518400
8390482
8034938
2026-05-25T10:02:30Z
FuzzyBot
451990
Updating to match new version of source page
8390482
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== سيمه ايز بدلونونه ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
h6021i6izxnawv5u12xyfsdu1tb0k61
WikiLove/ro
0
520892
8390517
8254213
2026-05-25T10:48:58Z
FuzzyBot
451990
Updating to match new version of source page
8390517
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = O extensie care încurajează exprimarea aprecierii între utilizatori.
| start = 2011-05-02
| end = 2011-07
| group = Caracteristici
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
:„Prin apreciere facem excelența din alții propria noastră proprietate” - Voltaire
<span class="mw-translate-fuzzy">WikiLove este o caracteristică concepută pentru a face mai ușor și mai distractiv publicului să îşi exprime aprecierea pentru ceilalți utilizatori. WikiLove poate fi invocat din orice pagină de utilizator făcând clic pe pictograma "Inimă". Aceasta a fost inițial dezvoltată de Ryan Kaldari ca script de utilizator și este acum disponibilă ca extensie [[$ext-wlove|extensie MediaWiki]] pe care dezvoltatorii o pot adăuga la wikiurile lor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<span id="Rationale"></span>
== Argumentare ==
<span class="mw-translate-fuzzy">Utilizatorii doresc să se simtă valoroși. Conform sondajului din 2011 al editorilor Wikipedia (vezi: [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), printre cele 17 variabile, „tratat cu un aer de superioritate de către editori mai experimentați” este cea mai probabilă cauză care determină oamenii să spună că vor edita mai puțin frecvent (acord de 69%), în timp „ce dacă alții vă complimentează pe editările/articolele dvs.” este cea mai probabilă cauză care îi determină pe oameni să modifice mai frecvent (Acord de 78%). Vezi și: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|„Răspunsul pozitiv funcționează pentru contribuire, spun editorii Wikipedia”]] pe blogul Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span class="mw-translate-fuzzy">Pe de altă parte, editarea Wikipedia a avut tendința de deveni mai grea în timp, iar probabilitatea ca utilizatorii noi să primească corecții/critici a crescut. Acest lucru se reflectă prin diverse eforturi de codificare și analiză a experienței noilor utilizatori, cum ar fi recentul sprint de cercetare în domeniul Strategiei de predare a Începătorilor întreprins în cadrul programului Vara Cercetării.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span class="mw-translate-fuzzy">Proporția relativă a diferitelor tipuri de mesaje trimise utilizatorilor noi din Wikipedia engleză, așa cum este codificată în [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|tendințe de strategii de predare pentru începători]]</span>]]
<span id="Key_dates"></span>
== Datele cheie ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">* 16 iunie 2011: WikiLove activat pe [$proto prototype.wikimedia.org]
* 24 iunie 2011: WikiLove în mod implicit pentru utilizatorii înregistrați pe prototype.wikimedia.org; anunț de blog care solicită testere
* 30 iunie 2011: WikiLove s-a desfășurat pe Wikipedia engleză. Vezi [[w:Special:AbuseLog?title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=|WikiLove actions]].
* 28 octombrie 2011: WikiLove [[bugzilla:31831#c3|desfășurată]] pe [[:mk:|Wikipedia macedoneană]]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<span id="How_to_disable"></span>
==Cum să dezactivezi==
Pentru dezactivarea WikiLove, accesați fila de editare din [[:ro:Special:Preferences#mw-prefsection-editing|preferințele dvs.]] și debifați caseta din dreptul opțiunii „Activați afișarea aprecierii pentru ceilalți utilizatori cu fila WikiLove” din paginile de utilizator. Apoi, faceți click pe Salvați.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
==Cum să personalizezi==
{{notice|1=<span class="mw-translate-fuzzy">Această secțiune este despre cum să personalizați WikiLove pentru un editor individual. Pentru a afla cum să personalizați WikiLove pentru un wiki întreg, consultați [[$ext-wlove|documentația extensiei]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span class="mw-translate-fuzzy">Interfața WikiLove poate fi adaptată pentru a satisface nevoile fiecărui editor individual. Dacă doriți să utilizați WikiLove pentru a lăsa mesaje de întâmpinare, torturi pentru ziua de naștere sau arici, este ușor să înlocuiți configurația implicită cu propriile setări.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span class="mw-translate-fuzzy">Configurația WikiLove este un obiect mare [[w:JSON|JSON]], deci pentru a face o modificare sau adăugare, tot ce trebuie să faceți este să modificați valorile atribuite cheilor. Pentru a vedea ce valori sunt atribuite, verificați mai întâi pagina MediaWiki:WikiLove.js din wiki-ul dvs. local. Aceasta va avea suprascrieri locale. Apoi, aruncați o privire la [$svn-wlove configurația implicită]. Aceasta vă va arăta arborele de bază al datelor care alcătuiesc setările pentru WikiLove. Odată ce ați decis ce valori doriți să modificați, accesați fișierul skin.js pe wiki-ul pe care îl utilizați. (Dacă sunteți pe Wikipedia engleză, de exemplu, ați edita [[w:Special:MyPage/common.js|această pagină]].). Pentru a schimba un element existent, pur și simplu depășiți valoarea acestuia cu o instrucțiune de atribuire.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<span id="Change_an_existing_type"></span>
===Schimbă o categorie existentă===
De exemplu, dacă doriți să schimbați numele afișat 'Kittens' în 'Cats', adăugați următoarele în fișierul local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
Dacă doriți să schimbați imaginea pentru "Stroopwafels", ați adăuga:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
===Adaugă o categorie nouă===
De asemenea, puteți adăuga un tip de element complet nou (sau subtip) folosind structura arborelui JSON. De exemplu, pentru a adăuga "Hedgehogs":
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
Asigurați-vă că declarați toți parametrii corespunzători când adăugați elemente noi! Pentru a afla despre toți parametrii de tip diferit, consultați secțiunea [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|documentație extensie]].
<span id="Create_a_new_type_icon"></span>
=== Creați o pictogramă de tip nou ===
<span class="mw-translate-fuzzy">Fișierul sursă Photoshop pentru pictogramele de tip WikiLove (pictogramele alb-negru care apar în meniul din stânga) poate fi descărcate de [$wlove-icons aici]. Pentru a crea propria dvs., lipiți într-un grafic care are aproximativ 50 x 50 pixeli, desaturați-l și copiați și inserați stilurile care sunt aplicate exemplelor din fișierul sursă.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<span id="Change_the_heart_icon"></span>
=== Schimbă iconul inimă ===
<span class="mw-translate-fuzzy">De asemenea, puteți personaliza pictograma WikiLove inimă folosită în skin-ul Vector editând fișierul vector.css ({{Blue|User:Example/vector.css}}). Dacă doriți să modificați pictograma roșie a inimii într-o inimă albastră, de exemplu, ați adăuga următoarele:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== Cereri de implementare suplimentară ==
Wiki-urile individuale pot solicita ca WikiLove să fie distribuită acestora, cu condiția să fie îndeplinite următoarele criterii:
<div class="mw-translate-fuzzy">
* A fost atins consensul comunitar pentru implementare
* Extensia WikiLove a fost localizată în limba WikiLanguage în TraducătorWiki (puteți contribui la [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 aici])
* Există un fișier de configurare în wiki local ([[MediaWiki:WikiLove.js|MediaWiki:WikiLove.js]])
</div>
Odată ce aceste criterii sunt îndeplinite, deschideți un bug în [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] care solicită implementarea.
<span id="WikiLove_activity_in_real-time"></span>
== Activitatea WikiLove în timp real ==
<span class="mw-translate-fuzzy">WikiLove colectează date în propriile tabele, însă aceste date nu sunt încă generate de interfața cu utilizatorul. Pentru a vedea rapid ce se întâmplă, puteți utiliza [$abuselog edit filter 423] pe Wikipedia engleză.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
Colectăm povestiri despre utilizarea WikiLove aici pentru a înțelege mai bine impactul său evolutiv: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
Unele analize preliminare: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analiză]]
<span id="Additional_documents"></span>
==Documente adiționale==
<div class="mw-translate-fuzzy">
* Documentație extensie: [[$ext-wlove|Extensia:WikiLove]]
* [[WikiLove 1.0/Design|Document de proiectare]]
* Testarea utilizatorilor: vezi [[etherpad:UserTestToc|videos]]
* [[$wlove-status|Actualizări de stare]]
* [[$wlove-media|Acoperire media bazată pe postarea de blog din 24 iunie]]
* [[$wlove-idea|Idea Log]]
* [[$wlove-data|Date]]
* [[:meta:Research:WikiLove|Cercetare WikiLove]]
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
c1eoo8re318u6cwh98sx810gtayc6kj
Translations:Phabricator/Bots/2/en
1198
601942
8390465
4040556
2026-05-25T10:00:59Z
FuzzyBot
451990
Importing a new version from external source
8390465
wikitext
text/x-wiki
Check the [[$1|list of bots registered in $2]].
1ehuyo0hj7jhrwhapb86h8bgmdstbn6
Phabricator/Code/zh
0
617082
8390489
8034944
2026-05-25T10:02:33Z
FuzzyBot
451990
Updating to match new version of source page
8390489
wikitext
text/x-wiki
<languages />
{{NoteTA|G1=IT|G2=MediaWiki|1=zh-hant:擴展功能;zh-hans:扩展;}}本文档描述了[[phab:|维基媒体的Phabricator]]实例的开发过程。[[w:zh:Phabricator|Phabricator]]是用[[w:zh:PHP|PHP]],编写的,就像[[w:zh:MediaWiki|MediaWiki]]一样,它应该有助于入手开发。
在本文档中,我们将首先了解维基媒体如何使用Phabricator,以及在开发过程中需要注意的事项。
之后,还有一些关于如何开始实际开发的说明。
<span id="Phabricator_at_Wikimedia"></span>
== 维基媒体上的Phabricator ==
维基媒体使用Phorge(以前称作 Phabricator)实例,上游的改动极少,因为维护本地补丁非常麻烦。
对此的例外是扩展,它们是位于某個[https://gitlab.wikimedia.org/repos/phabricator/extensions/ 单独的存储库]中,因此不需要定期合并。
<span class="mw-translate-fuzzy">因此,任何其他变化都必须通过上游。这听起来像是一个主要障碍,但在实践中,上游维护人员非常迅速地回应建议。</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== 维基媒体Phabricator bug工作流程 ==
在完成其中一项任务之前,了解错误的生命周期很有帮助。这里有两个项目:
[[phab:project/profile/5/|#phabricator]]用于WMF特定的错误和
[[phab:project/profile/6/|#phabricator-upstream]]用于一般的Phabricator/Phorge问题。软件错误和增强请求通常属于第二类。
Phabricator上游工作板显示任务在上游创建之前经历的过程:
; 积压任务: 这是新任务的默认位置。 停滞的任务也可以在这里找到。
: 准备就绪:有可能进入[https://we.phorge.it/ Phorge的错误追踪器]的任务。當这样做时,您必须遵循:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Phorge的错误报告指南]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Phorge的功能请求指南]
; <span class="mw-translate-fuzzy">上游:已向上游报告的任务。对于某些任务,这可能指的是旧的上游(secure.phabricator.com 直到2021年),对于某些任务,这可能指的是当前的上游(we.phorge.it)。</span>
; 已解决的上游问题:相关的上游任务已关闭,可能有相关的提交。为反映维基媒体 Phabricator 中的这一特定变更,可能仍有必要计划在维基媒体中进行升级。
一旦任务被发佈到上游,上游开发人员就会作出回应,提出他们的评估意见以及如何实现该功能的建议。
''此时,开发人员可以开始部署。''
在某些情况下,上游开发人员将决定某项功能不适合他们的计划。
在这种情况下,Wikimedia Phabricator中的任务从#phabricator-upstream项目转移到#phabricator项目,最终回到讨论阶段:这个功能是否足以维护本地补丁?
一旦决定了这一点,就可以开始著手实施。
为了增加您的代码获得批准的机会,并避免不便,请联系 Phorge 或 WMF 维护者,讨论可能的实施方案。
<span id="Contact_Phorge_(upstream)"></span>
==联系 Phorge(上游)==
* [https://we.phorge.it/ponder/question/create/ 提出有关 Phorge 的新问题]
* [https://we.phorge.it/ponder/ 浏览关于 Phorge 的问题与答案]
* [https://we.phorge.it/tag/affects-wikimedia/ 查看Phorge中的标签#affects-wikimedia]
<span id="Local_changes"></span>
== 本地更改 ==
如上一节所述,我们尽量减少本地补丁。
可用于维护补丁并将其与上游修改合并的资源有限。
因此,任何本地补丁都必须在 #phabricator 项目中进行讨论。
只要注意避免使用 phabricator 内核中特别新/不稳定的 API,维护 phabricator 扩展的工作量就会大大减少。
虽然扩展不需要合并和潜在的代码冲突,但每次我们拉入上游变更时,都需要对其进行测试。
Phorge 没有任何被认为可以安全依赖的冻结 API。
维基媒体 Phabricator 实例本身的当前代码:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
当前本地维护的扩展有:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions 在一个代码库中进行多项定制],如 MediaWiki OAuth 扩展(未上游化;参见 https://secure.phabricator.com/T5096上的差异修订和提交)、安全相关代码、Phabricator 用户页面上的 MediaWiki Userpage 字段等。
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ 反破坏行为],仍在 Gerrit 中,将移至 GitLab。
<span id="Site_configuration"></span>
== 站点配置 ==
<div class="mw-translate-fuzzy">
大部分配置都是通过网络界面设置的。默认值(https://phabricator.wikimedia.org 和 https://phabricator.wmcloud.org/ 等共享)通过[[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|傀儡操纵员]]或[https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap模板]设置(参见[[phab:T239355]])。
</div>
<span id="Setting_up"></span>
== {{LC zh|lang = {{{lang|}}}|type = H|zh-hans = 设置|zh-hant = 設定}} ==
请参阅[[Phabricator/Local Dev Environment]]。
另一种设置方法是使用[[MediaWiki-Vagrant|MediaWiki-Vagrant]]中的 "phabricator "角色。按照[[MediaWiki-Vagrant]]上的步骤安装 MediaWiki-Vagrant,然后使用以下命令启用 phabricator 角色
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* 通过URL访问Phabricator实例: http://phabricator.local.wmftest.net:8080/
* Phabricator 安装位于虚拟机上的 `/srv/phabricator/` (?) 中。
<span id="Using_a_Cloud_VPS_VM"></span>
=== 使用一個云端虛擬專用伺服器(VPS)虚拟机 ===
<div class="mw-translate-fuzzy">
如果您知道如何在云端虛擬專用伺服器(VPS)上启动虚拟机,并且拥有这样做的权限,您可以使用 `phabricator::labs` 角色创建一个实例。这将为您提供与 https://phabricator.wmcloud.org/ 相同配置的基本设置。
</div>
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
==从Bugzilla、RT、Mingle、Trello迁移代码到 Phabricator==
维基媒体用于将其Bugzilla和RT数据迁移到 Phabricator 的[[phab:diffusion/PHTO/browse/|脚本]]已可用。
请注意,迁移代码[https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ 并非无错误],而且它只是为维基媒体工具的特定配置而编写和使用的。
数据通过 [[phab:P129]] 中的脚本从 Mingle 迁移到 Phabricator。
可使用脚本将数据从 Trello 迁移到 Phabricator。
有关更多信息,请参阅[[phab:T821]]。
[[Category:Phabricator{{#translation:}}]]
e4uye9o78jf2vh2plcor5egcjr9az65
Content translation/bg
0
618599
8390139
8353534
2026-05-24T20:18:13Z
~2026-31109-16
18404997
Created page with "== Подобрен подход към превода =="
8390139
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
<span lang="en" dir="ltr" class="mw-content-ltr">The Content Translation has been improved to have a unified dashboard that provides a consistent experience for all users on desktop and mobile devices.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It incorporates the {{ll|Content translation/Section translation|Section Translation}} experience, which allows mobile users to quickly expand an article by translating one section at a time and the desktop experience, which helps you to translate the whole article.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">With the unified dashboard, desktop users will be able to:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
mn6rlkmrlb6fjhfavwse5wkgynqkggd
8390141
8390139
2026-05-24T20:22:14Z
~2026-31109-16
18404997
Created page with "Преводът на съдържание вече разполага с интегриран панел, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства."
8390141
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с интегриран панел, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
<span lang="en" dir="ltr" class="mw-content-ltr">It incorporates the {{ll|Content translation/Section translation|Section Translation}} experience, which allows mobile users to quickly expand an article by translating one section at a time and the desktop experience, which helps you to translate the whole article.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">With the unified dashboard, desktop users will be able to:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
5au8tfahjwbkq5bgj0oew591f9pgbr7
8390143
8390141
2026-05-24T20:23:46Z
~2026-31109-16
18404997
Created page with "Той включва функцията за Превод на раздели, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия."
8390143
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с интегриран панел, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за Превод на раздели, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
<span lang="en" dir="ltr" class="mw-content-ltr">With the unified dashboard, desktop users will be able to:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
8r0mqkoe6sclnctag4nsfb5t01a6ivo
8390145
8390143
2026-05-24T20:24:29Z
~2026-31109-16
18404997
8390145
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за Превод на раздели, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
<span lang="en" dir="ltr" class="mw-content-ltr">With the unified dashboard, desktop users will be able to:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
hmfmvwmyfmht11afodbc3xa6bni7n5w
8390147
8390145
2026-05-24T20:25:14Z
~2026-31109-16
18404997
8390147
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
<span lang="en" dir="ltr" class="mw-content-ltr">With the unified dashboard, desktop users will be able to:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
4dz2n84ksjm1sbe4mslg67s0t9hdsj5
8390149
8390147
2026-05-24T20:28:24Z
~2026-31109-16
18404997
Created page with "Единното табло за управление позволява на потребителите на настолни компютри да:"
8390149
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* <span lang="en" dir="ltr" class="mw-content-ltr">Translate new sections of an article.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
cx7kuxf3pfobjh94wwe56qc9dyjvqq7
8390151
8390149
2026-05-24T20:29:37Z
~2026-31109-16
18404997
Created page with "Превеждат нови части от статия."
8390151
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters], initially available only for mobile device user.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
5fjtle3m5z86qxr0s8jtfpolzwj74sn
8390153
8390151
2026-05-24T20:32:40Z
~2026-31109-16
18404997
Created page with "Откриват и имат достъп до тематично базирани[$url филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства."
8390153
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* <span lang="en" dir="ltr" class="mw-content-ltr">Discover and access {{ll|Translation suggestions: Topic-based & Community-defined lists|Community-defined lists}} filter, also known as “Collections”, from wiki-projects and campaigns.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
qff8d9moi6qanl89zb4efes9bf4wcgu
8390155
8390153
2026-05-24T20:34:17Z
~2026-31109-16
18404997
Created page with "Намират и използват филтъра за {{$1|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании."
8390155
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
<div lang="en" dir="ltr" class="mw-content-ltr">
See also:
</div>
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
2id0gs816xoj0lhhplt1d2n02wrq11o
8390157
8390155
2026-05-24T20:34:28Z
~2026-31109-16
18404997
Created page with "Вижте също:"
8390157
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=<span lang="en" dir="ltr" class="mw-content-ltr">User documentation</span>}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
kzgep2vzj4e3drqp94qrta8xj2nm0lt
8390159
8390157
2026-05-24T20:34:32Z
~2026-31109-16
18404997
Created page with "Документация на потребителя"
8390159
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=<span lang="en" dir="ltr" class="mw-content-ltr">Technical documentation</span>}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
9cuwakqxs13idgt5nk795l4udv1g67y
8390161
8390159
2026-05-24T20:34:36Z
~2026-31109-16
18404997
Created page with "Техническа документация"
8390161
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* '''Section translation and mobile support.'''
</div> <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
fedw51rdv0t3ct93p27w3hrakp1kvsy
8390163
8390161
2026-05-24T20:35:21Z
~2026-31109-16
18404997
Created page with "* '''Превод на раздели и поддръжка за мобилни устройства.'''"
8390163
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:MyLanguage/Content_translation/Section_translation|The Section Translation initiative]] expands the capabilities of Content translation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
1r01w59lp09jgujcsdvzt1cqubqpyut
8390165
8390163
2026-05-24T20:36:06Z
~2026-31109-16
18404997
Created page with "[[$1|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание."
8390165
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. <span lang="en" dir="ltr" class="mw-content-ltr">Translators will be able to expand existing articles by translating a new section on mobile and desktop.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
9bruh1k8qn1kj7p0pynezw0579dq4u3
8390167
8390165
2026-05-24T20:36:36Z
~2026-31109-16
18404997
Created page with "Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства."
8390167
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. <span lang="en" dir="ltr" class="mw-content-ltr">Section translation is in active development and you can participate and track progress of recent updates.</span>
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
0pmqxmndqdaeik1p7ppkby7jd2hrqry
8390169
8390167
2026-05-24T20:37:15Z
~2026-31109-16
18404997
Created page with "Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации."
8390169
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
<span lang="en" dir="ltr" class="mw-content-ltr">In some languages it must be enabled [[Special:MyLanguage/Beta Features|as a beta feature]], and in others it is a usual user preference enabled by default.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
h3yxe6ej9alrer7cuwnfnk1pjjr5irz
8390171
8390169
2026-05-24T20:39:04Z
~2026-31109-16
18404997
Created page with "На някои езци той трябва да бъде активиран [[$1|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране."
8390171
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
<span lang="en" dir="ltr" class="mw-content-ltr">When it is enabled, you will see additional entry points to easily start a translation from your "contributions" page or from the list of languages of Wikipedia articles when they are missing in your language.</span>
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
e9twzibx4qazhhwy6rwb35dl1z3ooug
8390173
8390171
2026-05-24T20:41:12Z
~2026-31109-16
18404997
Created page with "Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език."
8390173
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref><span lang="en" dir="ltr" class="mw-content-ltr">[http://arxiv.org/abs/1312.0976 Multilinguals and Wikipedia Editing], Scott A. Hale. Dec 2013</span></ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
f23ehyvefs0pg1yrpthqy1pemtqc1yf
8390175
8390173
2026-05-24T20:41:17Z
~2026-31109-16
18404997
Created page with "[$url Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г."
8390175
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* <span lang="en" dir="ltr" class="mw-content-ltr">Help improve the tool by integrating [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|new machine translation services]] or analyse [[Special:MyLanguage/Content translation/Published translations|our data on published translations]] to make translation services better.</span>
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
o33zin7t6ep8zmehpird9c7vq7vnbsu
8390177
8390175
2026-05-24T20:41:41Z
~2026-31109-16
18404997
Created page with "Помогнете за подобряването на инструмента, като интегрирате [[$1|нови услуги за машинен превод]] или като анализирате [[$2|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри."
8390177
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|<span lang="en" dir="ltr" class="mw-content-ltr">Best practices for Content Translation events</span>]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
q94ici5dd3xt7l4lbujuzwz74lr471j
8390179
8390177
2026-05-24T20:42:23Z
~2026-31109-16
18404997
Created page with "Добри практики при организиране на събития за превод на съдържание"
8390179
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|Добри практики при организиране на събития за превод на съдържание]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status reports</span>}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
kdcey8jpwpltw7wnnktykdqr54hrmeb
8390181
8390179
2026-05-24T20:42:25Z
~2026-31109-16
18404997
Created page with "Доклади за състоянието"
8390181
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|Добри практики при организиране на събития за превод на съдържание]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=Доклади за състоянието}}
* {{ll|Content translation/Roadmap|2=<span lang="en" dir="ltr" class="mw-content-ltr">Roadmap</span>}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
embrr3sr4ilw7vwrl7z1ovbyc1456rs
8390183
8390181
2026-05-24T20:42:30Z
~2026-31109-16
18404997
Created page with "Пътна карта"
8390183
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Инструментът, който все още е в процес на активно развитие, е [[:en:Special:ContentTranslation| на разположение]] и вече е използван многократно за създаването на [[:en:Special:ContentTranslationStats|хиляди статии]], в резултат на което са направени множество подобрения в продуктивността на редакторите-преводачи.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|Добри практики при организиране на събития за превод на съдържание]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=Доклади за състоянието}}
* {{ll|Content translation/Roadmap|2=Пътна карта}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
cle0ng36toh1g5yj8u1l5eydxtog690
8390185
8390183
2026-05-24T20:46:38Z
~2026-31109-16
18404997
8390185
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Този инструмент е [[:en:Special:ContentTranslation| наличен за изпробване за теб]] и вече е използван за създаването на [[:en:Special:ContentTranslationStats|над два милиона статии]], в резултат на което са направени множество подобрения в продуктивността на преводачите.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|Добри практики при организиране на събития за превод на съдържание]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=Доклади за състоянието}}
* {{ll|Content translation/Roadmap|2=Пътна карта}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
mpr61xhn7ohz2168z2x2zeq6tau2teo
8390187
8390185
2026-05-24T20:48:06Z
~2026-31109-16
18404997
8390187
wikitext
text/x-wiki
<languages />
[[File:Cx-screenshot-aug-2017.png|thumb|upright=1.2|Инструмент за превод на съдържание, показващ информация за връзка в източника и преведената статия.]]
[[File:The Wikipedia Content Translation Tool reaches 350,000 translations.webm|thumb|upright=1.2|Въведение в преводите на съдържание]]
{{Wikimedia engineering project information
| name = Content Translation
| description = Инструмент с помощ от компютъра за страници в Уикипедия
| start = 2014-01-01
| end =
| group = [[Special:MyLanguage/Wikimedia Language and Product Localization|Internationalization and Localization]]
| EPM = [[User:Aaharoni-WMF|Amir E. Aharoni]] (product manager), [[User:Runab WMF|Runa Bhattacharjee]] (engineering manager)
| team = Development team – [[User:Amire80|Amir Aharoni]], [[User:DChan (WMF)|David Chan]], [[wmf:User:KMistry (WMF)|Kartik Mistry]], [[User:Nikerabbit|Niklas Laxström]], [[User:Pginer-WMF|Pau Giner]], [[User:Runab WMF|Runa Bhattacharjee]], [[User:Santhosh.thottingal|Santhosh Thottingal]]
| previous =
| next =
| projectpage = Content translation
| display = {{{display|}}}
}}
Инструментът '''Превод на съдържание''' позволява на редакторите да създават преводи буквално до оригиналната статия и автоматизира някои от скучните стъпки: копирането на текст от един раздел на браузъра в друг, търсенето на съответстващите препратки и категории и т.н. Чрез предоставяне на опита си, преводачите могат да прекарат времето си в създаване на висококачествено съдържание на техния език.
<span class="mw-translate-fuzzy">Този инструмент е [[:en:Special:ContentTranslation| на разположение да го изпробвате]] и вече е използван за създаването на [[:en:Special:ContentTranslationStats|над два милиона статии]], в резултат на което са направени множество подобрения в продуктивността на преводачите.</span><ref>[[wmfblog:2016/03/29/wikipedias-essential-vaccines/|Обхватът на Уикипедия за основните ваксини се разширява]], блог на Уикимедия</ref><ref>[[wmfblog:2015/04/06/content-translation-improved-my-edits/|Как превеждането на съдържание подобри уики редакциите ми]], блог на Уикимедия.</ref>
Преводът на съдържание интегрира инструменти като речници или услуги за машинен превод. Те не се поддържат [[Special:MyLanguage/Content translation/Machine Translation|на всички езици]], но инструментът [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|може да бъде разширен]] да включва и други.
{{note|1=Преводът на съдържание допълва съществуващото разширение {{ll|Extension:Translate|Translate|nsp=0}}: докато текстовете от менюта и други елементи на потребителския интерфейс в Уикипедия са преведени и се поддържат в синхрон с общността чрез употребата на Translate, съдържанието на статиите в Уикипедия може да бъде превеждано с помощта на Превод на съдържание.}}
<span id="Improved_translation_experience"></span>
== Подобрен подход към превода ==
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
Той включва функцията за {{ll|Content translation/Section translation|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
Единното табло за управление позволява на потребителите на настолни компютри да:
* Превеждат нови части от статия.
* Откриват и имат достъп до тематично базирани[https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
* Намират и използват филтъра за {{ll|Translation suggestions: Topic-based & Community-defined lists|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
Вижте също:
* {{ll|Help:Content translation|2=Документация на потребителя}}
* {{ll|Extension:ContentTranslation|2=Техническа документация}}
* '''Превод на раздели и поддръжка за мобилни устройства.''' [[Special:MyLanguage/Content_translation/Section_translation|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание. Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства. Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
{{anchor|Try}}
<span id="Try_the_tool"></span>
== Опитайте инструмента ==
[[File:Content Translation Screencast (English).webm|thumb|upright=1.2|Скрийнкаст, показващ как да използвате Превода на съдържание]]
Можете да използвате инструмента от [[:en:Special:ContentTranslation|Специални:Превод на съдържание]] от Уикипедия на всеки език. Използването му за първи път също така ще активира функцията за това уики.
Преводът на съдържанието е достъпен в Уикипедия на всички езици за влезли потребители.
На някои езци той трябва да бъде активиран [[Special:MyLanguage/Beta Features|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
Ако имате проблеми или просто искате да споделите опита си при работата с инструмента, моля [[Talk:Content Translation|оставете обратна връзка на беседата]].
<span id="Purpose_of_the_tool"></span>
== Цел на инструмента ==
{{ContentTranslation Portal}}
Преводът на съдържание ви позволява да създадете първоначалната версия на статия в Уикипедия на базата на съществуващата версия от друг език. Инструментът е фокусиран върху прехвърлянето и адаптирането на съдържание от съществуващата статия към нова на различен език. Той позволява на редакторите да използват толкова съдържание, колкото преценят за първоначалната си версия и да го използват по-късно за редактиране с обичайните инструменти.
Очакваме, че Преводът на съдържание ще спомогне за увеличаване на сбора на човешкото познание на повече езици. Инструментът е предназначен за потребители, които владеят два или повече езика.
За настоящите редактори, функцията опростява процеса на превод на съдържанието. В момента около 15% от потребителите също редактират и на друг език. Тези многоезични потребители са по-продуктивни от своите едноезични колеги, като правят средно около 2,3 пъти повече редакции.<ref>[http://arxiv.org/abs/1312.0976 Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.</ref>
Освен това, инструментът е насочен към привличане на нови редактори, които могат да се възползват от начина за допринасяне, който е по-лесен, отколкото създаването на нова страница от нулата.
Инструментът е разработен в съответствие със следните принципи:
* '''Спестяване на време.''' Помага на преводачите да създават съдържание бързо и без излишно копипействане в други инструменти.
* '''Предоставяне на помощ.''' Предпазва от грешки и придава увереност на потребителите в преводите им.
* '''Насърчаване на подобряването на преводите.''' Инструментът би трябвало правилно да предаде целта на преводите в контекста на Уикимедия и [[Special:MyLanguage/Help:Content_translation/Translating/Translation_quality|да спомогне на потребителя да избегне лошите преводи]].
* '''Не притискайте потребителя.''' Тъй като различните преводи следват различни модели на редактиране, предоставената помощ не трябва да навлиза в процеса на редактиране.
* '''Фокусиране върху съдържанието.''' Преводът е по-фокусиран върху съдържанието, отколкото текстовото оформление. Техническите елементи като уикитекст трябва да бъдат обработвани по начин, който не затруднява превода.
Налични са и допълнителни [[Special:MyLanguage/Content translation/analytics|подробности за направените анализи]].
<span id="How_to_participate"></span>
== Как може да вземете участие? ==
* [[#Try|Опитайте инструмента]]
* Помогнете за подобряването на инструмента, като интегрирате [[Special:MyLanguage/Content translation/Machine Translation/MT Clients|нови услуги за машинен превод]] или като анализирате [[Special:MyLanguage/Content translation/Published translations|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
* Участвайте в [https://docs.google.com/a/wikimedia.org/forms/d/1JzM2VAbd14bA5NpsMoxzbVO5Njw_bic4V5qtiuScX70/viewform новото езиково проучване], в което може да предоставите информация относно поддръжката на съществуващите инструменти за вашия език.
* Оставете отзиви [[Talk:Content Translation|на беседата]].
<span id="All_related_pages"></span>
== Всички свързани страници ==
* {{ll|Content translation/Product Definition|2=Дефиниране на продукта}}
* {{ll|Content translation/Developers|2=За разработчици}}
* {{ll|Content translation/Deployments|2=Информация за внедряването}}
* {{ll|Content translation/Documentation|2=Помощни документи}}
* {{ll|Content translation/Announcements|2=Обяви}}
* [[Special:PrefixIndex/Content translation/|Всички подстраници]]
* [[meta:Special:MyLanguage/Best practices for Content Translation events|Добри практики при организиране на събития за превод на съдържание]]
* {{ll|Extension:Translate}}
* {{ll|Content translation/status|2=Доклади за състоянието}}
* {{ll|Content translation/Roadmap|2=Пътна карта}}
<span id="References"></span>
== Източници ==
<references />
{{feedback
|author={{ll|Wikimedia Language engineering}}
}}
[[Category:Localisation{{#translation:}}]]
[[Category:Language Engineering{{#translation:}}]]
[[Category:Content Translation{{#translation:}}| ]]
ejmv39qdalcouv56kpqpwu2pz0wk3uw
Translations:Content translation/3/bg
1198
627133
8390184
2267587
2026-05-24T20:46:38Z
~2026-31109-16
18404997
8390184
wikitext
text/x-wiki
Този инструмент е [[:en:Special:ContentTranslation| наличен за изпробване за теб]] и вече е използван за създаването на [[:en:Special:ContentTranslationStats|над два милиона статии]], в резултат на което са направени множество подобрения в продуктивността на преводачите.
7beophq7xr85rg4bthefccr5ve90p0h
8390186
8390184
2026-05-24T20:48:05Z
~2026-31109-16
18404997
8390186
wikitext
text/x-wiki
Този инструмент е [[:en:Special:ContentTranslation| на разположение да го изпробвате]] и вече е използван за създаването на [[:en:Special:ContentTranslationStats|над два милиона статии]], в резултат на което са направени множество подобрения в продуктивността на преводачите.
2iwrks6rhhcfd6ojz4tdqhrs2qyxi4q
User:Tommy Kronkvist/common.js
2
632696
8390311
8340419
2026-05-25T06:56:05Z
WikiBayer
2371377
8390311
javascript
text/javascript
/** SCRIPT 1 ______________________________________________________________________________________
* Automatically set all TOCs to collapsible
* Author: Not applicable (standard wiki code)
* License: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
* Bug: Collapses the TOC, but clicking the 'Show' link doesn't expand it again **/
function hideToc() {
var toc = document.getElementById('toc').getElementsByTagName('ul')[0];
var toggleLink = document.getElementById('togglelink');
toc.style.display = 'none';
}
hideToc();
/** SCRIPT 2a [deprecated] ________________________________________________________________________
* Creates redirect pages for synonyms
* Author: Rillke
* License: GPL v.3
importScript('User:Rillke/createRedirects.js'); **/
/** SCRIPT 2b [new, functional] ___________________________________________________________________
* Creates redirect pages for synonyms
* Author: Rillke, Nardog
* License: GPL v.3 **/
importScript('User:Nardog/createRedirects.js');
/** SCRIPT 3 ______________________________________________________________________________________
* Real-Time Recent Changes
* Author: Krinkle **/
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Krinkle/RTRC.js&action=raw&ctype=text/javascript');
/** SCRIPT 4 ______________________________________________________________________________________
* JavaWikiBrowser, a web version of AutoWikiBrowser
* Author: Joeytje50
importScriptURI('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript'); **/
/** SCRIPT 5 ______________________________________________________________________________________
* Wikipedia XTools gadget
* Author: Hedonil
* Currently not loaded: mw.loader.load('//meta.wikimedia.org/w/index.php?
title=User:Hedonil/XTools/XTools.js&action=raw&ctype=text/javascript'); **/
/** SCRIPT 6 ______________________________________________________________________________________
* Create redirects to a given page.
* First click on the toolbox link.
* This highlights possible redirects.
* A second click creates them.
*
*<nowiki>
* It requires a h3 section which is exactly named "Synonyms" or "{{int:Synonyms}}"
* or "Synonymy" or "{{int:Synonymy}}".
* then a ul/li structure and italic names of the redirects to create.
*</nowiki>
*
* Tested at [[Epipactis helleborine subsp. helleborine]]
*
* @author Rillke
* @license GPL v.3
**/
(function ($, mw) {
mw.util.addCSS(
'.syn-x { background:#ddd; cursor:pointer; }' +
'.syn-to-create { background:#ffb; outline:dotted 1px #999; }' +
'.syn-to-create:before { content: \" to be created - \"; }' +
'.syn-created { background:#bfb; }' +
'.syn-create-err { background:#fbb; }');
var p = mw.util.addPortletLink('p-tb', '#createRedirs', 'Create Redirects',
't-syn-redir', 'Create redirects using AJAX in batch');
if (!p) return;
var $p = $(p),
$syns = $(),
$count = $('<span>'),
$txt = $p.find('a');
$txt = $txt.length ? $txt : $p;
var __updateCount = function () {
$count.text('(' + $syns.filter('.syn-to-create').length + ')');
};
var __create = function () {
var mwa = new mw.Api();
// At the time of writing this mw.Api.edit was broken
// (no callback because it did not return the promise object
// nor did it forward the callback functions properly)
var _post = function () {
if (!$syns.filter('.syn-to-create').length) return $txt.text("Done!");
var $el = $syns.filter('.syn-to-create').eq(0),
title = $el.text();
__updateCount();
mwa.post({
action: 'edit',
createonly: true,
token: mw.user.tokens.get('csrfToken'),
// <nowiki>
text: '#REDIRECT [[' + mw.config.get('wgPageName').replace(/_/g, ' ') + ']]',
// </nowiki>
title: title,
watchlist: 'nochange'
}).done(function () {
$el.removeClass('syn-to-create').addClass('syn-created');
_post();
}).fail(function () {
$el.removeClass('syn-to-create').addClass('syn-create-err');
_post();
});
};
_post();
};
var __highlight = function () {
var _textsWeHave = {};
var _highlightLi = function (i, el) {
var $el = $(el),
$i = $el.find('i:first'),
t = $i.text();
if (t in _textsWeHave) return;
_textsWeHave[t] = true;
$syns = $syns.add($i.addClass('syn-to-create syn-x'));
};
// <nowiki>
$('h3').find('#Synonyms,#Synonymy,#{{int:Synonyms}},#{{int:Synonymy}}').parents('h3').nextUntil('h3,h2,hr').find('li').each(_highlightLi);
// </nowiki>
$syns.click(function () {
$(this).toggleClass('syn-to-create');
__updateCount();
});
__updateCount();
$txt.text("Create Redirs: ").append($count);
$p.unbind('click').click(function (e) {
e.preventDefault();
$p.unbind('click').addClass('ui-state-disabled');
$.createSpinner().prependTo($txt);
__create($syns);
});
};
$p.click(function (e) {
e.preventDefault();
$p.unbind('click');
mw.loader.using(['jquery.spinner', 'mediawiki.util', 'mediawiki.api', 'mediawiki.user'], function () {
__highlight();
});
});
}(jQuery, mediaWiki));
a1lvo2d35caau49ktwj773qjgor0vqo
WikiLove/zh
0
656650
8390519
8369571
2026-05-25T10:49:04Z
FuzzyBot
451990
Updating to match new version of source page
8390519
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = 为了鼓励用户之间表达感激的一个-{zh-hans:扩展; zh-hant:擴充功能;}-。
| start = 2011-05-02
| end = 2011-07
| group = 功能
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=對維基友愛(WikiLove)抽象概念的印象|thumb|對維基友愛(WikiLove)抽象概念的印象]]
<noinclude>
:''透過欣賞,我們將他人的卓越化為己有。'' — 伏尔泰
{{NoteTA|G1=IT|G2=MediaWiki|1=zh-hans:扩展; zh-hant:擴充功能;}}
'''维基友爱'''是一項旨在讓維基人表達對其他用戶的友愛變得簡單而有趣的功能。
可以通過單擊“愛心形狀”圖標在任何用戶討論頁添加维基友爱。
它最初是由Ryan Kaldari開發的用戶腳本,現在可以作為[[Special:MyLanguage/Extension:WikiLove|MediaWiki扩展]],開發人員可以添加到他們的wiki中。
<span id="Rationale"></span>
== 理由 ==
用户喜欢的自我价值感。根据2011年的调查显示,维基百科的编辑者们(参见[[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|頂端数据]]),在17个变量中,“被经验丰富的编辑者看不起”是最有可能导致人们说他们将编辑较少(69%同意),而“让别人恭维你在你的编辑/文章上”是最有可能导致人们说他们将更频繁地编辑协议(78%同意)。
請参见: 维基媒体博客上的[[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|“维基百科编辑者说,积极的反馈对编辑有用”]]。
另一方面,随着时间的推移,编辑维基百科往往更加困难,并且也增加了新用户收到更正/批评的可能性。
这反映编码和分析新用户经验的各种努力,比如最近我们在“科研之夏”期间进行的新手教学策略研究冲刺。
[[File:Message-features-area.png|thumb|500px|center|相对比例的不同类型的消息发送到新用户英语维基百科,编码的[[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|新手教学策略趋势研究冲刺]]]]
<span id="Key_dates"></span>
== 重要日期 ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">维基友爱已在[$proto prototype.wikimedia.org]上啟用</span>
* {{ymd|2011|6|24}} - prototype.wikimedia.org 網站已將WikiLove預設為已啟用狀態,適用於已註冊使用者;部落格公告正招募測試者
* {{ymd|2011|6|30}} - WikiLove已部署至英語維基百科。請參閱[{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove的行動]。
* {{ymd|2011|10|28}} - WikiLove 已[[bugzilla:31831#c3|部署]]至[[:mk:|馬其頓語維基百科]](名稱「ВикиЉубов」)。
<span id="How_to_disable"></span>
== 如何停用 ==
禁用维基友爱,到编辑选项卡在[[:en:Special:Preferences#mw-prefsection-editing|你的预置]],并取消选中对应的复选框旁边的“启用显示对其他用户维基友爱选项卡”在用户页面。然后单击保存。
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== 如何自定义 ==
{{notice|1=这部分是关于如何自定义维基友爱的个别编辑器。 关于如何为整个维基自定义维基友爱,参见{{ll|Extension:WikiLove}}。}}
维基友爱接口可以满足每一个编辑器的需求。
如果你想使用维基友爱留下欢迎消息、生日蛋糕或者刺猬,用你自己的设置覆盖默认的配置非常简单。
维基友爱的配置是一个大的[[w:JSON|JSON]]-{zh-hans:对象; zh-hant:物件;}-,所以要做更改或添加,你只需要修改分配给键的值。
要想查看目前分配了哪些值,首先查看你本地wiki上的MediaWiki:WikiLove.js页面。
这里可能有本地覆盖选项。
接下来查看[[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|默认配置]]。
这将显示构成维基友爱设置的基本数据树。
一旦你决定你想要修改哪个值,转到你的wiki使用的skin.js文件。
(例如,如果你在英文维基百科,可以编辑[[w:Special:MyPage/common.js|此页面]])。
要想更改一个现有的项目,只需用一个赋值语句覆盖它原有的值。
<span id="Change_an_existing_type"></span>
=== 改变现有类型 ===
例如,如果您想更改显示名称“小猫”到“猫”,你将添加以下你当地的<code>.js</code>文件 ([[Special:MyPage/skin.js|User:Example/skin.js]]):
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
如果你想改变“Stroopwafels”的图像,您可以添加:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== 添加新类型 ===
您还可以用JSON树结构来添加全新的-{zh:entry;zh-hans:项;zh-hant:項目;}-类型(或子类型)。例如添加一個“刺猬(Hedgehogs)”:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // 类型菜单中所显示的类型名称
fields: [ 'header', 'message' ], // 表单中寻求哪些字段
header: 'A hedgehog for you!', // 讨论页话题中的标题(可选)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3为图像的文件名,$1为消息
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // gallery中图像最大宽度
height: 150, // gallery中图像最大高度
number: 3 // 随机显示几张图像(可选)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // 类型菜单中显示
};
} );
</syntaxhighlight>
确保在添加新项目时声明所有适当的参数!要了解所有不同的类型参数,请参阅[[Special:MyLanguage/Extension:WikiLove#Custom_configuration|扩展文档]]。
<span id="Create_a_new_type_icon"></span>
=== 创建一个新的类型图标 ===
Photoshop的维基友爱源文件类型图标(黑色和白色图标出现在左边菜单)可以[https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles 下载]。
若要自行製作,請貼入約50×50像素的圖形,將其去飽和化,並複製貼上原始檔案中範例所套用的樣式。
<span id="Change_the_heart_icon"></span>
=== 更改心形图标 ===
通过编辑你的vector.css文件({{Blue|User:Example/vector.css}}),你也可以定制维基友爱心形图标以用于Vector皮肤。
例如,如果你想改变的红心图标蓝色的心,你可以添加以下代码:
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== 额外部署请求 ==
只要符合以下条件,个別的维基们可能會要求维基友爱部署到他们:
*社区部署已经达成共识
*维基友爱拓展已本地化,维基的语言在翻译维基(你可以[http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 帮助翻譯它])
*一个配置文件存在于当地的维基 ([[MediaWiki:WikiLove.js]])
一旦满足了这些条件,打开一个bug在[https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] 里请求部署。
<span id="WikiLove_activity_in_real-time"></span>
== 即時的维基友爱活動 ==
维基友爱在自己的表中收集数据,但是这些数据还没有通过用户界面展示。
要快速查看发生了什么,您可以在英语维基百科上使用[https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423]。
我们在这里收集维基友爱使用的故事,以更好地了解其不断演变的影响:[[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
一些初步分析: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
<span id="Additional_documents"></span>
== 附加文档 ==
* 扩展文档: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|设计文档]]
* 用户测试:参见[[etherpad:UserTestToc|视频]]{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=状态更新}}
* {{ll|WikiLove/Media coverage|2=基于6月24日博文的媒体报道}}
* {{ll|WikiLove/Idea Log|2=想法记录}}
* {{ll|WikiLove/Data|2=数据}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
i2q3iovdhrre39zq2ycih15zu5erlky
2017 wikitext editor/ko
0
688759
8390094
8372180
2026-05-24T14:14:35Z
YeBoy371
2746081
8390094
wikitext
text/x-wiki
<languages/>
{{ptag|VisualEditor-MediaWiki-2017WikitextEditor}}
[[File:2017 wikitext editor in 2021.png|{{dir|{{pagelang}}|left|right}}|frameless|300x300px]]
'''2017 위키텍스트 편집기'''("'''모던 위키텍스트 편집기'''", 혹은 이전 명칭인 "'''새 위키텍스트 편집기'''"로도 불림)는 [[Special:MyLanguage/Extension:VisualEditor|시각 편집기 확장 기능]]에 있는 모드로 위키텍스트 소스 코드를 편집하면서 사용자가 시각 편집기의 도구와 툴바를 사용할 수 있게 허용합니다.
이 둘 사이를 더 잘 전환할 수 있도록 시각편집기에 통합되어 있습니다.
<span id="Availability_and_usage"></span>
== 사용 가능성과 사례 ==
2017 위키텍스트 편집기는 2023년 위키미디어 재단이 호스팅하는 위키에 릴리스되었습니다.
데스크탑 사용자들이 사용할 수 있습니다.
이 기능은 기본적으로 활성화되어 있지 않습니다.
[[Special:Preferences#mw-prefsection-editing|환경 설정]]으로 이동하여 "<code>{{int|visualeditor-preference-newwikitexteditor-enable}}</code>" 확인란을 클릭한 다음 "<code>{{int|saveprefs}}</code>"을 클릭하여 위키미디어 위키에서 사용하도록 선택할 수 있습니다.
<span lang="en" dir="ltr" class="mw-content-ltr">Once enabled, it is accessed from within the visual editor by clicking the button in the toolbar to switch to wikitext.</span>{{Clarify|date=June 2025}}<!--
-->{{void|1=
<!-- Should be merged with the above-->
<span lang="en" dir="ltr" class="mw-content-ltr">The current version can be turned on in [[Special:Preferences#mw-prefsection-editing-editor]]; enable the <code>{{int|visualeditor-preference-newwikitexteditor-enable}}</code> item, go to https://www.mediawiki.org/wiki/Project:Sandbox?veaction=editsource (for example) and see what it looks like when you switch back and forth.</span>
<!--This paragraph seems to add no additional information. It is unclear what is meant by "... clicking the button in the tooolbar to switch to wikitext." and "... switch back and forth." in the passages above. Which button?
On some pages / in some versions of the editor it is apparently possible to click on the pencil symbol to switch between "Visual editing" and "Source editing". This should be clarified if relevant. -->
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Technical implementation ==
</div>
이것은 기존 위키텍스트 편집기를 수정한 것이 아닌 새로운 편집기입니다.
<span lang="en" dir="ltr" class="mw-content-ltr">As the editor is based on VE surface, and not a standard textarea, many of the editing gadgets do not work with that (it requires using very specific API to access wikicode).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Gadgets that open an edit form and require a textarea can switch to plain wikicode editor using <code>action=submit</code> (rather than <code>action=edit</code>).</span>
<span id="What_were_the_reasons_for_this_project?"></span>
== 이 프로젝트의 원인은 무엇입니까? ==
{{note|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section shows the Editing team's thinking when they were actively developing this feature, from 2016 to 2018.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It is retained for historical interest and probably does not reflect their current views or priorities.</span>}}
2010년에 위키미디어 재단은 [[m:Special:MyLanguage/Wikipedia Usability Initiative|사용성 프로젝트]](현재 {{ll|Skin:Vector|nsp=0}} 스킨, [[Special:Upload|업로드 도구]] 및 {{ll|2010 wikitext editor}} 제공)를 완료하고 2010-2015 전략에서 커뮤니티가 선택한 문제로 전환했습니다.
여기에는 알림 및 기타 개선 사항과 함께 [[Special:MyLanguage/Editor|편집 도구]], 특히 시각편집기에 대한 여러 가지 개선 사항이 포함되었습니다.
그러나 그 전략은 위키텍스트를 대체하는 것이 아니며 그런 적도 없습니다. 우리는 커뮤니티가 위키미디어 프로젝트를 지금처럼 성공적으로 만들 수 있도록 장기적으로 두 편집 시스템 모두가 중요하다고 생각합니다.
2016년 12월 기준으로, 거의 모든 위키미디어 위키에서 세 가지 주요 내용 편집기를 제공합니다.
외관, 작동, 성능, 도움말 및 지원 면에서 사용자에게 일관성이 없습니다.
그 중 하나는 WikiEditor라고 하는 2010년대 데스크톱 위키텍스트 편집기이고, 다른 하나는 데스크탑 및 모바일 형식의 시각편집기이며, 마지막 하나는 기본 모바일 위키텍스트 편집기입니다.
2010년부터 우리는 새로운 사용자와 경험이 있는 사용자 모두가 우리 소프트웨어를 사용하는 방법과 그들이 우리 편집 소프트웨어에서 변경되기를 바라는 점에 대해 많은 것을 배웠습니다. 우리의 연구는 편집자에게 잘 작동하는 디자인을 중심으로 시각편집기를 구성하는 정보를 제공하여 새로운 사용자에게 사용 방법에 대한 명확한 신호를 제공하는 동시에 이미 알고 있는 WikiEditor를 선호하는 숙련된 사용자를 방해하지 않습니다.
완벽하진 않지만 저희는 새 사용자들로부터 시각 편집기 디자인, 워크플로 큐, 전반적 경험의 강력한 선호를 관찰해왔습니다.
공학적인 부문에서 저희는 많은 것을 학습했으며 문서("<code>{{int|visualeditor-ca-editsource}}</code>" 클릭 시)나 도구(예: 플로)에서, 데스크톱이나 모바일에서 사용할 수 있도록, 또 다른 기능에 의해 확장가능한 방식으로 개발하고 있습니다.
3가지 일정치 않은 편집 시스템을 보유하고 있는 것은 좋지 않습니다. 한 편집기로 배워왔던 새로운 편집자들은 다른 상황(예: 토론 문서 편집)에 적용하기 어렵기 때문에 좋지 않습니다.
숙련된 편집자에게는 초보자에게 어떤 상황인지, 그리고 어떻게 도움을 줄 수 있는지 알아내기 전에 몇 가지 질문에 답해야 하기 때문에 좋지 않습니다.
관리자의 경우 편집자별로 자신들의 공동체가 요구하는 바를 별도로 구축하거나 일부 편집기에서 가져올 수 없는 것을 발견할 필요가 있으므로 좋지 않습니다.
스크립트 및 소도구 개발자의 경우 각기 다른 수많은 상황을 다루거나 무시해야 하므로 좋지 않습니다.
개발자의 경우 무언가를 고치고 기능을 추가할 때마다 복잡성이 3배나 증가하는 것을 고려해야 하기 때문에 좋지 않습니다.
위키미디어 재단의 기부자들의 경우 기부금이 이러한 복잡한 병행 작업 스트림 지원에 쓰여야 하기 때문에 좋지 않습니다.
<span lang="en" dir="ltr" class="mw-content-ltr">Consequently, in support of one of the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2016-2017/Final#Program 4: Maintain and improve content creation and editing tools|goal #1 of the 2016–2017 Annual Plan]], "''Maintain and incrementally improve current content creation and curation interfaces''", the {{ll|Editing team}} is working on a new wikitext editor, the 2017 wikitext editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This will provide a single, integrated, consistent experience between desktop and mobile, and wikitext and visual editors.</span>
경험을 가능한 여러 상황 간에 가능한 일치시킬 수 있도록 다른 편집기에도 통합이 가능한 플랫폼이 될 예정입니다.
기존 기능에 발생되는 문제를 제한하면서 사용자에게 가능한 좋은 경험을 제공할 예정입니다.
마음에 들지 않는 사용자는 끌 수 있습니다.
현재의 위키텍스트 편집기는 적어도 앞으로 수년 간은 사라지지 않습니다.
우리가 궁극적으로 이 기능을 [[Special:MyLanguage/Code stewardship reviews|철수]]시키더라도 해당 기능을 원하는 누구든지 해당 기능을 유지할 수 있습니다.
<span id="Development_goals_and_status"></span>
== 개발 목표 및 상태 ==
<span lang="en" dir="ltr" class="mw-content-ltr">The main ticket is {{task|T104479}} (''Provide a modern wikitext editor, finishing "2017 wikitext editor"'').</span>
{{note|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section shows the Editing team's thinking when they were actively developing this feature, from 2016 to 2018.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It is retained for historical interest and probably does not reflect their current views or priorities.</span>}}
<span id="First_release_(Beta_Feature)"></span>
=== 첫 번째 버전 (베타 기능) ===
프로젝트의 초기 목표는 사용자가 일관된 경험을 가질 수 있도록 시각편집기와 동일한 위치에 동일한 버튼이 있는 동일한 도구 모음을 사용하여 기존 위키텍스트 편집기인 WikiEditor와 동등하게 만드는 것이었습니다. 이것은 매우 드문 버튼을 제외하고는 위키텍스트 편집기에서 최소한 모든 컨트롤을 제공한다는 것을 의미합니다.
* 기본 도구 (굵게, 기울임, 서명, 링크와 사진);
* 고급 도구(문단, 글머리 기호 목록, 번호가 매겨진 목록, 크게, 작게, 위 첨자와 아래 첨자, 갤러리와 표);
* 특수문자 삽입; 그리고
* 찾아서 바꾸기
이 모든 것은 2016년 8월에 완료되었으며 기존 위키텍스트 편집기에는 없는 많은 도구(취소선, 밑줄, 템플릿 삽입 등)와 붙여넣은 HTML과 같은 기능이 자동으로 위키텍스트로 변환됩니다.
특히, 사용자가 URL 또는 DOI를 기반으로 참조를 빠르게 추가할 수 있는 "citoid" 자동 인용 도구도 제공합니다.
이 기능은 영어 위키백과와 다른 일부 위키가 이미 자체적으로 개발한 소도구와 비슷하거나 더 진보화된 것이며 이제 모든 위키에서 사용할 수 있게 됩니다.
저희는 기능이 예측한 대로 동작하는지, 그리고 검토 및 구조화된 사용자 테스트에 관한 광범위한 QA 테스트에 착수했습니다.
의도한 대로 적절히 동작한다고 생각되면, 그리고 (적어도) 새 사용자에게 더 부정적인 부분이 없다면 베타 기능을 통해 모든 수준의 숙련된 사용자들로부터 의견을 구할 것입니다.
<span id="Final_beta_release_(before_general_release)"></span>
=== 마지막 베타 버전 (일반 배포 전) ===
<span lang="en" dir="ltr" class="mw-content-ltr">The point of the first release as a Beta Feature is to get some initial feedback on how well this new editor works for people. We expect the feedback to include a lot of suggestions for changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are a number of improvements that we're already considering. Some of these probably need to be addressed before the new wikitext editor would be released outside of a Beta Feature.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Some of these are technically difficult and so have been postponed, whilst others would benefit from real-world feedback from existing users to shape the features as usefully as possible.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For the first category (big challenges), we believe that we will need to address '''section editing''', in which clicking edit will show small parts of the page to edit, and a '''fully responsive design''', so that the interface can scale up and down more cleanly for smaller devices, where users are zoomed-in, or other accessibility and platform reasons; these will let us provide the feature in mobile as a beta example as well, to ensure it works for all our editors, not just those on desktop.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">For the second category (feedback needed), we will need to provide '''in-editor help''' to guide users through the editing process from the very first time they click edit to later in their editing careers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Right now the wikitext editor has a "help" tab with some brief wikitext guidance; in the visual editor, we have a link to the user-guide, which we could replicate for this purpose.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">How this should work, and what it should highlight, is likely to be something on which many members of our communities have expert ideas.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We will also need to '''clean up how gadgets extend the editor''', as the new editor integration right now is complex and confusing.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This would make converting some gadgets harder than it should be.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Many wiki communities depend on particular gadgets to speed up their editing workflow, and we need to preserve the ability for wikis to flexibly experiment with improvements like this.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Naturally, any change of this scale is likely to be disruptive for some users' workflows, and will have a few issues with relative 'edge cases' not being addressed.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We look forward to uncovering and addressing these over the weeks and months following the release of the Beta Feature.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Nice-to-haves ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Alongside the above, there are other, new features we'd love to provide if possible, but which may prove too costly to develop or too slow for users, and so are not planned from the outset.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">One feature we'd be interested in providing is saving '''automatic local drafts''' as users edit, so that if their browser or computer crashes or loses power mid-edit, they can resume rather than having to restart.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This would rescue users from quite frustrating, if uncommon, occurrences, particularly people with old computers or poor network connections.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">A big feature that often gets discussed is '''syntax highlighting''' of wikitext to help guide people's eyes to the right content for which they're looking.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This feature was built for the existing wikitext editor back in 2011, but we had to abandon it because the very high complexity of wikitext means that this was exceedingly slow for most users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Five years later, most users' machines are a fair bit faster than they were back then, which helps a little.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also, it might be worth exploring how performant we could make a feature doing this if we were to make some simplifications of the kinds of wikitext which we try to highlight.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(In the meantime, syntax highlighting is provided by [[User:Remember the dot/Syntax highlighter|Remember the dot's syntax highlighter]] and {{ll|Extension:WikEd|nsp=0}}, which are available on some wikis as gadgets).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Syntax highlighting has also been introduced [[gerrit:343878]] to the 2017 wikitext editor using {{ll|Extension:CodeMirror}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">More complex and error-prone than syntax highlighting, but possibly even more useful, would be a feature for '''folding wikitext structures''' into blocks so that users can easily ignore things they don't want to edit without having to read through them. For example, long infobox invocations or references could be folded up into blocks until you want to edit them.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The technologies we built for the visual editor are particularly well-suited for providing this use case in a reliable fashion, so this may be something we could look at doing.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Again, as with syntax highlighting we might need to compromise on the complexity of wikitext that we recognize in return for providing something performant enough to be useful to most of our users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Another nice feature we could provide would be to prompt users when they save with two or three buttons to add '''one-click edit summaries''' based on their recent activities.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This kind of feature is quite popular on some wikis as a gadget and it would be nice to provide it to all users on all wikis, without those wikis needing to have a gadget guru on hand to help set it up and maintain it.</span>
<span id="Resources"></span>
==참고자료==
* <span lang="en" dir="ltr" class="mw-content-ltr">An early rough '''design mockup''' from April 2016 is [http://nirzar.github.io/prototypes/ve/switch/wikitext/wikitext.html available]. To see the wikitext editor, click the brackets icon in the top-right corner.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">An old rough '''demo''' video is also available as of mid-May 2016 at https://www.youtube.com/watch?v=jgd2ZHOZGBE.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[https://www.youtube.com/watch?v=W_sf-kHAQkg&t=562 Video demo of the 2017 wikitext editor] from the December 2016 [[Special:MyLanguage/CREDIT showcase|CREDIT showcase]].</span>
* {{ll|Extension:VisualEditor#Integration of "2017 wikitext editor"|2=<span lang="en" dir="ltr" class="mw-content-ltr">Enabling the "2017 wikitext editor" for extension "VisualEditor"</span>}}
<span id="See_also"></span>
== 같이 보기 ==
* [[mailarchive:wikimedia-l/2016-June/084517.html|2016년 6월 편집 소프트웨어 관한 상태 업데이트]]
* [[Special:MyLanguage/2017 wikitext editor/Feedback|피드백 페이지]]
* {{ll|Extension:CodeMirror}} – 위키텍스트 문법 강조를 위한 베타 기능
* {{ll|VisualEditor/Diffs|2=문서 변경사항을 표시하기 위한 새로운 시각적 방법}}
* {{ll|2017 wikitext editor performance improvements}}
[[Category:Edit{{#translation:}}]]
[[Category:Edit extensions{{#translation:}}]]
j5gvyj7rlqgtdc9ck39et8ja2ubot9e
Translations:2017 wikitext editor/50/ko
1198
688766
8390093
2483406
2026-05-24T14:14:34Z
YeBoy371
2746081
8390093
wikitext
text/x-wiki
[[$1|피드백 페이지]]
5bzodogda4m43gz3r943y3ubwqvmu08
Phabricator/Code/tr
0
708536
8390487
8034942
2026-05-25T10:02:32Z
FuzzyBot
451990
Updating to match new version of source page
8390487
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<span id="Phabricator_at_Wikimedia"></span>
== Wikimedia'da Phabricator ==
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> Durdurulan görevler de burada bulunabilir.
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== Yerel değişiklikler ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
9krbpayvdveh8owreikc133zgsoz1lk
WikiLove/nl
0
775728
8390515
8254208
2026-05-25T10:48:56Z
FuzzyBot
451990
Updating to match new version of source page
8390515
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Een extensie om het uiten van waardering tussen gebruikers aan te moedigen.
| start = 2011-05-02
| end = 2011-07
| group = Functies
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Een impressie van het abstracte concept van WikiLove (WikiWaardering)|thumb|Een impressie van het abstracte concept van WikiLove (WikiWaardering)]]
<noinclude>
:''Door waardering maken we excellentie in anderen ons eigen eigendom.'' — Voltaire
'''WikiLove''' is een functie om het gemakkelijk en leuk te maken om publiekelijk waardering voor andere gebruikers te uiten.
Het kan op elke gebruikerspagina worden aangeroepen door te klikken op het "Hartje".
Het is ooit ontwikkeld door Ryan Kaldari als een gebruikersscript, het is nu beschikbaar als een [[Special:MyLanguage/Extension:WikiLove|MediaWiki extensie]].
<span id="Rationale"></span>
== Motivering ==
Een gebruiker voelt graag waardering. In de enquête van 2011 bleek dat de Wikipedia bewerkers ([[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|bovenste gegevens]]), tussen 17 opties, " being looked down on" door meer ervaren bewerkers als waarschijnlijkste reden zagen dat ze minder gaan werken met Wikipedia (69% eens), het "having others compliment you on your edits/articles" is dan de meest genoemde reden dat men aangaf juist meer te gaan bewerken (78% eens).
Bron: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positieve feedback bij het schrijven / bewerken werkt"]] op de Wikimedia blog.
De reacties op het werken aan de Wikipedia lijken wat ruwer te worden, de kans dat nieuwkomers kritiek of correcties krijgen lijkt te stijgen.
wij proberen de ervaringen van nieuwkomers te verzamelen en te bestuderen, een voorbeeld hiervan is het recente Newbie onderricht onderzoek gedaan tijdens ons 'Summer of Research'.
[[File:Message-features-area.png|thumb|500px|center|Relatieve verhoudingen van de verschillende berichttypes van de berichten die naar nieuwe gebruikers van de Engelse Wikipedia zijn gestuurd, zoals weergegeven in de [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|''newbie teaching strategy trends research sprint'']]]]
<span id="Key_dates"></span>
== Tijdsschema ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">WikiLove geactiveerd op [$proto prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - WikiLove standaard ingeschakeld bij aangemelde gebruikers op prototype.wikimedia.org; blog oproep voor testers
* {{ymd|2011|6|30}} - WikiLove in gebruik op de Engelse Wikipedia. [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove acties].
* {{ymd|2011|10|28}} - WikiLove [[bugzilla:31831#c3|invoering]] op de [[:mk:|Macedonian Wikipedia]] (met de naam "ВикиЉубов").
<span id="How_to_disable"></span>
== Hoe het uit te schakelen ==
Je kunt het uitschakelen door in je [[:en:Special:Preferences#mw-prefsection-editing|voorkeuren, tab bewerken]] het vinkje weg te halen bij het veld "Waardering geven aan andere gebruikers via Wikiwaardering inschakelen" bij de Gebruikerspagina's. Klik daarna op Opslaan.
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<span id="How_to_customise"></span>
== Hoe pas ik het aan ==
{{notice|1=Met aanpassen bedoelen we hier het aanpassen voor hoe jij het zelf gebruikt, niet hoe het voor alle gebruikers op je wiki werkt. Voor het aanpassen voor je wiki: {{ll|Extension:WikiLove}}.}}
De interface kan door elke gebruiker naar eigen inzichten worden ingesteld.
Als je WikiLove wilt gebruiken voor welkomstberichten, verjaardagsberichten of voor het tonen van aandacht, je kunt de standaardinstellingen eenvoudig aanpassen.
Deze configuratie is een [[w:JSON|JSON]] object, dus om een wijziging te doen of iets toe te voegen, moet je de 'values' wijzigen die bij die bepaalde 'key' horen, of dus een combinatie van 'key' en 'waarde' toevoegen.
Om eerst de huidige instellingen te bekijken, ga je op je wiki naar de pagina MediaWiki:WikiLove.js
Hier kunnen taalvarianten van zijn.
Bekijk de [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|standaardinstellingen]].
Je ziet dan de basisstructuur die de instellingen van WikiLove zijn.
Als je hebt besloten wat je wilt aanpassen, ga op je wiki naar het bestand skin.js
(Op bijvoorbeeld de Engelse Wikipedia is het [[w:Special:MyPage/common.js|deze pagina]].)
Om een bestaand item te wijzigen, kun je de waarde overschrijven met een toekenning.
<span id="Change_an_existing_type"></span>
=== Een type wijzigen ===
Als je de weer te geven naam wilt wijzigen van 'Kittens' in 'Cats' wilt wijzigen, voeg dan het volgende toe aan je lokale bestand <code>.js</code> ([[Special:MyPage/skin.js|User:Example/skin.js]]):
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
Als je de afbeelding bij "Stroopwafels" zou willen veranderen, dan zou je toevoegen:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<span id="Add_a_new_type"></span>
=== Een type toevoegen ===
Je kunt ook een nieuw itemtype (of subtype) toevoegen aan de JSON structuur. Om bijvoorbeeld "Hedgehogs" toe te voegen:
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // typenaam (komt in het menu met de types)
fields: [ 'header', 'message' ], // invoervelden
header: 'A hedgehog for you!', // optionele kopregel van bericht op overlegpagina
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is de bestandsnaam met de afbeelding, $1 is het bericht
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximale wijdte van de afbeeldingen in de galerie
height: 150, // maximale hoogte van de afbeeldingen in de galerie
number: 3 // optioneel het aantal willekeurig te tonen afbeeldingen
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // komt in het menu met de types
};
} );
</syntaxhighlight>
Zorg ervoor dat je alle parameters invult als je een nieuw item toevoegd! Er is [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|documentatie]] waarin de parameters worden beschreven.
<span id="Create_a_new_type_icon"></span>
=== Een type icoon toevoegen ===
Het Photoshop bronbestanden voor de WikiLove type iconen (de zwarte en witte iconen in het menu aan de linkerkant) kunnen worden [[$1|gedownload]].
Je kunt er ook zelf een aanmaken, maak het dan circa 50 × 50 pixels, verlaag de kleurverzadiging, kopieer en plak de 'styles' die hier in de voorbeelden gebruikt worden in het bronbestand.
<span id="Change_the_heart_icon"></span>
=== Het icoon met het hartje wijzigen ===
Je kunt het icoontje (het hartje) aanpassen dat in de skin Vector gebruikt wordt door je bestand vector.css aan te passen ({{Blue|User:Example/vector.css}}).
Een voorbeeld, om van een rood hartje naar een blauw hartje te gaan, voeg je toe:
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<span id="Requests_for_additional_deployment"></span>
== Het willen gaan gebruiken op je wiki ==
Een wiki kan verzoeken dat WikiLove op die wiki mogelijk wordt gemaakt als aan de volgende voorwaarden is voldaan:
* er overeenstemming is op de gemeenschap van die wiki dat WikiLove wordt gebruikt
* de extensie WikiLove op TranslateWiki vertaald is in de taal van die wiki (je kunt [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 meehelpen met de vertaling])
* er een configuratie-bestand is op die wiki ([[MediaWiki:WikiLove.js]])
Als daaraan is voldaan, open dan een verzoek op [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator for deployment].
<span id="WikiLove_activity_in_real-time"></span>
== WikiLove activiteiten ==
WikiLove verzamelt in de eigen tabellen gegevens, maar die kunnen nog niet met een gebruikersinterface worden getoond of bewerkt.
Om de huidige stand te zien, kunt je het [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] op de Engelse Wikipedia gebruiken.
Wij horen graag verhalen van WikiLove gebruikers hoe ze het ervaren en hoe de reacties zijn: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
[[Special:MyLanguage/WikiLove/Analysis|Een eerste WikiLove analyse.]]
<span id="Additional_documents"></span>
== Meer informatie ==
* Documentatie over de extensie: {{ll|Extension:WikiLove}}
* [[WikiLove 1.0/Design|Ontwerp]]
* Gebruikerstesten: [[etherpad:UserTestToc|video's]]{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=Statuswijzigingen}}
* {{ll|WikiLove/Media coverage|2=Media aandacht 24 juni 2011 blog}}
* {{ll|WikiLove/Idea Log|2=Aantekeningen met ideeën}}
* {{ll|WikiLove/Data|2=Gegevens}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
a3h05g8uzx6jwu63pomc8xo5wmybsgs
Phabricator/Code/hi
0
786725
8390478
8034935
2026-05-25T10:02:28Z
FuzzyBot
451990
Updating to match new version of source page
8390478
wikitext
text/x-wiki
<languages />
इस दस्तावेज़ में [[phab:|विकिमीडिया के Phabricator]] उदाहरण के विकास की प्रक्रिया दर्शाई गई है। [[w:Phabricator|Phabricator]] को [[:hi:मीडियाविकि|मीडियाविकि]] की तरह [[:hi:पीएचपी|PHP]] में लिखा गया है, जिससे विकास में शुरुआत करने में मदद मिल सकती है।
इस दस्तावेज़ में हम पहले देखेंगे कि विकिमीडिया पर Phabricator का इस्तेमाल कैसे किया जाता है, और विकास के दौरान किन चीज़ों की अपेक्षा करनी चाहिए।
बाद में, कुछ टिप्पणियाँ दी गई हैं कि विकास में शुरुआत कैसे करना है।
<span id="Phabricator_at_Wikimedia"></span>
== विकिमीडिया पर Phabricator ==
<span class="mw-translate-fuzzy">विकिमीडिया, अपस्ट्रीम से न्यूनतम बदलावों वाला एक Phabricator उदाहरण चलाता है। इसका कारण है अपस्ट्रीम विकासकों द्वारा कि जाने वाले विकास की तेज़ी - लोकल पैचेस अनुरक्षित करना मुश्किल होता है।</span>
<span class="mw-translate-fuzzy">इसके लिए छूट हैं एक्सटेंशन्स, जो एक [[$1|अलग रिपॉज़िटरी]] में रखे जाते हैं, जिस वजह से इनपर नियमित मर्ज करने की ज़रूरत नहीं होती।</span>
<span class="mw-translate-fuzzy">इसलिए सभी दूसरे बदलावों को अपस्ट्रीम से गुज़रना होगा। यह एक बाधा की तरह नज़र आता है, मगर असल में अपस्ट्रीम के अनुरक्षक सुझावों का जवाब काफ़ी जल्दी दे देते हैं।</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== विकिमीडिया Phabricator पर बग की कार्यप्रवाह ==
कोई टास्क पूरा करने का फैसला लेने से पहले बग का जीवनचक्र जान लेना अच्छा है। दो परियोजनाएँ हैं:
WMF-विशिष्ट बग्स के लिए [[phab:project/profile/5/|#phabricator]] और
<span class="mw-translate-fuzzy">साधारण Phabricator बग्स के लिए [[phab:project/profile/6/|#phabricator-upstream]]। सॉफ़्टवेयर के बग्स और सुधार के अनुरोध आम तौर पर इस श्रेणी में आएँगे।</span>
Phabricator-अपस्ट्रीम कार्यपटल पर वह प्रक्रिया दर्शाई गई जिसके ज़रिए टास्क्स अपस्ट्रीम बनाए जाने से पहले गुज़रते हैं:
; <span class="mw-translate-fuzzy">* बैकलॉग: यह वह जगह है जहाँ नए टास्क्स को डिफ़ॉल्ट से रखा जाता है।</span> यहाँ लंबित टास्क्स भी पाए जा सकते हैं।
: <span class="mw-translate-fuzzy">* तैयार: इस कॉलम में टास्क्स का यह इंतज़ार है कि कोई [https://secure.phabricator.com/ अपस्ट्रीम बग ट्रैकर] में उनकी प्रतिलिपि बनाएगा।</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span class="mw-translate-fuzzy">* अपस्ट्रीम किया गया: यह कॉलम वह जगह है जहाँ टास्क्स को अपस्ट्रीम रिपोर्ट की जाने पर लाया जाता है।</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span class="mw-translate-fuzzy">जब किसी टास्क को अपस्ट्रीम बना दिया गया हो, अपस्ट्रीम विकासक अपना विवेचन भेजते हैं, और इस बात पर सुझाव कि सुविधा को कैसे लागू किया जाना चाहिए।</span>
''अब विकासक कार्यान्वयन पर शुरुआत कर सकता है।''
कुछ मामलों में अपस्ट्रीम विकासक को यह लग सकता है कि सुविधा उनकी योजनाओं से मेल नहीं खाती।
अगर ऐसा होता है, विकिमीडिया Phabricator में टास्क को #phabricator-upstream परियोजना से #phabricator परियोजना में ले जाया जाता है, और यह वापस चर्चा के स्तर पर आ जाता है: क्या यह सुविधा लोकल पैच रखने जितनी ज़रूरी है?
<span class="mw-translate-fuzzy">जब इसका फैसला ले लिया जाए, पैच 'तैयार' पर चला जाएगा और दोबारा कार्यान्वयन की शुरुआत की जा सकती है।</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== लोकल बदलाव ==
जैसा पिछले अनुभाग में बताया गया है, हम लोकल पैचेस को न्यूनतम मात्रा में रखने की कोशिश करते हैं।
पैचेस अनुरक्षित करने और उन्हें अपस्ट्रीम के बदलावों से मर्ज करने के लिए ज़्यादा संसाधन उपलब्ध नहीं हैं।
इसलिए किसी भी लोकल पैच के बारे में सबसे पहले #phabricator परियोजना पर चर्चा की जानी चाहिए।
किसी Phabricator एक्सटेंशन को अनुरक्षित करना काफ़ी आसान हो जाता है अगर Phabricator के मूल से नए / अस्थिर API-ओं का इस्तेमाल न किया जाए।
हालाँकि एक्सटेंशनों को मर्ज करने की ज़रूरत नहीं जिससे उनमें कोड के टकराव नहीं आते, उन्हें हर बार अपस्ट्रीम बदलावों से पुल करने पर परीक्षण की ज़रूरत होती है।
<span class="mw-translate-fuzzy">Phabricator पर कोई स्थगित API में है जिसपर निर्भर रहना सुरक्षित समझा जाए।</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
वर्तमान में लोकल रूप से अनुरक्षित एक्सटेंशन्स हैं:
<div class="mw-translate-fuzzy">
* [[https://gitlab.wikimedia.org/repos/phabricator/extensions|एक ही रिपॉज़िटरी पर कई अनुकूलन]], जैसे मीडियाविकि OAuth एक्सटेंशन (अपस्ट्रीम नहीं किया जाता है; https://secure.phabricator.com/T5096 पर Differential revisions and commits देखें), सुरक्षा-संबंधित कोड, और Phabricator सदस्य पृष्ठों पर MediaWiki Userpage फ़ील्ड, आदि।
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<span id="Site_configuration"></span>
== साइट का कॉन्फ़िगरेशन ==
<div class="mw-translate-fuzzy">
ज़्यादातर कॉन्फ़िगरेशन को वेब इंटरफ़ेस के ज़रिए सेट किया जाता है। डिफ़ॉल्ट्स (https://phabricator.wikimedia.org और उदाहरणस्वरूप https://phabricator.wmcloud.org/ के बीच साँझित) को [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|पपेट Maniphest]] की मदद से सेट किया जाता है।
</div>
<span id="Setting_up"></span>
== सेटअप करना ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div class="mw-translate-fuzzy">
सेटअप करने का सबसे आसान तरीका है 'phabricator' रोल की मदद से [[MediaWiki-Vagrant|MediaWiki-Vagrant]] का इस्तेमाल करना। [[MediaWiki-Vagrant]] पर चरणों का पालन करें, और इसकी मदद से phabricator रोल सक्षम करें:
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* इस URL पर Phabricator उदाहरण पर जाएँ: http://phabricator.local.wmftest.net:8080/
<div class="mw-translate-fuzzy">
* Phabricator स्थापना VM के `/srv/phabricator/` (?) में मौजूद है। पैच सम्पादित और प्रस्तुत करने के लिए:
</div>
<span id="Using_a_Cloud_VPS_VM"></span>
=== क्लाउड VPS VM का इस्तेमाल करना ===
<div class="mw-translate-fuzzy">
अगर आपको पता है कि क्लाउड VPS में VM का इस्तेमाल कैसे करना है, और आपके पास ऐसा करने का अधिकार है, आप `phabricator::labs` रोल के साथ एक उदाहरण बना सकते हैं। इससे आपको https://phabricator.wmcloud.org/ की तरह कॉन्फ़िगरेशन के साथ एक सेटअप मिल जाएगा।
</div>
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Bugzilla, RT, Mingle, Trello से Phabricator पर कोड माइग्रेट करना ==
[[phab:diffusion/PHTO/browse/|विकिमीडिया द्वारा अपनी Bugzilla और RT डेटा को माइग्रेट करने के लिए उपयुक्त स्क्रिप्ट्स उपलब्ध हैं]]।
ध्यान रखें कि माइग्रेशन के कोड में [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ बग्स हो सकती हैं], और इसे सिर्फ विकिमीडिया के उपकरणों के कॉन्फ़िगरेशन्स के लिए लिखा गया था।
डेटा को [[phab:P129]] पर उपलब्ध एक स्क्रिप्ट की मदद से Mingle से Phabricator पर माइग्रेट किया गया था।
Trello से Phabricator पर डेटा को माइग्रेट करने के लिए स्क्रिप्ट्स उपलब्ध हैं।
अधिक जानकारी के लिए [[phab:T821]] देखें।
[[Category:Phabricator{{#translation:}}]]
r3yx56xk46lq9bw8jaqotr1szv6txy6
Phabricator/Code/pl
0
799780
8390483
8034937
2026-05-25T10:02:30Z
FuzzyBot
451990
Updating to match new version of source page
8390483
wikitext
text/x-wiki
<languages />
<span class="mw-translate-fuzzy">W tym dokumencie opisano proces rozbudowy instancji [https://phabricator.wikimedia.org Phabricatora Wikimedii]. [[w:Phabricator|Phabricator]] jest napisany w [[w:PHP|PHP]], podobnie jak [[w:MediaWiki|MediaWiki]], co powinno pomóc w rozpoczęciu rozwoju.</span>
W tym dokumencie najpierw przyjrzymy się, jak Wikimedia korzysta z Phabricatora i czego można się spodziewać podczas programowania.
Następnie istnieje kilka uwag na temat tego, jak rozpocząć rzeczywisty rozwój.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator w Wikimedii ==
<span class="mw-translate-fuzzy">Wikimedia używa instancji Phabricatora z minimalnymi zmianami z
upstream. Powodem tego jest wysokie tempo rozwoju deweloperów - utrzymywanie lokalnych łat jest uciążliwe.</span>
<span class="mw-translate-fuzzy">Wyjątkami są ''rozszerzenia'', które znajdują się w oddzielnym katalogu i dlatego nie wymagają regularnych scaleń.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== Zmiany lokalne ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<span id="Setting_up"></span>
== Konfiguracja ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
qd23d6q3ofiz8iut36t6kqfbpl27wm8
Translations:Extension:PageTriage/14/es
1198
986246
8390111
3404306
2026-05-24T18:22:29Z
MSG0007
18297834
8390111
wikitext
text/x-wiki
Para ver realmente la extensión funcionando:
8m7z71mgeu324xglsw6ai164lpddi9y
Translations:Extension:PageTriage/15/es
1198
986251
8390113
3404316
2026-05-24T18:22:34Z
MSG0007
18297834
Marked translation unit as no longer outdated with no changes
3404316
wikitext
text/x-wiki
* Agregue una nueva página de código auxiliar como usuario anónimo.
phqs26q1n7qutdp9llalxy9g6twt3n4
Translations:Extension:PageTriage/17/es
1198
986257
8390117
3404327
2026-05-24T18:22:45Z
MSG0007
18297834
8390117
wikitext
text/x-wiki
La nueva página debe aparecer, marcada como "$cat1", "$cat2", etc.
p3q4emutqh5vevclec4m9isy0hzg3nd
Translations:Extension:PageTriage/18/es
1198
986258
8390118
3404329
2026-05-24T18:22:46Z
MSG0007
18297834
8390118
wikitext
text/x-wiki
Para ver la barra de herramientas de curado de páginas:
ljpyk52h6rf86ugpt1afq48t64cqljm
Translations:Extension:PageTriage/21/es
1198
986267
8390123
3404340
2026-05-24T18:23:25Z
MSG0007
18297834
8390123
wikitext
text/x-wiki
* Ahora debería ver un botón "$triar" junto a la nueva página.
i6fk0rky26k5xrd3xhqia70cazc4lay
Translations:Extension:PageTriage/22/es
1198
986300
8390125
3404400
2026-05-24T18:23:31Z
MSG0007
18297834
8390125
wikitext
text/x-wiki
* Haga clic en esto y verá la barra de herramientas de curado de páginas en la nueva página.
jup8o56qmaix0tl8oz6nccgkmqdzond
Extension:DiscussionTools
102
1024821
8390457
8387834
2026-05-25T09:20:52Z
~2026-31273-42
18405966
8390457
wikitext
text/x-wiki
<languages />
{{Extension
|status = stable
|name = DiscussionTools
|image = DiscussionTools reply widget example 2020-04-02.png
|type = interface
|description = <translate><!--T:1--> Tools to enhance discussion pages</translate>
|author = <translate><!--T:2--> Wikimedia [[<tvar name=1>Special:MyLanguage/Editing team</tvar>|Editing team]]</translate>
|version = <translate><!--T:3--> Continuous updates</translate>
|help = {{ll|Help:DiscussionTools}}
|latest release date =
|compatibility policy = rel
|mediawiki =
|phabricator = DiscussionTools
|download = {{WikimediaDownload|phab=EDTO}}
|translate = ext-discussiontools
|bugzilla = discussiontools
|table1 = discussiontools_items
|table2 = discussiontools_item_ids
|table3 = discussiontools_item_pages
|table4 = discussiontools_item_revisions
|table5 = discussiontools_subscription
|newhook1 = DiscussionToolsAddOverflowMenuItems
|newhook2 = DiscussionToolsTermsOfUseMessages
}}
<translate><!--T:4--> The <tvar name=1>'''DiscussionTools'''</tvar> extension is a set of tools to enhance discussion pages.</translate>
<translate><!--T:5--> {{As of|2024}}, it is being built by the [[<tvar name=1>Special:MyLanguage/Editing team</tvar>|Editing team]] as part of the {{<tvar name=2>ll|Talk pages project</tvar>|talk pages project}}.</translate>
<translate>
<!--T:6-->
User documentation is at <tvar name=1>{{ll|Help:DiscussionTools}}</tvar>.
<!--T:30-->
Some features can be disabled on individual pages and sections as described at <tvar name=1>{{ll|Help:DiscussionTools/Magic words and markup}}</tvar>.
== Features == <!--T:10-->
</translate>
{{Main|Talk pages project/Feature summary|Extension:DiscussionTools/Comparison}}
<translate>
== Dependencies == <!--T:7-->
</translate>
* {{ll|Extension:VisualEditor}}
* {{ll|Extension:Linter}}
<translate>
=== Optional dependencies === <!--T:84-->
</translate>
* {{ll|Extension:Echo}} - <translate><!--T:23--> Enables {{<tvar name=2>ll|Talk pages project/Notifications</tvar>|topic subscriptions}} and user pinging.</translate>
* {{ll|Extension:Thanks}} - <translate><!--T:82--> Enables comment thanking.</translate>
* {{ll|Extension:MobileFrontend}} - <translate><!--T:83--> Enables mobile support.</translate>
<translate>
<traducir>
== Configuration == <!--T:14-->
</translate>
{{-}}
{| class="wikitable"
! <translate><!--T:15--> Setting name</translate>
{{phpi|$wgDiscussionTools}} +
! <translate><!--T:16--> Default value</translate>
! <translate><!--T:17--> Description</translate>
|-
|{{phpi|Beta}}
|{{phpi|false}}
| <translate><!--T:19--> Make DiscussionTools a {{<tvar name=1>ll|Beta Features</tvar>|beta feature}}.</translate>
|-
|{{phpi|_visualenhancements}}
|{{phpi|'default'}}
| <translate><!--T:66--> Override availability of DiscussionTools visual enhancements.</translate><br><translate><!--T:85--> Possible values:</translate><br><code>'default'</code>, <code>'available'</code>, <code>'unavailable'</code>
|-
|{{phpi|_visualenhancements_reply_icon_languages}}
|<syntaxhighlight lang="php">
[
'ar' => true,
'zh' => true,
'yue' => true,
'ja' => true,
'nod' => true,
]
</syntaxhighlight>
| <translate><!--T:69--> A dictionary of language codes which will receive an icon in their enhanced reply-button treatment, due to translation being very short.</translate> ({{phab|T323537}}) <translate><!--T:70--> Language fallbacks will be checked unless a language is explicitly set to <tvar name=2>{{phpi|false}}</tvar>.</translate> ({{phab|T352289}}) <translate><!--T:71--> Normalized language codes are lower case.</translate>
|-
|{{phpi|AutoTopicSubEditor}}
|{{phpi|'any'}}
| <translate><!--T:78--> Editor which triggers automatic topic subscriptions.</translate> <translate><!--T:79--> Either <tvar name=1><code>'discussiontoolsapi'</code></tvar> for edits made using DiscussionTools’ API (e.g. reply and new topic tools), or <tvar name=2><code>'any'</code></tvar> for any editor.</translate>
|-
|{{phpi|TalkPageParserCacheExpiry}}
|{{phpi|0}}
| <translate><!--T:80--> Override <tvar name=1>{{phpi|$wgParserCacheExpireTime}}</tvar> for discussion pages, regardless of DiscussionTools enablement.</translate>
|-
|{{phpi|ReplyIndentation}}
|{{phpi|'invisible'}}
| <translate><!--T:33--> Reply indentation syntax to use: <tvar name=v1>{{phpi|'invisible'}}</tvar> (use <tvar name=h1><code><nowiki><dl><dd></nowiki></code></tvar> tags to output <tvar name=w1><code>:</code></tvar> in wikitext) or <tvar name=v2>{{phpi|'bullet'}}</tvar> (use <tvar name=h2><code><nowiki><ul><li></nowiki></code></tvar> tags to output <tvar name=w2><code>*</code></tvar> in wikitext).</translate>
|-
|{{phpi|ShowFeedbackLinks}}
|{{phpi|false}}
|{{MW version-inline|MW 1.40+}} <translate><!--T:34--> Show "<tvar name=1><i>{{int|discussiontools-replywidget-feedback}}</i></tvar>" links in the footer of reply tool and new topic tool.</translate>
|-
|{{phpi|TimestampFormatSwitchTime}}
|{{phpi|'2022-07-12'}}
| <translate><!--T:81--> Date on which the internal timestamp format has changed (<tvar name=1>{{phab|T304595}}</tvar>), in [[w:ISO 8601|ISO 8601]] format.</translate>
|-
|{{phpi|ConflictingGadgetName}}
|{{phpi|'convenientDiscussions'}}
| <translate><!--T:35--> Internal name of the Convenient Discussions gadget, which conflicts with the reply tool.</translate> <translate><!--T:36--> Reply tool will be unavailable when the user has this gadget enabled.</translate>
|}
<translate>
== API == <!--T:37-->
=== Editing === <!--T:38-->
</translate>
{| class="wikitable"
|+
! <translate><!--T:39--> Action</translate>
! <translate><!--T:41--> Description</translate>
! <translate><!--T:42--> Internal?</translate>
|-
| discussiontools'''compare'''
| {{int|apihelp-discussiontoolscompare-summary}}
| {{Tick}}
|-
| [[Special:ApiHelp/discussiontoolsedit|discussiontools'''edit''']]
| {{int|apihelp-discussiontoolsedit-summary}}
| {{Cross}}
|-
| [[Special:ApiHelp/discussiontoolsfindcomment|discussiontools'''findcomment''']]
| {{int|apihelp-discussiontoolsfindcomment-summary}}
| {{Cross}}
|-
| [[phab:T416038|discussiontools'''pageinfo''']]
| {{int|apihelp-discussiontoolspageinfo-summary}}
| {{Cross}}
|-
| discussiontools'''preview'''
| {{int|apihelp-discussiontoolspreview-summary}}
| {{Tick}}
|}
<translate>
=== Subscriptions === <!--T:53-->
</translate>
{| class="wikitable"
! <translate><!--T:54--> Action</translate>
! <translate><!--T:56--> Description</translate>
! <translate><!--T:57--> Internal?</translate>
|-
| discussiontools'''getsubscriptions'''
| {{int|apihelp-discussiontoolsgetsubscriptions-summary}}
| {{Cross}}
|-
| discussiontools'''subscribe'''
| {{int|apihelp-discussiontoolssubscribe-summary}}
| {{Cross}}
|}
<translate>
== Special pages == <!--T:62-->
</translate>
* [[Special:DiscussionToolsDebug]]
* [[Special:FindComment]]
* [[Special:GoToComment]]
* [[Special:TopicSubscriptions]]
<translate>
== Integration with other extensions == <!--T:28-->
<!--T:29-->
<tvar name=1>DiscussionTools</tvar> can integrate with <tvar name=2>{{Ll|Extension:PlaceNewSection|PlaceNewSection}}</tvar> to put the location of where added new topics will begin to be placed.
<!--T:65-->
It can also integrate with <tvar name=1>{{Ll|Extension:AutoModerator|AutoModerator}}</tvar> to enable community-configured reversion of Machine Language-scored bad edits.
== See also == <!--T:21-->
</translate>
* {{ll|Extension:DiscussionTools/How it works}} – <translate><!--T:22--> technical information</translate>
* [[:c:User:Jack who built the house/Convenient Discussions|Convenient Discussions]] – another tool for discussions, incompatible with DiscussionTools
{{OnWikimedia}}
{{Used by}}
[[Category:Discussion and forum extensions{{#translation:}}]]
[[Category:Extensions with VisualEditor support{{#translation:}}]]
[[Category:Talk pages project{{#translation:}}]]
e8rgj9gn248duxmsbwbv8vplcwg1gk4
8390496
8390457
2026-05-25T10:19:31Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31273-42|~2026-31273-42]] ([[User talk:~2026-31273-42|talk]]) to last version by Clump
8362899
wikitext
text/x-wiki
<languages />
{{Extension
|status = stable
|name = DiscussionTools
|image = DiscussionTools reply widget example 2020-04-02.png
|type = interface
|description = <translate><!--T:1--> Tools to enhance discussion pages</translate>
|author = <translate><!--T:2--> Wikimedia [[<tvar name=1>Special:MyLanguage/Editing team</tvar>|Editing team]]</translate>
|version = <translate><!--T:3--> Continuous updates</translate>
|help = {{ll|Help:DiscussionTools}}
|latest release date =
|compatibility policy = rel
|mediawiki =
|phabricator = DiscussionTools
|download = {{WikimediaDownload|phab=EDTO}}
|translate = ext-discussiontools
|bugzilla = discussiontools
|table1 = discussiontools_items
|table2 = discussiontools_item_ids
|table3 = discussiontools_item_pages
|table4 = discussiontools_item_revisions
|table5 = discussiontools_subscription
|newhook1 = DiscussionToolsAddOverflowMenuItems
|newhook2 = DiscussionToolsTermsOfUseMessages
}}
<translate><!--T:4--> The <tvar name=1>'''DiscussionTools'''</tvar> extension is a set of tools to enhance discussion pages.</translate>
<translate><!--T:5--> {{As of|2024}}, it is being built by the [[<tvar name=1>Special:MyLanguage/Editing team</tvar>|Editing team]] as part of the {{<tvar name=2>ll|Talk pages project</tvar>|talk pages project}}.</translate>
<translate>
<!--T:6-->
User documentation is at <tvar name=1>{{ll|Help:DiscussionTools}}</tvar>.
<!--T:30-->
Some features can be disabled on individual pages and sections as described at <tvar name=1>{{ll|Help:DiscussionTools/Magic words and markup}}</tvar>.
== Features == <!--T:10-->
</translate>
{{Main|Talk pages project/Feature summary|Extension:DiscussionTools/Comparison}}
<translate>
== Dependencies == <!--T:7-->
</translate>
* {{ll|Extension:VisualEditor}}
* {{ll|Extension:Linter}}
<translate>
=== Optional dependencies === <!--T:84-->
</translate>
* {{ll|Extension:Echo}} - <translate><!--T:23--> Enables {{<tvar name=2>ll|Talk pages project/Notifications</tvar>|topic subscriptions}} and user pinging.</translate>
* {{ll|Extension:Thanks}} - <translate><!--T:82--> Enables comment thanking.</translate>
* {{ll|Extension:MobileFrontend}} - <translate><!--T:83--> Enables mobile support.</translate>
<translate>
== Installation == <!--T:8-->
</translate>
{{Bundled|1.40}}
{{ExtensionInstall
|custom-steps0=* [[#Dependencies|<translate><!--T:63--> Install the dependencies</translate>]].
|registration=required
|custom-steps=* <translate><!--T:9--> Also in <tvar name=1>LocalSettings.php</tvar>, ensure that you have a {{<tvar name=2>ll|Manual:Timezone</tvar>|timezone}} set and <tvar name=3>{{ll|Manual:$wgFragmentMode|$wgFragmentMode}}</tvar> set to <tvar name=4><code>html5</code></tvar>.</translate>
* [[#Configuration|<translate><!--T:64--> Configure as required.</translate>]]
|db-update=true
}}
<translate>
== Configuration == <!--T:14-->
</translate>
{{-}}
{| class="wikitable"
! <translate><!--T:15--> Setting name</translate>
{{phpi|$wgDiscussionTools}} +
! <translate><!--T:16--> Default value</translate>
! <translate><!--T:17--> Description</translate>
|-
|{{phpi|Beta}}
|{{phpi|false}}
| <translate><!--T:19--> Make DiscussionTools a {{<tvar name=1>ll|Beta Features</tvar>|beta feature}}.</translate>
|-
|{{phpi|_visualenhancements}}
|{{phpi|'default'}}
| <translate><!--T:66--> Override availability of DiscussionTools visual enhancements.</translate><br><translate><!--T:85--> Possible values:</translate><br><code>'default'</code>, <code>'available'</code>, <code>'unavailable'</code>
|-
|{{phpi|_visualenhancements_reply_icon_languages}}
|<syntaxhighlight lang="php">
[
'ar' => true,
'zh' => true,
'yue' => true,
'ja' => true,
'nod' => true,
]
</syntaxhighlight>
| <translate><!--T:69--> A dictionary of language codes which will receive an icon in their enhanced reply-button treatment, due to translation being very short.</translate> ({{phab|T323537}}) <translate><!--T:70--> Language fallbacks will be checked unless a language is explicitly set to <tvar name=2>{{phpi|false}}</tvar>.</translate> ({{phab|T352289}}) <translate><!--T:71--> Normalized language codes are lower case.</translate>
|-
|{{phpi|AutoTopicSubEditor}}
|{{phpi|'any'}}
| <translate><!--T:78--> Editor which triggers automatic topic subscriptions.</translate> <translate><!--T:79--> Either <tvar name=1><code>'discussiontoolsapi'</code></tvar> for edits made using DiscussionTools’ API (e.g. reply and new topic tools), or <tvar name=2><code>'any'</code></tvar> for any editor.</translate>
|-
|{{phpi|TalkPageParserCacheExpiry}}
|{{phpi|0}}
| <translate><!--T:80--> Override <tvar name=1>{{phpi|$wgParserCacheExpireTime}}</tvar> for discussion pages, regardless of DiscussionTools enablement.</translate>
|-
|{{phpi|ReplyIndentation}}
|{{phpi|'invisible'}}
| <translate><!--T:33--> Reply indentation syntax to use: <tvar name=v1>{{phpi|'invisible'}}</tvar> (use <tvar name=h1><code><nowiki><dl><dd></nowiki></code></tvar> tags to output <tvar name=w1><code>:</code></tvar> in wikitext) or <tvar name=v2>{{phpi|'bullet'}}</tvar> (use <tvar name=h2><code><nowiki><ul><li></nowiki></code></tvar> tags to output <tvar name=w2><code>*</code></tvar> in wikitext).</translate>
|-
|{{phpi|ShowFeedbackLinks}}
|{{phpi|false}}
|{{MW version-inline|MW 1.40+}} <translate><!--T:34--> Show "<tvar name=1><i>{{int|discussiontools-replywidget-feedback}}</i></tvar>" links in the footer of reply tool and new topic tool.</translate>
|-
|{{phpi|TimestampFormatSwitchTime}}
|{{phpi|'2022-07-12'}}
| <translate><!--T:81--> Date on which the internal timestamp format has changed (<tvar name=1>{{phab|T304595}}</tvar>), in [[w:ISO 8601|ISO 8601]] format.</translate>
|-
|{{phpi|ConflictingGadgetName}}
|{{phpi|'convenientDiscussions'}}
| <translate><!--T:35--> Internal name of the Convenient Discussions gadget, which conflicts with the reply tool.</translate> <translate><!--T:36--> Reply tool will be unavailable when the user has this gadget enabled.</translate>
|}
<translate>
== API == <!--T:37-->
=== Editing === <!--T:38-->
</translate>
{| class="wikitable"
|+
! <translate><!--T:39--> Action</translate>
! <translate><!--T:41--> Description</translate>
! <translate><!--T:42--> Internal?</translate>
|-
| discussiontools'''compare'''
| {{int|apihelp-discussiontoolscompare-summary}}
| {{Tick}}
|-
| [[Special:ApiHelp/discussiontoolsedit|discussiontools'''edit''']]
| {{int|apihelp-discussiontoolsedit-summary}}
| {{Cross}}
|-
| [[Special:ApiHelp/discussiontoolsfindcomment|discussiontools'''findcomment''']]
| {{int|apihelp-discussiontoolsfindcomment-summary}}
| {{Cross}}
|-
| [[phab:T416038|discussiontools'''pageinfo''']]
| {{int|apihelp-discussiontoolspageinfo-summary}}
| {{Cross}}
|-
| discussiontools'''preview'''
| {{int|apihelp-discussiontoolspreview-summary}}
| {{Tick}}
|}
<translate>
=== Subscriptions === <!--T:53-->
</translate>
{| class="wikitable"
! <translate><!--T:54--> Action</translate>
! <translate><!--T:56--> Description</translate>
! <translate><!--T:57--> Internal?</translate>
|-
| discussiontools'''getsubscriptions'''
| {{int|apihelp-discussiontoolsgetsubscriptions-summary}}
| {{Cross}}
|-
| discussiontools'''subscribe'''
| {{int|apihelp-discussiontoolssubscribe-summary}}
| {{Cross}}
|}
<translate>
== Special pages == <!--T:62-->
</translate>
* [[Special:DiscussionToolsDebug]]
* [[Special:FindComment]]
* [[Special:GoToComment]]
* [[Special:TopicSubscriptions]]
<translate>
== Integration with other extensions == <!--T:28-->
<!--T:29-->
<tvar name=1>DiscussionTools</tvar> can integrate with <tvar name=2>{{Ll|Extension:PlaceNewSection|PlaceNewSection}}</tvar> to put the location of where added new topics will begin to be placed.
<!--T:65-->
It can also integrate with <tvar name=1>{{Ll|Extension:AutoModerator|AutoModerator}}</tvar> to enable community-configured reversion of Machine Language-scored bad edits.
== See also == <!--T:21-->
</translate>
* {{ll|Extension:DiscussionTools/How it works}} – <translate><!--T:22--> technical information</translate>
* [[:c:User:Jack who built the house/Convenient Discussions|Convenient Discussions]] – another tool for discussions, incompatible with DiscussionTools
{{OnWikimedia}}
{{Used by}}
[[Category:Discussion and forum extensions{{#translation:}}]]
[[Category:Extensions with VisualEditor support{{#translation:}}]]
[[Category:Talk pages project{{#translation:}}]]
98wi9k87ze9rcoja6q8n07x227vkmm2
Phabricator/Code/th
0
1032260
8390486
8034941
2026-05-25T10:02:31Z
FuzzyBot
451990
Updating to match new version of source page
8390486
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
k1bf9cauqb6vsbz6xkm3u78hxrkvkde
Wikimedia Apps/fr
0
1129962
8390137
8380008
2026-05-24T19:57:32Z
Utilisateur ouikipedia
18264972
Faute de conjugaison corrigée
8390137
wikitext
text/x-wiki
<languages/>
{{note|1=Ceci est une page de l'équipe d'ingénierie de la Fondation Wikimedia qui travaille uniquement sur les applications Wikipedia.<br/>'''Pour un aperçu général des applications pour mobile de Wikimedia, voir [[m:Special:MyLanguage/Wikimedia Apps|m:Wikimedia Apps]] à la place !'''}}
Pour question générale concernant les applications de l'Equipe Wikipedia, voir :
*[[Special:MyLanguage/Wikimedia Apps/Android FAQ|FAQ des applications Android]]
* [[Special:MyLanguage/Wikimedia Apps/iOS FAQ|FAQ de l'application iOS]]
<span id="About_the_Wikipedia_Apps"></span>
<div class="mw-translate-fuzzy">
== A propos des applications ==
</div>
Les applications mobiles de Wikipédia sont un moyen rapide et amusant de lire Wikipédia.
Les applications Wikipédia pour Android et iOS n'ont pas de publicité et sont disponibles dans plus de 300 langues.
L'application Wikipedia fournit une expérience optimisée et rationalisée pour la recherche et la lecture du contenu Wikipedia.
En tant qu'application native, elle permet le chargement plus rapide des articles et la réduction de la consommation des données mobiles.
Ils offrent également une interface plus réactive qui est plus cohérente avec d'autres applications que vous aimez.
Ils ajoutent des fonctionnalités qui ne sont pas disponibles (ou impossibles) dans la version web de Wikipedia, comme enregistrer des pages sur l'appareil pour une lecture ultérieure, et partager du contenu et des images d'articles dans vos applications de médias sociaux préférées.
<span id="What_is_the_difference_between_the_apps_and_the_mobile_web_version_of_Wikipedia?"></span>
=== Quelle est la différence entre les applications et la version web pour mobile de Wikipedia ? ===
* '''Maximum de réactivité''' – Les applications natives permettent de présenter le contenu de Wikipédia à l'utilisateur à une vitesse native et permettent que les éléments de l'interface utilisateur répondent à ses gestes comme n'importe quelle autre partie du système d'exploitation du mobile. Un exemple de cela est le balayage pour fermer un menu; cela vous semble naturel, mais c'est en fait seulement possible sur les navigateurs grâce à l'ajout de code JavaScript, et même uniquement avec les téléphones et les navigateurs qui prennent en charge JavaScript. Avec une application native, ces types de gestes ne sont pas uniquement possibles mais souhaités. L'utilisateur se sent chez lui lorsqu'il utilise l'application et l'application apparaît comme si elle appartenait à l'écosystème des applications de l'équipement de l'utilisateur.
* '''Intégration maximale''' – Imaginez un widget sur l'écran d'accueil de votre appareil qui vous présente automatiquement des suggestions d'articles Wikipédia à lire, en fonction de vos préférences passées. Ou un widget qui vous affiche les informations et les articles Wikipedia liés aux sujets d'actualité. Imaginez une notification de poussée qui apparaît automatiquement sur votre appareil et vous informe que quelqu'un a modifié un article de votre liste de suivi ou a répondu à votre message de page de discussion.
Toutes ces choses sont rendues possibles par une application native !
Lire davantage pour savoir {{ll|Wikimedia Apps/Team/Why apps|pourquoi nous créons des applications}}, et voyez notre billet initial de [https://diff.wikimedia.org/2012/01/26/announcing-the-official-wikipedia-android-app/#comment-91698 blog] pour connaître notre logique de diffusion des applications.
<span id="Download_the_Apps"></span>
== Télécharger les applications ==
* Obtenir l'application iOS [https://apps.apple.com/app/wikipedia/id324715238?mt=8 Wikipedia] à partir de App Store.
* Récupérez l'application Android [https://play.google.com/store/apps/details?id=org.wikipedia Wikipedia] à partir de Google Play Store, [https://f-droid.org/en/packages/org.wikipedia/ de F-Droid], ou installez manuellement notre [https://releases.wikimedia.org/mobile/android/wikipedia/stable/ APKs actuel ou précédent].
* Obtenir l'application Android [https://www.amazon.com/-/zh/dp/B0088P2A7A/ref=mp_s_a_1_1?dchild=1&keywords=Wikipedia&qid=1617983805&sr=8-1 Wikipedia] à partir de Amazon Appstore.
<span id="Become_a_Beta_Tester"></span>
== Devenez un bêta testeur ==
=== iOS ===
* les iOS version bêta sont distribués en utilisant le système Apple TestFlight. [https://testflight.apple.com/join/Z0AU0KXC Rejoignez Wikipedia Beta!]
* Une fois enregistré vous recevrez une invitation chaque fois que la prochaine version sera disponible. Tapez sur cette invitation sur votre appareil iOS et suivez les instructions d'installation.
=== Android ===
* Installez l'application [https://play.google.com/store/apps/details?id=org.wikipedia.beta Wikipedia bêta] à partir de Google Play Store pour expérimenter et donnez votre avis en retour sur les fonctionnalités actuellement en developpement.
* Si vous souhaitez ''toujours être à la pointe'', installez l'application [https://github.com/wikimedia/apps-android-wikipedia/releases/download/latest/app-alpha-universal-release.apk Wikipedia Alpha] pour voir quelles fonctionnalités nous sommes en train d'implémenter. La nouvelle version est disponible presque tous les jours, sauf les week-ends et les vacances. En général 20:00 – 23:00 [[w:Central European Summer Time|temps CEST]].
<span id="Updates_and_team_information"></span>
== Mises à jour et informations d'équipe ==
* Rencontrer l'{{ll|Wikimedia Apps/Team|Equipe}}
** <span class="mw-translate-fuzzy">Voir [[Wikimedia Apps/Team/iOS]] pour davantage d'informations concernant l'équipe iOS et leurs mises à jour.</span>
** <span class="mw-translate-fuzzy">Voir [[Wikimedia Apps/Team/Android]] pour davantage d'informations concernant l'équipe Android et leurs mises à jour.</span>
*L'équipe des applications Wikipedia est toujours excitée de faire la connaissance des utilisateurs; l'infolettre est l'un des outils principaux pour les tenir informés de notre travail. [https://meta.wikimedia.org/wiki/Wikimedia%20Apps/Newsletter Abonnez-vous à notre bulletin d'information] et devenez bénévole pour [https://meta.wikimedia.org/wiki/Global%20message%20delivery/Targets/Apps%20team%20translators le traduire], afin qu'elle puisse toucher plus d'utilisateurs.
* Voir les tableaux des tâches [[phab:project/board/489/query/bE24QjugTPbC/|Android]] et [[phab:project/board/782/query/bE24QjugTPbC/|iOS]] sur {{ll|Phabricator}}.
<span id="Get_involved"></span>
== Participez ==
* [[Special:MyLanguage/Wikimedia Apps/App requests|Faire des requêtes]]
* {{ll|Wikimedia Apps/Team/iOS#Contribute to development|Contribute to iOS App development}}
* {{ll|Wikimedia Apps/Team/Android/App hacking|2=Contribuer au développement des applications Android}}
* Aidez à [https://translatewiki.net/wiki/Translating:WikimediaMobile traduire] les chaînes utilisées via l'interface de l'application
* Contacter le support : android-support@wikimedia.org, ios-support@wikimedia.org
<span id="Community_Collaboration_and_Meetings"></span>
== Collaboration communautaires réunions ==
Pour les informations détaillées concernant la collaboration de l'Equipe des applications Wikimedia avec ses initiatives Wikimedia variées, les groupes utilisateurs et les sessions de commentaires communautaires, voir notre page maintenue : {{ll|Wikimedia Apps/Office Hours|Réunions et collaboration communautaire}}.
Cette page contient des informations sur nos réunions passées, des tutoriels et des discussions qui mettent en évidence notre engagement à améliorer les applications Wikimedia et à favoriser une plateforme plus inclusive pour tous les utilisateurs.
{{void|
<span id="Community_wishlist"></span>
== Liste des souhaits de la communauté ==
L'enquête sur la liste des souhaits de la communauté est une enquête annuelle qui permet aux contributeurs des projets Wikimedia de proposer et de voter pour des outils et des améliorations de la plateforme.
<span id="Community_wishlist_survey_2022"></span>
=== Sondage 2022 sur les souhaits de la communauté ===
* Le contenu complet de l'[[m:Community Wishlist Survey 2022/Results/Mobile_and_apps|enquête 2022 est ici]] et les [[m:Community Wishlist Survey 2022/Results#Results of Mobile and Apps Wishlists for 2022|résultats diffusés en janvier 2023 sont ici]].
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Commons Mobile App ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Wikimedia Commons app is designed to support media contributions, allowing users to upload images, participate in campaigns, and explore freely licensed media on Commons.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Download the app ===
</div>
* https://commons.wikimedia.org/wiki/Commons:Mobile_app
* https://play.google.com/store/apps/details?id=fr.free.nrw.commons
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Contact and feedback ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Commons app team welcomes feedback and contributions.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The preferred ways to get in touch are:</span>
* https://github.com/commons-app/apps-android-commons/issues
* The "Feedback" button in the app
* Mailing list: https://groups.google.com/g/commons-app-android
* https://commons.wikimedia.org/wiki/Commons_talk:Mobile_app
<span id="Subpages"></span>
== Sous-pages ==
* [[Special:Prefixindex/Wikimedia Apps|Toutes les pages avec le préfixe « Wikimedia Apps »]]
[[Category:WMF Projects{{#translation:}}]]
[[Category:Mobile{{#translation:}}]]
rdo66dto7iqko1px489y5yjqja3y1ca
Phabricator/Code/ce
0
1187615
8390473
8034928
2026-05-25T10:02:25Z
FuzzyBot
451990
Updating to match new version of source page
8390473
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
k1bf9cauqb6vsbz6xkm3u78hxrkvkde
MediaWiki-Docker/Configuration recipes/Xdebug
0
1237935
8390491
8186135
2026-05-25T10:04:38Z
~2026-31273-42
18405966
/* XDebug */
8390491
wikitext
text/x-wiki
== XDebug ==
To use XDebug with MediaWiki running inside a docker container, you have to tell the PHP environment running inside the container to connect to the IDE on the host machine. To do this, set the <code>XDEBUG_CONFIG</code> variable in your <code>.env</code> file.
'''IMPORTANT:''' The following values ''likely'' have to be adjusted for your system in the configuration examples below (especially where it says CHANGEME in the snippet).
* '''<code>client_host</code> or <code>remote_host</code>''': this has to be the IP address of the host system (your laptop) as seen from inside the container. Generally, this will just the IP address assigned to the host in the local network. On Linux, you can use <code>ifconfig</code> or <code>ip -o -4 addr list</code> to list these addresses. Caveat: if you are running docker in a virtual machine, additional configuration may be necessary. If you are using Docker Desktop (on Mac or Windows), a recent version of Docker on Linux, or if you have set the <code>extra_hosts</code> field in <code>docker-compose.override.yaml</code> as discussed in [[git:mediawiki/core/+/HEAD/DEVELOPERS.md|DEVELOPERS.md]], you likely can set '''<code>client_host</code>''' to <code>host.docker.internal</code>.
* '''<code>client_port</code> or <code>remote_port</code>''': adjust this to the port the IDE is listening on (or a port that is configured to forward to the IDE). For XDebug 3.0 and up, the default port is 9003; for XDebug 2 port 9000 is the default.
* '''<code>idekey</code>''': the key to use when connecting to the IDE. This has to match the key configured in the IDE. For PhpStorm / Intellij IDEA, the default is <code>PHPSTORM</code>, for VS Code it's <code>VSCODE</code>
* '''<code>serverName</code>''' : the server name to use by PhpStorm to apply path mappings when manually running command line scripts ([https://www.jetbrains.com/help/phpstorm/debugging-a-php-cli-script.html see PhpStorm documentation] ). This is the value that you see for the '''Name''' textfield when in <code>File > Settings, Language & Frameworks > PHP > Servers</code>.
''Caveat: as of November 4 2020, PHP_IDE_CONFIG needs [[gerrit:c/mediawiki/core/+/639054|a patch for docker-compse.yaml]] . And it still didn't quite work for [[User:DKinzler (WMF)|me]] .''
=== Linux/Ubuntu 24.04 LTS ===
Make sure you have in <code>docker-compose.override.yaml</code>
<syntaxhighlight lang="ini">services:
mediawiki:
extra_hosts:
- "host.docker.internal:host-gateway"</syntaxhighlight>Put this in your local <code>.env</code> file
<syntaxhighlight lang="ini">XDEBUG_MODE=debug
XDEBUG_CONFIG='client_host=host.docker.internal client_port=9003'</syntaxhighlight>
=== Latest Version (3.0+) ===
Starting in version 3.0, XDebug's default port is 9003.
<syntaxhighlight lang="ini"># Use idekey=VSCODE for VS Code
# If you are using Docker Desktop (Windows/Mac) or in Linux you have set
# the extra_hosts field as per DEVELOPERS.md in the mediawiki
# repository instructions, you can set the client_host=host.docker.internal
XDEBUG_CONFIG='mode=debug start_with_request=trigger client_host=192.168.1.1_CHANGEME_TO_CORRECT_IP client_port=9003 idekey=PHPSTORM'
XDEBUG_MODE=debug
# Only needed for PHPStorm
PHP_IDE_CONFIG='serverName=CHANGEME_TO_MATCH_PHPSTORM_SETTINGS_FOR_SERVER'</syntaxhighlight>
=== Older Versions (2.x) ===
Older versions of XDebug (< 3.0) use a different syntax for <code>XDEBUG_CONFIG</code>, and use port 9000 by default:
<syntaxhighlight lang="ini">
# Use idekey=VSCODE for VS Code
# If you are using Docker Desktop (Windows/Mac), set client_host=host.docker.internal
XDEBUG_CONFIG='remote_enable=1 remote_mode=req remote_host=192.168.1.1 remote_port=9000 idekey=PHPSTORM'
</syntaxhighlight>
== IDE Integration ==
For integration with '''VS code''', see the [[MediaWiki-Docker/Configuration recipes/Xdebug config for VS Code|''Xdebug config for VS Code'']] recipe.
For integration with '''PhpStorm''', see the blog post on [https://www.kostaharlan.net/posts/mediawiki-phpunit/ ''Debugging MediaWiki with PhpStorm''] and [https://dev.to/jackmiras/xdebug-in-phpstorm-with-docker-2al8 ''Xdebug in PhpStorm with Docker'']. If you use PhpStorm to run the code, you may not need the above configuration, since PhpStorm will set the appropriate environment variables automatically.
== Troubleshooting ==
Debugging your debugger? Here are some tips if things are not working.
1. Shell into your running Docker container for MediaWiki PHP (<code>docker compose exec mediawiki /bin/bash</code>) and ensure that the proper environmental variables have been set using the <code>env</code> command.
2. Ensure that XDebug is present in your PHP installation: <code>php -i | grep 'xdebug'</code>
3. Try running the [https://xdebug.org/docs/dbgpClient XDebug CLI] from inside your container; if this works, then the problem likely lives at the level of IDE configuration or a firewall which blocks the request (on Linux, you may take a look at your <code>iptables</code> or <code>ufw</code> rules).
==See also==
* [[{{ROOTPAGENAME}}/Configuration recipes/Xdebug config for VS Code]]
* [[w:Xdebug]]
nbdvc475777gvyf9741y4w8eg2tpcpj
Extension:WimaAdvertising
102
1267716
8390220
8378669
2026-05-24T22:52:59Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-24668-52|~2026-24668-52]] ([[User talk:~2026-24668-52|talk]]) to last version by Pppery
8267334
wikitext
text/x-wiki
<languages />
{{Extension
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SidebarBeforeOutput
|hook3 = SiteNoticeAfter
|hook4 = SkinAfterContent
|hook5 = SkinAfterPortlet
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Adds banners defined in <tvar name=1>LocalSettings.php</tvar></translate>
|image =
|imagesize =
|version = 2.9.0
|update = 2025-01-06
|version preview =
|update preview =
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp =
|composer =
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|MediaWiki-Extension-WimaAdvertising}}
|readme =
|changelog =
|example = http://42.wikimannia.org
|namespace =
|parameters =
* $wgWimaAdvertising
* $wgWimaAdvertisingAnonOnly
* $wgBannerTopCode
* $wgBannerTopStyle
* $wgBannerTopType
* $wgBannerBottomCode
* $wgBannerBottomStyle
* $wgBannerBottomType
* $wgSidebarAd1Code
* $wgSidebarAd1Type
* $wgSidebarAd2Code
* $wgSidebarAd2Type
* $wgGoogleAdSense
* $wgGoogleAdSenseAnonOnly
* $wgGoogleAdSenseClient
* $wgGoogleAdSenseHost
* $wgGoogleAdSenseMode
|tags =
|compatibility =
}}
<translate><!--T:2--> The <tvar name=1>'''WimaAdvertising'''</tvar> extension offers four additional {{<tvar name=2>ll|Advertising</tvar>|advertising}} blocks to the <tvar name=3>{{ll|Skin:Citizen|Citizen}}, {{ll|Skin:Cologne Blue|Cologne Blue}}, {{ll|Skin:Modern|Modern}}, {{ll|Skin:Monaco|Monaco}}, {{ll|Skin:MonoBook|MonoBook}}, {{ll|Skin:Timeless|Timeless}}, {{ll|Skin:Vector|Vector}}</tvar> skins.</translate>
<translate><!--T:3--> The banners are placed in the top and bottom of the wiki and two of them in the {{<tvar name=1>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate><!--T:4--> [[<tvar name=1>#Google Adsense</tvar>|Google Adsense]] is supported.</translate>
<translate>
== Use == <!--T:5-->
</translate>
<translate><!--T:6--> One ad block is located at the top of the "<tvar name=1>[[Manual:Interface/Sitenotice|MediaWiki:Sitenotice]]</tvar>", a second one below the article text and above the category bar and two more ad blocks in the <tvar name=2>{{ll|sidebar}}</tvar>.</translate>
<translate><!--T:7--> By entering <tvar name=1><code>* AD1</code></tvar> and <tvar name=2><code>* AD2</code></tvar> in the <tvar name=3>{{ll|Manual:Interface/Sidebar|MediaWiki:Sidebar}}</tvar>, these can be placed individually.</translate>
<translate><!--T:8--> If {{<tvar name=1>ll|Manual:Interface/Sitenotice</tvar>|Sitenotice}} is defined, the TopBanner will be displayed randomly alternating with the ''Sitenotice'' message.</translate>
<translate>
== Installation == <!--T:9-->
<!--T:41-->
For recent versions of MediaWiki (<tvar name=1>1.35+</tvar>), use the following instruction:
</translate>
{{ExtensionInstall
|db-update=1
|registration=yes
|download-link=<translate><!--T:42--> Check-out the sources with <tvar name=1><code>git clone https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising.git</code></tvar></translate>
}}
=== Installation for older versions of MediaWiki ===
For MediaWiki 1.23-1.34, replace the above-mentioned "git clone" command with the following:
<code>git clone -b REL1_25 https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising.git</code>
<translate>
=== General configuration === <!--T:10-->
<!--T:11-->
Enable advertising. Default is <tvar name=1>{{phpi|false}}</tvar>.
</translate>
<syntaxhighlight lang="php">
$wgWimaAdvertising = true;
</syntaxhighlight>
<translate><!--T:31--> Disable advertising for logged-in users.</translate>
<translate><!--T:32--> Default is <tvar name=1>{{phpi|false}}</tvar>.</translate>
<syntaxhighlight lang="php">
$wgWimaAdvertisingAnonOnly = true;
</syntaxhighlight>
<translate>
=== <tvar name=1>Wima</tvar> web slots === <!--T:38-->
</translate>
==== BannerType ====
<translate><!--T:12--> Set the type of the banner</translate>
* <translate><!--T:13--> Possible values:</translate> 'advertising', 'blank', 'eventnote', 'hint'
* <translate><!--T:14--> Default value:</translate> 'advertising'
<translate><!--T:15--> If set to <tvar name=1><code>blank</code></tvar> the Portlet will not be labelled.</translate>
<syntaxhighlight lang="php">
$wgBannerTopType = "advertising";
$wgBannerBottomType = "blank";
$wgSidebarAd1Type = "eventnote";
$wgSidebarAd2Type = "hint";
</syntaxhighlight>
{{note|1=<translate><!--T:39--> The labels above the advertising blocks will be translated into:</translate> de, en, es, fr, it, nl, pt, ru}}
==== BannerCode ====
<translate><!--T:16--> Set a html {{<tvar name=1>ll|snippets</tvar>|snippet}} of the banner.</translate>
<syntaxhighlight lang="php">
$wgBannerTopCode = '<a title="Uhren-Wiki" href="https://www.uhren-wiki.net"><img src="https://wikimannia.org/skins/werbung/Werbung - Oben.jpg" width="728" height="92" alt="Werbung" /></a>';
$wgBannerBottomCode = '
Your banner code here.
';
</syntaxhighlight>
<syntaxhighlight lang="php">
$wgSidebarAd1Code = '<a title="Schwarzbuch Wikipedia" href="https://de.wikimannia.org/Schwarzbuch_Wikipedia"><img src="https://wikimannia.org/werbung/images/130px-Schwarzbuch_Wikipedia.jpg" alt="Schwarzbuch_Wikipedia.jpg" /></a> <p><b>Schwarzbuch Wikipedia</b></p><p class="small">Mobbing, Diffamierung und Falschinformation in der Online-Enzyklopädie, und was jetzt dagegen getan werden muss.</p><p>Im Februar 2020 im <i>Zeitgeist-Verlag</i> erschienen.</p>';
$wgSidebarAd2Code = 'Your banner code here.';
</syntaxhighlight>
<translate><!--T:33--> You can also do [[w:Google AdSense|Google AdSense]]:</translate>
<syntaxhighlight lang="php">
$wgSidebarAd2Code = '<script type="text/javascript"><!--
google_ad_client = "9471398824076666"; // "pub-9471398824076666"
/* ID 007 */
google_ad_slot = "3512091103";
google_ad_width = 145;
google_ad_height = 260;
google_language = "en";
google_encoding = "utf8";
// -->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>';
</syntaxhighlight>
==== BannerStyle ====
<translate><!--T:17--> Set the CSS style specifications for the banner.</translate>
<syntaxhighlight lang="php">
$wgBannerTopStyle = 'text-align:center;border:1px solid blue;';
$wgBannerBottomStyle = 'text-align:center;border:1px dotted red;';
$wgSidebarAd1Style = '';
$wgSidebarAd2Style = '';
</syntaxhighlight>
=== Google Adsense ===
<translate><!--T:18--> Enable advertising.</translate>
<translate><!--T:19--> Default is <tvar name=1>{{phpi|false}}</tvar>.</translate>
<syntaxhighlight lang="php">
$wgGoogleAdSense = true;
</syntaxhighlight>
<translate><!--T:20--> Disable advertising for logged-in users.</translate>
<translate><!--T:21--> Default is <tvar name=1>{{phpi|false}}</tvar>.</translate>
<syntaxhighlight lang="php">
$wgGoogleAdSenseAnonOnly = true;
</syntaxhighlight>
<translate>
<!--T:22-->
The type of the banner here is fix <tvar name=1>'advertising'</tvar>.
==== Mandatory parameters ==== <!--T:23-->
</translate>
<syntaxhighlight lang="php">
// Replace this with your own publisher ID (google_ad_client / data-ad-client)
$wgGoogleAdSenseClient = 'none'; // Client ID for your AdSense script
$wgGoogleAdSenseHost = 'none'; // Host ID for your AdSense script
</syntaxhighlight>
(You can get your publisher ID and ad unit ID from the "Get code" page: [https://supp_ort.google.com/ad_sense/answer/181960 Get and copy the ad code].)
<translate>
==== Optional parameters ==== <!--T:24-->
<!--T:25-->
Add any of the optional settings below – if your settings deviate from the defaults:
</translate>
<syntaxhighlight lang="php">
// Source URL of the AdSense script. No need to change - it can't deviate from the defaults.
$wgGoogleAdSenseSrc = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
$wgGoogleAdSenseSrc = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234&host=ca-host-pub-5678';
// AdSenseMode. Default is 'normal'.
$wgGoogleAdSenseMode = 'responsive'; (since 2.8.2)
// Text coding. Default is 'utf8'.
$wgGoogleAdSenseEncoding = "utf8"; (until 2.7.1)
// Advertising language. Default is $wgLanguageCode.
$wgGoogleAdSenseLanguage = "en"; (until 2.7.1)
// This can be anything you like. Default is 'none'.
$wgGoogleAdSenseID = 'none'; (until 2.7.1)
</syntaxhighlight>
<translate>
==== Ad units ==== <!--T:26-->
<!--T:27-->
Define up to four ad units:
</translate>
<syntaxhighlight lang="php">
$wgGoogleAdSense_AD1 = [ 'slotid 1', 145, 260 ];
$wgGoogleAdSense_AD2 = [ 'slotid 2', 145, 260 ];
$wgGoogleAdSense_Top = [ 'slotid 3', 145, 260 ];
$wgGoogleAdSense_Bottom = [ 'slotid 4', 145, 260 ];
$wgGoogleAdSense_AD1 = [ 'slotid 1', 145, 260, 'rectangle' ];
$wgGoogleAdSense_AD2 = [ 'slotid 2', 145, 260, 'horizontal' ];
$wgGoogleAdSense_Top = [ 'slotid 3', 145, 260, 'vertical' ];
$wgGoogleAdSense_Bottom = [ 'slotid 4', 145, 260, 'vertical, rectangle' ];
</syntaxhighlight>
<translate><!--T:34--> Replace the first value with your AdSense ad unit ID (<tvar name=1>google_ad_slot / data-ad-slot</tvar>) for each ad unit.</translate>
<translate><!--T:35--> The <tvar name=1><code>Slot ID</code></tvar> for your AdSense script is for example <tvar name=2>1234580893</tvar>.</translate>
<translate><!--T:36--> Also specify in the second and third value the <tvar name=1><code>width</code></tvar> and the <tvar name=2><code>height</code></tvar> of the AdSense unit, specified in your AdSense account (<tvar name=3>google_ad_width / data-ad-width, google_ad_height / data-ad-height</tvar>).</translate>
<s><translate><!--T:37--> Values such as <tvar name=1>'auto', '100%', '60%'</tvar> etc. are accepted.</translate></s>
<translate><!--T:40--> The fourth variable for <tvar name=1><code>data-ad-format</code></tvar> is optional.</translate>
<translate>
==== Example ==== <!--T:28-->
<!--T:29-->
This example is doing the same as the example above in chapter <tvar name=1>[[#BannerCode|BannerCode]]</tvar>:
</translate>
<syntaxhighlight lang="php">
$wgWimaAdvertising = false;
$wgGoogleAdSense = true;
$wgGoogleAdSenseClient = 'pub-9471398824076666';
$wgGoogleAdSense_AD1 = [ '3512091103', 145, 260 ];
$wgGoogleAdSenseSrc = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9471398824076666';
</syntaxhighlight>
== Compatibility with more skins ==
{{note|1=You can use this extension with any skin. <code>$wgSidebarAd1Code</code> and <code>$wgSidebarAd2Code</code> only work if the activated skin has a sidebar. <code>$wgBannerBottomCode</code> and <code>$wgBannerTopCode</code> should always work. Only a present sidebar may require additional css support, which handles the background color of the slot and similar stuff.}}
You may avoid a PHP warning message by altering line 44 in file Hooks.php from
<syntaxhighlight lang="php">
} else if ( $skinname !== 'fallback' ) {
</syntaxhighlight>
into
<syntaxhighlight lang="php">
} else if ( !in_array( $skinname, [ 'yourfavoriteskin', 'fallback' ] ) ) {
</syntaxhighlight>
== See also ==
* [[Extension:PCR GUI Inserts|PCR GUI Inserts]] did something similar since REL 1.23, but not as sophisticated.
* [[Extension:ShoutWiki Ads|ShoutWiki Ads]]
== Remarks ==
* Branch REL1_25 for [[MediaWiki 1.23]] up to 1.35.
*: The branch REL1_25 was tested with the following MediaWiki versions: 1.23.17, 1.25.6, 1.31.16, 1.35.14
* Branch REL1_35 for [[MediaWiki 1.35]]+.
*:<translate><!--T:30--> The branch REL1_35 was tested with the following MediaWiki versions:</translate> 1.35.14, 1.39.11, 1.40.2, 1.41.2, 1.42.3, 1.43.0
* Version 2.1 has added support for Skin <code>[[Skin:Vector/2022|vector-2022]]</code>.
* Version 2.2 has added support for Skin <code>[[Skin:Timeless|Timeless]]</code>.
* Version 2.3 has added Hook [[Manual:Hooks/SkinAfterPortlet|SkinAfterPortlet]] for supporting MediaWiki 1.35+.
* Version 2.4 has some Refactoring:
*: Changed “configuration schema”, replaced manifest version 1 with version 2 and changed the prefix of the configuration variables from default to <code>wm</code>.
*: Replaced class “WimaAdvertisingHooks” (extends “Hooks”) with class implements interfaces.
* Version 2.4.1 contains a dirty hack for skin Timeless.
* Version 2.5 places JavaScript for GoogleAdSense in {{tag|head|open}} section.
* Version 2.6 allows the labeling of Wima slots to be set as `blank`.
* Version 2.7 has added support for Skin <code>[[Skin:Monaco|Monaco]]</code>.
*:<small>Note: To make the Ads in the Sidebar work is the use of a [https://github.com/WikiMANNia/MediaWiki-Skin-Monaco Fork of Skin Monaco] needed!</small>
* Version 2.8 has changed code for GoogleAdSense, see
**https_developers.google.com/adsense/host/adunits Ad Units and Code Generation
**https_developers.google.com/adsense/platforms/transparent/ad-tags Ad tags
* Version 2.8.5:
*:Changed the prefix of the configuration variables back to <code>wg</code>.
* Version 2.9 has added support for Skin <code>[[Skin:Citizen|Citizen]]</code>.
=== Version 3.0 ===
* The version 3.0 (alpha) has a new approach, with click-away ads that are fixed and do not disappear when scrolling, and are (largely) independent of the skin.
* At the moment only tested with MediaWiki version <code>1.39.1</code>.
* [https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising2 Download on GitHub] (alpha Version)
[[Category:Skin extensions{{#translation:}}]]
[[Category:Advertising extensions{{#translation:}}]]
ixjwtns0x0mq0dl5sw8cqpgfb08r857
Extension:SkinCustomiser
102
1274171
8390192
8386621
2026-05-24T20:58:53Z
~2026-24668-52
18359937
make untranslatable
8390192
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Customises existing {{<tvar name=1>ll|Manual:Skin</tvar>|skins}}.</translate> <translate><!--T:58--> Add Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki.</translate>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<translate><!--T:2--> The <tvar name=1>'''SkinCustomiser'''</tvar> customises existing {{<tvar name=2>ll|Manual:Skin</tvar>|skins}} for a complete {{<tvar name=3>ll|Manual:Wiki family</tvar>|wiki family}}.</translate>
<translate><!--T:3--> It adds Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki; and it translates individual entries in the {{<tvar name=5>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate>
==Background== <!--T:4-->
===Customising Skins=== <!--T:5-->
</translate>
{{tmpl|0=<translate><!--T:6--> MediaWiki skins can be customised in the files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate>
<!--T:7-->
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
<!--T:8-->
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
===Customising Sidebars=== <!--T:9-->
<!--T:10-->
Customisation also includes further entries via the {{<tvar name=1>ll|Manual:Interface/Sidebar</tvar>|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{<tvar name=2>ll|Localisation</tvar>|translated into other languages}}.
<!--T:11-->
This can be done by entering these labels and their translations in the {{<tvar name=1>ll|Localisation</tvar>|i18n}} files of this extension.
==Installation== <!--T:12-->
</translate>
* <translate><!--T:61--> First save your customised <tvar name=1><code>i18n/*.json</code></tvar>, <tvar name=2><code>resources/css/*.css</code></tvar> and <tvar name=3><code>resources/images/*</code></tvar> files.</translate>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<translate><!--T:13--> Configure as required.</translate>]]
}}
* <translate><!--T:62--> Restore your <tvar name=1><code>i18n/*.json</code></tvar>, <tvar name=2><code>resources/css/*.css</code></tvar> and <tvar name=3><code>resources/images/*</code></tvar> files.</translate>
<translate>
==Configuration== <!--T:14-->
<!--T:15-->
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}}.
===Skins=== <!--T:16-->
</translate>
{{tmpl|0=<translate><!--T:17--> MediaWiki skins can be customised in files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate><!--T:18--> However, if a {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</translate>
<translate><!--T:19--> If a different skin is used, the <tvar name=1><code>AnotherSkin.css</code></tvar> file must be renamed accordingly and this change must also be made in the <tvar name=2><code>extension.json</code></tvar> file.</translate>
# <translate><!--T:20--> In the file tree:</translate> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <translate><!--T:21--> In the <tvar name=1><code>extension.json</code></tvar> file:</translate> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <translate><!--T:22--> In the <tvar name=1><code>includes/Hooks.php</code></tvar> file:</translate> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<translate>
===Logo=== <!--T:23-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
====Skin vector-2022==== <!--T:24-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
===Sidebar=== <!--T:25-->
</translate>
<translate><!--T:26--> A {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} can be customised in the {{<tvar name=2>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate><!--T:27--> The customised labels and their translations can be managed in this way:</translate>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<translate>
<!--T:28-->
In addition, some standard messages from mediawiki can also be customised there.
<!--T:29-->
Customising the <tvar name=1><code>i18n/en.json</code></tvar> file:
</translate>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<translate><!--T:30--> For more details see:</translate>
{{ll|Localisation file format}}
<translate>
===Head data=== <!--T:31-->
</translate>
<translate><!--T:32--> Disable with:</translate>
<code>$wgSkinCustomiserHeadItems = [];</code>
<translate>
====Scheme==== <!--T:33-->
<!--T:34-->
To configure the head data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<translate>
===Meta data=== <!--T:35-->
</translate>
<translate><!--T:36--> Disable with:</translate>
<code>$wgSkinCustomiserMetaItems = [];</code>
<translate>
====Scheme==== <!--T:37-->
<!--T:38-->
To configure the head meta data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ]
[ "name2", "content2" ],
];
</syntaxhighlight>
<translate>
====Examples==== <!--T:39-->
<!--T:59-->
Example (from <tvar name=1>{{ll|Extension:AgeClassification}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<translate>
===Scripts=== <!--T:40-->
</translate>
<translate><!--T:41--> One or more head scripts can be added to the wiki.</translate>
<translate><!--T:42--> The head scripts can consist of any {{<tvar name=1>ll|snippets</tvar>|HTML and/or JavaScript}}.</translate>
<translate><!--T:43--> Disable with:</translate>
<code>$wgSkinCustomiserScripts = "";</code>
<translate>
====Scheme==== <!--T:44-->
<!--T:45-->
To configure the head script, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:46--> Leave untouched the first and last line with <tvar name=1>START_END_MARKER</tvar> stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</translate>
<translate><!--T:47--> '''Do not add whitespaces around the last line’s marker''', it would break it ([<tvar name=url>https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc</tvar> more details about this syntax]).</translate>
'''<translate><!--T:48--> Do add new line after.</translate>'''
<translate><!--T:49--> To add additional scripts, simply include them between the markers:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:50--> You may specify a name for the script too if needed, add the following after the installation line:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<translate>
====Examples==== <!--T:51-->
<!--T:60-->
Example (from <tvar name=1>{{ll|Extension:Google Analytics Integration}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<translate>
===Bottom Display=== <!--T:52-->
<!--T:53-->
<tvar name=1><code>$wgSkinCustomiserDisplayBottom</code></tvar> adds items at the end of a page, at the bottom but still within the content frame.
</translate>
<translate><!--T:54--> Disable with:</translate>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<translate>
====Example==== <!--T:55-->
</translate>
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<translate>
==See also== <!--T:56-->
</translate>
* {{ll|Extension:GlobalCssJs}}
<translate>
<!--T:57-->
The extension <tvar name=1>SkinCustomiser</tvar> combines functionality from
</translate>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
hfdp93xc368u6mqxk6icxe6lf6vfske
8390193
8390192
2026-05-24T21:01:19Z
~2026-24668-52
18359937
typo
8390193
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Customises existing {{<tvar name=1>ll|Manual:Skin</tvar>|skins}}.</translate> <translate><!--T:58--> Add Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki.</translate>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<translate><!--T:2--> The <tvar name=1>'''SkinCustomiser'''</tvar> customises existing {{<tvar name=2>ll|Manual:Skin</tvar>|skins}} for a complete {{<tvar name=3>ll|Manual:Wiki family</tvar>|wiki family}}.</translate>
<translate><!--T:3--> It adds Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki; and it translates individual entries in the {{<tvar name=5>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate>
==Background== <!--T:4-->
===Customising Skins=== <!--T:5-->
</translate>
{{tmpl|0=<translate><!--T:6--> MediaWiki skins can be customised in the files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate>
<!--T:7-->
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
<!--T:8-->
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
===Customising Sidebars=== <!--T:9-->
<!--T:10-->
Customisation also includes further entries via the {{<tvar name=1>ll|Manual:Interface/Sidebar</tvar>|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{<tvar name=2>ll|Localisation</tvar>|translated into other languages}}.
<!--T:11-->
This can be done by entering these labels and their translations in the {{<tvar name=1>ll|Localisation</tvar>|i18n}} files of this extension.
==Installation== <!--T:12-->
</translate>
* <translate><!--T:61--> First save your customised <tvar name=1><code>i18n/*.json</code></tvar>, <tvar name=2><code>resources/css/*.css</code></tvar> and <tvar name=3><code>resources/images/*</code></tvar> files.</translate>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<translate><!--T:13--> Configure as required.</translate>]]
}}
* <translate><!--T:62--> Restore your <tvar name=1><code>i18n/*.json</code></tvar>, <tvar name=2><code>resources/css/*.css</code></tvar> and <tvar name=3><code>resources/images/*</code></tvar> files.</translate>
<translate>
==Configuration== <!--T:14-->
<!--T:15-->
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}}.
===Skins=== <!--T:16-->
</translate>
{{tmpl|0=<translate><!--T:17--> MediaWiki skins can be customised in files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate><!--T:18--> However, if a {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</translate>
<translate><!--T:19--> If a different skin is used, the <tvar name=1><code>AnotherSkin.css</code></tvar> file must be renamed accordingly and this change must also be made in the <tvar name=2><code>extension.json</code></tvar> file.</translate>
# <translate><!--T:20--> In the file tree:</translate> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <translate><!--T:21--> In the <tvar name=1><code>extension.json</code></tvar> file:</translate> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <translate><!--T:22--> In the <tvar name=1><code>includes/Hooks.php</code></tvar> file:</translate> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<translate>
===Logo=== <!--T:23-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
====Skin vector-2022==== <!--T:24-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
===Sidebar=== <!--T:25-->
</translate>
<translate><!--T:26--> A {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} can be customised in the {{<tvar name=2>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate><!--T:27--> The customised labels and their translations can be managed in this way:</translate>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<translate>
<!--T:28-->
In addition, some standard messages from mediawiki can also be customised there.
<!--T:29-->
Customising the <tvar name=1><code>i18n/en.json</code></tvar> file:
</translate>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<translate><!--T:30--> For more details see:</translate>
{{ll|Localisation file format}}
<translate>
===Head data=== <!--T:31-->
</translate>
<translate><!--T:32--> Disable with:</translate>
<code>$wgSkinCustomiserHeadItems = [];</code>
<translate>
====Scheme==== <!--T:33-->
<!--T:34-->
To configure the head data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<translate>
===Meta data=== <!--T:35-->
</translate>
<translate><!--T:36--> Disable with:</translate>
<code>$wgSkinCustomiserMetaItems = [];</code>
<translate>
====Scheme==== <!--T:37-->
<!--T:38-->
To configure the head meta data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<translate>
====Examples==== <!--T:39-->
<!--T:59-->
Example (from <tvar name=1>{{ll|Extension:AgeClassification}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<translate>
===Scripts=== <!--T:40-->
</translate>
<translate><!--T:41--> One or more head scripts can be added to the wiki.</translate>
<translate><!--T:42--> The head scripts can consist of any {{<tvar name=1>ll|snippets</tvar>|HTML and/or JavaScript}}.</translate>
<translate><!--T:43--> Disable with:</translate>
<code>$wgSkinCustomiserScripts = "";</code>
<translate>
====Scheme==== <!--T:44-->
<!--T:45-->
To configure the head script, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:46--> Leave untouched the first and last line with <tvar name=1>START_END_MARKER</tvar> stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</translate>
<translate><!--T:47--> '''Do not add whitespaces around the last line’s marker''', it would break it ([<tvar name=url>https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc</tvar> more details about this syntax]).</translate>
'''<translate><!--T:48--> Do add new line after.</translate>'''
<translate><!--T:49--> To add additional scripts, simply include them between the markers:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:50--> You may specify a name for the script too if needed, add the following after the installation line:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<translate>
====Examples==== <!--T:51-->
<!--T:60-->
Example (from <tvar name=1>{{ll|Extension:Google Analytics Integration}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<translate>
===Bottom Display=== <!--T:52-->
<!--T:53-->
<tvar name=1><code>$wgSkinCustomiserDisplayBottom</code></tvar> adds items at the end of a page, at the bottom but still within the content frame.
</translate>
<translate><!--T:54--> Disable with:</translate>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<translate>
====Example==== <!--T:55-->
</translate>
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<translate>
==See also== <!--T:56-->
</translate>
* {{ll|Extension:GlobalCssJs}}
<translate>
<!--T:57-->
The extension <tvar name=1>SkinCustomiser</tvar> combines functionality from
</translate>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
kdbrhlya28jp3cxzrmkr1kodzqyfrwv
8390198
8390193
2026-05-24T21:24:04Z
Shirayuki
472859
Undid revision [[Special:Diff/8390192|8390192]] by [[Special:Contributions/~2026-24668-52|~2026-24668-52]] ([[User talk:~2026-24668-52|talk]])
8390198
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Customises existing {{<tvar name=1>ll|Manual:Skin</tvar>|skins}}.</translate> <translate><!--T:58--> Add Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki.</translate>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<translate><!--T:2--> The <tvar name=1>'''SkinCustomiser'''</tvar> customises existing {{<tvar name=2>ll|Manual:Skin</tvar>|skins}} for a complete {{<tvar name=3>ll|Manual:Wiki family</tvar>|wiki family}}.</translate>
<translate><!--T:3--> It adds Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki; and it translates individual entries in the {{<tvar name=5>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate>
==Background== <!--T:4-->
===Customising Skins=== <!--T:5-->
</translate>
{{tmpl|0=<translate><!--T:6--> MediaWiki skins can be customised in the files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate>
<!--T:7-->
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
<!--T:8-->
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
===Customising Sidebars=== <!--T:9-->
<!--T:10-->
Customisation also includes further entries via the {{<tvar name=1>ll|Manual:Interface/Sidebar</tvar>|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{<tvar name=2>ll|Localisation</tvar>|translated into other languages}}.
<!--T:11-->
This can be done by entering these labels and their translations in the {{<tvar name=1>ll|Localisation</tvar>|i18n}} files of this extension.
==Installation== <!--T:12-->
</translate>
* <translate><!--T:61--> First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code> and <code>resources/images/*</code> files.</translate>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<translate><!--T:13--> Configure as required.</translate>]]
}}
* <translate><!--T:62--> Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code> and <code>resources/images/*</code> files.</translate>
<translate>
==Configuration== <!--T:14-->
<!--T:15-->
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}}.
===Skins=== <!--T:16-->
</translate>
{{tmpl|0=<translate><!--T:17--> MediaWiki skins can be customised in files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate><!--T:18--> However, if a {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</translate>
<translate><!--T:19--> If a different skin is used, the <tvar name=1><code>AnotherSkin.css</code></tvar> file must be renamed accordingly and this change must also be made in the <tvar name=2><code>extension.json</code></tvar> file.</translate>
# <translate><!--T:20--> In the file tree:</translate> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <translate><!--T:21--> In the <tvar name=1><code>extension.json</code></tvar> file:</translate> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <translate><!--T:22--> In the <tvar name=1><code>includes/Hooks.php</code></tvar> file:</translate> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<translate>
===Logo=== <!--T:23-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
====Skin vector-2022==== <!--T:24-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
===Sidebar=== <!--T:25-->
</translate>
<translate><!--T:26--> A {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} can be customised in the {{<tvar name=2>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate><!--T:27--> The customised labels and their translations can be managed in this way:</translate>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<translate>
<!--T:28-->
In addition, some standard messages from mediawiki can also be customised there.
<!--T:29-->
Customising the <tvar name=1><code>i18n/en.json</code></tvar> file:
</translate>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<translate><!--T:30--> For more details see:</translate>
{{ll|Localisation file format}}
<translate>
===Head data=== <!--T:31-->
</translate>
<translate><!--T:32--> Disable with:</translate>
<code>$wgSkinCustomiserHeadItems = [];</code>
<translate>
====Scheme==== <!--T:33-->
<!--T:34-->
To configure the head data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<translate>
===Meta data=== <!--T:35-->
</translate>
<translate><!--T:36--> Disable with:</translate>
<code>$wgSkinCustomiserMetaItems = [];</code>
<translate>
====Scheme==== <!--T:37-->
<!--T:38-->
To configure the head meta data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<translate>
====Examples==== <!--T:39-->
<!--T:59-->
Example (from <tvar name=1>{{ll|Extension:AgeClassification}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<translate>
===Scripts=== <!--T:40-->
</translate>
<translate><!--T:41--> One or more head scripts can be added to the wiki.</translate>
<translate><!--T:42--> The head scripts can consist of any {{<tvar name=1>ll|snippets</tvar>|HTML and/or JavaScript}}.</translate>
<translate><!--T:43--> Disable with:</translate>
<code>$wgSkinCustomiserScripts = "";</code>
<translate>
====Scheme==== <!--T:44-->
<!--T:45-->
To configure the head script, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:46--> Leave untouched the first and last line with <tvar name=1>START_END_MARKER</tvar> stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</translate>
<translate><!--T:47--> '''Do not add whitespaces around the last line’s marker''', it would break it ([<tvar name=url>https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc</tvar> more details about this syntax]).</translate>
'''<translate><!--T:48--> Do add new line after.</translate>'''
<translate><!--T:49--> To add additional scripts, simply include them between the markers:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:50--> You may specify a name for the script too if needed, add the following after the installation line:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<translate>
====Examples==== <!--T:51-->
<!--T:60-->
Example (from <tvar name=1>{{ll|Extension:Google Analytics Integration}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<translate>
===Bottom Display=== <!--T:52-->
<!--T:53-->
<tvar name=1><code>$wgSkinCustomiserDisplayBottom</code></tvar> adds items at the end of a page, at the bottom but still within the content frame.
</translate>
<translate><!--T:54--> Disable with:</translate>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<translate>
====Example==== <!--T:55-->
</translate>
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<translate>
==See also== <!--T:56-->
</translate>
* {{ll|Extension:GlobalCssJs}}
<translate>
<!--T:57-->
The extension <tvar name=1>SkinCustomiser</tvar> combines functionality from
</translate>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
rozrrb1is98mmbmdde9nwfyowjvk7cm
8390199
8390198
2026-05-24T21:26:34Z
Shirayuki
472859
make untranslatable
8390199
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Customises existing {{<tvar name=1>ll|Manual:Skin</tvar>|skins}}.</translate> <translate><!--T:58--> Add Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki.</translate>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<translate><!--T:2--> The <tvar name=1>'''SkinCustomiser'''</tvar> customises existing {{<tvar name=2>ll|Manual:Skin</tvar>|skins}} for a complete {{<tvar name=3>ll|Manual:Wiki family</tvar>|wiki family}}.</translate>
<translate><!--T:3--> It adds Scripts and {{<tvar name=1>ll|Page metadata</tvar>|Meta data}} just before the <tvar name=2>{{tag|head|close}}</tvar> tag of the wiki; and it translates individual entries in the {{<tvar name=5>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate>
==Background== <!--T:4-->
===Customising Skins=== <!--T:5-->
</translate>
{{tmpl|0=<translate><!--T:6--> MediaWiki skins can be customised in the files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate>
<!--T:7-->
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
<!--T:8-->
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
===Customising Sidebars=== <!--T:9-->
<!--T:10-->
Customisation also includes further entries via the {{<tvar name=1>ll|Manual:Interface/Sidebar</tvar>|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{<tvar name=2>ll|Localisation</tvar>|translated into other languages}}.
<!--T:11-->
This can be done by entering these labels and their translations in the {{<tvar name=1>ll|Localisation</tvar>|i18n}} files of this extension.
==Installation== <!--T:12-->
</translate>
* <translate><!--T:61--> First save your customised <tvar name=1><code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code></tvar> files.</translate>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<translate><!--T:13--> Configure as required.</translate>]]
}}
* <translate><!--T:62--> Restore your <tvar name=1><code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code></tvar> files.</translate>
<translate>
==Configuration== <!--T:14-->
<!--T:15-->
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}}.
===Skins=== <!--T:16-->
</translate>
{{tmpl|0=<translate><!--T:17--> MediaWiki skins can be customised in files <tvar name=1>$1</tvar> respectively.</translate>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<translate><!--T:18--> However, if a {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</translate>
<translate><!--T:19--> If a different skin is used, the <tvar name=1><code>AnotherSkin.css</code></tvar> file must be renamed accordingly and this change must also be made in the <tvar name=2><code>extension.json</code></tvar> file.</translate>
# <translate><!--T:20--> In the file tree:</translate> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <translate><!--T:21--> In the <tvar name=1><code>extension.json</code></tvar> file:</translate> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <translate><!--T:22--> In the <tvar name=1><code>includes/Hooks.php</code></tvar> file:</translate> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<translate>
===Logo=== <!--T:23-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
====Skin vector-2022==== <!--T:24-->
</translate>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<translate>
===Sidebar=== <!--T:25-->
</translate>
<translate><!--T:26--> A {{<tvar name=1>ll|Manual:Wiki family</tvar>|wiki farm}} can be customised in the {{<tvar name=2>ll|Manual:Interface/Sidebar</tvar>|sidebar}}.</translate>
<translate><!--T:27--> The customised labels and their translations can be managed in this way:</translate>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<translate>
<!--T:28-->
In addition, some standard messages from mediawiki can also be customised there.
<!--T:29-->
Customising the <tvar name=1><code>i18n/en.json</code></tvar> file:
</translate>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<translate><!--T:30--> For more details see:</translate>
{{ll|Localisation file format}}
<translate>
===Head data=== <!--T:31-->
</translate>
<translate><!--T:32--> Disable with:</translate>
<code>$wgSkinCustomiserHeadItems = [];</code>
<translate>
====Scheme==== <!--T:33-->
<!--T:34-->
To configure the head data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<translate>
===Meta data=== <!--T:35-->
</translate>
<translate><!--T:36--> Disable with:</translate>
<code>$wgSkinCustomiserMetaItems = [];</code>
<translate>
====Scheme==== <!--T:37-->
<!--T:38-->
To configure the head meta data, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<translate>
====Examples==== <!--T:39-->
<!--T:59-->
Example (from <tvar name=1>{{ll|Extension:AgeClassification}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<translate>
===Scripts=== <!--T:40-->
</translate>
<translate><!--T:41--> One or more head scripts can be added to the wiki.</translate>
<translate><!--T:42--> The head scripts can consist of any {{<tvar name=1>ll|snippets</tvar>|HTML and/or JavaScript}}.</translate>
<translate><!--T:43--> Disable with:</translate>
<code>$wgSkinCustomiserScripts = "";</code>
<translate>
====Scheme==== <!--T:44-->
<!--T:45-->
To configure the head script, add the following to <tvar name=1>LocalSettings.php</tvar> after the installation line:
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:46--> Leave untouched the first and last line with <tvar name=1>START_END_MARKER</tvar> stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</translate>
<translate><!--T:47--> '''Do not add whitespaces around the last line’s marker''', it would break it ([<tvar name=url>https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc</tvar> more details about this syntax]).</translate>
'''<translate><!--T:48--> Do add new line after.</translate>'''
<translate><!--T:49--> To add additional scripts, simply include them between the markers:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<translate><!--T:50--> You may specify a name for the script too if needed, add the following after the installation line:</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<translate>
====Examples==== <!--T:51-->
<!--T:60-->
Example (from <tvar name=1>{{ll|Extension:Google Analytics Integration}}</tvar>):
</translate>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<translate>
===Bottom Display=== <!--T:52-->
<!--T:53-->
<tvar name=1><code>$wgSkinCustomiserDisplayBottom</code></tvar> adds items at the end of a page, at the bottom but still within the content frame.
</translate>
<translate><!--T:54--> Disable with:</translate>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<translate>
====Example==== <!--T:55-->
</translate>
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<translate>
==See also== <!--T:56-->
</translate>
* {{ll|Extension:GlobalCssJs}}
<translate>
<!--T:57-->
The extension <tvar name=1>SkinCustomiser</tvar> combines functionality from
</translate>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
kek2ubjate4tn004kbw493yg6aaekbd
Extension:RefreshSiteStatsTable
102
1277585
8390219
8350335
2026-05-24T22:52:53Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-24668-52|~2026-24668-52]] ([[User talk:~2026-24668-52|talk]]) to last version by Tactica
8131545
wikitext
text/x-wiki
<languages/>
{{Extension
|status = stable
|type1 = special
|username = WikiForMen
|author = WikiMANNia
|description = <translate><!--T:1--> Offers a special page for refreshing the values in the <tvar name=1>{{ll|Manual:site_stats table|site_stats}}</tvar> table.</translate>
|image =
|imagesize =
|version = 1.3.2
|update = 2025-01-04
|version preview =
|update preview =
|mediawiki = 1.25+
|php = 5.6+
|needs-updatephp = No
|composer =
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|MediaWiki-Extension-RefreshSiteStatsTable}}
|readme =
|changelog =
|example =
|namespace =
|parameters =
|tags =
|rights =
|compatibility =
}}
<translate>
<!--T:3-->
The <tvar name=1>'''RefreshSiteStatsTable'''</tvar> extension provides a special page for refreshing the value of the fields <tvar name=2>ss_good_articles, ss_total_pages, ss_images, ss_users</tvar> in the <tvar name=3>{{ll|Manual:site_stats table|site_stats}}</tvar> table.
==Installation== <!--T:4-->
</translate>
{{ExtensionInstall
|registration=required
}}
<translate>
== Tested == <!--T:5-->
</translate>
<translate><!--T:6--> The extension was tested with the following MediaWiki versions:</translate>
1.25, 1.31, 1.33, 1.35.14, 1.36, 1.37, 1.38.4, 1.39.11, 1.40.2, 1.41.2, 1.42.3, 1.43.0
<translate>
== See also == <!--T:2-->
</translate>
* {{ll|Manual:site stats table}}
* {{ll|Manual:initSiteStats.php|initSiteStats.php}} maintenance script
r4rjto9s5k05ebgkpg2tfed1hbf8ie6
Extension:AgeClassification/de
102
1400602
8390217
8350410
2026-05-24T22:52:47Z
Clump
81610
Low quality/machine translation: Mass deletion of pages added by [[Special:Contributions/~2026-24668-52|~2026-24668-52]]
8390217
wikitext
text/x-wiki
<languages/>
{{Extension
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterPortlet
|hook3 = SkinBuildSidebar
|username = WikiForMen
|author = WikiMANNia
|description = Die Altersklassifizierung von der „[https://www.altersklassifizierung.de Freiwillige Selbstkontrolle Multimedia-Diensteanbieter e.V.]“ (FSM)
|image = Extension-AgeClassification.png
|version = 1.8.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|MediaWiki-Extension-AgeClassification|translatewiki=0}}
|parameters =
* $wgAgeClassificationButton
* $wgAgeClassificationButtonURL
* $wgAgeClassificationMetaName
* $wgAgeClassificationMetaContent
}}
Die '''AgeClassification'''-Erweiterung ermöglicht das Hinzufügen von Metadaten und eines Identifikationsbuttons für die Altersklassifizierung von „[https://www.altersklassifizierung.de Freiwillige Selbstkontrolle Multimedia-Diensteanbieter e.V.]“ (FSM) in der {{ll|sidebar}} eines Wikis.
<span id="Use"></span>
== Verwendung ==
Die Erweiterung installieren und für die Einrichtung in der LocalSettings.php das FSM-Handbuch lesen.
== Installation ==
<div lang="en" dir="ltr" class="mw-content-ltr">
For recent versions of MediaWiki (1.35+), use the following instruction:
</div>
{{ExtensionInstall
|registration=yes
|download-link=<span lang="en" dir="ltr" class="mw-content-ltr">Check-out the sources with <code>git clone https://github.com/WikiMANNia/MediaWiki-Extension-AgeClassification.git</code></span>
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Installation for older versions of MediaWiki ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For MediaWiki 1.25-1.34, replace the above-mentioned <code>git clone</code> command with the following:
</div>
<code>git clone -b REL1_25 https://github.com/WikiMANNia/MediaWiki-Extension-AgeClassification.git</code>
<span id="Configuration_options"></span>
=== Weitere Konfigurationseinstellungen ===
<span id="Button"></span>
=== Schaltfläche ===
* Den AgeClassificationButton aktivieren oder deaktivieren:
** true = aktiviert
** false = deaktiviert <span lang="en" dir="ltr" class="mw-content-ltr">(default)</span>
<syntaxhighlight lang="php">
$wgAgeClassificationButton = false;
</syntaxhighlight>
* Einen Link zur Altersklassifizierungsseite setzen.
<syntaxhighlight lang="php">
$wgAgeClassificationButtonURL = "https://www.altersklassifizierung.de";
</syntaxhighlight>
<span id="MetaData"></span>
=== Metadaten ===
Die Metadaten für die Altersklassifizierung setzen.
<syntaxhighlight lang="php">
$wgAgeClassificationMetaName = "age-de-meta-label";
$wgAgeClassificationMetaContent = "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all";
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:AgeClassification/Age classification|2=<span lang="en" dir="ltr" class="mw-content-ltr">Age classification</span>}}
* {{ll|Extension:AgeClassification/Age classification (Germany)|2=<span lang="en" dir="ltr" class="mw-content-ltr">Age classification (Germany)</span>}}
<span id="Remarks"></span>
== Anmerkungen ==
* Zweig REL1_25 funktioniert ab {{ll|MediaWiki 1.25|REL1_25}} und wurde bis zur MediaWiki-Version {{ll|MediaWiki 1.37|REL1_37}} getestet.
* Zweig REL1_35 funktioniert ab {{ll|MediaWiki 1.35|REL1_35}} und wurde bis zur MediaWiki-Version {{ll|MediaWiki 1.43|REL1_43}} getestet.
* Diese Erweiterung wurde mit den folgenden MediaWiki-Versionen getestet: 1.35.14, 1.39.11, 1.40.2, 1.41.2, 1.42.3, 1.43.0
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.5 has some refactoring:</span>
*:* <span lang="en" dir="ltr" class="mw-content-ltr">Changed "configuration schema", replaced manifest version 1 with version 2 and changed the prefix of the configuration variables from default to <code>wm</code>.</span>
*:* <span lang="en" dir="ltr" class="mw-content-ltr">Replaced class <code>AgeClassificationHooks</code> (extends "Hooks") with class implements interfaces.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.5.1 adds a dirty hack for skin {{ll|Skin:Timeless|Timeless}}.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.6.0 has added support for skin {{ll|Skin:Monaco|Monaco}}.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.6.1 changed the prefix of the configuration variables back to <code>wg</code>.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.7.0 has added support for skin {{ll|Skin:Citizen|Citizen}}.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.7.1 added compatibility with MediaWiki v1.44.</span>
fdyy2txxbhes43ns424fizxp36x1byc
Phabricator/Code/fr
0
1411541
8390476
8034931
2026-05-25T10:02:26Z
FuzzyBot
451990
Updating to match new version of source page
8390476
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
k1bf9cauqb6vsbz6xkm3u78hxrkvkde
Phabricator/Code/uk
0
1454489
8390488
8034943
2026-05-25T10:02:32Z
FuzzyBot
451990
Updating to match new version of source page
8390488
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
k1bf9cauqb6vsbz6xkm3u78hxrkvkde
Phabricator/Code/nan
0
1479698
8390480
8034933
2026-05-25T10:02:28Z
FuzzyBot
451990
Updating to match new version of source page
8390480
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<span id="Phabricator_at_Wikimedia"></span>
== Teh Uikimitia ê Phabricator ==
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Uikimitia Phabricator tshò-ngōo kang-tsok liû-tîng ==
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== Kio̍k-pōo piàn-huà ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<span id="Site_configuration"></span>
== Uī-tì phuè-tī ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<span id="Setting_up"></span>
== Siat-tīng ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Thong-kuè URL kia̍t-tshú Phabricator ê si̍t-lē: http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<span id="Using_a_Cloud_VPS_VM"></span>
<div class="mw-translate-fuzzy">
=== Sú-iōng si̍t-giām-sik (SGS) hi-gí-ki (HK) ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Uì Bugzilla, RT, Mingle, Trello kàu Phabricator ê î-suá tāi-bé ==
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
Iú-kuan siông-sè sìn-sit, tshiánn tsham-ua̍t [[phab:T821]].
[[Category:Phabricator{{#translation:}}]]
28u5artidrre4clcn8jmuufgpkvr3fv
Extension:DonateButton/de
102
1481285
8390216
8350406
2026-05-24T22:52:47Z
Clump
81610
Low quality/machine translation: Mass deletion of pages added by [[Special:Contributions/~2026-24668-52|~2026-24668-52]]
8390216
wikitext
text/x-wiki
<languages/>
{{Extension
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterPortlet
|hook3 = SkinBuildSidebar
|username = WikiForMen
|author = WikiMANNia
|description = Schaltfläche mit Link zu einer Spendenseite hinzufügen
|image = Extension-DonateButton.png
|imagesize =
|version = 1.9.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|composer =
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|MediaWiki-Extension-DonateButton}}
|readme =
|changelog =
|example =
|namespace =
|parameters =
* $wgDonateButton
* $wgDonateButtonEnabledPaypal
* $wgDonateButtonPaypalId
* $wgDonateButtonPaypalUrl
* $wgDonateButtonURL
* $wgDonateButtonLangs
|tags =
|compatibility =
}}
Die Erweiterung '''DonateButton''' ermöglicht das Hinzufügen eines Buttons mit Link zu einer Spendenseite in der {{ll|Manual:Interface/Sitenotice|Navigationsleiste}} eines Wikis.
Das Bild des Buttons wird automatisch an die gewählte Sprache angepasst.
<span id="Use"></span>
== Verwendung ==
Die Erweiterung installieren und die in {{phpi|$wgDonateButtonFilename}} angegebene Datei in das Wiki hochladen.
Durch Eingabe von <code>* donatebutton</code> in das Feld {{ll|Manual:Interface/Sidebar|MediaWiki:Sidebar}} kann die Schaltfläche individuell platziert werden.
== Installation ==
<div lang="en" dir="ltr" class="mw-content-ltr">
For recent versions of MediaWiki (1.35+), use the following instruction:
</div>
{{ExtensionInstall
|registration=yes
|download-link=<span lang="en" dir="ltr" class="mw-content-ltr">Check-out the sources with <code>git clone https://github.com/WikiMANNia/MediaWiki-Extension-DonateButton.git</code></span>
}}
=== Installation for older versions of MediaWiki ===
For MediaWiki 1.25-1.34, replace the above-mentioned "git clone" command with the following:
<code>git clone -b REL1_25 https://github.com/WikiMANNia/MediaWiki-Extension-DonateButton.git</code>
<span id="Configuration_options"></span>
=== Konfiguration ===
DonateButton aktivieren.
Der Standardwert ist {{phpi|false}}.
<syntaxhighlight lang="php">
$wgDonateButton = true;
</syntaxhighlight>
Ein Bild mit diesem Namen sollte auf jedes Wiki der Wikifarm hochgeladen werden.
* Den Link zu einer Spendenseite angeben.
<syntaxhighlight lang="php">
$wgDonateButtonURL = "https://example.org/yourdonationpage.php?lang=";
</syntaxhighlight>
Die URL wird automatisch durch den Code der vom Benutzer gewählten Sprache oder alternativ durch die Variable {{ll|Manual:$wgLanguageCode|$wgLanguageCode}} ergänzt.
<span id="Localisation"></span>
== Lokalisierung ==
Die Erweiterung ist in "de", "en", "es", "fr", "he", "it", "nl", "pt", "ru" verfügbar.
<span id="Remarks"></span>
== Anmerkungen ==
* Zweig REL1_25 funktioniert ab {{ll|MediaWiki 1.25|REL1_25}} und wurde bis zur MediaWiki-Version {{ll|MediaWiki 1.37|REL1_37}} getestet.
* Zweig REL1_35 funktioniert ab {{ll|MediaWiki 1.35|REL1_35}} und wurde bis zur MediaWiki-Version {{ll|MediaWiki 1.43|REL1_43}} getestet.
* Diese Erweiterung wurde mit den folgenden MediaWiki-Versionen getestet: 1.35.14, 1.39.11, 1.40.2, 1.41.2, 1.42.3, 1.43.0
* Konfiguration eines Spendenlinks in Skin {{ll|Skin:Minerva Neue#Donation|Minerva Neue}}.
* <span lang="en" dir="ltr" class="mw-content-ltr">Version 1.5 has some Refactoring:</span>
*: <span lang="en" dir="ltr" class="mw-content-ltr">Changed “configuration schema”, replaced manifest version 1 with version 2 and changed the prefix of the configuration variables from default to <code>wm</code>.</span>
*: <span lang="en" dir="ltr" class="mw-content-ltr">Replaced class “DonateButtonHooks” (extends “Hooks”) with class implements interfaces.</span>
* Version 1.5.1 adds a dirty hack for skin <code>[[Skin:Timeless|Timeless]]</code>.
* Version 1.6.0 has added support for skin <code>[[Skin:Monaco|Monaco]]</code>.
* Version 1.6.1 changed the prefix of the configuration variables back to <code>wg</code>.
* Version 1.7.0 has added support for skin <code>[[Skin:Citizen|Citizen]]</code>.
[[Category:Extensions supporting fundraising and donations{{#translation:}}]]
ebwbmnfwgzsettdiqsn9q7byww758t5
Phabricator/Code/de
0
1585999
8390472
8034927
2026-05-25T10:02:25Z
FuzzyBot
451990
Updating to match new version of source page
8390472
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<span id="Site_configuration"></span>
== Seitenkonfiguration ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<span id="Setting_up"></span>
== Einrichten ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
Siehe [[phab:T821]] für weitere Informationen.
[[Category:Phabricator{{#translation:}}]]
tlespik8cp9gtghvjrhbsyr9qhmlhey
Phabricator/Code/ru
0
1659468
8390485
8034940
2026-05-25T10:02:31Z
FuzzyBot
451990
Updating to match new version of source page
8390485
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Local changes ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
k1bf9cauqb6vsbz6xkm3u78hxrkvkde
Phabricator/Code/nl
0
1706021
8390481
8036554
2026-05-25T10:02:29Z
FuzzyBot
451990
Updating to match new version of source page
8390481
wikitext
text/x-wiki
<languages />
Dit document beschrijft het ontwikkelproces van deze [[phab:|Wikimedia's Phabricator]] instantie. [[w:Phabricator|Phabricator]] is geschreven in [[:nl:PHP|PHP]], net als [[:nl:MediaWiki|MediaWiki]], dat zou het starten met het ontwikkelen moeten helpen.
We kijken eerst hoe Wikimedia Phabricator gebruikt en wat we bij de ontwikkeling verwachten.
Achteraf maken we dan wat opmerkingen over hoe we beginnen met de actuele ontwikkeling.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator op de Wikimedia ==
Wikimedia gebruikt een Phorge (voorheen bekend als Phabricator) instantie met minimale wijzigingen van stroomopwaarts omdat het onderhouden van lokale patches omslachtig is.
De uitzonderingen zijn de ''extensies'', die in productie in een [[https://gitlab.wikimedia.org/repos/phabricator/extensions/|afzonderlijke repository]] staan en dus niet regelmatig samengevoegd hoeven te worden.
<span class="mw-translate-fuzzy">Alle andere wijzigingen worden dus via de upstream gedaan. Dit lijkt een beperking, maar in de praktijk reageren de upstream beheerders erg vlot op suggesties.</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Wikimedia Phabricator werkschema fouten ==
Het is belangrijk om de levensduur van een bug te begrijpen voor aan een van de taken te beginnen. Er zijn twee projecten:
[[phab:project/profile/5/|#phabricator]] voor WMF-specifieke bugs en
[[phab:project/profile/6/|#phabricator-upstream]] voor algemene Phabricator/Phorge bugs. Software bugs en uitbreidingsverzoeken vallen in de tweede categorie.
Het Phabricator-upstream werkbord toont het proces dat door taken wordt doorlopen voordat ze upstream aangemaakt worden:
; Backlog: dit is waar standaard de taken komen te staan. Geweigerde (stalled) taken staan daar ook.
: Klaar om te gaan: taken die mogelijk in de [https://we.phorge.it/ bug tracker] kunnen gaan. Wanneer u dit doet, moet u volgenː
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Richtlijnen Phorge voor bugrapporten]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Richtlijnen Phorge voor functieverzoeken]
; Upstreamed: Taken die upstream zijn gerapporteerd.
; Opgelost upstream: De bijbehorende upstream taak is gesloten, waarschijnlijk met een bijbehorende commit. Om deze specifieke verandering in Wikimedia Phabricator te weerspiegelen, kan het nog steeds nodig zijn om een upgrade in Wikimedia te plannen.
Nadat een taak als 'upstreamed' is gepubliceerd, dan geeft die ontwikkelaar hun beoordeling door met suggesties over hoe de functie moet worden geïmplementeerd.
''De ontwikkelaar kan nu beginnen met de implementatie.''
Een ontwikkelaar kan besluiten dat een functie niet in diens plannen past.
De taak in Wikimedia Phabricator wordt dan verplaatst van het #phabricator-upstream project nar het #phabricator project, het eindigt dan in de de discussie fase: is die functie belangrijk genoeg om lokale patches te blijven krijgen?
Als er een beslissing valt dat dat zo is, kan er iemand met de implementatie beginnen.
Om de kans te verhogen dat uw code wordt goedgekeurd en om ongemakken te voorkomen, neem contact op met Phorge of de WMF-beheerders om over een mogelijke implementatie te praten.
<span id="Contact_Phorge_(upstream)"></span>
== Contract Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Stel een nieuwe vraag over Phorge]
* [https://we.phorge.it/ponder/ Bekijk vragen en antwoorden over Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Bekijk de tag #affects-wikimedia in Phorge]
<span id="Local_changes"></span>
== Lokale aanpassingen ==
Zoals eerder aangegeven proberen we de lokale patches tot een minimum te beperken.
Er zijn beperkte bronnen beschikbaar om patches te onderhouden en ze samen te voegen met wijzigingen van upstream.
Daarom moeten alle lokale patches eerst besproken worden in het project #phabricator.
Het onderhouden van een phabricator extensie is veel minder werk,als tenminste het gebruik van nieuwe of onstabiele API's van de Phabricator's core wordt voorkomen.
Ook al is er bij extensies geen spraken van het samenvoegen van code en mogelijke code conflicten, er is natuurlijk wel elke keer testen nodig bij wijzigingen in de upstream.
Phorge heeft geen 'bevroren' API's waar u dus veilig van afhankelijk kan zijn omdat er geen aanpassingen meer aan worden gedaan.
De huidige code van de Wikimedia Phabricator instantie zelf:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
De huidige lokaal onderhouden extensies zijn:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Meerdere aanpassingen in een code repository], zoals de MediaWiki OAuth extensie (niet geüpstreamd; zie de verschillen in revisies en commits op https://secure.phabricator.com/T5096), code gerelateerd aan beveiliging, het velde MediaWiki Userpage op de Phabricator gebruikerspagina's, enz.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalisme], nog steeds in Gerrit en te verhuizen naar GitLab.
<span id="Site_configuration"></span>
== Website configuratie ==
De meeste configuratie kan via de webinterface worden gedaan. Standaardwaarden (gedeeld tussen https://phabricator.wikimedia.org en bijvoorbeeld https://phabricator.wmcloud.org/) worden ingesteld met behulp van de [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] of het [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap sjabloon] (zie [[phab:T239355]]).
<span id="Setting_up"></span>
== Instellen ==
Zie [[Phabricator/Local Dev Environment]].
Een andere manier om het in te stellen is met gebruik van [[MediaWiki-Vagrant|MediaWiki-Vagrant]] via de rol 'phabricator'. Volg de stappen op [[MediaWiki-Vagrant]] om dat te installeren, schakel daarna die phabricator rol in met
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Toegang tot de Phabricator met de URL: http://phabricator.local.wmftest.net:8080/
* De installatie van Phabricator staat op `/srv/phabricator/` (?) op de VM.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Cloud VPS VM gebruiken ===
Als u weet hoe een VM kunt draaien op Cloud VPS en daarvoor de rechten heeft, dan kunt u een instantie met de `phabricator::labs` rol aanmaken. Dan heeft u een basis instelling met dezelfde configuratie als https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migratie code van Bugzilla, RT, Mingle, Trello naar Phabricator ==
De scripts die Wikimedia heeft gebruikt voor de [[phab:diffusion/PHTO/browse/|migratie van gegevens van Bugzilla en RT naar Phabricator]] is beschikbaar.
Deze migratie code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ niet foutenvrij], het is alleen geschreven en gebruikt voor specifieke configuraties van Wikimedia's hulpmiddelen.
Er zijn gegevens gemigreerd uit Mingle naar Phabricator met een script beschikbaar in [[phab:P129]].
Ook de scripts die gegevens uit Trello naar Phabricator overgezet hebben zijn beschikbaar.
Zie [[phab:T821]] voor meer informatie.
[[Category:Phabricator{{#translation:}}]]
61uzf5zbnzyiq3v4bdczqf4gdeucwel
Template:Extension/popularity.json
10
1724901
8390097
8387979
2026-05-24T15:14:10Z
Bawolff bot
13724180
Resyncing from WikiApiary and Graphite
8390097
json
application/json
{
"extensions": {
"3D": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 806
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 104
}
},
"PluggableSSO": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 106
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 287
}
},
"PhpHighlight": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"PhpTags": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 95
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 298
}
},
"PhpTagsFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 52
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 338
}
},
"PhpTagsSMW": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"PhpTagsStorage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"PhpTagsWidgets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"PhpTagsWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"PictureGame": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"PipeEscape": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 91
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 300
}
},
"PlaceNewSection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"PluggableAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15226
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 1
}
},
"Poem": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 652
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 124
},
"siteCount": 10039,
"siteCountRank": 10,
"siteCountStandalone": 1660
},
"Phonos": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 91
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 300
}
},
"Poll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 45
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 344
}
},
"PollNY": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 40
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 349
}
},
"Polyglot": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 91
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 300
}
},
"PopcornEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"PopupAlerts": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 33
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 356
}
},
"Popups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4186
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 17
},
"siteCount": 947,
"siteCountRank": 282,
"siteCountStandalone": 216
},
"PreToClip": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 273
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 204
}
},
"PreferencesList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"Prezi": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"PrincePDF": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"PrivateDomains": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"PrivatePageProtection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"PhotoSwipe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 24
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 365
}
},
"PhabTaskGraph": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"ProofreadPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 424
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 158
}
},
"PageViewInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 371
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 169
},
"siteCount": 867,
"siteCountRank": 295,
"siteCountStandalone": 13
},
"PageLanguage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"PageMagic": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"PageNameFormula": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"PageNotice": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 385
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 167
}
},
"PageOwnership": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 379
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 168
}
},
"PagePermissions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 167
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 249
}
},
"PagePopups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"PagePort": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"PageProperties": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 483
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 146
}
},
"PageSchemas": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 259
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 209
}
},
"PageTools": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 51
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 339
}
},
"PageTriage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 190
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 237
}
},
"PageViewInfoGA": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"Petition": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"PagedTiffHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 307
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 190
},
"siteCount": 922,
"siteCountRank": 261,
"siteCountStandalone": 49
},
"PagesList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 118
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 276
}
},
"PaginateText": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"PanScroll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"ParentPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 377
}
},
"ParserFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5101
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 10
},
"siteCount": 15766,
"siteCountRank": 1,
"siteCountStandalone": 6479
},
"ParserMigration": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 106
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 287
}
},
"PasswordlessLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"Patroller": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 79
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 312
}
},
"PdfHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2604
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 32
},
"siteCount": 3441,
"siteCountRank": 185,
"siteCountStandalone": 904
},
"PerPageLanguage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 39
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 350
}
},
"PerPageLicense": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"PronunciationRecording": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"Prop": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"PageImages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1639
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 55
},
"siteCount": 2271,
"siteCountRank": 190,
"siteCountStandalone": 309
},
"Report": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 83
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 308
}
},
"RefreshSpecial": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 42
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 347
},
"siteCount": 1215,
"siteCountRank": 229,
"siteCountStandalone": 12
},
"RegexBlock": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 43
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 346
},
"siteCount": 1100,
"siteCountRank": 254,
"siteCountStandalone": 1
},
"RegexFun": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 79
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 312
}
},
"RegexFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 205
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 228
}
},
"RegularTooltips": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 138
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 262
}
},
"RelMicroformat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"RelatedArticles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 952
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 88
}
},
"RelatedSites": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"Renameuser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1579
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 57
},
"siteCount": 2451,
"siteCountRank": 182,
"siteCountStandalone": 1579
},
"ReplaceSet": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"ReplaceText": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1382
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 67
}
},
"ReportIncident": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"Recoin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"RevisionSlider": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 982
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 86
},
"siteCount": 957,
"siteCountRank": 262,
"siteCountStandalone": 32
},
"RightFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 65
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 325
}
},
"S5SlideShow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"SVGEdit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 97
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 296
}
},
"SacredText": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"SafeDelete": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"Sanctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"SandboxLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 696
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 115
}
},
"Sarcasm": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"SaveSpinner": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 94
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 299
}
},
"Score": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 289
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 197
},
"siteCount": 918,
"siteCountRank": 266,
"siteCountStandalone": 19
},
"Screenplay": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"RedirectManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 51
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 339
}
},
"ReassignEdits": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"PropertySuggester": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"QuickSurveys": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 61
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 329
}
},
"ProtectSite": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 105
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 288
}
},
"ProtectionIndicator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 37
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 352
}
},
"PurgeClickThrough": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"Push": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 54
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 336
}
},
"PushAll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"PushToWatch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"PwnedPasswords": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"Quantcast": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"QuickGV": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"QuickInstantCommons": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 534
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 141
}
},
"QuickResponse": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"QuickSearchLookup": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 43
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 346
}
},
"Quiz": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 400
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 162
}
},
"Realnames": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 288
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 198
}
},
"QuizGame": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 37
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 352
}
},
"RSS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 722
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 111
},
"siteCount": 1561,
"siteCountRank": 202,
"siteCountStandalone": 196
},
"RandomArea": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 19
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 370
}
},
"RandomGameUnit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"RandomImage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 183
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 240
},
"siteCount": 5812,
"siteCountRank": 32,
"siteCountStandalone": 98
},
"RandomImageByCategory": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 64
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 326
}
},
"RandomInCategory": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 72
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 318
}
},
"RandomPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 41
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 348
}
},
"RandomSelection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 405
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 160
},
"siteCount": 7190,
"siteCountRank": 19,
"siteCountStandalone": 165
},
"ReadAloud": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"ReadingLists": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 82
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 309
},
"siteCount": 859,
"siteCountRank": 305,
"siteCountStandalone": 2
},
"RealMe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
}
},
"PageInCat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 41
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 348
}
},
"PageForms": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1552
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 60
}
},
"ScrollableTables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"MultiBoilerplate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 299
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 192
}
},
"MobileFrontendContentProvider": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"Model": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"Monstranto": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"MontserratFont": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"Mpdf": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 476
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 147
}
},
"MsCalendar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 672
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 119
}
},
"MsCatSelect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 210
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 225
}
},
"MsInsert": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 56
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 334
}
},
"MsLinks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 220
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 221
}
},
"MsUpload": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3518
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 23
},
"siteCount": 6278,
"siteCountRank": 28,
"siteCountStandalone": 451
},
"MsWikiEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 95
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 298
}
},
"MultiLanguageManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 297
}
},
"MobileDetect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 594
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 131
}
},
"MultiMail": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"MultiMaps": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 117
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 277
}
},
"MultimediaPlayer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 87
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 304
}
},
"MultimediaViewer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2072
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 47
},
"siteCount": 1926,
"siteCountRank": 195,
"siteCountStandalone": 719
},
"MusicBrainzAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"MyVariables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 453
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 154
}
},
"NCBITaxonomyLookup": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"NSFileRepo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 181
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 241
}
},
"NamespaceHTML": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 66
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 324
}
},
"NamespacePaths": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"NamespacePopups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"NamespaceRelations": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 36
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 353
}
},
"MobileFrontend": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10438
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 5
},
"siteCount": 9025,
"siteCountRank": 12,
"siteCountStandalone": 962
},
"MobileApp": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 538
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 139
},
"siteCount": 909,
"siteCountRank": 267,
"siteCountStandalone": 34
},
"NativeSvgHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2400
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 36
}
},
"MediaSpoiler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"Maintenance": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 237
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 214
},
"siteCount": 1327,
"siteCountRank": 222,
"siteCountStandalone": 103
},
"MaintenanceShell": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 221
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 220
}
},
"MapSources": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
}
},
"MarkAsHelpful": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"MassEditRegex": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 577
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 135
}
},
"MassMessage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 548
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 138
},
"siteCount": 1039,
"siteCountRank": 257,
"siteCountStandalone": 29
},
"MassMessageEmail": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"Math": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3227
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 27
},
"siteCount": 7934,
"siteCountRank": 18,
"siteCountStandalone": 719
},
"MathSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"MediaFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 52
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 338
}
},
"MediaModeration": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 62
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 328
},
"siteCount": 908,
"siteCountRank": 292,
"siteCountStandalone": 0
},
"MediaSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 122
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 272
}
},
"MediaUploader": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 193
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 235
}
},
"MixedNamespaceSearchSuggestions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 89
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 302
}
},
"MediaWikiChat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 291
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 196
}
},
"MediaWikiFarm": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 159
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 254
}
},
"MenuEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 179
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 243
}
},
"MergeArticles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"MessageCommons": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
},
"siteCount": 1141,
"siteCountRank": 239,
"siteCountStandalone": 2
},
"MetaMaster": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 64
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 326
}
},
"Metadata": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"MetricsPlatform": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"MiniInvite": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"MinimumNameLength": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"MintyDocs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"MissedPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"NamespaceSidebar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"NaturalLanguageList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"PageExchange": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"OpenLayers": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 110
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 283
}
},
"OOJSPlus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1332
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 68
}
},
"OOJsUIAjaxLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"ORES": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 98
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 295
}
},
"OdbcDatabase": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"OnlineStatus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"OnlineStatusBar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"OnlyRecentRecentChanges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"OpenBadges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"OpenGraphMeta": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 472
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 148
},
"siteCount": 5841,
"siteCountRank": 30,
"siteCountStandalone": 128
},
"OpenID": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"OpenIDConnect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3057
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 30
}
},
"OpenJsCad": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"OpenStackManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"OAuthAuthentication": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"OrphanedTalkPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"OurWorldInData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"PCRGUIInserts": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"PDFCreator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"PDFEmbed": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 97
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 296
}
},
"PGFTikZ": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 377
}
},
"PageAssessments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
}
},
"PageAuthors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 69
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 321
}
},
"PageCheckout": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"PageCreationNotif": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"PageDisqus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"PageEncryption": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"OAuthRateLimiter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"OAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1080
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 79
},
"siteCount": 982,
"siteCountRank": 246,
"siteCountStandalone": 28
},
"NavigationTiming": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
},
"siteCount": 846,
"siteCountRank": 308,
"siteCountStandalone": 0
},
"Newsletter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 125
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 270
}
},
"NaylorAMS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"NearbyPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 178
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 244
}
},
"Negref": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"NetworkAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 134
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 264
}
},
"NetworkSession": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"NewSignupPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 87
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 304
},
"siteCount": 1176,
"siteCountRank": 232,
"siteCountStandalone": 15
},
"NewUserActions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"NewUserMessage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 176
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 246
}
},
"NewUserNotif": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 80
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 311
}
},
"NewestPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 891
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 92
}
},
"NewsBox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 81
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 310
},
"siteCount": 1139,
"siteCountRank": 242,
"siteCountStandalone": 0
},
"NewsTicker": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"NoBogusUserpages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"OATHAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 990
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 85
},
"siteCount": 1459,
"siteCountRank": 205,
"siteCountStandalone": 416
},
"NoCat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"NoTitle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1169
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 73
}
},
"NotebookViewer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"NotesLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"NotifyMe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"Nuke": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1430
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 66
},
"siteCount": 12649,
"siteCountRank": 5,
"siteCountStandalone": 4014
},
"NukeDPL": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 61
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 329
}
},
"NumberFormat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 118
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 276
}
},
"NumberHeadings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"NumberOfWikis": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
},
"siteCount": 1139,
"siteCountRank": 241,
"siteCountStandalone": 0
},
"Numbertext": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"NumerAlpha": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"Scribunto": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7192
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 8
},
"siteCount": 8789,
"siteCountRank": 11,
"siteCountStandalone": 665
},
"SearchExtraNS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 75
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 316
}
},
"MagicNumberedHeadings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"VikiTitleIcon": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"UserStatus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"UserThrottle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"UserVerification": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"VECancelButton": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"VEForAll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 157
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 256
}
},
"VIKI": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"Variables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1702
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 53
},
"siteCount": 1808,
"siteCountRank": 201,
"siteCountStandalone": 695
},
"VersionCompare": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"Video": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 327
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 183
}
},
"Views": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"VikiSemanticTitle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"VipsScaler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 142
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 261
},
"siteCount": 1811,
"siteCountRank": 203,
"siteCountStandalone": 15
},
"UserPageViewTracker": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 291
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 196
}
},
"VisualData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 191
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 236
}
},
"VisualEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8725
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 6
},
"siteCount": 7436,
"siteCountRank": 17,
"siteCountStandalone": 601
},
"VisualEditorPlus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
}
},
"VoteNY": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 272
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 205
}
},
"VueJsPlus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"VueTest": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"WSOAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1077
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 80
}
},
"WantedPagesFromNS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"WarnNotRecentlyUpdated": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"WatchAnalytics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 35
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 354
}
},
"WatchSubpages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"WebAuthn": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 163
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 251
},
"siteCount": 915,
"siteCountRank": 291,
"siteCountStandalone": 2
},
"UserProtect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 99
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 294
}
},
"UserPageEditProtection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 89
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 302
}
},
"WebDAV": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 42
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 347
}
},
"UnlinkedWikibase": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 42
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 347
}
},
"TweetANew": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"TwitterCards": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
},
"siteCount": 5686,
"siteCountRank": 60,
"siteCountStandalone": 20
},
"TwitterLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"TwitterTag": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 118
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 276
}
},
"TwoColConflict": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 308
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 189
},
"siteCount": 944,
"siteCountRank": 268,
"siteCountStandalone": 12
},
"UIFeedback": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"UILangCode": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"UnCaptcha": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"UnblockMe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 40
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 349
}
},
"UnicodeConverter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"UnifiedTaskOverview": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"UniversalLanguageSelector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2362
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 37
},
"siteCount": 1237,
"siteCountRank": 215,
"siteCountStandalone": 251
},
"UnusedRedirects": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 63
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 327
}
},
"UserOptionStats": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"UpdateMediaWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"UploadBlacklist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"UploadWizard": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2115
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 46
}
},
"UploadsLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 65
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 325
}
},
"UrlGetParameters": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 234
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 216
}
},
"UrlShortener": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 440
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 155
},
"siteCount": 872,
"siteCountRank": 276,
"siteCountStandalone": 5
},
"UseResource": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"UserAgreement": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 57
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 333
}
},
"UserExport": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 167
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 249
}
},
"UserFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 347
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 176
}
},
"UserGroups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 295
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 193
}
},
"UserMerge": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4305
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 15
},
"siteCount": 888,
"siteCountRank": 260,
"siteCountStandalone": 622
},
"WebChat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 127
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 268
}
},
"WebDAVClientIntegration": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"TranslationNotifications": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 58
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 332
}
},
"WindowsAzureStorage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 62
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 328
}
},
"WikimediaBadges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 49
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 341
}
},
"WikimediaCampaignEvents": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"WikimediaEditorTasks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"WikimediaEvents": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 194
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 234
},
"siteCount": 851,
"siteCountRank": 307,
"siteCountStandalone": 3
},
"WikimediaIncubator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"WikimediaMaintenance": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"WikimediaMessages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 223
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 219
},
"siteCount": 933,
"siteCountRank": 264,
"siteCountStandalone": 22
},
"Wikisource": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 61
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 329
}
},
"Wikispeech": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 82
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 309
}
},
"WikispeechSpeechDataCollector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"Wikistories": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"Workflows": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 122
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 272
}
},
"WikidataPageBanner": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 399
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 163
}
},
"XAnalytics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
},
"siteCount": 844,
"siteCountRank": 304,
"siteCountStandalone": 0
},
"XSL": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"XenForoAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"YetAnotherKeywords": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"YotpoReviews": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"YouTube": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2800
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 31
},
"siteCount": 1633,
"siteCountRank": 204,
"siteCountStandalone": 307
},
"ZoomableImages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"cldr": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 806
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 104
}
},
"examples": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 235
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 215
}
},
"googleAnalytics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1033
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 81
}
},
"intersection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2262
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 41
}
},
"timeline": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 789
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 107
}
},
"WikimediaApiPortalOAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"Wikidata": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 0
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 389
}
},
"WebToolsManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"WikiLove": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 225
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 217
}
},
"WhiteSpace": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"WhitelistPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
}
},
"WhoIsWatching": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 116
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 278
}
},
"Whoops": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"WhosOnline": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 278
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 203
}
},
"Widgets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2162
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 44
},
"siteCount": 996,
"siteCountRank": 207,
"siteCountStandalone": 561
},
"WikEdDiff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"WikiApiary": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"WikiCategoryTagCloud": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 306
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 191
}
},
"WikiEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7796
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 7
},
"siteCount": 13753,
"siteCountRank": 4,
"siteCountStandalone": 5064
},
"WikiForum": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 212
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 223
}
},
"WikiLambda": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 61
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 329
}
},
"WikiLovesMonuments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"WikibaseStatementUpdater": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"WikiSEO": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1115
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 75
}
},
"WikiShare": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"WikiTextLoggedInOut": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 57
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 333
}
},
"WikiToLDAP": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"WikiVideos": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 155
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 257
}
},
"Wikibase": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2204
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 42
}
},
"WikibaseCirrusSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 137
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 263
}
},
"WikibaseLexeme": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 179
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 243
}
},
"WikibaseLexemeCirrusSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"WikibaseManifest": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 24
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 365
}
},
"WikibaseMediaInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 75
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 316
}
},
"WikibaseQualityConstraints": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 73
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 317
}
},
"TrustedXFF": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 42
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 347
},
"siteCount": 868,
"siteCountRank": 274,
"siteCountStandalone": 2
},
"TranslateSvg": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"SearchParserFunction": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"SimpleTasks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 83
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 308
}
},
"ShowRealUsernames": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 119
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 275
}
},
"SideBarMenu": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 187
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 238
}
},
"SidebarDonateBox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"SignWritingMediaWikiPlugin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"SimSigCompanion": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"SimilarEditors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"SimpleBlogPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"SimpleCalendar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 328
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 182
}
},
"SimpleChanges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 198
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 233
}
},
"SimpleSAMLphp": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1515
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 63
}
},
"SimpleSort": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"SiteMatrix": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 63
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 327
},
"siteCount": 897,
"siteCountRank": 272,
"siteCountStandalone": 7
},
"ShoutWikiAds": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
}
},
"SiteMetrics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 54
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 336
}
},
"SiteSettings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"SkinPerNamespace": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"SkinPerPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 52
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 338
}
},
"SlimboxThumbs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 66
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 324
}
},
"SmiteSpam": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 82
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 309
}
},
"SocialLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"SocialProfile": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1228
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 70
}
},
"Sofa": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"SoftRedirector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"SoftwareVersion": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
},
"siteCount": 6841,
"siteCountRank": 24,
"siteCountStandalone": 9
},
"SoundManager2Button": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 43
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 346
}
},
"ShowMe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"ShoutWikiAPI": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"SpamDiffTool": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"SemanticACL": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 263
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 206
}
},
"SearchStats": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"SearchThumbs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 70
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 320
}
},
"SearchVue": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 55
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 335
}
},
"SectionAnchors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"SectionDisqus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"SecureAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"SecureHTML": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"SecureLinkFixer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 361
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 174
},
"siteCount": 1070,
"siteCountRank": 259,
"siteCountStandalone": 106
},
"SecurePoll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 201
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 230
},
"siteCount": 889,
"siteCountRank": 269,
"siteCountStandalone": 25
},
"SecurityApi": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"SelectCategory": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 191
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 236
}
},
"SelectTag": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"SemanticBundle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 66
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 324
}
},
"ShortUrl": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 281
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 202
}
},
"SemanticGenealogy": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 35
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 354
}
},
"SemanticImageInput": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"SemanticInternalObjects": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 90
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 301
}
},
"SemanticPageSeries": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"SemanticRESTAPI": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"SemanticRating": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 115
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 279
}
},
"SemanticWebBrowser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"SendGrid": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 88
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 303
}
},
"Sentry": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"Share": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 75
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 316
}
},
"SharedHelpPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
},
"siteCount": 1139,
"siteCountRank": 244,
"siteCountStandalone": 0
},
"Shibboleth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 51
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 339
}
},
"SpamBlacklist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 707
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 113
},
"siteCount": 4350,
"siteCountRank": 180,
"siteCountStandalone": 1017
},
"SpamRegex": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
},
"siteCount": 1106,
"siteCountRank": 252,
"siteCountStandalone": 5
},
"Translate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1628
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 56
}
},
"Theme": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 389
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 165
},
"siteCount": 1202,
"siteCountRank": 228,
"siteCountStandalone": 22
},
"TEI": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 45
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 344
}
},
"TableTools": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"Tabs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 970
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 87
}
},
"TalkBelow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"TemplateData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3230
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 26
},
"siteCount": 6971,
"siteCountRank": 54,
"siteCountStandalone": 293
},
"TemplateSandbox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 590
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 132
},
"siteCount": 1040,
"siteCountRank": 233,
"siteCountStandalone": 70
},
"TemplateStyles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13069
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 3
},
"siteCount": 1977,
"siteCountRank": 199,
"siteCountStandalone": 115
},
"TemplateWizard": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1457
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 64
},
"siteCount": 907,
"siteCountRank": 293,
"siteCountStandalone": 31
},
"TextExtracts": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1436
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 65
},
"siteCount": 2046,
"siteCountRank": 188,
"siteCountStandalone": 523
},
"TextScroller": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"Thanks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 653
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 123
},
"siteCount": 2442,
"siteCountRank": 192,
"siteCountStandalone": 142
},
"TheWikipediaLibrary": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 33
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 356
},
"siteCount": 928,
"siteCountRank": 286,
"siteCountStandalone": 0
},
"ThrottleOverride": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"SwiftMailer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 160
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 253
}
},
"TimeMachine": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
}
},
"TimedMediaHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2328
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 39
},
"siteCount": 1290,
"siteCountRank": 208,
"siteCountStandalone": 133
},
"TimelineTable": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 67
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 323
}
},
"TinyMCE": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1007
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 84
}
},
"TitleBlacklist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 600
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 130
}
},
"TitleIcon": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 179
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 243
}
},
"TitleKey": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 817
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 103
}
},
"TocTree": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1559
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 59
}
},
"Toolhub": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 377
}
},
"Tooltip": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 155
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 257
}
},
"TopTenPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 198
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 233
}
},
"TorBlock": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 436
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 156
},
"siteCount": 1149,
"siteCountRank": 224,
"siteCountStandalone": 102
},
"SyntaxHighlight_GeSHi": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3939
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 20
}
},
"Survey": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 40
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 349
}
},
"Spark": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"StandardWikitext": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"SparkPost": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"Special404": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"SpecialNamespaces": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 68
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 322
}
},
"SpellingApi": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"SpellingDictionary": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"SphinxSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 224
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 218
}
},
"SplitPrivateWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"SportsTeams": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"StaffEdits": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
},
"siteCount": 1176,
"siteCountRank": 245,
"siteCountStandalone": 0
},
"StaffPowers": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
},
"siteCount": 6569,
"siteCountRank": 58,
"siteCountStandalone": 8
},
"StalkerLog": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"StandardDialogs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"StarterWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"Sudo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 42
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 347
}
},
"StatCounter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"StickToThatLanguage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"StickyTOC": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 57
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 333
}
},
"StopForumSpam": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 862
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 96
}
},
"StringFunctionsEscaped": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"StructuredNavigation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"SubPageList3": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 402
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 161
}
},
"SubnetCalc": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"SubpageFun": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 132
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 265
}
},
"SubpageNavigation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 161
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 252
}
},
"SubpageSortkey": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"SubpageWatchlist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"Mailgun": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 41
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 348
}
},
"MagicNoCache": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 433
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 157
}
},
"AControlImageLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 63
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 327
}
},
"CategoryLockdown": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 225
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 217
}
},
"BrickipediaExtra": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"Buggy": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BulkBlock": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"CIForms": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 284
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 200
}
},
"CSS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1860
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 51
}
},
"Calendar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 172
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 247
}
},
"CampaignEvents": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 72
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 318
}
},
"Campaigns": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 40
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 349
},
"siteCount": 863,
"siteCountRank": 275,
"siteCountStandalone": 0
},
"Capiunto": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 537
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 140
}
},
"Cargo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 818
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 102
}
},
"CategoryExplorer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 116
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 278
}
},
"CategorySortHeaders": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 84
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 307
}
},
"BounceHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
},
"siteCount": 847,
"siteCountRank": 296,
"siteCountStandalone": 5
},
"CategoryTagSorter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 86
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 305
}
},
"CategoryTests": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 82
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 309
}
},
"CategoryTree": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4078
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 18
},
"siteCount": 10554,
"siteCountRank": 9,
"siteCountStandalone": 2091
},
"CategoryWatch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 76
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 315
}
},
"CentralAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 576
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 136
}
},
"CentralLogging": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"CentralNotice": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 458
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 151
},
"siteCount": 1012,
"siteCountRank": 231,
"siteCountStandalone": 34
},
"Challenge": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"ChangeAuthor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
}
},
"CharInsert": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1262
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 69
},
"siteCount": 9224,
"siteCountRank": 14,
"siteCountStandalone": 822
},
"Chart": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 85
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 306
}
},
"CheckUser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2577
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 33
},
"siteCount": 9118,
"siteCountRank": 13,
"siteCountStandalone": 713
},
"BreadCrumbs2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 693
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 116
}
},
"BoilerPlate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 206
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 227
}
},
"Checkpoint": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"BlueSpiceUEModulePDF": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"BlueSpiceSocialRating": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"BlueSpiceSocialResolve": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceSocialTags": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"BlueSpiceSocialTimelineUpdate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceSocialTopics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"BlueSpiceSocialWatch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"BlueSpiceSocialWikiPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"BlueSpiceSubPageTree": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"BlueSpiceTagCloud": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 55
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 335
}
},
"BlueSpiceUEModuleBookPDF": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"BlueSpiceUEModuleDOCX": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"BlueSpiceUEModuleHTML": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"BlueSpiceUEModulePDFRecursive": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"BlueSpiceWikiFarm": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"BlueSpiceUEModulePDFSubpages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"BlueSpiceUEModuleTable2Excel": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"BlueSpiceUniversalExport": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 134
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 264
}
},
"BlueSpiceUsageTracker": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"BlueSpiceUserInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"BlueSpiceUserManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 656
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 121
}
},
"BlueSpiceUserSidebar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
}
},
"BlueSpiceVisualDiff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 35
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 354
}
},
"BlueSpiceVisualEditorConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 107
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 286
}
},
"BlueSpiceWatchList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 377
}
},
"BlueSpiceWhoIsOnline": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"BlueSpiceWikiExplorer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"Checklists": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 120
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 274
}
},
"ChessBrowser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"BlueSpiceSocialMicroBlog": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"CookieWarning": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 859
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 97
},
"siteCount": 985,
"siteCountRank": 258,
"siteCountStandalone": 125
},
"ContactPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 655
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 122
}
},
"ContainerFilter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 39
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 350
}
},
"ContentDroplets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
}
},
"ContentStabilization": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 51
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 339
}
},
"ContentTransfer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 72
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 318
}
},
"ContentTranslation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 314
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 187
}
},
"ContributionCredits": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 297
}
},
"ContributionScores": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 829
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 100
}
},
"ContributionsList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"Contributors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 63
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 327
}
},
"CookieConsent": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"CosmosProfile": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"ConfirmEdit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2135
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 45
},
"siteCount": 957,
"siteCountRank": 278,
"siteCountStandalone": 36
},
"CountDownClock": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 104
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 289
}
},
"CrawlableAllPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"CreateAPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 297
}
},
"CreatePage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 588
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 133
},
"siteCount": 5685,
"siteCountRank": 35,
"siteCountStandalone": 29
},
"CreatePageUw": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 525
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 142
}
},
"CreateRedirect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 137
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 263
}
},
"CreateUserPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 255
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 210
}
},
"CreatedPagesList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 86
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 305
}
},
"CreditsSource": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"DPLforum": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 145
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 259
},
"siteCount": 5794,
"siteCountRank": 31,
"siteCountStandalone": 62
},
"DarkMode": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3253
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 25
}
},
"Dashiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 48
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 342
}
},
"ContactManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"ConfirmAccount": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2360
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 38
},
"siteCount": 953,
"siteCountRank": 279,
"siteCountStandalone": 793
},
"CirrusSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4281
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 16
},
"siteCount": 1226,
"siteCountRank": 213,
"siteCountStandalone": 106
},
"CognitiveProcessDesigner": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 612
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 127
}
},
"Cite": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5059
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 11
},
"siteCount": 14146,
"siteCountRank": 2,
"siteCountStandalone": 5013
},
"CiteDrawer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"CiteThisPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 850
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 99
},
"siteCount": 1524,
"siteCountRank": 197,
"siteCountStandalone": 508
},
"Citoid": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 297
},
"siteCount": 848,
"siteCountRank": 299,
"siteCountStandalone": 3
},
"CleanChanges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 502
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 145
}
},
"CloneDiff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"CloseWikis": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"CloudflarePurge": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"CodeEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1922
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 50
},
"siteCount": 8385,
"siteCountRank": 16,
"siteCountStandalone": 754
},
"CodeMirror": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3648
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 22
},
"siteCount": 6549,
"siteCountRank": 64,
"siteCountStandalone": 73
},
"CodeReview": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"Cognate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"CollabPads": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"ConfigManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"CollaborationKit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"CollapsibleSections": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 422
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 159
}
},
"CollapsibleVector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1088
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 77
}
},
"Collection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1537
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 61
},
"siteCount": 1174,
"siteCountRank": 219,
"siteCountStandalone": 135
},
"CommentStreams": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 455
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 153
}
},
"Commentbox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"Comments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 872
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 93
}
},
"CommonMessages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"CommonsMetadata": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 820
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 101
},
"siteCount": 1055,
"siteCountRank": 247,
"siteCountStandalone": 73
},
"CommunityConfiguration": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"CommunityConfigurationExample": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"CommunityRequests": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"BlueSpiceSocialProfile": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"BlueSpiceSocialComments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 11
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 378
}
},
"DataTransfer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 424
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 158
}
},
"AuthorProtect": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 86
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 305
}
},
"ArticleCreationWorkflow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 158
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 255
}
},
"ArticleFeedbackv5": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 284
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 200
}
},
"ArticleIndex": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 24
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 365
}
},
"ArticleMetaDescription": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 88
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 303
},
"siteCount": 6846,
"siteCountRank": 23,
"siteCountStandalone": 12
},
"ArticlePlaceholder": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"ArticleRatings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"ArticleSummaries": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"ArticleToCategory2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 101
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 292
}
},
"AtMentions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 76
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 315
}
},
"Athena": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"Auth_remoteuser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3823
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 21
}
},
"AutoCategoriseUploads": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"ArrayFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 76
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 315
}
},
"AutoCreateCategoryPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 317
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 186
}
},
"AutoGallery": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 138
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 262
}
},
"AutoModerator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"Awesomeness": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 48
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 342
}
},
"Babel": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 944
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 89
},
"siteCount": 2416,
"siteCountRank": 193,
"siteCountStandalone": 199
},
"BatchUserRights": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"BetaFeatures": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 852
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 98
},
"siteCount": 1031,
"siteCountRank": 248,
"siteCountStandalone": 54
},
"BibManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 55
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 335
}
},
"BiblioPlus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
}
},
"BlockInactive": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"BlogPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 220
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 221
}
},
"BlueSpiceAbout": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 33
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 356
}
},
"Arrays": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 677
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 118
}
},
"ApprovedRevs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 646
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 126
}
},
"BlueSpiceArticlePreviewCapture": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"AddMessages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 117
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 277
}
},
"AIEditingAssistant": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"AJAXPoll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 334
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 181
}
},
"AbsenteeLandlord": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 168
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 248
}
},
"AbuseFilter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1707
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 52
},
"siteCount": 2939,
"siteCountRank": 186,
"siteCountStandalone": 377
},
"AbuseFilterBypass": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 145
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 259
}
},
"AccessControl": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 515
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 144
}
},
"AccountInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 183
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 240
}
},
"AchievementBadges": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 36
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 353
}
},
"Acrolinx": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"ActiveAbstract": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
}
},
"AdManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 80
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 311
}
},
"AddHTMLMetaAndTitle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 395
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 164
}
},
"AddPersonalUrls": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 126
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 269
}
},
"ApiFeatureUsage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 130
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 266
},
"siteCount": 847,
"siteCountRank": 303,
"siteCountStandalone": 3
},
"AddThis": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 43
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 346
}
},
"Adiutor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 40
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 349
}
},
"AdminLinks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 942
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 90
}
},
"AdvancedMeta": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 180
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 242
}
},
"AdvancedSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1564
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 58
},
"siteCount": 887,
"siteCountRank": 288,
"siteCountStandalone": 21
},
"AjaxShowEditors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
}
},
"AkismetKlik": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"AllTimeZones": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 50
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 340
}
},
"Analytics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 82
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 309
}
},
"AnchorHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 45
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 344
}
},
"AnonPrivacy": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 101
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 292
}
},
"AntiSpoof": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 867
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 95
},
"siteCount": 2598,
"siteCountRank": 191,
"siteCountStandalone": 145
},
"BlueSpiceArticleInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"BlueSpiceAuthors": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"BlueSpiceSocialBlog": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"BlueSpicePrivacy": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 106
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 287
}
},
"BlueSpiceMultiUpload": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"BlueSpiceNSFileRepoConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"BlueSpiceNamespaceCSS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 19
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 370
}
},
"BlueSpiceNamespaceManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 283
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 201
}
},
"BlueSpicePageAccess": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 49
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 341
}
},
"BlueSpicePageAssignments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"BlueSpicePageFormsConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"BlueSpicePageTemplates": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 292
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 195
}
},
"BlueSpicePageVersion": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"BlueSpicePagesVisited": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 24
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 365
}
},
"BlueSpicePermissionManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 519
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 143
}
},
"BlueSpicePlayer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"BlueSpiceProDistributionConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"BlueSpiceInterWikiLinks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"BlueSpiceQrCode": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
}
},
"BlueSpiceRSSFeeder": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"BlueSpiceRating": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"BlueSpiceReadConfirmation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"BlueSpiceReaders": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"BlueSpiceReminder": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 66
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 324
}
},
"BlueSpiceSMWConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"BlueSpiceSaferEdit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"BlueSpiceSignHere": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceSmartList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"BlueSpiceSocial": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"BlueSpiceSocialArticleActions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"BlueSpiceInterwikiSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceInstanceStatus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceAvatars": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 153
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 258
}
},
"BlueSpiceExpiry": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 36
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 353
}
},
"BlueSpiceBookshelf": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 208
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 226
}
},
"BlueSpiceCategoryCheck": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"BlueSpiceCategoryManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 185
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 239
}
},
"BlueSpiceChecklist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 241
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 212
}
},
"BlueSpiceConfigManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 114
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 280
}
},
"BlueSpiceContextMenu": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 45
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 344
}
},
"BlueSpiceCountThings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"BlueSpiceCustomMenu": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 54
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 336
}
},
"BlueSpiceDashboards": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 297
}
},
"BlueSpiceDistributionConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"BlueSpiceEchoConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"BlueSpiceEmoticons": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 72
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 318
}
},
"BlueSpiceExportTables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 109
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 284
}
},
"BlueSpiceInsertTemplate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"BlueSpiceExtendedFilelist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"BlueSpiceExtendedSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 259
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 209
}
},
"BlueSpiceExtendedStatistics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 121
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 273
}
},
"BlueSpiceFilterableTables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 243
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 211
}
},
"BlueSpiceFlaggedRevsConnector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"BlueSpiceFoundation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2504
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 35
}
},
"BlueSpiceGroupManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 344
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 177
}
},
"BlueSpiceHideTitle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 33
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 356
}
},
"BlueSpiceInsertCategory": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"BlueSpiceInsertFile": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 71
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 319
}
},
"BlueSpiceInsertLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 36
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 353
}
},
"BlueSpiceInsertMagic": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"DataTable2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 111
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 282
}
},
"DateDiff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"MagicLinkAuthentication": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"IPInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 165
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 250
},
"siteCount": 871,
"siteCountRank": 297,
"siteCountStandalone": 1
},
"HidePrefix": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 216
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 222
}
},
"HierarchyBuilder": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 100
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 293
}
},
"HighlightjsIntegration": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"HitCounters": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1940
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 49
}
},
"HoneyPot": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"HostStats": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 19
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 370
}
},
"HotCat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 30
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 359
}
},
"HoverGallery": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 115
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 279
}
},
"Hreflang": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"Html2Wiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 199
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 232
}
},
"I18nTags": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 26
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 363
}
},
"IPReputation": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"HelpCommons": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"IframePage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 348
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 175
}
},
"ImageCompare": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"ImageMap": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 76
},
"siteCount": 10714,
"siteCountRank": 8,
"siteCountStandalone": 2441
},
"ImageMapEdit": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 53
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 337
}
},
"ImageRating": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"ImageSuggestions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"ImageTweaks": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"ImapAuthorization": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"ImportArticles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 58
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 332
}
},
"ImportFreeImages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"ImportOfficeFiles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 200
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 231
}
},
"ImportUsers": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 180
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 242
}
},
"HelpPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"HeaderTabs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 607
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 128
}
},
"InlineCategorizer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"Gravatar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 58
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 332
}
},
"GoogleDocTag": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 56
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 334
}
},
"GoogleDocs4MW": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 187
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 238
},
"siteCount": 1173,
"siteCountRank": 230,
"siteCountStandalone": 15
},
"GoogleGeocode": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"GoogleLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 939
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 91
}
},
"GoogleNewsSitemap": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 95
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 298
}
},
"GooglePlaces": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"GoogleSiteSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 138
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 262
}
},
"GoogleTagManager": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 85
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 306
},
"siteCount": 5867,
"siteCountRank": 115,
"siteCountStandalone": 9
},
"GoogleTranslate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 66
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 324
}
},
"Graph": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 773
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 109
},
"siteCount": 884,
"siteCountRank": 281,
"siteCountStandalone": 29
},
"GraphQL": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 19
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 370
}
},
"GraphViz": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"GroupWhitelist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 364
}
},
"HeaderFooter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 283
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 201
}
},
"GroupsSidebar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 60
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 330
}
},
"GrowthExperiments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 85
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 306
}
},
"GuidedTour": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 130
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 266
},
"siteCount": 893,
"siteCountRank": 265,
"siteCountStandalone": 16
},
"HAWelcome": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"HSTS": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 37
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 352
}
},
"HTMLPurifier": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 78
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 313
}
},
"HTMLTags": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 240
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 213
}
},
"HTMLTemplates": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
}
},
"HTMLets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 204
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 229
}
},
"HashTables": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"Hashtags": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"HeadScript": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1084
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 78
}
},
"Inbox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 41
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 348
}
},
"InlineComments": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"GoogleCustomWikiSearch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 122
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 272
}
},
"LocalisationUpdate": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 699
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 114
},
"siteCount": 883,
"siteCountRank": 223,
"siteCountStandalone": 603
},
"Lingo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 460
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 149
}
},
"LinkCards": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"LinkFilter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"LinkSuggest": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 262
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 207
}
},
"LinkSuggest2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"LinkTarget": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 336
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 180
}
},
"Link_Attributes": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 46
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 343
}
},
"LinkedWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 70
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 320
}
},
"Linter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 753
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 110
},
"siteCount": 884,
"siteCountRank": 294,
"siteCountStandalone": 19
},
"LiquidThreads": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 85
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 306
}
},
"Listings": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"LiveChat": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"LockAuthor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 52
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 338
}
},
"LegalLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 366
}
},
"LockDownEnglishPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"Lockdown": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4960
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 12
}
},
"LogEntry": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"LoginNotify": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 323
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 184
},
"siteCount": 904,
"siteCountRank": 277,
"siteCountStandalone": 15
},
"LogoFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 69
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 321
}
},
"LookupUser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 286
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 199
}
},
"LoopFunctions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 123
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 271
}
},
"Loops": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 778
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 108
}
},
"MP3MediaHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 366
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 172
}
},
"MWVersionInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"MachineVision": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"MadLib": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"LibraryCheckout": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"LdapAuthentication": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1516
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 62
}
},
"InputBox": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3285
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 24
},
"siteCount": 10897,
"siteCountRank": 7,
"siteCountStandalone": 2338
},
"JsonData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"Insider": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"InteractiveBlockMessage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"Interlanguage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 27
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 362
}
},
"Interwiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1120
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 74
},
"siteCount": 4768,
"siteCountRank": 181,
"siteCountStandalone": 1041
},
"InterwikiExtracts": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 70
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 320
}
},
"InterwikiSorting": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 56
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 334
},
"siteCount": 852,
"siteCountRank": 306,
"siteCountStandalone": 4
},
"InviteSignup": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 211
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 224
}
},
"JSBreadCrumbs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 557
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 137
}
},
"JWTAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 367
}
},
"Josa": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 34
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 355
}
},
"Json5Config": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"JsonConfig": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3208
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 28
},
"siteCount": 897,
"siteCountRank": 263,
"siteCountStandalone": 47
},
"Kartographer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 869
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 94
},
"siteCount": 898,
"siteCountRank": 289,
"siteCountStandalone": 36
},
"LastUserLogin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 457
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 152
}
},
"LDAPAuthentication2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13748
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 2
}
},
"LDAPAuthorization": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7104
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 9
}
},
"LDAPGroups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4738
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 13
}
},
"LDAPProvider": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12364
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 4
}
},
"LDAPSyncAll": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 680
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 117
}
},
"LDAPUserInfo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4425
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 14
}
},
"LabeledSectionTransclusion": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3068
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 29
}
},
"LandingCheck": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"LanguageSelector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 341
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 179
}
},
"LanguageTag": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"LanguageTool": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"LastModified": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 294
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 194
}
},
"GoogleDocCreator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"GoogleAuthenticator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 12
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 377
}
},
"DateTimeTools": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 60
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 330
}
},
"EmailAuth": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"EasyWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
}
},
"Echo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2327
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 40
},
"siteCount": 2698,
"siteCountRank": 187,
"siteCountStandalone": 263
},
"EditAccount": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 601
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 129
}
},
"EditNotify": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 95
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 298
}
},
"EditSimilar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"EditSubpages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 37
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 352
}
},
"EditUser": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 64
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 326
}
},
"Editcount": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 386
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 166
},
"siteCount": 1518,
"siteCountRank": 209,
"siteCountStandalone": 131
},
"EditcountAdditions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 20
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 369
},
"siteCount": 933,
"siteCountRank": 284,
"siteCountStandalone": 0
},
"Elastica": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3995
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 19
},
"siteCount": 1235,
"siteCountRank": 212,
"siteCountStandalone": 114
},
"ElectronPdfService": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 322
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 185
},
"siteCount": 857,
"siteCountRank": 301,
"siteCountStandalone": 4
},
"EmailAuthorization": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 116
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 278
}
},
"DynamicSidebar": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1022
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 82
}
},
"EmailCapture": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"EmailDeletedPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"EmailDiff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"EmailNotifications": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"EmergencyCaptcha": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"EncryptedUploads": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"EnhanceContactForm": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 374
},
"siteCount": 1204,
"siteCountRank": 236,
"siteCountStandalone": 9
},
"EnhancedStandardUIs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"EnhancedUpload": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 299
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 192
}
},
"EntitySchema": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 108
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 285
}
},
"ErrorHandler": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"EtherpadLite": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"EImage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"DynamicPageListEngine": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 128
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 267
}
},
"EventLogging": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 671
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 120
},
"siteCount": 1078,
"siteCountRank": 221,
"siteCountStandalone": 43
},
"Disambiguator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2521
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 34
},
"siteCount": 6730,
"siteCountRank": 55,
"siteCountStandalone": 85
},
"DebugMode": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"DebugTemplates": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 28
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 361
}
},
"DeleteBatch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1177
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 72
}
},
"DeleteOwn": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 383
}
},
"DeletePagesForGood": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 199
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 232
}
},
"DeleteUserPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"Description2": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 651
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 125
}
},
"DeviceMapLogCapture": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 7
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 382
}
},
"Diagnosis": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"DidYouKnow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"DisableAccount": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 317
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 186
}
},
"DisableSpecialPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"DiscordRCFeed": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 55
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 335
}
},
"DynamicPageList": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 288
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 198
}
},
"Discourse": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"DiscussionThreading": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 143
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 260
}
},
"DiscussionTools": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1009
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 83
},
"siteCount": 930,
"siteCountRank": 285,
"siteCountStandalone": 11
},
"DismissableSiteNotice": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 585
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 134
},
"siteCount": 2711,
"siteCountRank": 189,
"siteCountStandalone": 200
},
"DisplayTitle": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 714
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 112
}
},
"DisqusTag": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"DocBookExport": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 243
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 211
}
},
"DonationInterface": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 39
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 350
}
},
"DoubleWiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"Drafts": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 261
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 208
}
},
"DrawioEditor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2175
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 43
}
},
"DumpsOnDemand": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 77
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 314
},
"siteCount": 5645,
"siteCountRank": 37,
"siteCountStandalone": 8
},
"EventBus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 102
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 291
},
"siteCount": 858,
"siteCountRank": 298,
"siteCountStandalone": 4
},
"EventSimulator": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 2
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 387
}
},
"GoogleAnalyticsTopPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 384
}
},
"GitGadgets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"FundraiserLandingPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 373
}
},
"FundraisingEmailUnsubscribe": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"FundraisingTranslateWorkflow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 3
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 386
}
},
"GPGMail": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"Gadgets": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1660
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 54
},
"siteCount": 4145,
"siteCountRank": 177,
"siteCountStandalone": 1189
},
"Genealogy": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 128
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 267
}
},
"GenerateMochaConfig": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"GeoCrumbs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 103
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 290
}
},
"GeoData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1969
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 48
}
},
"GeoGebra": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
}
},
"GettingStarted": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 24
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 365
}
},
"Git2Pages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 13
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 376
}
},
"GlobalBlocking": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 459
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 150
},
"siteCount": 1015,
"siteCountRank": 251,
"siteCountStandalone": 12
},
"FormatDates": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"GlobalContribs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"GlobalContributions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 388
}
},
"GlobalCssJs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 177
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 245
}
},
"GlobalNotice": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
},
"siteCount": 1155,
"siteCountRank": 235,
"siteCountStandalone": 2
},
"GlobalPreferences": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 155
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 257
},
"siteCount": 1303,
"siteCountRank": 214,
"siteCountStandalone": 4
},
"GlobalUsage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 128
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 267
},
"siteCount": 964,
"siteCountRank": 249,
"siteCountStandalone": 16
},
"GlobalUserGroups": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 21
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 368
},
"siteCount": 5646,
"siteCountRank": 39,
"siteCountStandalone": 9
},
"GlobalUserPage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 216
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 222
},
"siteCount": 2011,
"siteCountRank": 198,
"siteCountStandalone": 0
},
"GlobalUserrights": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 59
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 331
},
"siteCount": 1216,
"siteCountRank": 216,
"siteCountStandalone": 3
},
"GlobalWatchlist": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
},
"siteCount": 5392,
"siteCountRank": 49,
"siteCountStandalone": 10
},
"GoogleAdSense": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 369
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 170
}
},
"GoogleAnalyticsMetrics": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 44
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 345
}
},
"Forms": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 112
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 281
}
},
"FormWizard": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"EventStreamConfig": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 143
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 260
},
"siteCount": 993,
"siteCountRank": 271,
"siteCountStandalone": 15
},
"Figures": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 134
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 264
}
},
"Expressions": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 14
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 375
}
},
"ExtJSBase": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1200
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 71
}
},
"ExtensionDistributor": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 367
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 171
}
},
"ExternalArticles": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 29
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 360
}
},
"ExternalData": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 342
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 178
}
},
"ExternalGuidance": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 38
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 351
}
},
"ExternalLinkConfirm": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 9
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 380
}
},
"ExtraLanguageLink": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 4
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 385
}
},
"FacetedCategory": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 371
}
},
"FanBoxes": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"Favorites": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 155
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 257
}
},
"FeaturedFeeds": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 178
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 244
},
"siteCount": 876,
"siteCountRank": 273,
"siteCountStandalone": 13
},
"FileAnnotations": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"Form": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 107
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 286
}
},
"FileExporter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 137
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 263
},
"siteCount": 867,
"siteCountRank": 302,
"siteCountStandalone": 4
},
"FileImporter": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 311
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 188
}
},
"FileSystemImageServer": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 10
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 379
}
},
"FilterListUsers": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 381
}
},
"FilterSpecialPages": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 45
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 344
}
},
"FixedHeaderTable": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 17
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 372
}
},
"FlaggedRevs": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 792
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 106
}
},
"FlexDiagrams": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 31
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 358
}
},
"FlexiSkin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 64
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 326
}
},
"FlickrAPI": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 32
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 357
}
},
"Flow": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 797
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 105
}
},
"ForcePreview": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 55
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 335
}
},
"wikihiero": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 363
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 173
}
},
"SyntaxHighlight": {
"siteCount": 11760,
"siteCountRank": 6,
"siteCountStandalone": 3206
},
"EasyTimeline": {
"siteCount": 7989,
"siteCountRank": 15,
"siteCountStandalone": 133
},
"Labeled_Section_Transclusion": {
"siteCount": 6919,
"siteCountRank": 20,
"siteCountStandalone": 251
},
"EmbedVideo": {
"siteCount": 7623,
"siteCountRank": 21,
"siteCountStandalone": 1427
},
"Sitemap": {
"siteCount": 6853,
"siteCountRank": 22,
"siteCountStandalone": 9
},
"InterwikiDispatcher": {
"siteCount": 6844,
"siteCountRank": 25,
"siteCountStandalone": 9
},
"StaffSig": {
"siteCount": 6836,
"siteCountRank": 26,
"siteCountStandalone": 8
},
"LookupContribs": {
"siteCount": 6796,
"siteCountRank": 27,
"siteCountStandalone": 8
},
"Maps": {
"siteCount": 6478,
"siteCountRank": 29,
"siteCountStandalone": 594
},
"Tabber": {
"siteCount": 5787,
"siteCountRank": 33,
"siteCountStandalone": 107
},
"Phalanx": {
"siteCount": 5703,
"siteCountRank": 34,
"siteCountStandalone": 22
},
"PoolCounter": {
"siteCount": 6513,
"siteCountRank": 36,
"siteCountStandalone": 11
},
"Track": {
"siteCount": 5700,
"siteCountRank": 38,
"siteCountStandalone": 9
},
"Piggyback": {
"siteCount": 5648,
"siteCountRank": 40,
"siteCountStandalone": 9
},
"WikiAnalytics": {
"siteCount": 5646,
"siteCountRank": 41,
"siteCountStandalone": 9
},
"AdEngine": {
"siteCount": 5646,
"siteCountRank": 42,
"siteCountStandalone": 8
},
"QuickTools": {
"siteCount": 5648,
"siteCountRank": 43,
"siteCountStandalone": 9
},
"AnalyticsEngine": {
"siteCount": 5649,
"siteCountRank": 44,
"siteCountStandalone": 9
},
"Unsubscribe": {
"siteCount": 5649,
"siteCountRank": 45,
"siteCountStandalone": 9
},
"Activity": {
"siteCount": 5455,
"siteCountRank": 46,
"siteCountStandalone": 10
},
"CategorySelect": {
"siteCount": 5649,
"siteCountRank": 47,
"siteCountStandalone": 9
},
"CategoryBlueLinks": {
"siteCount": 5416,
"siteCountRank": 48,
"siteCountStandalone": 6
},
"SharedHelp": {
"siteCount": 5374,
"siteCountRank": 50,
"siteCountStandalone": 6
},
"ArticleComments": {
"siteCount": 5269,
"siteCountRank": 51,
"siteCountStandalone": 31
},
"Validator": {
"siteCount": 7130,
"siteCountRank": 52,
"siteCountStandalone": 1051
},
"Vector": {
"siteCount": 6792,
"siteCountRank": 53,
"siteCountStandalone": 3778
},
"ParserHooks": {
"siteCount": 6698,
"siteCountRank": 56,
"siteCountStandalone": 576
},
"Parsoid": {
"siteCount": 6616,
"siteCountRank": 57,
"siteCountStandalone": 61
},
"Lightbox": {
"siteCount": 5645,
"siteCountRank": 59,
"siteCountStandalone": 9
},
"RSS Pie": {
"siteCount": 5729,
"siteCountRank": 61,
"siteCountStandalone": 12
},
"CreateNewWiki": {
"siteCount": 5647,
"siteCountRank": 62,
"siteCountStandalone": 9
},
"AdminDashboard": {
"siteCount": 5645,
"siteCountRank": 63,
"siteCountStandalone": 8
},
"CLDR": {
"siteCount": 6625,
"siteCountRank": 65,
"siteCountStandalone": 114
},
"FounderProgressBar": {
"siteCount": 4555,
"siteCountRank": 66,
"siteCountStandalone": 2
},
"ReCaptchaNoCaptcha": {
"siteCount": 6060,
"siteCountRank": 67,
"siteCountStandalone": 342
},
"FandomGrants": {
"siteCount": 6236,
"siteCountRank": 68,
"siteCountStandalone": 7
},
"FandomAuth": {
"siteCount": 6150,
"siteCountRank": 69,
"siteCountStandalone": 7
},
"Sitenotice": {
"siteCount": 5981,
"siteCountRank": 70,
"siteCountStandalone": 8
},
"FandomEmbedVideo": {
"siteCount": 5977,
"siteCountRank": 71,
"siteCountStandalone": 7
},
"WatchedPage": {
"siteCount": 5977,
"siteCountRank": 72,
"siteCountStandalone": 7
},
"SilverSurferLoader": {
"siteCount": 5960,
"siteCountRank": 73,
"siteCountStandalone": 8
},
"UncrawlableUrl": {
"siteCount": 5960,
"siteCountRank": 74,
"siteCountStandalone": 8
},
"FallbackFontAdjustments": {
"siteCount": 5951,
"siteCountRank": 75,
"siteCountStandalone": 8
},
"ThemeDesignerNext": {
"siteCount": 5940,
"siteCountRank": 76,
"siteCountStandalone": 8
},
"SpecialBlock": {
"siteCount": 5940,
"siteCountRank": 77,
"siteCountStandalone": 8
},
"RedisCache": {
"siteCount": 5910,
"siteCountRank": 78,
"siteCountStandalone": 8
},
"Reverb": {
"siteCount": 5910,
"siteCountRank": 79,
"siteCountStandalone": 8
},
"Twiggy": {
"siteCount": 5910,
"siteCountRank": 80,
"siteCountStandalone": 8
},
"SpecialUpload": {
"siteCount": 5908,
"siteCountRank": 81,
"siteCountStandalone": 8
},
"MessageCachePerformance": {
"siteCount": 5876,
"siteCountRank": 82,
"siteCountStandalone": 9
},
"Hide": {
"siteCount": 5874,
"siteCountRank": 83,
"siteCountStandalone": 9
},
"RecommendationTiles": {
"siteCount": 5873,
"siteCountRank": 84,
"siteCountStandalone": 8
},
"SpotifyTag": {
"siteCount": 5873,
"siteCountRank": 85,
"siteCountStandalone": 8
},
"UserRename": {
"siteCount": 5873,
"siteCountRank": 86,
"siteCountStandalone": 8
},
"Listusers": {
"siteCount": 5873,
"siteCountRank": 87,
"siteCountStandalone": 8
},
"FeedsAndPosts": {
"siteCount": 5873,
"siteCountRank": 88,
"siteCountStandalone": 8
},
"DesignSystem-i18n": {
"siteCount": 5873,
"siteCountRank": 89,
"siteCountStandalone": 8
},
"FandomAPI": {
"siteCount": 5873,
"siteCountRank": 90,
"siteCountStandalone": 8
},
"UserRights": {
"siteCount": 5873,
"siteCountRank": 91,
"siteCountStandalone": 8
},
"SpecialChangeFandomEmail": {
"siteCount": 5873,
"siteCountRank": 92,
"siteCountStandalone": 8
},
"MercuryApi": {
"siteCount": 5873,
"siteCountRank": 93,
"siteCountStandalone": 8
},
"MessageOverrides": {
"siteCount": 5873,
"siteCountRank": 94,
"siteCountStandalone": 8
},
"LuaLibraries": {
"siteCount": 5873,
"siteCountRank": 95,
"siteCountStandalone": 8
},
"SeoTweaks": {
"siteCount": 5873,
"siteCountRank": 96,
"siteCountStandalone": 8
},
"Sailthru": {
"siteCount": 5873,
"siteCountRank": 97,
"siteCountStandalone": 8
},
"UserProfileActivity": {
"siteCount": 5873,
"siteCountRank": 98,
"siteCountStandalone": 8
},
"MapsTracking": {
"siteCount": 5873,
"siteCountRank": 99,
"siteCountStandalone": 8
},
"StablePageIdStorage": {
"siteCount": 5873,
"siteCountRank": 100,
"siteCountStandalone": 8
},
"InterwikiEdit": {
"siteCount": 5873,
"siteCountRank": 101,
"siteCountStandalone": 8
},
"Banner Notifications": {
"siteCount": 5873,
"siteCountRank": 102,
"siteCountStandalone": 8
},
"LocalSitemapPage": {
"siteCount": 5873,
"siteCountRank": 103,
"siteCountStandalone": 8
},
"PortableInfobox": {
"siteCount": 5873,
"siteCountRank": 104,
"siteCountStandalone": 8
},
"UnifiedSearch": {
"siteCount": 5873,
"siteCountRank": 105,
"siteCountStandalone": 8
},
"ContactPageRedirects": {
"siteCount": 5873,
"siteCountRank": 106,
"siteCountStandalone": 8
},
"WikiDescription": {
"siteCount": 5873,
"siteCountRank": 107,
"siteCountStandalone": 8
},
"DataWarehouse": {
"siteCount": 5873,
"siteCountRank": 108,
"siteCountStandalone": 8
},
"UpdateSpecialPagesScheduler": {
"siteCount": 5873,
"siteCountRank": 109,
"siteCountStandalone": 8
},
"FacebookTags": {
"siteCount": 5873,
"siteCountRank": 110,
"siteCountStandalone": 8
},
"UserProfile": {
"siteCount": 5873,
"siteCountRank": 111,
"siteCountStandalone": 8
},
"DesignSystem": {
"siteCount": 5871,
"siteCountRank": 112,
"siteCountStandalone": 8
},
"FandomProtectSite": {
"siteCount": 5871,
"siteCountRank": 113,
"siteCountStandalone": 8
},
"JWPlayerTag": {
"siteCount": 5868,
"siteCountRank": 114,
"siteCountStandalone": 7
},
"ContentReview": {
"siteCount": 5865,
"siteCountRank": 116,
"siteCountStandalone": 7
},
"PerformanceMonitoring": {
"siteCount": 5863,
"siteCountRank": 117,
"siteCountStandalone": 8
},
"Pages": {
"siteCount": 5863,
"siteCountRank": 118,
"siteCountStandalone": 8
},
"MultiTasks": {
"siteCount": 5863,
"siteCountRank": 119,
"siteCountStandalone": 8
},
"GlobalShortcuts": {
"siteCount": 5863,
"siteCountRank": 120,
"siteCountStandalone": 8
},
"FandomImageReview": {
"siteCount": 5863,
"siteCountRank": 121,
"siteCountStandalone": 8
},
"CityList": {
"siteCount": 5863,
"siteCountRank": 122,
"siteCountStandalone": 8
},
"FastlyInsights": {
"siteCount": 5863,
"siteCountRank": 123,
"siteCountStandalone": 8
},
"Nirvana": {
"siteCount": 5863,
"siteCountRank": 124,
"siteCountStandalone": 8
},
"ArticleExporter": {
"siteCount": 5863,
"siteCountRank": 125,
"siteCountStandalone": 8
},
"TagsReport": {
"siteCount": 5863,
"siteCountRank": 126,
"siteCountStandalone": 8
},
"ListGlobalUsers": {
"siteCount": 5863,
"siteCountRank": 127,
"siteCountStandalone": 8
},
"ImageServing": {
"siteCount": 5863,
"siteCountRank": 128,
"siteCountStandalone": 8
},
"HTTPSSupport": {
"siteCount": 5863,
"siteCountRank": 129,
"siteCountStandalone": 8
},
"CoppaTool global tasks": {
"siteCount": 5863,
"siteCountRank": 130,
"siteCountStandalone": 8
},
"Content Security Policy": {
"siteCount": 5863,
"siteCountRank": 131,
"siteCountStandalone": 8
},
"RobotsTxt": {
"siteCount": 5863,
"siteCountRank": 132,
"siteCountStandalone": 8
},
"GlobalLuaModules": {
"siteCount": 5863,
"siteCountRank": 133,
"siteCountStandalone": 8
},
"MultiLookup": {
"siteCount": 5863,
"siteCountRank": 134,
"siteCountStandalone": 8
},
"FandomStyles": {
"siteCount": 5861,
"siteCountRank": 135,
"siteCountStandalone": 8
},
"License": {
"siteCount": 5861,
"siteCountRank": 136,
"siteCountStandalone": 8
},
"FandomScripts": {
"siteCount": 5861,
"siteCountRank": 137,
"siteCountStandalone": 8
},
"ArticleInterlang": {
"siteCount": 5861,
"siteCountRank": 138,
"siteCountStandalone": 8
},
"MobileImageGallery": {
"siteCount": 5861,
"siteCountRank": 139,
"siteCountStandalone": 8
},
"NSDefine": {
"siteCount": 5860,
"siteCountRank": 140,
"siteCountStandalone": 8
},
"FandomVisualEditor": {
"siteCount": 5859,
"siteCountRank": 141,
"siteCountStandalone": 8
},
"GlobalCSSJS": {
"siteCount": 5859,
"siteCountRank": 142,
"siteCountStandalone": 8
},
"ArticleVideo": {
"siteCount": 5858,
"siteCountRank": 143,
"siteCountStandalone": 7
},
"FounderEmails": {
"siteCount": 5857,
"siteCountRank": 144,
"siteCountStandalone": 8
},
"Announcements": {
"siteCount": 5680,
"siteCountRank": 145,
"siteCountStandalone": 8
},
"Slider": {
"siteCount": 5333,
"siteCountRank": 146,
"siteCountStandalone": 3
},
"Email": {
"siteCount": 5571,
"siteCountRank": 147,
"siteCountStandalone": 7
},
"CloseMyAccount": {
"siteCount": 5529,
"siteCountRank": 148,
"siteCountStandalone": 5
},
"UserPreferencesV2": {
"siteCount": 5539,
"siteCountRank": 149,
"siteCountStandalone": 6
},
"CuratedContent": {
"siteCount": 5539,
"siteCountRank": 150,
"siteCountStandalone": 6
},
"DownloadYourData": {
"siteCount": 5647,
"siteCountRank": 151,
"siteCountStandalone": 8
},
"Paginator": {
"siteCount": 5539,
"siteCountRank": 152,
"siteCountStandalone": 6
},
"WikiaBar": {
"siteCount": 5539,
"siteCountRank": 153,
"siteCountStandalone": 6
},
"SpecialWithoutimages": {
"siteCount": 5570,
"siteCountRank": 154,
"siteCountStandalone": 6
},
"CanonicalHref": {
"siteCount": 5607,
"siteCountRank": 155,
"siteCountStandalone": 9
},
"Privacy": {
"siteCount": 5524,
"siteCountRank": 156,
"siteCountStandalone": 4
},
"Auth": {
"siteCount": 5537,
"siteCountRank": 157,
"siteCountStandalone": 6
},
"Thumbnails": {
"siteCount": 5496,
"siteCountRank": 158,
"siteCountStandalone": 3
},
"Insights": {
"siteCount": 5563,
"siteCountRank": 159,
"siteCountStandalone": 5
},
"MainPageTag": {
"siteCount": 5514,
"siteCountRank": 160,
"siteCountStandalone": 5
},
"PortableInfoboxBuilder": {
"siteCount": 5610,
"siteCountRank": 161,
"siteCountStandalone": 6
},
"SeoLinkHrefLang": {
"siteCount": 5593,
"siteCountRank": 162,
"siteCountStandalone": 5
},
"DiscussionMaintenance": {
"siteCount": 5593,
"siteCountRank": 163,
"siteCountStandalone": 5
},
"UploadNewImages": {
"siteCount": 5593,
"siteCountRank": 164,
"siteCountStandalone": 5
},
"TemplateClassification": {
"siteCount": 5593,
"siteCountRank": 165,
"siteCountStandalone": 5
},
"PhotoGallery": {
"siteCount": 5593,
"siteCountRank": 166,
"siteCountStandalone": 5
},
"TimeAgoMessaging": {
"siteCount": 5593,
"siteCountRank": 167,
"siteCountStandalone": 5
},
"VisitSource": {
"siteCount": 5593,
"siteCountRank": 168,
"siteCountStandalone": 5
},
"CommunityPage": {
"siteCount": 5590,
"siteCountRank": 169,
"siteCountStandalone": 5
},
"FilePageRedirect": {
"siteCount": 5583,
"siteCountRank": 170,
"siteCountStandalone": 5
},
"CategoryPage": {
"siteCount": 5583,
"siteCountRank": 171,
"siteCountStandalone": 5
},
"AutoMainPageFixer": {
"siteCount": 5583,
"siteCountRank": 172,
"siteCountStandalone": 5
},
"FandomVideo": {
"siteCount": 5583,
"siteCountRank": 173,
"siteCountStandalone": 5
},
"SpecialCSS": {
"siteCount": 5583,
"siteCountRank": 174,
"siteCountStandalone": 5
},
"DiscussionPermissions": {
"siteCount": 5574,
"siteCountRank": 175,
"siteCountStandalone": 5
},
"DiscussionModeration": {
"siteCount": 5574,
"siteCountRank": 176,
"siteCountStandalone": 5
},
"Twitter Tag": {
"siteCount": 5285,
"siteCountRank": 178,
"siteCountStandalone": 6
},
"Blogs": {
"siteCount": 5352,
"siteCountRank": 179,
"siteCountStandalone": 5
},
"ForumRedirect": {
"siteCount": 4592,
"siteCountRank": 183,
"siteCountStandalone": 3
},
"MessageWall": {
"siteCount": 4511,
"siteCountRank": 184,
"siteCountStandalone": 3
},
"Google_Analytics_Integration": {
"siteCount": 988,
"siteCountRank": 194,
"siteCountStandalone": 735
},
"WikiHiero": {
"siteCount": 1468,
"siteCountRank": 196,
"siteCountStandalone": 37
},
"Replace_Text": {
"siteCount": 1638,
"siteCountRank": 200,
"siteCountStandalone": 1033
},
"Achievements": {
"siteCount": 1080,
"siteCountRank": 206,
"siteCountStandalone": 4
},
"Newest_Pages": {
"siteCount": 1370,
"siteCountRank": 210,
"siteCountStandalone": 133
},
"QuestyCaptcha": {
"siteCount": 1332,
"siteCountRank": 211,
"siteCountStandalone": 1063
},
"Wiki Category Tag Cloud": {
"siteCount": 1247,
"siteCountRank": 217,
"siteCountStandalone": 61
},
"Piwik Integration": {
"siteCount": 1216,
"siteCountRank": 218,
"siteCountStandalone": 60
},
"TalkNotifications": {
"siteCount": 1358,
"siteCountRank": 220,
"siteCountStandalone": 5
},
"AJAX_Poll": {
"siteCount": 1240,
"siteCountRank": 225,
"siteCountStandalone": 30
},
"Nimbus": {
"siteCount": 1180,
"siteCountRank": 226,
"siteCountStandalone": 8
},
"User_Merge_and_Delete": {
"siteCount": 1236,
"siteCountRank": 227,
"siteCountStandalone": 1083
},
"Semantic MediaWiki": {
"siteCount": 1209,
"siteCountRank": 234,
"siteCountStandalone": 972
},
"EmailCheck": {
"siteCount": 1160,
"siteCountRank": 237,
"siteCountStandalone": 0
},
"Multiple Lookup": {
"siteCount": 1139,
"siteCountRank": 238,
"siteCountStandalone": 0
},
"MyInfo": {
"siteCount": 1139,
"siteCountRank": 240,
"siteCountStandalone": 0
},
"ProblemReports": {
"siteCount": 1139,
"siteCountRank": 243,
"siteCountStandalone": 0
},
"ShoutWiki_API": {
"siteCount": 1115,
"siteCountRank": 250,
"siteCountStandalone": 0
},
"FancyCaptcha": {
"siteCount": 1137,
"siteCountRank": 253,
"siteCountStandalone": 50
},
"Add_User_ID_Into_Preferences": {
"siteCount": 1146,
"siteCountRank": 255,
"siteCountStandalone": 0
},
"LastMeasure": {
"siteCount": 1145,
"siteCountRank": 256,
"siteCountStandalone": 0
},
"SimpleMathJax": {
"siteCount": 909,
"siteCountRank": 270,
"siteCountStandalone": 100
},
"ShoutWiki_Ads": {
"siteCount": 942,
"siteCountRank": 280,
"siteCountStandalone": 14
},
"WikibaseClient": {
"siteCount": 945,
"siteCountRank": 283,
"siteCountStandalone": 13
},
"ShoutWiki Library": {
"siteCount": 927,
"siteCountRank": 287,
"siteCountStandalone": 0
},
"Abuse Filter Bypass": {
"siteCount": 915,
"siteCountRank": 290,
"siteCountStandalone": 1
},
"3d": {
"siteCount": 859,
"siteCountRank": 300,
"siteCountStandalone": 5
},
"Gamepress": {
"siteCount": 845,
"siteCountRank": 309,
"siteCountStandalone": 2
},
"Bouquet": {
"siteCount": 843,
"siteCountRank": 310,
"siteCountStandalone": 4
}
},
"skins": {
"2018": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 145
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 33
}
},
"Timeless": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1943
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 3
},
"siteCount": 2938,
"siteCountRank": 13,
"siteCountDefault": 165
},
"MonoBook": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1355
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 6
},
"siteCount": 13681,
"siteCountRank": 1,
"siteCountDefault": 1860
},
"Nimbus": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 188
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 25
},
"siteCount": 1260,
"siteCountRank": 18,
"siteCountDefault": 27
},
"Nostalgia": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 238
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 23
},
"siteCount": 5434,
"siteCountRank": 5,
"siteCountDefault": 1
},
"Pivot": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 871
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 8
},
"siteCount": 34,
"siteCountRank": 51,
"siteCountDefault": 24
},
"Poncho": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 646
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 11
},
"siteCount": 7,
"siteCountRank": 115,
"siteCountDefault": 2
},
"Reflection": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 22
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 48
}
},
"Refreshed": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 624
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 12
},
"siteCount": 41,
"siteCountRank": 42,
"siteCountDefault": 19
},
"Schulenburg": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 23
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 47
}
},
"Splash": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 357
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 18
},
"siteCount": 4,
"siteCountRank": 86,
"siteCountDefault": 2
},
"Tempo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 132
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 36
},
"siteCount": 4,
"siteCountRank": 175,
"siteCountDefault": 0
},
"Truglass": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 48
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 45
},
"siteCount": 1235,
"siteCountRank": 19,
"siteCountDefault": 1
},
"Mirage": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 143
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 34
},
"siteCount": 9,
"siteCountRank": 109,
"siteCountDefault": 0
},
"TuleapSkin": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 16
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 50
}
},
"Vector": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 8242
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 1
},
"siteCount": 14010,
"siteCountRank": 2,
"siteCountDefault": 5943
},
"WMAU": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 151
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 32
},
"siteCount": 13,
"siteCountRank": 90,
"siteCountDefault": 1
},
"WPtouch": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 186
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 26
},
"siteCount": 165,
"siteCountRank": 30,
"siteCountDefault": 5
},
"WikimediaApiPortal": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 113
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 39
}
},
"WoOgLeShades": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 136
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 35
}
},
"apex": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 470
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 14
}
},
"erudite": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 459
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 16
}
},
"mediawiki_strapping": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 112
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 40
}
},
"p2wiki": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 53
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 44
}
},
"shared": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 6
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 52
}
},
"Modern": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1604
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 4
},
"siteCount": 10913,
"siteCountRank": 3,
"siteCountDefault": 238
},
"MinervaNeue": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 5321
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 2
},
"siteCount": 2388,
"siteCountRank": 14,
"siteCountDefault": 11
},
"Aether": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 168
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 29
},
"siteCount": 6,
"siteCountRank": 136,
"siteCountDefault": 5
},
"Dusk": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 154
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 31
},
"siteCount": 461,
"siteCountRank": 21,
"siteCountDefault": 2
},
"Amethyst": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 178
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 27
}
},
"Anisa": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 395
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 17
},
"siteCount": 23,
"siteCountRank": 73,
"siteCountDefault": 2
},
"BlueSky": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 352
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 19
},
"siteCount": 5,
"siteCountRank": 92,
"siteCountDefault": 2
},
"BlueSpiceCalumma": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 464
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 15
}
},
"BlueSpiceDiscovery": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 186
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 26
}
},
"Bouquet": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 123
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 38
},
"siteCount": 862,
"siteCountRank": 24,
"siteCountDefault": 0
},
"Cavendish": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 196
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 24
},
"siteCount": 173,
"siteCountRank": 29,
"siteCountDefault": 19
},
"CologneBlue": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1439
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 5
},
"siteCount": 6863,
"siteCountRank": 4,
"siteCountDefault": 9
},
"Cosmos": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 1235
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 7
},
"siteCount": 25,
"siteCountRank": 71,
"siteCountDefault": 2
},
"DeskMessMirrored": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 104
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 41
},
"siteCount": 861,
"siteCountRank": 25,
"siteCountDefault": 0
},
"DuskToDawn": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 293
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 22
},
"siteCount": 861,
"siteCountRank": 23,
"siteCountDefault": 0
},
"Metrolook": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 527
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 13
},
"siteCount": 87,
"siteCountRank": 35,
"siteCountDefault": 27
},
"Empty": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 25
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 46
}
},
"Example": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 176
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 28
},
"siteCount": 7,
"siteCountRank": 93,
"siteCountDefault": 0
},
"Foreground": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 844
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 9
},
"siteCount": 312,
"siteCountRank": 27,
"siteCountDefault": 150
},
"Freo": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 15
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 51
}
},
"Gamepress": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 721
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 10
},
"siteCount": 873,
"siteCountRank": 22,
"siteCountDefault": 1
},
"GreyStuff": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 130
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 37
},
"siteCount": 35,
"siteCountRank": 58,
"siteCountDefault": 1
},
"GuMaxDD": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 64
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 43
},
"siteCount": 115,
"siteCountRank": 37,
"siteCountDefault": 11
},
"HasSomeColours": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 302
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 21
},
"siteCount": 23,
"siteCountRank": 74,
"siteCountDefault": 1
},
"Mask": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 167
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 30
},
"siteCount": 3,
"siteCountRank": 132,
"siteCountDefault": 0
},
"Material": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 339
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 20
},
"siteCount": 7,
"siteCountRank": 126,
"siteCountDefault": 1
},
"MediaWikiWordpressThemes": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 18
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 49
}
},
"webplatform": {
"downloads": {
"1w": 0,
"4w": 0,
"13w": 0,
"1y": 0,
"20y": 96
},
"downloadsRank": {
"1w": 1,
"4w": 1,
"13w": 1,
"1y": 1,
"20y": 42
}
},
"Standard": {
"siteCount": 5390,
"siteCountRank": 6,
"siteCountDefault": 0
},
"Simple": {
"siteCount": 5370,
"siteCountRank": 7,
"siteCountDefault": 0
},
"MySkin": {
"siteCount": 5369,
"siteCountRank": 8,
"siteCountDefault": 1
},
"Chick": {
"siteCount": 5365,
"siteCountRank": 9,
"siteCountDefault": 2
},
"FandomDesktop": {
"siteCount": 5068,
"siteCountRank": 10,
"siteCountDefault": 5030
},
"Mobileve": {
"siteCount": 4893,
"siteCountRank": 11,
"siteCountDefault": 0
},
"Cologne Blue": {
"siteCount": 2774,
"siteCountRank": 12,
"siteCountDefault": 38
},
"Monaco": {
"siteCount": 1499,
"siteCountRank": 15,
"siteCountDefault": 216
},
"Vector (2022)": {
"siteCount": 1351,
"siteCountRank": 16,
"siteCountDefault": 146
},
"Vector legacy (2010)": {
"siteCount": 1344,
"siteCountRank": 17,
"siteCountDefault": 1110
},
"Aurora": {
"siteCount": 30,
"siteCountRank": 20,
"siteCountDefault": 7
},
"Minerva": {
"siteCount": 472,
"siteCountRank": 26,
"siteCountDefault": 0
},
"Chameleon": {
"siteCount": 243,
"siteCountRank": 28,
"siteCountDefault": 195
},
"AdBird": {
"siteCount": 158,
"siteCountRank": 31,
"siteCountDefault": 148
},
"Erudite": {
"siteCount": 122,
"siteCountRank": 32,
"siteCountDefault": 23
},
"Bootstrap": {
"siteCount": 140,
"siteCountRank": 33,
"siteCountDefault": 37
},
"Oasis": {
"siteCount": 40,
"siteCountRank": 34,
"siteCountDefault": 11
},
"GuMax": {
"siteCount": 115,
"siteCountRank": 36,
"siteCountDefault": 9
},
"Tweeki": {
"siteCount": 87,
"siteCountRank": 38,
"siteCountDefault": 32
},
"Citizen": {
"siteCount": 29,
"siteCountRank": 39,
"siteCountDefault": 12
},
"DarkVector": {
"siteCount": 50,
"siteCountRank": 40,
"siteCountDefault": 9
},
"Strapping": {
"siteCount": 75,
"siteCountRank": 41,
"siteCountDefault": 23
},
"BootstrapMediaWiki": {
"siteCount": 27,
"siteCountRank": 43,
"siteCountDefault": 20
},
"GMWFreeBlue": {
"siteCount": 63,
"siteCountRank": 44,
"siteCountDefault": 5
},
"Pixeled": {
"siteCount": 63,
"siteCountRank": 45,
"siteCountDefault": 3
},
"CavendishMW": {
"siteCount": 57,
"siteCountRank": 46,
"siteCountDefault": 10
},
"Medik": {
"siteCount": 56,
"siteCountRank": 47,
"siteCountDefault": 26
},
"Hydra": {
"siteCount": 55,
"siteCountRank": 48,
"siteCountDefault": 36
},
"GMWFreeGreen": {
"siteCount": 54,
"siteCountRank": 49,
"siteCountDefault": 0
},
"Hydra Dark": {
"siteCount": 52,
"siteCountRank": 50,
"siteCountDefault": 52
},
"GMWFreeRed": {
"siteCount": 47,
"siteCountRank": 52,
"siteCountDefault": 0
},
"Index": {
"siteCount": 46,
"siteCountRank": 53,
"siteCountDefault": 0
},
"Roundedblue": {
"siteCount": 43,
"siteCountRank": 54,
"siteCountDefault": 0
},
"MistyLook": {
"siteCount": 40,
"siteCountRank": 55,
"siteCountDefault": 2
},
"WikiaMobile": {
"siteCount": 28,
"siteCountRank": 56,
"siteCountDefault": 0
},
"Bootstrapskin": {
"siteCount": 25,
"siteCountRank": 57,
"siteCountDefault": 16
},
"Digilern": {
"siteCount": 31,
"siteCountRank": 59,
"siteCountDefault": 0
},
"Zum": {
"siteCount": 31,
"siteCountRank": 60,
"siteCountDefault": 0
},
"Fratman enhanced": {
"siteCount": 30,
"siteCountRank": 61,
"siteCountDefault": 3
},
"GuMaxVN": {
"siteCount": 29,
"siteCountRank": 62,
"siteCountDefault": 1
},
"Img auth": {
"siteCount": 28,
"siteCountRank": 63,
"siteCountDefault": 0
},
"Opensearch desc": {
"siteCount": 28,
"siteCountRank": 64,
"siteCountDefault": 0
},
"Api": {
"siteCount": 28,
"siteCountRank": 65,
"siteCountDefault": 0
},
"Profileinfo": {
"siteCount": 28,
"siteCountRank": 66,
"siteCountDefault": 0
},
"Thumb handler": {
"siteCount": 28,
"siteCountRank": 67,
"siteCountDefault": 0
},
"Thumb": {
"siteCount": 28,
"siteCountRank": 68,
"siteCountDefault": 0
},
"Load": {
"siteCount": 28,
"siteCountRank": 69,
"siteCountDefault": 0
},
"BlueSpiceSkin": {
"siteCount": 5,
"siteCountRank": 70,
"siteCountDefault": 4
},
"Darwin": {
"siteCount": 24,
"siteCountRank": 72,
"siteCountDefault": 16
},
"MediaWiki Bootstrap": {
"siteCount": 21,
"siteCountRank": 75,
"siteCountDefault": 11
},
"Apex": {
"siteCount": 14,
"siteCountRank": 76,
"siteCountDefault": 4
},
"StrappingAds3": {
"siteCount": 13,
"siteCountRank": 77,
"siteCountDefault": 13
},
"BentoFluid": {
"siteCount": 19,
"siteCountRank": 78,
"siteCountDefault": 0
},
"KindofBlue": {
"siteCount": 18,
"siteCountRank": 79,
"siteCountDefault": 1
},
"Ipbwiki skin": {
"siteCount": 18,
"siteCountRank": 80,
"siteCountDefault": 0
},
"LocalSettings": {
"siteCount": 18,
"siteCountRank": 81,
"siteCountDefault": 0
},
"TwentyTen": {
"siteCount": 18,
"siteCountRank": 82,
"siteCountDefault": 3
},
"Bento": {
"siteCount": 17,
"siteCountRank": 83,
"siteCountDefault": 0
},
"Ipbwiki skin monobook": {
"siteCount": 17,
"siteCountRank": 84,
"siteCountDefault": 0
},
"Clean": {
"siteCount": 15,
"siteCountRank": 85,
"siteCountDefault": 5
},
"Cppreference2": {
"siteCount": 14,
"siteCountRank": 87,
"siteCountDefault": 0
},
"Cppreference": {
"siteCount": 14,
"siteCountRank": 88,
"siteCountDefault": 0
},
"Filament": {
"siteCount": 13,
"siteCountRank": 89,
"siteCountDefault": 3
},
"GuMaxV": {
"siteCount": 13,
"siteCountRank": 91,
"siteCountDefault": 1
},
"FusionForge": {
"siteCount": 12,
"siteCountRank": 94,
"siteCountDefault": 0
},
"Flatbox": {
"siteCount": 11,
"siteCountRank": 95,
"siteCountDefault": 0
},
"Darkvector": {
"siteCount": 10,
"siteCountRank": 96,
"siteCountDefault": 3
},
"Toro": {
"siteCount": 10,
"siteCountRank": 97,
"siteCountDefault": 0
},
"BlueBird": {
"siteCount": 10,
"siteCountRank": 98,
"siteCountDefault": 0
},
"Test": {
"siteCount": 10,
"siteCountRank": 99,
"siteCountDefault": 0
},
"OntoSkin3": {
"siteCount": 10,
"siteCountRank": 100,
"siteCountDefault": 0
},
"Bookjive": {
"siteCount": 9,
"siteCountRank": 101,
"siteCountDefault": 0
},
"GumaxDD2": {
"siteCount": 3,
"siteCountRank": 102,
"siteCountDefault": 0
},
"Bluwiki skin": {
"siteCount": 9,
"siteCountRank": 103,
"siteCountDefault": 1
},
"VectorWikanda": {
"siteCount": 9,
"siteCountRank": 104,
"siteCountDefault": 9
},
"GuMaxDDCustom2": {
"siteCount": 3,
"siteCountRank": 105,
"siteCountDefault": 0
},
"ScratchWikiSkin": {
"siteCount": 9,
"siteCountRank": 106,
"siteCountDefault": 9
},
"Liberty": {
"siteCount": 9,
"siteCountRank": 107,
"siteCountDefault": 7
},
"Otago": {
"siteCount": 9,
"siteCountRank": 108,
"siteCountDefault": 0
},
"GuMaxDDCustom": {
"siteCount": 3,
"siteCountRank": 110,
"siteCountDefault": 0
},
"Cavendish-MW": {
"siteCount": 8,
"siteCountRank": 111,
"siteCountDefault": 6
},
"AMP": {
"siteCount": 8,
"siteCountRank": 112,
"siteCountDefault": 0
},
"VbMediaWikiVector": {
"siteCount": 8,
"siteCountRank": 113,
"siteCountDefault": 0
},
"Wptouch": {
"siteCount": 3,
"siteCountRank": 114,
"siteCountDefault": 0
},
"Codex": {
"siteCount": 8,
"siteCountRank": 116,
"siteCountDefault": 3
},
"VbMediaWikiForum": {
"siteCount": 8,
"siteCountRank": 117,
"siteCountDefault": 0
},
"Evelution": {
"siteCount": 8,
"siteCountRank": 118,
"siteCountDefault": 0
},
"IWiki": {
"siteCount": 8,
"siteCountRank": 119,
"siteCountDefault": 0
},
"Ancestris": {
"siteCount": 8,
"siteCountRank": 120,
"siteCountDefault": 0
},
"VbGORE": {
"siteCount": 8,
"siteCountRank": 121,
"siteCountDefault": 2
},
"Minit": {
"siteCount": 7,
"siteCountRank": 122,
"siteCountDefault": 2
},
"Uncyclopedia": {
"siteCount": 7,
"siteCountRank": 123,
"siteCountDefault": 0
},
"Ycgu max": {
"siteCount": 6,
"siteCountRank": 124,
"siteCountDefault": 1
},
"Li": {
"siteCount": 7,
"siteCountRank": 125,
"siteCountDefault": 0
},
"Современное": {
"siteCount": 4,
"siteCountRank": 127,
"siteCountDefault": 0
},
"Wowwiki": {
"siteCount": 7,
"siteCountRank": 128,
"siteCountDefault": 0
},
"Векторное": {
"siteCount": 4,
"siteCountRank": 129,
"siteCountDefault": 3
},
"Gumax": {
"siteCount": 7,
"siteCountRank": 130,
"siteCountDefault": 0
},
"Monobook": {
"siteCount": 2,
"siteCountRank": 131,
"siteCountDefault": 0
},
"Naturkunde": {
"siteCount": 7,
"siteCountRank": 133,
"siteCountDefault": 6
},
"Blue Sky": {
"siteCount": 3,
"siteCountRank": 134,
"siteCountDefault": 1
},
"CoC": {
"siteCount": 6,
"siteCountRank": 135,
"siteCountDefault": 0
},
"Blueprint": {
"siteCount": 3,
"siteCountRank": 137,
"siteCountDefault": 0
},
"BlueSpice": {
"siteCount": 6,
"siteCountRank": 138,
"siteCountDefault": 0
},
"ArchLinux": {
"siteCount": 5,
"siteCountRank": 139,
"siteCountDefault": 2
},
"Femiwiki": {
"siteCount": 5,
"siteCountRank": 140,
"siteCountDefault": 1
},
"Snap!": {
"siteCount": 6,
"siteCountRank": 141,
"siteCountDefault": 0
},
"DuoBook2": {
"siteCount": 6,
"siteCountRank": 142,
"siteCountDefault": 6
},
"Kölnisch Blau": {
"siteCount": 3,
"siteCountRank": 143,
"siteCountDefault": 0
},
"DeepSea": {
"siteCount": 6,
"siteCountRank": 144,
"siteCountDefault": 0
},
"LyricsMinimal": {
"siteCount": 6,
"siteCountRank": 145,
"siteCountDefault": 0
},
"K8JuniorSkin": {
"siteCount": 5,
"siteCountRank": 146,
"siteCountDefault": 0
},
"CustisRu": {
"siteCount": 5,
"siteCountRank": 147,
"siteCountDefault": 1
},
"Wikin": {
"siteCount": 5,
"siteCountRank": 148,
"siteCountDefault": 0
},
"RilPoint": {
"siteCount": 5,
"siteCountRank": 149,
"siteCountDefault": 0
},
"IPhone": {
"siteCount": 5,
"siteCountRank": 150,
"siteCountDefault": 0
},
"AbiJuniorSkin": {
"siteCount": 5,
"siteCountRank": 151,
"siteCountDefault": 0
},
"Moderne": {
"siteCount": 4,
"siteCountRank": 152,
"siteCountDefault": 0
},
"NoLeftVector": {
"siteCount": 5,
"siteCountRank": 153,
"siteCountDefault": 0
},
"SmfCurve": {
"siteCount": 5,
"siteCountRank": 154,
"siteCountDefault": 1
},
"PureCss": {
"siteCount": 5,
"siteCountRank": 155,
"siteCountDefault": 0
},
"K6JuniorSkin": {
"siteCount": 5,
"siteCountRank": 156,
"siteCountDefault": 0
},
"Metin2Theme": {
"siteCount": 5,
"siteCountRank": 157,
"siteCountDefault": 5
},
"Analyticstracking": {
"siteCount": 5,
"siteCountRank": 158,
"siteCountDefault": 0
},
"Counter": {
"siteCount": 3,
"siteCountRank": 159,
"siteCountDefault": 0
},
"BootstrapExtension": {
"siteCount": 5,
"siteCountRank": 160,
"siteCountDefault": 0
},
"MonoBook2": {
"siteCount": 5,
"siteCountRank": 161,
"siteCountDefault": 0
},
"CleanMonobook": {
"siteCount": 5,
"siteCountRank": 162,
"siteCountDefault": 0
},
"MainJuniorSkin": {
"siteCount": 5,
"siteCountRank": 163,
"siteCountDefault": 0
},
"Rilgrey 01": {
"siteCount": 5,
"siteCountRank": 164,
"siteCountDefault": 0
},
"Guifi": {
"siteCount": 3,
"siteCountRank": 165,
"siteCountDefault": 3
},
"CleanVector": {
"siteCount": 5,
"siteCountRank": 166,
"siteCountDefault": 0
},
"Dgraph": {
"siteCount": 5,
"siteCountRank": 167,
"siteCountDefault": 2
},
"K10JuniorSkin": {
"siteCount": 5,
"siteCountRank": 168,
"siteCountDefault": 0
},
"Marsupi": {
"siteCount": 3,
"siteCountRank": 169,
"siteCountDefault": 0
},
"Moderno": {
"siteCount": 4,
"siteCountRank": 170,
"siteCountDefault": 0
},
"MIP": {
"siteCount": 4,
"siteCountRank": 171,
"siteCountDefault": 0
},
"MonoBookFusionForge": {
"siteCount": 4,
"siteCountRank": 172,
"siteCountDefault": 4
},
"Vector1": {
"siteCount": 4,
"siteCountRank": 173,
"siteCountDefault": 0
},
"CavendishMWC": {
"siteCount": 4,
"siteCountRank": 174,
"siteCountDefault": 0
},
"Moderna": {
"siteCount": 4,
"siteCountRank": 176,
"siteCountDefault": 0
},
"GeoGebra": {
"siteCount": 4,
"siteCountRank": 177,
"siteCountDefault": 4
},
"BlueLL": {
"siteCount": 4,
"siteCountRank": 178,
"siteCountDefault": 1
},
"WikiToLearn": {
"siteCount": 4,
"siteCountRank": 179,
"siteCountDefault": 4
},
"Cubun": {
"siteCount": 4,
"siteCountRank": 180,
"siteCountDefault": 0
},
"Bootstrapskinmini": {
"siteCount": 4,
"siteCountRank": 181,
"siteCountDefault": 0
},
"Alexandria": {
"siteCount": 4,
"siteCountRank": 182,
"siteCountDefault": 0
},
"AniMonaco": {
"siteCount": 4,
"siteCountRank": 183,
"siteCountDefault": 1
},
"StealthNinja": {
"siteCount": 4,
"siteCountRank": 184,
"siteCountDefault": 4
},
"WebPlatform": {
"siteCount": 4,
"siteCountRank": 185,
"siteCountDefault": 1
},
"Onyx": {
"siteCount": 4,
"siteCountRank": 186,
"siteCountDefault": 0
},
"Drupal": {
"siteCount": 4,
"siteCountRank": 187,
"siteCountDefault": 0
},
"Booty": {
"siteCount": 4,
"siteCountRank": 188,
"siteCountDefault": 2
},
"AdSense": {
"siteCount": 4,
"siteCountRank": 189,
"siteCountDefault": 0
},
"Andys": {
"siteCount": 4,
"siteCountRank": 190,
"siteCountDefault": 0
},
"Fratman": {
"siteCount": 4,
"siteCountRank": 191,
"siteCountDefault": 2
},
"Wikiade": {
"siteCount": 4,
"siteCountRank": 192,
"siteCountDefault": 0
},
"WordPress": {
"siteCount": 4,
"siteCountRank": 193,
"siteCountDefault": 0
},
"Bluespicediscovery": {
"siteCount": 4,
"siteCountRank": 194,
"siteCountDefault": 4
},
"Daddio": {
"siteCount": 3,
"siteCountRank": 195,
"siteCountDefault": 1
},
"Iswiki": {
"siteCount": 4,
"siteCountRank": 196,
"siteCountDefault": 0
},
"MonoBook-original": {
"siteCount": 4,
"siteCountRank": 197,
"siteCountDefault": 0
},
"DarkCosmos": {
"siteCount": 4,
"siteCountRank": 198,
"siteCountDefault": 1
},
"Кёльнская тоска": {
"siteCount": 4,
"siteCountRank": 199,
"siteCountDefault": 0
},
"AdSense Bottom": {
"siteCount": 4,
"siteCountRank": 200,
"siteCountDefault": 0
},
"Grepolis Skin": {
"siteCount": 4,
"siteCountRank": 201,
"siteCountDefault": 4
},
"Argonne": {
"siteCount": 3,
"siteCountRank": 202,
"siteCountDefault": 0
},
"MonoBook bak": {
"siteCount": 3,
"siteCountRank": 203,
"siteCountDefault": 0
},
"TK Skin": {
"siteCount": 3,
"siteCountRank": 204,
"siteCountDefault": 3
},
"Studentlink": {
"siteCount": 3,
"siteCountRank": 205,
"siteCountDefault": 0
},
"Sturmkrieg": {
"siteCount": 3,
"siteCountRank": 206,
"siteCountDefault": 0
},
"Klaus": {
"siteCount": 3,
"siteCountRank": 207,
"siteCountDefault": 3
},
"Beth": {
"siteCount": 3,
"siteCountRank": 208,
"siteCountDefault": 0
},
"Vector ori": {
"siteCount": 3,
"siteCountRank": 209,
"siteCountDefault": 0
},
"Lakeus": {
"siteCount": 3,
"siteCountRank": 210,
"siteCountDefault": 0
},
"Labcs": {
"siteCount": 3,
"siteCountRank": 211,
"siteCountDefault": 0
},
"StellarBook": {
"siteCount": 3,
"siteCountRank": 212,
"siteCountDefault": 0
},
"VectorIcubeTeam": {
"siteCount": 3,
"siteCountRank": 213,
"siteCountDefault": 3
},
"Osmfoundation": {
"siteCount": 3,
"siteCountRank": 214,
"siteCountDefault": 1
},
"Fedora": {
"siteCount": 3,
"siteCountRank": 215,
"siteCountDefault": 2
},
"Slate": {
"siteCount": 3,
"siteCountRank": 216,
"siteCountDefault": 1
},
"Mirlo": {
"siteCount": 3,
"siteCountRank": 217,
"siteCountDefault": 3
},
"Clean and blue": {
"siteCount": 3,
"siteCountRank": 218,
"siteCountDefault": 0
},
"Netbar": {
"siteCount": 3,
"siteCountRank": 219,
"siteCountDefault": 0
},
"Contenttranslation": {
"siteCount": 3,
"siteCountRank": 220,
"siteCountDefault": 0
},
"Lcrc": {
"siteCount": 3,
"siteCountRank": 221,
"siteCountDefault": 0
},
"Helena": {
"siteCount": 3,
"siteCountRank": 222,
"siteCountDefault": 3
},
"MonoBook-test": {
"siteCount": 3,
"siteCountRank": 223,
"siteCountDefault": 0
},
"Tribalwars": {
"siteCount": 3,
"siteCountRank": 224,
"siteCountDefault": 2
},
"Bootstrapmediawiki": {
"siteCount": 3,
"siteCountRank": 225,
"siteCountDefault": 0
},
"Q Author": {
"siteCount": 3,
"siteCountRank": 226,
"siteCountDefault": 0
},
"Purple": {
"siteCount": 3,
"siteCountRank": 227,
"siteCountDefault": 0
},
"MCS": {
"siteCount": 3,
"siteCountRank": 228,
"siteCountDefault": 0
},
"Q Default Skin": {
"siteCount": 3,
"siteCountRank": 229,
"siteCountDefault": 2
},
"VectorV2": {
"siteCount": 3,
"siteCountRank": 230,
"siteCountDefault": 1
},
"Bleu de Cologne": {
"siteCount": 3,
"siteCountRank": 231,
"siteCountDefault": 0
},
"RedIRIS": {
"siteCount": 2,
"siteCountRank": 232,
"siteCountDefault": 2
},
"GreenSolutions": {
"siteCount": 3,
"siteCountRank": 233,
"siteCountDefault": 0
},
"Prescient": {
"siteCount": 3,
"siteCountRank": 234,
"siteCountDefault": 0
},
"Nostale": {
"siteCount": 3,
"siteCountRank": 235,
"siteCountDefault": 0
},
"IndoEuropean": {
"siteCount": 3,
"siteCountRank": 236,
"siteCountDefault": 0
},
"Chicago": {
"siteCount": 3,
"siteCountRank": 237,
"siteCountDefault": 1
},
"Globus2": {
"siteCount": 3,
"siteCountRank": 238,
"siteCountDefault": 0
},
"Hadron": {
"siteCount": 3,
"siteCountRank": 239,
"siteCountDefault": 3
},
"XLKnowledge": {
"siteCount": 3,
"siteCountRank": 240,
"siteCountDefault": 1
},
"ⓌⓞⓄⓖⓁⓔⓈⓗⓐⓓⓔⓢ": {
"siteCount": 3,
"siteCountRank": 241,
"siteCountDefault": 1
},
"DBSSkin": {
"siteCount": 3,
"siteCountRank": 242,
"siteCountDefault": 3
},
"Impro": {
"siteCount": 3,
"siteCountRank": 243,
"siteCountDefault": 0
},
"Snap! Wiki Skin": {
"siteCount": 3,
"siteCountRank": 244,
"siteCountDefault": 0
},
"Seed": {
"siteCount": 3,
"siteCountRank": 245,
"siteCountDefault": 0
},
"Vector2": {
"siteCount": 3,
"siteCountRank": 246,
"siteCountDefault": 0
},
"CarbonGreen": {
"siteCount": 3,
"siteCountRank": 247,
"siteCountDefault": 1
},
"WebMedia": {
"siteCount": 3,
"siteCountRank": 248,
"siteCountDefault": 0
},
"Freifunk": {
"siteCount": 2,
"siteCountRank": 249,
"siteCountDefault": 0
},
"NostaleNew": {
"siteCount": 2,
"siteCountRank": 250,
"siteCountDefault": 1
},
"Campfire": {
"siteCount": 3,
"siteCountRank": 251,
"siteCountDefault": 0
},
"Cosmochips": {
"siteCount": 3,
"siteCountRank": 252,
"siteCountDefault": 0
},
"Waze": {
"siteCount": 3,
"siteCountRank": 253,
"siteCountDefault": 3
},
"科隆香水蓝": {
"siteCount": 3,
"siteCountRank": 254,
"siteCountDefault": 1
},
"Linus": {
"siteCount": 3,
"siteCountRank": 255,
"siteCountDefault": 3
},
"Carbon": {
"siteCount": 3,
"siteCountRank": 256,
"siteCountDefault": 1
},
"Translatum": {
"siteCount": 3,
"siteCountRank": 257,
"siteCountDefault": 3
},
"Naiad": {
"siteCount": 3,
"siteCountRank": 258,
"siteCountDefault": 0
},
"Quartz": {
"siteCount": 3,
"siteCountRank": 259,
"siteCountDefault": 0
},
"Embed": {
"siteCount": 3,
"siteCountRank": 260,
"siteCountDefault": 0
},
"BlueSpiceLinkTank": {
"siteCount": 3,
"siteCountRank": 261,
"siteCountDefault": 3
},
"Monospec": {
"siteCount": 2,
"siteCountRank": 262,
"siteCountDefault": 0
},
"FedericoDark": {
"siteCount": 2,
"siteCountRank": 263,
"siteCountDefault": 0
},
"CbpTranscription": {
"siteCount": 2,
"siteCountRank": 264,
"siteCountDefault": 1
},
"UESP Vector": {
"siteCount": 2,
"siteCountRank": 265,
"siteCountDefault": 0
},
"Mistylook": {
"siteCount": 2,
"siteCountRank": 266,
"siteCountDefault": 1
},
"Copy of MonoBook": {
"siteCount": 2,
"siteCountRank": 267,
"siteCountDefault": 0
},
"Stanfordmodern1": {
"siteCount": 2,
"siteCountRank": 268,
"siteCountDefault": 1
},
"RoundedBlue": {
"siteCount": 2,
"siteCountRank": 269,
"siteCountDefault": 1
},
"Mobile": {
"siteCount": 2,
"siteCountRank": 270,
"siteCountDefault": 0
},
"SSP24": {
"siteCount": 2,
"siteCountRank": 271,
"siteCountDefault": 0
},
"Blender": {
"siteCount": 2,
"siteCountRank": 272,
"siteCountDefault": 0
},
"Forum": {
"siteCount": 2,
"siteCountRank": 273,
"siteCountDefault": 0
},
"LCARS": {
"siteCount": 2,
"siteCountRank": 274,
"siteCountDefault": 1
},
"SGuMax": {
"siteCount": 2,
"siteCountRank": 275,
"siteCountDefault": 0
},
"Isms": {
"siteCount": 2,
"siteCountRank": 276,
"siteCountDefault": 0
},
"モダン": {
"siteCount": 2,
"siteCountRank": 277,
"siteCountDefault": 0
},
"Nama2": {
"siteCount": 2,
"siteCountRank": 278,
"siteCountDefault": 0
},
"Vector-foundation": {
"siteCount": 2,
"siteCountRank": 279,
"siteCountDefault": 0
},
"Kiwitic": {
"siteCount": 2,
"siteCountRank": 280,
"siteCountDefault": 1
},
"Iphone": {
"siteCount": 2,
"siteCountRank": 281,
"siteCountDefault": 0
},
"Golarion": {
"siteCount": 2,
"siteCountRank": 282,
"siteCountDefault": 2
},
"Spin": {
"siteCount": 2,
"siteCountRank": 283,
"siteCountDefault": 0
},
"Azul colonial": {
"siteCount": 2,
"siteCountRank": 284,
"siteCountDefault": 0
},
"Egypt": {
"siteCount": 2,
"siteCountRank": 285,
"siteCountDefault": 0
},
"Vector (bac)": {
"siteCount": 2,
"siteCountRank": 286,
"siteCountDefault": 0
},
"MonoBoo-prenamechangek": {
"siteCount": 2,
"siteCountRank": 287,
"siteCountDefault": 0
},
"Mesto": {
"siteCount": 2,
"siteCountRank": 288,
"siteCountDefault": 2
},
"Adsense": {
"siteCount": 2,
"siteCountRank": 289,
"siteCountDefault": 0
},
"Hacken": {
"siteCount": 2,
"siteCountRank": 290,
"siteCountDefault": 1
},
"Shakepeers": {
"siteCount": 2,
"siteCountRank": 291,
"siteCountDefault": 1
},
"Wrench": {
"siteCount": 2,
"siteCountRank": 292,
"siteCountDefault": 0
},
"Hub": {
"siteCount": 2,
"siteCountRank": 293,
"siteCountDefault": 0
},
"Expo": {
"siteCount": 2,
"siteCountRank": 294,
"siteCountDefault": 0
},
"モノブック": {
"siteCount": 2,
"siteCountRank": 295,
"siteCountDefault": 0
},
"Gmo": {
"siteCount": 2,
"siteCountRank": 296,
"siteCountDefault": 0
},
"SnapHouston": {
"siteCount": 2,
"siteCountRank": 297,
"siteCountDefault": 0
},
"Wilmaonline": {
"siteCount": 2,
"siteCountRank": 298,
"siteCountDefault": 0
},
"Igem": {
"siteCount": 2,
"siteCountRank": 299,
"siteCountDefault": 2
},
"Vadzimart": {
"siteCount": 2,
"siteCountRank": 300,
"siteCountDefault": 0
},
"GrassRoots": {
"siteCount": 2,
"siteCountRank": 301,
"siteCountDefault": 0
},
"Pilod": {
"siteCount": 2,
"siteCountRank": 302,
"siteCountDefault": 0
},
"Caucho": {
"siteCount": 2,
"siteCountRank": 303,
"siteCountDefault": 0
},
"Bootstrapmini": {
"siteCount": 2,
"siteCountRank": 304,
"siteCountDefault": 0
}
}
}
1gutu6oaruchrhc2m0hwno6yajxwo4l
New Developers/Introduction to the Wikimedia Technical Ecosystem/es
0
1740790
8390280
7898857
2026-05-25T05:24:00Z
~2026-31293-65
18405672
8390280
wikitext
text/x-wiki
<languages/>
Esta página ofrece un panorama del software e infraestructura [https://www.wikimedia.org/ Wikimedia] para nuevos colaboradores técnicos.
Su objetivo es ayudar a los desarrolladores a comprender las áreas principales donde pueden aplicar sus habilidades técnicas para apoyar y hacer crecer al [[m:Special:MyLanguage/Wikimedia_movement|Movimiento]].
<span id="Core_principles_and_technology"></span>
== Principios básicos y tecnología ==
<span id="Open_source"></span>
=== Codigo abierto ===
El ecosistema técnico de Wikimedia se guía por los principios del [[w:Software libre y de código abierto|software libre y de código abierto]] (FLOSS).
Los colaboradores de todo el mundo ofrecen su tiempo como voluntarios para mantener y ampliar la tecnología detrás de los proyectos de Wikimedia.
Esto significa que el ecosistema técnico de Wikimedia está formado por muchos proyectos únicos con distintas pautas de contribución, patrones de diseño, lugares de alojamiento y procesos de revisión de código.
Los valores de código abierto como la propiedad compartida y los fuertes compromisos de privacidad son fundamentales para la infraestructura técnica, el software y los servicios de Wikimedia. Por ejemplo:
* Para el control de versiones y la revisión de código, la Fundación Wikimedia (FWM) utiliza [[Special:MyLanguage/Gerrit|Git y Gerrit]]. Git es un sistema de control de versiones distribuido, gratuito y de código abierto, y Gerrit es una herramienta de revisión de código colaborativa, gratuita y basada en la web que se integra con Git.
* [[wikitech:Help:Cloud_Services_introduction|Los Servicios en la Nube de Wikimedia (WMCS)]] proporcionan infraestructura de computación en la nube, alojamiento compartido (plataforma como servicio) y servicios de datos para quienes contribuyen a los proyectos de software de Wikimedia. Puedes usar estos servicios para alojar tus herramientas de software para el movimiento Wikimedia, de forma gratuita, en lugar de usar servicios propietarios, de pago o de código abierto.
Además de proporcionar herramientas y servicios a los colaboradores técnicos, FWM mantiene la [[wikitech:Wikimedia_infrastructure|infraestructura básica]], como centros de datos, búsqueda, redes y enrutamiento de tráfico global. No es necesario conocerlos para contribuir a proyectos wiki, pero sí conviene conocer el software principal que impulsa Wikipedia y otras wikis: MediaWiki.
=== MediaWiki ===
[[File:MediaWiki-2020-logo.svg|133x133px|right|link=]]
Los proyectos Wikimedia, incluyendo Wikipedia, se ejecutan en la plataforma de software [[Special:MyLanguage/MediaWiki|MediaWiki]]. MediaWiki es un software libre y de código abierto, diseñado específicamente para recopilar y organizar conocimiento libre y abierto. Es multilingüe, extensible, personalizable y fiable. MediaWiki permite a usuarios de todo el mundo editar, organizar, mantener y colaborar en wikis. Gestiona la visualización de contenido como texto, fotos, formato y revisiones. MediaWiki es más que un simple sistema de gestión de contenido: también proporciona herramientas para gestionar el spam y el vandalismo, así como otras funciones que facilitan la conservación comunitaria de conocimiento libremente reutilizable en una plataforma abierta.
<gallery widths="320px" heights="180px" mode="packed">
File:Here's to Engineering.webm|Dato curioso: [[wmfblog:2016/05/05/mediawiki-nasa/|La NASA utiliza MediaWiki como su software wiki.]]
</gallery>
<span id="Key_areas_where_developers_can_contribute"></span>
==Áreas clave en las que los desarrolladores pueden contribuir==
<span id="Develop_MediaWiki,_apps,_and_extensions"></span>
=== Desarrollar MediaWiki, aplicaciones y extensiones ===
<span id="MediaWiki_core_and_extensions"></span>
==== Núcleo y extensiones de MediaWiki ====
El software MediaWiki es desarrollado en colaboración por personas de todo el mundo. La comunidad técnica de Wikimedia ha añadido muchas características clave a MediaWiki y ha construido un gran ecosistema de extensiones al software principal. Debido a su complejidad, contribuir a MediaWiki puede ser más difícil que otros tipos de contribuciones técnicas. Como nuevo colaborador, concéntrate en características y errores que solo tocan una pequeña región de código.
[[phab:maniphest/query/9otR6me9VKZa/#R|Aquí puedes encontrar buenas primeras tareas para el núcleo de MediaWiki.]]
Evite construir nuevas skins y extensiones de MediaWiki: cada nueva extensión aumenta la carga de mantenimiento general del software y puede bloquear el lanzamiento de nuevas características cruciales.
En lugar de eso, considere trabajar en una de las muchas [[Special:MyLanguage/Manual:Extensions|extensiones existentes]].
{{Colored box
|title=Ejemplo de extensión: traducir texto y administrar wikis multilingües
|content=La [[Special:MyLanguage/Extension:Translate|extensión Translate]] (Traducir) permite la localización de MediaWiki y la traducción de todo tipo de texto.
Apoya la traducción basada en la web, la corrección y la colaboración entre traductores de todo el mundo, al tiempo que hace que la integración de back-end con el código fuente sea lo más fácil posible.
[[File:Translate manual - Page example - 19. Documentation.png|center|thumb|522x522px|Captura de pantalla de una página de traducción generada por la extensión Translate.]]}}
{{imbox
| text = Cosas que debes saber antes de empezar:
* Escribir código para MediaWiki generalmente requiere conocimientos de PHP, MySQL/MariaDB, JavaScript y CSS.
* La base de código de MediaWiki es grande - ¡no se deje abrumar por ella! Cuando empieces, apuntes a escribir características o corregir errores que solo toquen una pequeña región de código.
* Siga las [[Special:MyLanguage/Development_guidelines|pautas de desarrollo de MediaWiki]] y las [[Special:MyLanguage/Best_practices_for_extensions|mejores prácticas para extensiones]].
}}
Para obtener más información, visite $Become-a-hacker.
<span id="Wikimedia_mobile_apps"></span>
==== Aplicaciones móviles de Wikimedia ====
Las aplicaciones móviles amplían el alcance del contenido de Wikimedia permitiendo a los usuarios interactuar con Wikimedia sin usar un navegador web. Hay aplicaciones para las plataformas Android, iOS y KaiOS, aplicaciones para diferentes proyectos de Wikimedia como Commons, Wikipedia y Wikcionario, y aplicaciones para actividades como leer, contribuir y más. Muchas aplicaciones tienen comunidades de desarrolladores vibrantes y dan la bienvenida a nuevos colaboradores.
{{Colored box
|title=Ejemplo de una aplicación móvil: leer Wikipedia sin acceso a Internet
|content=[[meta:Kiwix|Kiwix]] es un lector fuera de línea - hace que Wikipedia sea accesible para personas sin acceso a Internet.
Proporciona contenido en más de 100 idiomas de Wikipedia, Wikiquote, Wiktionary y otros recursos en línea.
El desarrollo de Kiwix utiliza Java/Kotlin (Android), Swift (iOS), Qt (escritorio), NodeJS (mediawiki offliner) y C++.
<gallery widths=385px heights=385px mode="packed">
File:KIWIX Flyer.pdf|Volante de Kiwix
File:Kiwix on iOS 1.png|Captura de pantalla de Kiwix en iOS
</gallery>
}}
Para obtener más información, visite las {{ll|Wikimedia Apps}}.
<span id="Customise_MediaWiki_through_on-wiki_development"></span>
=== Personaliza MediaWiki mediante el desarrollo intra-wiki ===
<span id="Templates_and_modules"></span>
==== Plantillas y módulos ====
Las '''plantillas''' permiten que un mismo contenido aparezca en varias páginas wiki ("transclusión"). Muchas wikis dependen en gran medida de las plantillas: existen miles, se usan en casi todas las páginas y son esenciales para su funcionalidad. Se pueden pasar parámetros a las plantillas para personalizar la gestión del contenido en diferentes contextos.
{{Colored box
|title=Ejemplo de plantilla: formato de citas en bloque
|content=La [[w:Template:Blockquote|plantilla Blockquote]] proporciona formato para citas en bloque e incluye parámetros de atribución preformateados para el autor y la fuente de una cita.
Esto permite a los editores usar el marcado de wikitexto para diseñar de manera sencilla y consistente cómo se muestran las citas en bloque en las páginas wiki.
[[File:Template Blockquote example.png|center|thumb|Captura de pantalla de la documentación de Template:Blockquote que muestra cómo funciona.|800x800px]]
}}
No necesitas una cuenta de desarrollador para editar o crear una plantilla, y están escritas en wikitexto. Esto hace que las plantillas sean una forma sencilla de empezar a personalizar el comportamiento de la wiki.
Los '''módulos''' son similares a las plantillas, pero en lugar de estar escritos en wikitexto, utilizan el lenguaje de programación Lua.
Si bien las plantillas son parte de la aplicación principal MediaWiki, el soporte para módulos se implementa mediante una extensión llamada {{ll|Extension:Scribunto|nsp=0}}.
{{Colored box
|title=Ejemplo de módulo: formatear mapas de rutas complejos
|content=El módulo [[w:Module:Routemap|Módulo de mapa de ruta]] admite un lenguaje especial, complejo y personalizado para mostrar mapas ferroviarios. Se utiliza en miles de artículos sobre ferrocarriles en varios idiomas.
El uso de Lua permite que este módulo reemplace las [[w:Wikipedia:Route diagram template|plantillas de mapas de ruta heredadas]] con una implementación más rápida y compatible con dispositivos móviles.
[[File:Routemap example screenshot.png|center|thumb|420x420px|Captura de pantalla de un [[:ko:경인선|artículo que utiliza el módulo Routemap en la Wikipedia en coreano]].]][[File:Routemap markup example.png|center|thumb|517x517px|Código de ejemplo y representación de la [[w:Template:Routemap|documentación de Mapa de ruta]].]]
}}
{{imbox
| text = Cosas que debes saber antes de empezar:
* Algunas funciones de la plantilla dependen de otras extensiones de MediaWiki, CSS y/o JavaScript que deben implementarse en una wiki determinada para que las funciones funcionen.
* Las plantillas son una característica muy poderosa del software MediaWiki, por lo que debes realizar modificaciones en plantillas complejas en un entorno limitado e incluir casos de prueba para verificar que funcionen como se espera.
* Para reducir el riesgo de que errores rompan cientos o miles de páginas, los proyectos wiki pueden tener políticas que restrinjan o "[[w:Wikipedia:High-risk_templates|protejan]]" las ediciones de plantillas o módulos ampliamente utilizados.
* El software MediaWiki tiene parámetros que limitan la complejidad de una página y la cantidad de datos que se pueden incluir. Esto significa que existen algunos [[w:Help:Template limits|límites en lo que se puede hacer con plantillas y módulos]].
* Los módulos deben seguir las [[Special:MyLanguage/Manual:Coding_conventions/Lua|convenciones de codificación de Lua]].
}}
Para obtener más información sobre las plantillas, visite las {{ll|Help:Templates}}.
Para obtener más información sobre los módulos y cómo se utiliza Lua en MediaWiki, visita el [[Special:MyLanguage/Extension:Scribunto/Lua reference manual|manual de Lua de Scribunto]].
<span id="User_scripts_and_gadgets"></span>
====Scripts y gadgets de usuario====
MediaWiki admite la personalización front-end, o desarrollo "en wiki", para mejorar la funcionalidad principal del software.
Los '''scripts de usuario''' son JavaScript y/o CSS que proporcionan funciones adicionales a MediaWiki.
El código vive en la wiki, y se inyecta desde el lado del cliente en MediaWiki a través de las preferencias del usuario.
Puede modificar su JavaScript y CSS locales para cambiar la apariencia y el comportamiento de su propia interfaz.
Los usuarios individuales pueden agregar funciones por sí mismos siempre y cuando cumplan con las expectativas y pautas al respecto.
Si construyes algo que otros puedan usar, puedes compartir tus scripts de forma informal, o trabajar con una comunidad wiki para investigar cómo hacer tus personalizaciones disponibles para otros usuarios y proyectos como un "gadget".
{{Colored box
|title=Ejemplo de script de usuario: muestra contenido calculado
|content=[[Special:MyLanguage/ChickTech_High_School_Kickoff_2017/Tasks#Write_a_user_script_to_calculate_the_estimated_reading_time_of_an_article|Este script de usuario]] calcula el tiempo de lectura de un artículo y lo muestra en la página.
<syntaxhighlight lang="javascript" line="1">
var numWords = $("#mw-content-text > div").text().split(" ").length;
var headerWords = $("h1").text().split(" ").length;
var totalWords = numWords + headerWords;
var timeInMinutes = totalWords / 200;
var header = $("h1").text();
$("h1").text(header + " (it will take you " + timeInMinutes + " mins to read this article)");
</syntaxhighlight>
[[File:Reading_time_for_basketball_article.png|center|thumb|517x517px|Captura de pantalla del artículo de Wikipedia en inglés que muestra el tiempo de lectura.]]
}}
Los '''gadgets''' son personalizaciones generadas por el usuario que se pueden instalar en una wiki mediante la [[Special:MyLanguage/Extension:Gadgets|extensión Gadgets MediaWiki]]. Muchos gadgets surgieron como scripts de usuario que se generalizaron en su wiki principal, y los administradores querían que fueran más fáciles de encontrar y usar. Los administradores pueden configurar qué gadgets están disponibles y habilitados por defecto para todo un sitio o skin de MediaWiki.
{{Colored box
|title=Ejemplo de gadget: ayuda a los editores a categorizar el contenido
|content=[[w:Wikipedia:HotCat|HotCat]] ayuda a los usuarios a eliminar, cambiar y agregar categorías a las páginas de Wikipedia fácilmente.
Tiene una lista de sugerencias que propone categorías existentes para la autocomplementación.
[[File:Gadget_hotcats.jpg|center|thumb|517x517px|Captura de pantalla de la funcionalidad HotCat en la Wikipedia francesa.]]
}}
{{Colored box
|title=Ejemplo de gadget: ayuda a los moderadores a arreglar el contenido
|content=Este [[:fa:مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js|gadget implementado en Wikipedia en persa]] ayuda a los moderadores de contenido a corregir letras, gramática, números, URL, estructura de artículos y más en árabe.
[[File:Persiantools gadget screenshot.png|alt=Captura de pantalla de JavaScript del gadget de Wikipedia persa.|center|thumb|595x595px|Captura de pantalla de JavaScript del gadget de Wikipedia persa.]]
}}
{{imbox
| text = Cosas que debes saber antes de empezar: Kenia Sarahí Gómez Moreno 12021994
* Para que los scripts de usuario funcionen, la variable {{ll|Manual:$wgAllowUserJs|$wgAllowUserJs}} en el archivo de configuración del sitio debe ser fijada como {{phpi|true}}.
* Para que los gadgets funcionen, se deben instalar las extensiones {{ll|Extension:Gadgets|nsp=0}} y {{ll|Extension:CodeEditor|nsp=0}}.
* El código del gadget debe seguir las [[Manual:Coding_conventions/JavaScript|convenciones de codificación de JavaScript]].
* Cada comunidad de wiki determina cómo y si revisar el código de los gadgets. El proceso para poner un gadget a disposición de todos los usuarios de una wiki no es simplificado. Requiere una serie de pasos, incluida la contratación de un administrador de interfaz y la provisión de instrucciones de despliegue para ellos.
* En los wikis de Wikimedia, debes ser un [[meta:Special:MyLanguage/Interface_administrators|administrador de interfaz]] para editar gadgets.
}}
Para obtener más información sobre scripts de usuario y gadgets, visita ''{{ll|Gadget kitchen}}''.
<span id="Build_tools_and_bots_to_help_Wikimedia_projects"></span>
===Crear herramientas y bots para ayudar a los proyectos de Wikimedia===
Las [[Special:MyLanguage/API:Main_page|API]] de MediaWiki proporcionan acceso directo a los datos de la base de datos de MediaWiki. Esto incluye contenido wiki, metadatos, datos analíticos y más. Puedes usar estas API para crear aplicaciones que aporten contenido o nuevas funcionalidades al ecosistema Wikimedia. Los módulos de la API proporcionan acceso programático a gran parte de las mismas funciones que ofrece la interfaz web de MediaWiki.
==== Bots ====
Los '''bots''' son programas automatizados que ayudan a los proyectos wiki realizando tareas cruciales pero repetitivas.
Los bots ahorran esfuerzo humano corrigiendo espacios extra o faltantes, sugiriendo artículos a los recién llegados, arreglando enlaces rotos, y mucho más.
La automatización de bots apoya a los voluntarios de Wikimedia permitiéndole pasar más tiempo en tareas que requieren inteligencia humana, como escribir artículos, encontrar fuentes, verificar hechos y sintetizar múltiples puntos de vista.
{{Colored box
|title=Ejemplo de bot: fight link rot (Combate contra los enlaces rotos)
|content=[[File:IABot logo.svg|left|link=]][[metawiki:Special:MyLanguage/InternetArchiveBot|InternetArchiveBot]] (IABot) es un bot avanzado que identifica y reemplaza enlaces externos rotos.
También completa plantillas de referencia y agrega enlaces a recursos, cuando corresponde.
Este bot funciona como un servicio del Internet Archive en asociación con la comunidad Wikimedia.
En octubre de 2022, IABot se ejecuta en más de 150 wikis de Wikimedia.
IABot también tiene una [[toolforge:iabot/|interfaz basada en navegador web]] (aplicación web) que proporciona acceso fácil a algunos de los servicios y configuraciones del bot.
}}
Los bots pueden solicitar páginas y enviar ediciones a wikis de la misma manera que los usuarios realizan las mismas tareas en un navegador web. Dado que los bots acceden a las páginas de la misma manera que las personas, pueden verse atrapados en conflictos de edición, tiempos de espera de página o encontrarse con otras complicaciones inesperadas al solicitar páginas o realizar ediciones. Dado que los bots suelen realizar un gran volumen de trabajo, debes considerar estas situaciones al crear un bot.
{{imbox
| text = Cosas que debes saber antes de empezar:
* Cada proyecto Wikimedia tiene una política que rige la creación e implementación de bots. Por ejemplo, consulta la [[w:Wikipedia:Bot policy|Política de bots de la Wikipedia en inglés]]. Debes comprender y seguir las directrices sobre bots establecidas por el proyecto wiki para el que estás desarrollando.
* Antes de crear un nuevo bot, explora los bots que están actualmente activos en el proyecto wiki y cómo puedes contribuir a ellos.
* Varios lenguajes de programación, como Haskell, Java, Perl, PHP, Python y Ruby, tienen bibliotecas disponibles para crear bots. {{ll|Manual:Pywikibot|nsp=0}} es un paquete de Python de uso común desarrollado específicamente para crear bots de MediaWiki.
}}
Para obtener más información sobre los bots, visita {{ll|Manual:Creating a bot}}.
<span id="Tools"></span>
====Herramientas====
Las '''herramientas''' son aplicaciones de software que ayudan a quienes trabajan en proyectos de Wikimedia. Pueden realizar diversas tareas, como ayudar a los editores a descubrir contenido para mejorar, simplificar la planificación de editatones, visualizar el contenido wiki, ayudar a combatir el vandalismo y mucho más.
{{Colored box
|title=Ejemplo de herramienta: mejorar imágenes
|content=[[c:Commons:CropTool|CropTool]] es una herramienta de MediaWiki para recortar imágenes en Wikimedia Commons y otros sitios de Wikimedia.
Admite archivos JPEG, PNG, TIFF y GIF (animados), y también puede extraer páginas individuales de archivos DJVU y PDF como JPEG para recortar.
[[File:Croptool-01.png|center|thumb|517x517px|Captura de pantalla del elemento de menú CropTool en una wiki.]]
}}
La [[Special:MyLanguage/API:Main page|API de Acción de MediaWiki]] te da acceso programático al contenido de cualquier wiki de Wikimedia. Puedes usar la API de Acción para buscar y mostrar páginas wiki, obtener archivos multimedia, editar páginas y administrar wikis. Las [[Special:MyLanguage/API:Client code|bibliotecas cliente]] que implementan la API de MediaWiki están disponibles en varios lenguajes, incluyendo Python y JavaScript.
{{Colored box
|title=Ejemplo de herramienta: conectar artículos de Wikipedia y elementos de Wikidata
|content=La [[toolforge:wikidata-todo/duplicity.php|herramienta Duplicidad]] elige un artículo wiki aleatorio que no tiene un elemento Wikidata asociado y ofrece algunas posibles coincidencias en Wikidata.
Facilita la adición de datos estructurados para capturar los temas, conceptos o entidades tratados en un artículo.
[[File:Duplicity wikidata tool screenshot.png|alt=Captura de pantalla de la interfaz de la herramienta Duplicity.|center|thumb|517x517px|Captura de pantalla de la interfaz de la herramienta [[toolforge:wikidata-todo/duplicity.php|Duplicity.]]]]
}}
Para explorar más herramientas de Wikimedia, visita [https://toolhub.wikimedia.org/ Toolhub]. Or, [[wikitech:Help:Toolforge|learn about hosting your tools and bots for free on Toolforge]].
{{imbox
| text = Cosas que debes saber antes de empezar:
* Necesita una [[Special:MyLanguage/Developer account|cuenta de desarrollador de Wikimedia]] para alojar herramientas en Toolforge y enviar código a los repositorios Git de Wikimedia.
* Las herramientas de Toolforge deben ser software de código abierto con [https://opensource.org/licenses licencia OSI aprobada], y todos los proyectos deben seguir los [[wikitech:Wikitech:Cloud_Services_Terms_of_use|Términos de uso de los servicios en la nube de Wikimedia]].
* Aproveche las [[Special:MyLanguage/API:Client_code|bibliotecas cliente para la API de MediaWiki]] en muchos lenguajes de programación.
}}
<span id="Join_the_Wikimedia_tech_community"></span>
==Únete a la comunidad tecnológica de Wikimedia==
Una excelente manera de contribuir es conectar con la comunidad técnica. Puedes conocer gente y debatir sobre el trabajo de desarrollo en diversos [[Special:MyLanguage/Communication|canales de comunicación]] y en eventos como los [[Special:MyLanguage/Hackathons|hackatones (o hackathons en inglés)]]. La Fundación Wikimedia también ofrece [[Special:MyLanguage/Outreach programs|programas de divulgación]] para asesorar a nuevos desarrolladores.
[[File:Wikimedia Hackathon Prague 2019 - Group Photo - CLK (cropped).png|alt=Participantes en el Hackathon de Wikimedia en Praga, 2019.|center|thumb|520x520px|Participantes en el Hackathon de Wikimedia en Praga, 2019.]]
<span id="Get_started_as_a_new_contributor"></span>
==Comienza como nuevo colaborador==
* Visita la [[Special:MyLanguage/New Developers|página de Nuevos Desarrolladores]] para obtener más información sobre cómo comenzar con el desarrollo y contribuir al código abierto de Wikimedia.
* Utilice el [https://developer.wikimedia.org/ Portal para desarrolladores] para encontrar recursos y tutoriales seleccionados para su área de interés.
[[Category:New contributors{{#translation:}}]]
tgjd07q5xm9m0kh80n7awrw5urrev5x
8390284
8390280
2026-05-25T05:24:06Z
Divinations
18009523
Reverted edits by [[Special:Contribs/~2026-31293-65|~2026-31293-65]] ([[User talk:~2026-31293-65|talk]]) to last version by JJDCT
8390284
wikitext
text/x-wiki
<languages/>
Esta página ofrece un panorama del software e infraestructura [https://www.wikimedia.org/ Wikimedia] para nuevos colaboradores técnicos.
Su objetivo es ayudar a los desarrolladores a comprender las áreas principales donde pueden aplicar sus habilidades técnicas para apoyar y hacer crecer al [[m:Special:MyLanguage/Wikimedia_movement|Movimiento]].
<span id="Core_principles_and_technology"></span>
== Principios básicos y tecnología ==
<span id="Open_source"></span>
=== Codigo abierto ===
El ecosistema técnico de Wikimedia se guía por los principios del [[w:Software libre y de código abierto|software libre y de código abierto]] (FLOSS).
Los colaboradores de todo el mundo ofrecen su tiempo como voluntarios para mantener y ampliar la tecnología detrás de los proyectos de Wikimedia.
Esto significa que el ecosistema técnico de Wikimedia está formado por muchos proyectos únicos con distintas pautas de contribución, patrones de diseño, lugares de alojamiento y procesos de revisión de código.
Los valores de código abierto como la propiedad compartida y los fuertes compromisos de privacidad son fundamentales para la infraestructura técnica, el software y los servicios de Wikimedia. Por ejemplo:
* Para el control de versiones y la revisión de código, la Fundación Wikimedia (FWM) utiliza [[Special:MyLanguage/Gerrit|Git y Gerrit]]. Git es un sistema de control de versiones distribuido, gratuito y de código abierto, y Gerrit es una herramienta de revisión de código colaborativa, gratuita y basada en la web que se integra con Git.
* [[wikitech:Help:Cloud_Services_introduction|Los Servicios en la Nube de Wikimedia (WMCS)]] proporcionan infraestructura de computación en la nube, alojamiento compartido (plataforma como servicio) y servicios de datos para quienes contribuyen a los proyectos de software de Wikimedia. Puedes usar estos servicios para alojar tus herramientas de software para el movimiento Wikimedia, de forma gratuita, en lugar de usar servicios propietarios, de pago o de código abierto.
Además de proporcionar herramientas y servicios a los colaboradores técnicos, FWM mantiene la [[wikitech:Wikimedia_infrastructure|infraestructura básica]], como centros de datos, búsqueda, redes y enrutamiento de tráfico global. No es necesario conocerlos para contribuir a proyectos wiki, pero sí conviene conocer el software principal que impulsa Wikipedia y otras wikis: MediaWiki.
=== MediaWiki ===
[[File:MediaWiki-2020-logo.svg|133x133px|right|link=]]
Los proyectos Wikimedia, incluyendo Wikipedia, se ejecutan en la plataforma de software [[Special:MyLanguage/MediaWiki|MediaWiki]]. MediaWiki es un software libre y de código abierto, diseñado específicamente para recopilar y organizar conocimiento libre y abierto. Es multilingüe, extensible, personalizable y fiable. MediaWiki permite a usuarios de todo el mundo editar, organizar, mantener y colaborar en wikis. Gestiona la visualización de contenido como texto, fotos, formato y revisiones. MediaWiki es más que un simple sistema de gestión de contenido: también proporciona herramientas para gestionar el spam y el vandalismo, así como otras funciones que facilitan la conservación comunitaria de conocimiento libremente reutilizable en una plataforma abierta.
<gallery widths="320px" heights="180px" mode="packed">
File:Here's to Engineering.webm|Dato curioso: [[wmfblog:2016/05/05/mediawiki-nasa/|La NASA utiliza MediaWiki como su software wiki.]]
</gallery>
<span id="Key_areas_where_developers_can_contribute"></span>
==Áreas clave en las que los desarrolladores pueden contribuir==
<span id="Develop_MediaWiki,_apps,_and_extensions"></span>
=== Desarrollar MediaWiki, aplicaciones y extensiones ===
<span id="MediaWiki_core_and_extensions"></span>
==== Núcleo y extensiones de MediaWiki ====
El software MediaWiki es desarrollado en colaboración por personas de todo el mundo. La comunidad técnica de Wikimedia ha añadido muchas características clave a MediaWiki y ha construido un gran ecosistema de extensiones al software principal. Debido a su complejidad, contribuir a MediaWiki puede ser más difícil que otros tipos de contribuciones técnicas. Como nuevo colaborador, concéntrate en características y errores que solo tocan una pequeña región de código.
[[phab:maniphest/query/9otR6me9VKZa/#R|Aquí puedes encontrar buenas primeras tareas para el núcleo de MediaWiki.]]
Evite construir nuevas skins y extensiones de MediaWiki: cada nueva extensión aumenta la carga de mantenimiento general del software y puede bloquear el lanzamiento de nuevas características cruciales.
En lugar de eso, considere trabajar en una de las muchas [[Special:MyLanguage/Manual:Extensions|extensiones existentes]].
{{Colored box
|title=Ejemplo de extensión: traducir texto y administrar wikis multilingües
|content=La [[Special:MyLanguage/Extension:Translate|extensión Translate]] (Traducir) permite la localización de MediaWiki y la traducción de todo tipo de texto.
Apoya la traducción basada en la web, la corrección y la colaboración entre traductores de todo el mundo, al tiempo que hace que la integración de back-end con el código fuente sea lo más fácil posible.
[[File:Translate manual - Page example - 19. Documentation.png|center|thumb|522x522px|Captura de pantalla de una página de traducción generada por la extensión Translate.]]}}
{{imbox
| text = Cosas que debes saber antes de empezar:
* Escribir código para MediaWiki generalmente requiere conocimientos de PHP, MySQL/MariaDB, JavaScript y CSS.
* La base de código de MediaWiki es grande - ¡no se deje abrumar por ella! Cuando empieces, apuntes a escribir características o corregir errores que solo toquen una pequeña región de código.
* Siga las [[Special:MyLanguage/Development_guidelines|pautas de desarrollo de MediaWiki]] y las [[Special:MyLanguage/Best_practices_for_extensions|mejores prácticas para extensiones]].
}}
Para obtener más información, visite $Become-a-hacker.
<span id="Wikimedia_mobile_apps"></span>
==== Aplicaciones móviles de Wikimedia ====
Las aplicaciones móviles amplían el alcance del contenido de Wikimedia permitiendo a los usuarios interactuar con Wikimedia sin usar un navegador web. Hay aplicaciones para las plataformas Android, iOS y KaiOS, aplicaciones para diferentes proyectos de Wikimedia como Commons, Wikipedia y Wikcionario, y aplicaciones para actividades como leer, contribuir y más. Muchas aplicaciones tienen comunidades de desarrolladores vibrantes y dan la bienvenida a nuevos colaboradores.
{{Colored box
|title=Ejemplo de una aplicación móvil: leer Wikipedia sin acceso a Internet
|content=[[meta:Kiwix|Kiwix]] es un lector fuera de línea - hace que Wikipedia sea accesible para personas sin acceso a Internet.
Proporciona contenido en más de 100 idiomas de Wikipedia, Wikiquote, Wiktionary y otros recursos en línea.
El desarrollo de Kiwix utiliza Java/Kotlin (Android), Swift (iOS), Qt (escritorio), NodeJS (mediawiki offliner) y C++.
<gallery widths=385px heights=385px mode="packed">
File:KIWIX Flyer.pdf|Volante de Kiwix
File:Kiwix on iOS 1.png|Captura de pantalla de Kiwix en iOS
</gallery>
}}
Para obtener más información, visite las {{ll|Wikimedia Apps}}.
<span id="Customise_MediaWiki_through_on-wiki_development"></span>
=== Personaliza MediaWiki mediante el desarrollo intra-wiki ===
<span id="Templates_and_modules"></span>
==== Plantillas y módulos ====
Las '''plantillas''' permiten que un mismo contenido aparezca en varias páginas wiki ("transclusión"). Muchas wikis dependen en gran medida de las plantillas: existen miles, se usan en casi todas las páginas y son esenciales para su funcionalidad. Se pueden pasar parámetros a las plantillas para personalizar la gestión del contenido en diferentes contextos.
{{Colored box
|title=Ejemplo de plantilla: formato de citas en bloque
|content=La [[w:Template:Blockquote|plantilla Blockquote]] proporciona formato para citas en bloque e incluye parámetros de atribución preformateados para el autor y la fuente de una cita.
Esto permite a los editores usar el marcado de wikitexto para diseñar de manera sencilla y consistente cómo se muestran las citas en bloque en las páginas wiki.
[[File:Template Blockquote example.png|center|thumb|Captura de pantalla de la documentación de Template:Blockquote que muestra cómo funciona.|800x800px]]
}}
No necesitas una cuenta de desarrollador para editar o crear una plantilla, y están escritas en wikitexto. Esto hace que las plantillas sean una forma sencilla de empezar a personalizar el comportamiento de la wiki.
Los '''módulos''' son similares a las plantillas, pero en lugar de estar escritos en wikitexto, utilizan el lenguaje de programación Lua.
Si bien las plantillas son parte de la aplicación principal MediaWiki, el soporte para módulos se implementa mediante una extensión llamada {{ll|Extension:Scribunto|nsp=0}}.
{{Colored box
|title=Ejemplo de módulo: formatear mapas de rutas complejos
|content=El módulo [[w:Module:Routemap|Módulo de mapa de ruta]] admite un lenguaje especial, complejo y personalizado para mostrar mapas ferroviarios. Se utiliza en miles de artículos sobre ferrocarriles en varios idiomas.
El uso de Lua permite que este módulo reemplace las [[w:Wikipedia:Route diagram template|plantillas de mapas de ruta heredadas]] con una implementación más rápida y compatible con dispositivos móviles.
[[File:Routemap example screenshot.png|center|thumb|420x420px|Captura de pantalla de un [[:ko:경인선|artículo que utiliza el módulo Routemap en la Wikipedia en coreano]].]][[File:Routemap markup example.png|center|thumb|517x517px|Código de ejemplo y representación de la [[w:Template:Routemap|documentación de Mapa de ruta]].]]
}}
{{imbox
| text = Cosas que debes saber antes de empezar:
* Algunas funciones de la plantilla dependen de otras extensiones de MediaWiki, CSS y/o JavaScript que deben implementarse en una wiki determinada para que las funciones funcionen.
* Las plantillas son una característica muy poderosa del software MediaWiki, por lo que debes realizar modificaciones en plantillas complejas en un entorno limitado e incluir casos de prueba para verificar que funcionen como se espera.
* Para reducir el riesgo de que errores rompan cientos o miles de páginas, los proyectos wiki pueden tener políticas que restrinjan o "[[w:Wikipedia:High-risk_templates|protejan]]" las ediciones de plantillas o módulos ampliamente utilizados.
* El software MediaWiki tiene parámetros que limitan la complejidad de una página y la cantidad de datos que se pueden incluir. Esto significa que existen algunos [[w:Help:Template limits|límites en lo que se puede hacer con plantillas y módulos]].
* Los módulos deben seguir las [[Special:MyLanguage/Manual:Coding_conventions/Lua|convenciones de codificación de Lua]].
}}
Para obtener más información sobre las plantillas, visite las {{ll|Help:Templates}}.
Para obtener más información sobre los módulos y cómo se utiliza Lua en MediaWiki, visita el [[Special:MyLanguage/Extension:Scribunto/Lua reference manual|manual de Lua de Scribunto]].
<span id="User_scripts_and_gadgets"></span>
====Scripts y gadgets de usuario====
MediaWiki admite la personalización front-end, o desarrollo "en wiki", para mejorar la funcionalidad principal del software.
Los '''scripts de usuario''' son JavaScript y/o CSS que proporcionan funciones adicionales a MediaWiki.
El código vive en la wiki, y se inyecta desde el lado del cliente en MediaWiki a través de las preferencias del usuario.
Puede modificar su JavaScript y CSS locales para cambiar la apariencia y el comportamiento de su propia interfaz.
Los usuarios individuales pueden agregar funciones por sí mismos siempre y cuando cumplan con las expectativas y pautas al respecto.
Si construyes algo que otros puedan usar, puedes compartir tus scripts de forma informal, o trabajar con una comunidad wiki para investigar cómo hacer tus personalizaciones disponibles para otros usuarios y proyectos como un "gadget".
{{Colored box
|title=Ejemplo de script de usuario: muestra contenido calculado
|content=[[Special:MyLanguage/ChickTech_High_School_Kickoff_2017/Tasks#Write_a_user_script_to_calculate_the_estimated_reading_time_of_an_article|Este script de usuario]] calcula el tiempo de lectura de un artículo y lo muestra en la página.
<syntaxhighlight lang="javascript" line="1">
var numWords = $("#mw-content-text > div").text().split(" ").length;
var headerWords = $("h1").text().split(" ").length;
var totalWords = numWords + headerWords;
var timeInMinutes = totalWords / 200;
var header = $("h1").text();
$("h1").text(header + " (it will take you " + timeInMinutes + " mins to read this article)");
</syntaxhighlight>
[[File:Reading_time_for_basketball_article.png|center|thumb|517x517px|Captura de pantalla del artículo de Wikipedia en inglés que muestra el tiempo de lectura.]]
}}
Los '''gadgets''' son personalizaciones generadas por el usuario que se pueden instalar en una wiki mediante la [[Special:MyLanguage/Extension:Gadgets|extensión Gadgets MediaWiki]]. Muchos gadgets surgieron como scripts de usuario que se generalizaron en su wiki principal, y los administradores querían que fueran más fáciles de encontrar y usar. Los administradores pueden configurar qué gadgets están disponibles y habilitados por defecto para todo un sitio o skin de MediaWiki.
{{Colored box
|title=Ejemplo de gadget: ayuda a los editores a categorizar el contenido
|content=[[w:Wikipedia:HotCat|HotCat]] ayuda a los usuarios a eliminar, cambiar y agregar categorías a las páginas de Wikipedia fácilmente.
Tiene una lista de sugerencias que propone categorías existentes para la autocomplementación.
[[File:Gadget_hotcats.jpg|center|thumb|517x517px|Captura de pantalla de la funcionalidad HotCat en la Wikipedia francesa.]]
}}
{{Colored box
|title=Ejemplo de gadget: ayuda a los moderadores a arreglar el contenido
|content=Este [[:fa:مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js|gadget implementado en Wikipedia en persa]] ayuda a los moderadores de contenido a corregir letras, gramática, números, URL, estructura de artículos y más en árabe.
[[File:Persiantools gadget screenshot.png|alt=Captura de pantalla de JavaScript del gadget de Wikipedia persa.|center|thumb|595x595px|Captura de pantalla de JavaScript del gadget de Wikipedia persa.]]
}}
{{imbox
| text = Cosas que debes saber antes de empezar:
* Para que los scripts de usuario funcionen, la variable {{ll|Manual:$wgAllowUserJs|$wgAllowUserJs}} en el archivo de configuración del sitio debe ser fijada como {{phpi|true}}.
* Para que los gadgets funcionen, se deben instalar las extensiones {{ll|Extension:Gadgets|nsp=0}} y {{ll|Extension:CodeEditor|nsp=0}}.
* El código del gadget debe seguir las [[Manual:Coding_conventions/JavaScript|convenciones de codificación de JavaScript]].
* Cada comunidad de wiki determina cómo y si revisar el código de los gadgets. El proceso para poner un gadget a disposición de todos los usuarios de una wiki no es simplificado. Requiere una serie de pasos, incluida la contratación de un administrador de interfaz y la provisión de instrucciones de despliegue para ellos.
* En los wikis de Wikimedia, debes ser un [[meta:Special:MyLanguage/Interface_administrators|administrador de interfaz]] para editar gadgets.
}}
Para obtener más información sobre scripts de usuario y gadgets, visita ''{{ll|Gadget kitchen}}''.
<span id="Build_tools_and_bots_to_help_Wikimedia_projects"></span>
===Crear herramientas y bots para ayudar a los proyectos de Wikimedia===
Las [[Special:MyLanguage/API:Main_page|API]] de MediaWiki proporcionan acceso directo a los datos de la base de datos de MediaWiki. Esto incluye contenido wiki, metadatos, datos analíticos y más. Puedes usar estas API para crear aplicaciones que aporten contenido o nuevas funcionalidades al ecosistema Wikimedia. Los módulos de la API proporcionan acceso programático a gran parte de las mismas funciones que ofrece la interfaz web de MediaWiki.
==== Bots ====
Los '''bots''' son programas automatizados que ayudan a los proyectos wiki realizando tareas cruciales pero repetitivas.
Los bots ahorran esfuerzo humano corrigiendo espacios extra o faltantes, sugiriendo artículos a los recién llegados, arreglando enlaces rotos, y mucho más.
La automatización de bots apoya a los voluntarios de Wikimedia permitiéndole pasar más tiempo en tareas que requieren inteligencia humana, como escribir artículos, encontrar fuentes, verificar hechos y sintetizar múltiples puntos de vista.
{{Colored box
|title=Ejemplo de bot: fight link rot (Combate contra los enlaces rotos)
|content=[[File:IABot logo.svg|left|link=]][[metawiki:Special:MyLanguage/InternetArchiveBot|InternetArchiveBot]] (IABot) es un bot avanzado que identifica y reemplaza enlaces externos rotos.
También completa plantillas de referencia y agrega enlaces a recursos, cuando corresponde.
Este bot funciona como un servicio del Internet Archive en asociación con la comunidad Wikimedia.
En octubre de 2022, IABot se ejecuta en más de 150 wikis de Wikimedia.
IABot también tiene una [[toolforge:iabot/|interfaz basada en navegador web]] (aplicación web) que proporciona acceso fácil a algunos de los servicios y configuraciones del bot.
}}
Los bots pueden solicitar páginas y enviar ediciones a wikis de la misma manera que los usuarios realizan las mismas tareas en un navegador web. Dado que los bots acceden a las páginas de la misma manera que las personas, pueden verse atrapados en conflictos de edición, tiempos de espera de página o encontrarse con otras complicaciones inesperadas al solicitar páginas o realizar ediciones. Dado que los bots suelen realizar un gran volumen de trabajo, debes considerar estas situaciones al crear un bot.
{{imbox
| text = Cosas que debes saber antes de empezar:
* Cada proyecto Wikimedia tiene una política que rige la creación e implementación de bots. Por ejemplo, consulta la [[w:Wikipedia:Bot policy|Política de bots de la Wikipedia en inglés]]. Debes comprender y seguir las directrices sobre bots establecidas por el proyecto wiki para el que estás desarrollando.
* Antes de crear un nuevo bot, explora los bots que están actualmente activos en el proyecto wiki y cómo puedes contribuir a ellos.
* Varios lenguajes de programación, como Haskell, Java, Perl, PHP, Python y Ruby, tienen bibliotecas disponibles para crear bots. {{ll|Manual:Pywikibot|nsp=0}} es un paquete de Python de uso común desarrollado específicamente para crear bots de MediaWiki.
}}
Para obtener más información sobre los bots, visita {{ll|Manual:Creating a bot}}.
<span id="Tools"></span>
====Herramientas====
Las '''herramientas''' son aplicaciones de software que ayudan a quienes trabajan en proyectos de Wikimedia. Pueden realizar diversas tareas, como ayudar a los editores a descubrir contenido para mejorar, simplificar la planificación de editatones, visualizar el contenido wiki, ayudar a combatir el vandalismo y mucho más.
{{Colored box
|title=Ejemplo de herramienta: mejorar imágenes
|content=[[c:Commons:CropTool|CropTool]] es una herramienta de MediaWiki para recortar imágenes en Wikimedia Commons y otros sitios de Wikimedia.
Admite archivos JPEG, PNG, TIFF y GIF (animados), y también puede extraer páginas individuales de archivos DJVU y PDF como JPEG para recortar.
[[File:Croptool-01.png|center|thumb|517x517px|Captura de pantalla del elemento de menú CropTool en una wiki.]]
}}
La [[Special:MyLanguage/API:Main page|API de Acción de MediaWiki]] te da acceso programático al contenido de cualquier wiki de Wikimedia. Puedes usar la API de Acción para buscar y mostrar páginas wiki, obtener archivos multimedia, editar páginas y administrar wikis. Las [[Special:MyLanguage/API:Client code|bibliotecas cliente]] que implementan la API de MediaWiki están disponibles en varios lenguajes, incluyendo Python y JavaScript.
{{Colored box
|title=Ejemplo de herramienta: conectar artículos de Wikipedia y elementos de Wikidata
|content=La [[toolforge:wikidata-todo/duplicity.php|herramienta Duplicidad]] elige un artículo wiki aleatorio que no tiene un elemento Wikidata asociado y ofrece algunas posibles coincidencias en Wikidata.
Facilita la adición de datos estructurados para capturar los temas, conceptos o entidades tratados en un artículo.
[[File:Duplicity wikidata tool screenshot.png|alt=Captura de pantalla de la interfaz de la herramienta Duplicity.|center|thumb|517x517px|Captura de pantalla de la interfaz de la herramienta [[toolforge:wikidata-todo/duplicity.php|Duplicity.]]]]
}}
Para explorar más herramientas de Wikimedia, visita [https://toolhub.wikimedia.org/ Toolhub]. Or, [[wikitech:Help:Toolforge|learn about hosting your tools and bots for free on Toolforge]].
{{imbox
| text = Cosas que debes saber antes de empezar:
* Necesita una [[Special:MyLanguage/Developer account|cuenta de desarrollador de Wikimedia]] para alojar herramientas en Toolforge y enviar código a los repositorios Git de Wikimedia.
* Las herramientas de Toolforge deben ser software de código abierto con [https://opensource.org/licenses licencia OSI aprobada], y todos los proyectos deben seguir los [[wikitech:Wikitech:Cloud_Services_Terms_of_use|Términos de uso de los servicios en la nube de Wikimedia]].
* Aproveche las [[Special:MyLanguage/API:Client_code|bibliotecas cliente para la API de MediaWiki]] en muchos lenguajes de programación.
}}
<span id="Join_the_Wikimedia_tech_community"></span>
==Únete a la comunidad tecnológica de Wikimedia==
Una excelente manera de contribuir es conectar con la comunidad técnica. Puedes conocer gente y debatir sobre el trabajo de desarrollo en diversos [[Special:MyLanguage/Communication|canales de comunicación]] y en eventos como los [[Special:MyLanguage/Hackathons|hackatones (o hackathons en inglés)]]. La Fundación Wikimedia también ofrece [[Special:MyLanguage/Outreach programs|programas de divulgación]] para asesorar a nuevos desarrolladores.
[[File:Wikimedia Hackathon Prague 2019 - Group Photo - CLK (cropped).png|alt=Participantes en el Hackathon de Wikimedia en Praga, 2019.|center|thumb|520x520px|Participantes en el Hackathon de Wikimedia en Praga, 2019.]]
<span id="Get_started_as_a_new_contributor"></span>
==Comienza como nuevo colaborador==
* Visita la [[Special:MyLanguage/New Developers|página de Nuevos Desarrolladores]] para obtener más información sobre cómo comenzar con el desarrollo y contribuir al código abierto de Wikimedia.
* Utilice el [https://developer.wikimedia.org/ Portal para desarrolladores] para encontrar recursos y tutoriales seleccionados para su área de interés.
[[Category:New contributors{{#translation:}}]]
976ystury7bijrsxtu4nvo45tg83975
Help:Temporary accounts/el
12
1815888
8390234
8382367
2026-05-25T02:50:41Z
~2026-31157-68
18405503
8390234
wikitext
text/x-wiki
<languages />
[[File:Temporary Accounts - first edit popup.png|400x400px|Μια ειδοποίηση προσωρινoύ λογαριασμού μετά τη δημοσίευση της πρώτης επεξεργασίας|alt=Προσωρινός λογαριασμός - αναδυόμενο παράθυρο πρώτης επεξεργασίας|thumb]]
Τα εγχειρήματα Wikimedia επιτρέπουν σε οποιονδήποτε να επεξεργάζεται, με ή χωρίς τη δημιουργία λογαριασμού.
Όταν γίνεται μια επεξεργασία μέσω ενός εγγεγραμμένου λογαριασμού, η επεξεργασία αποδίδεται στον αντίστοιχο λογαριασμό σε διάφορα αρχεία καταγραφής και σελίδες όπως οι [[Special:MyLanguage/Help:Recent changes|Πρόσφατες Αλλαγές]] ή το [[Special:MyLanguage/Help:History|ιστορικό σελίδας]].
Ομοίως, όταν μια επεξεργασία γίνεται χωρίς λογαριασμό, η επεξεργασία αποδίδεται σε έναν '''προσωρινό λογαριασμό''' που δημιουργείται αυτόματα.
Ένας προσωρινός λογαριασμός δημιουργείται εκ μέρους του αποσυνδεδεμένου συντάκτη και διαρκεί για μια περίοδο 90 ημερών.
Όλες οι επόμενες επεξεργασίες από την ίδια συσκευή θα αποδίδονται στον ίδιο προσωρινό λογαριασμό.
<span id="Why_are_temporary_accounts_necessary?"></span>
== Γιατί είναι απαραίτητοι οι προσωρινοί λογαριασμοί; ==
Πριν από την εισαγωγή των προσωρινών λογαριασμών, οι επεξεργασίες που έκαναν οι αποσυνδεδεμένοι συνεισφέροντες αποδίδονταν στη διεύθυνση IP τους. Οι διευθύνσεις IP φέρουν ευαίσθητες πληροφορίες που μπορούν να απειλήσουν την ιδιωτικότητα και την ασφάλεια του χρήστη που συνδέεται μέσω αυτών. Για να μετριαστεί αυτός ο κίνδυνος για την ιδιωτικότητα των χρηστών, αποφασίσαμε να εισαγάγουμε προσωρινούς λογαριασμούς. Σύμφωνα με αυτό το νέο σύστημα, οι διευθύνσεις IP που σχετίζονται με έναν προσωρινό λογαριασμό αποκρύπτονται και μόνο το όνομα του προσωρινού λογαριασμού αποδίδεται δημόσια σε μια δεδομένη επεξεργασία.
<span id="Who_can_see_IP_address_data_associated_with_temporary_accounts?"></span>
== Ποιος μπορεί να δει τα δεδομένα διεύθυνσης IP που σχετίζονται με προσωρινούς λογαριασμούς; ==
{{see also|Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|l1=Trust and Safety Product/Temporary Accounts/Access to IP}}
[[File:IP Info with link to expand to see all IPs.png|400x400px|Λειτουργία Πληροφοριών IP με δεδομένα προσωρινών λογαριασμών|alt=Επιλογές Πληροφοριών IP για εμφάνιση με προσωρινό λογαριασμό|thumb]]
Περιορίζουμε την πρόσβαση στα δεδομένα διεύθυνσης IP για προσωρινούς λογαριασμούς σε χρήστες που χρειάζονται αυτήν την πρόσβαση για σκοπούς εποπτείας κατά της κατάχρησης.
Τα κριτήρια πρόσβασης για αυτά τα δεδομένα διατυπώνονται σε μια νομική πολιτική που ονομάζεται [[foundation:Special:MyLanguage/Policy:Access to temporary account IP addresses|Πρόσβαση στις διευθύνσεις IP προσωρινών λογαριασμών]].
Η διεύθυνση IP που χρησιμοποιείται κατά τη στιγμή κάθε επεξεργασίας θα αποθηκεύεται για 90 ημέρες μετά την επεξεργασία.
Μετά από 90 ημέρες, αυτά τα δεδομένα θα διαγράφονται από τις βάσεις δεδομένων μας.
Για να γνωρίσετε όλες τις λεπτομέρειες σχετικά με τα δεδομένα που συλλέγουμε και τον τρόπο με τον οποίο τα χρησιμοποιούμε, ανατρέξτε στην [[foundation:Special:MyLanguage/foundation:Policy:Privacy policy#use|πολιτική ιδιωτικότητάς]] μας.
<div class="mw-translate-fuzzy">
Οι εθελοντές συντονιστές μας θα έχουν πρόσβαση σε ορισπεριγράφονται λεπτομερώς στις οδηγίες]].
</div>
Εάν αυτό δημιουργεί οποιεσδήποτε ανησυχίες σχετικά με την προσωπική σας ασφάλεια, επικοινωνήστε με το {{@|talktohumanrights|wikimedia.org}} για συμβουλές.
<span id="How_do_temporary_accounts_work?"></span>
== Πώς λειτουργούν οι προσωρινοί λογαριασμοί; ==
[[File:Editing with Temporary Accounts.webm|400x400px|thumb|Ένα βίντεο 2 λεπτών (με υπότιτλους) για την επεξεργασία με προσωρινό λογαριασμό]]
<section begin="how" />
* Τα προσωρινά ονόματα λογαριασμών ακολουθούν το πρότυπο: <code>~{{CURRENTYEAR}}-12345-6</code> (μια κατσαρή παύλα, το έτος δημιουργίας, παύλα, ένα αυτοματοποιημένο σειριακό αριθμό χωρισμένο με σύνδεσμο που ομαδίζει 5 ψηφία τη φορά). Οι χρήστες δεν μπορούν να επιλέξουν ή να αλλάξουν τα ονόματα των προσωρινών λογαριασμών τους.
* <span class="mw-translate-fuzzy">90 ημέρες μετά την ημερομηνία δημιουργίας, ο προσωρινός λογαριασμός θα λήξει αυτόματα. Δεν θα είναι πλέον δυνατή η χρήση του και δεν θα είναι δυνατή η λήψη μηνυμάτων στη σελίδα συζήτησης.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Edits made will still be tracked by page histories and logs, and the talk page of the temporary account will also remain available.</span> <span lang="en" dir="ltr" class="mw-content-ltr">However, the user will no longer be able to use that account or receive notifications for messages posted on its talk page.</span>
* Οι επόμενες επεξεργασίες αντιστοιχίζουν έναν νέο προσωρινό λογαριασμό. Ο παλιός θα απενεργοποιηθεί και δεν θα μπορείτε να τον διατηρήσετε ή να συνδεθείτε σε αυτόν. <span lang="en" dir="ltr" class="mw-content-ltr">It will be permanently inactive.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The only indication the account has expired is it is no longer used.</span> <span lang="en" dir="ltr" class="mw-content-ltr">There is no flag or message indicating whether a temporary account has expired or not.</span>
* Είναι αδύνατο να συνδεθείτε σε έναν προσωρινό λογαριασμό. Δεν υπάρχουν κωδικοί πρόσβασης για τους προσωρινούς λογαριασμούς.
* Όλες οι επεξεργασίες που γίνονται από την ίδια συσκευή και το ίδιο πρόγραμμα περιήγησης θα αποδίδονται στον ίδιο προσωρινό λογαριασμό, ακόμα κι αν αλλάξει η [[:en:IP_address|διεύθυνση IP]] που χρησιμοποιείτε (για παράδειγμα, εάν επεξεργάζεστε στο σπίτι και σε μια καφετέρια). Αυτό γίνεται μέσω της τοποθέτησης ενός cookie προγράμματος περιήγησης που θυμάται τον προσωρινό λογαριασμό που σας έχει εκχωρηθεί.
* Οι προσωρινοί λογαριασμοί δεν είναι σαν το ιστορικό περιήγησης ή τις ανοιχτές καρτέλες. Εάν έχετε ένα πρόγραμμα περιήγησης συγχρονισμένο σε όλες τις συσκευές, θα σας αντιστοιχιστούν διαφορετικοί λογαριασμοί σε διαφορετικές συσκευές. Αυτό είναι συνέπεια του τρόπου λειτουργίας των προγραμμάτων περιήγησης. Αν ανησυχείτε γι' αυτό, ίσως θέλετε να δημιουργήσετε ένα εγγεγραμμένο λογαριασμό.
* Οι προσωρινοί λογαριασμοί μπορούν να απενεργοποιηθούν χειροκίνητα ανά πάσα στιγμή, τερματίζοντας τη συνεδρία σας ή διαγράφοντας τα cookies του προγράμματος περιήγησής σας.<section end="how" />
<span id="Notable_aspects_of_temporary_accounts"></span>
== Αξιοσημείωτες πτυχές των προσωρινών λογαριασμών ==
<section begin="notable" />
* Οι προσωρινοί λογαριασμοί διαφέρουν από τους εγγεγραμμένους λογαριασμούς. Είναι βραχύβιοι και προσφέρουν περιορισμένες λειτουργίες. Δεν συλλέγουμε πρόσθετα δεδομένα για προσωρινά λογαριασμούς πέρα από αυτά που συλλέγουμε για τακτικές επεξεργασίες.{{clarify|reason=What's a "regular edit"?}}
* Οι προσωρινοί λογαριασμοί δεν έχουν πρόσβαση σε όλες τις λειτουργίες που είναι διαθέσιμες για συνδεδεμένους χρήστες. Ορισμένες ενέργειες, όπως η μεταφόρτωση φωτογραφιών στα [[m:Special:MyLanguage/Wikimedia Commons|Commons]], περιορίζονται σε χρήστες με εγγεγραμμένο λογαριασμό.
* <span class="mw-translate-fuzzy">Οι προσωρινοί λογαριασμοί έχουν τις δικές τους [[Special:MyLanguage/Help:User page|σελίδες χρήστη και σελίδες συζήτησης χρήστη]], αλλά τελικά θα αποσυνδεθούν από το πρόσωπο που δημιούργησε τη σελίδα.</span> Γενικά, ένας προσωρινός λογαριασμός και ένας (μετά απόπειρα) κανονικός λογαριασμό χρήστης θα μπορούσαν να συνδέονται. Αλλά λόγω της πιθανής αποσύνδεσης, δεν επιτρέπεται τεχνικά σε ορισμένα έργα να επεξεργαστεί η σελίδα χρήστη ενός προσωρινού λογαριασμού μετά την λήξη της ισχύος του ή μετά την μόνιμη φραγή του.
* Οι προσωρινοί λογαριασμοί μπορούν να λαμβάνουν {{Special:MyLanguage/Help:Notifications|ειδοποιήσεις}} και να βλέπουν ένα {{Special:MyLanguage/Help:Talk pages#User talk pages|banner σχετικά με μηνύματα στη σελίδα συζήτησης χρήστη τους}}.
* Οι προσωρινοί λογαριασμοί μπορούν να λαμβάνουν [[Special:MyLanguage/Help:Notifications/Thanks|ευχαριστίες]] από συνδεδεμένους συντάκτες, αλλά δεν μπορούν να στέλνουν ευχαριστίες.
* Οι προσωρινοί λογαριασμοί μπορούν να κάνουν [[Special:MyLanguage/Help:Notifications/Types#Mentions|ping]] σε άλλους χρήστες και μπορούν να λάβουν ping.<section end="notable" />
<span id="Creating_a_permanent_account"></span>
=== Δημιουργία μόνιμου λογαριασμού ===
Ανά πάσα στιγμή, μπορείτε να επιλέξετε να [[Special:CreateAccount|δημιουργήσετε έναν εγγεγραμμένο, μόνιμο λογαριασμό]].
Οι εγγεγραμμένοι λογαριασμοί παρέχουν την καλύτερη προστασία ιδιωτικότητας και προσφέρουν πολλές ρυθμίσεις προτίμησης για προσαρμογή.
Η εγγραφή ενός μόνιμου λογαριασμού είναι γρήγορη και εύκολη.
Δεν χρειάζεστε διεύθυνση ηλεκτρονικού ταχυδρομείου για να δημιουργήσετε έναν εγγεγραμμένο λογαριασμό.
Οι επεξεργασίες σας και άλλες δραστηριότητές σας δεν θα μεταφερθούν. Μπορείτε να συνδέσετε από τη νέα σελίδα χρήστη του εγγεγραμμένου λογαριασμού σας στην παλιά σελίδα χρήστη του προσωρινού λογαριασμού σας, ανακατευθύνοντάς την.
<span id="See_also"></span>
== Δείτε επίσης ==
* [[{{#special:CreateAccount}}]] – για να δημιουργήσετε έναν εγγεγραμμένο λογαριασμό (αυτό δεν θα δημιουργήσει προσωρινό λογαριασμό)
* {{ll|Trust and Safety Product/Temporary Accounts}} – σχετικό έργο WMF σχετικό έργο του Ιδρύματος Wikimedia
* {{ll|Trust and Safety Product/Temporary Accounts/For developers}} – τεχνικές πληροφορίες
[[Category:Temporary Accounts{{#translation:}}]]
0a2kiplg6b0tabuvvm2ov9s4ohqtwrd
8390238
8390234
2026-05-25T03:22:17Z
Pppery
5901069
Reverted edits by [[Special:Contribs/~2026-31157-68|~2026-31157-68]] ([[User talk:~2026-31157-68|talk]]) to last version by Geraki
8390238
wikitext
text/x-wiki
<languages />
[[File:Temporary Accounts - first edit popup.png|400x400px|Μια ειδοποίηση προσωρινoύ λογαριασμού μετά τη δημοσίευση της πρώτης επεξεργασίας|alt=Προσωρινός λογαριασμός - αναδυόμενο παράθυρο πρώτης επεξεργασίας|thumb]]
Τα εγχειρήματα Wikimedia επιτρέπουν σε οποιονδήποτε να επεξεργάζεται, με ή χωρίς τη δημιουργία λογαριασμού.
Όταν γίνεται μια επεξεργασία μέσω ενός εγγεγραμμένου λογαριασμού, η επεξεργασία αποδίδεται στον αντίστοιχο λογαριασμό σε διάφορα αρχεία καταγραφής και σελίδες όπως οι [[Special:MyLanguage/Help:Recent changes|Πρόσφατες Αλλαγές]] ή το [[Special:MyLanguage/Help:History|ιστορικό σελίδας]].
Ομοίως, όταν μια επεξεργασία γίνεται χωρίς λογαριασμό, η επεξεργασία αποδίδεται σε έναν '''προσωρινό λογαριασμό''' που δημιουργείται αυτόματα.
Ένας προσωρινός λογαριασμός δημιουργείται εκ μέρους του αποσυνδεδεμένου συντάκτη και διαρκεί για μια περίοδο 90 ημερών.
Όλες οι επόμενες επεξεργασίες από την ίδια συσκευή θα αποδίδονται στον ίδιο προσωρινό λογαριασμό.
<span id="Why_are_temporary_accounts_necessary?"></span>
== Γιατί είναι απαραίτητοι οι προσωρινοί λογαριασμοί; ==
Πριν από την εισαγωγή των προσωρινών λογαριασμών, οι επεξεργασίες που έκαναν οι αποσυνδεδεμένοι συνεισφέροντες αποδίδονταν στη διεύθυνση IP τους. Οι διευθύνσεις IP φέρουν ευαίσθητες πληροφορίες που μπορούν να απειλήσουν την ιδιωτικότητα και την ασφάλεια του χρήστη που συνδέεται μέσω αυτών. Για να μετριαστεί αυτός ο κίνδυνος για την ιδιωτικότητα των χρηστών, αποφασίσαμε να εισαγάγουμε προσωρινούς λογαριασμούς. Σύμφωνα με αυτό το νέο σύστημα, οι διευθύνσεις IP που σχετίζονται με έναν προσωρινό λογαριασμό αποκρύπτονται και μόνο το όνομα του προσωρινού λογαριασμού αποδίδεται δημόσια σε μια δεδομένη επεξεργασία.
<span id="Who_can_see_IP_address_data_associated_with_temporary_accounts?"></span>
== Ποιος μπορεί να δει τα δεδομένα διεύθυνσης IP που σχετίζονται με προσωρινούς λογαριασμούς; ==
{{see also|Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|l1=Trust and Safety Product/Temporary Accounts/Access to IP}}
[[File:IP Info with link to expand to see all IPs.png|400x400px|Λειτουργία Πληροφοριών IP με δεδομένα προσωρινών λογαριασμών|alt=Επιλογές Πληροφοριών IP για εμφάνιση με προσωρινό λογαριασμό|thumb]]
Περιορίζουμε την πρόσβαση στα δεδομένα διεύθυνσης IP για προσωρινούς λογαριασμούς σε χρήστες που χρειάζονται αυτήν την πρόσβαση για σκοπούς εποπτείας κατά της κατάχρησης.
Τα κριτήρια πρόσβασης για αυτά τα δεδομένα διατυπώνονται σε μια νομική πολιτική που ονομάζεται [[foundation:Special:MyLanguage/Policy:Access to temporary account IP addresses|Πρόσβαση στις διευθύνσεις IP προσωρινών λογαριασμών]].
Η διεύθυνση IP που χρησιμοποιείται κατά τη στιγμή κάθε επεξεργασίας θα αποθηκεύεται για 90 ημέρες μετά την επεξεργασία.
Μετά από 90 ημέρες, αυτά τα δεδομένα θα διαγράφονται από τις βάσεις δεδομένων μας.
Για να γνωρίσετε όλες τις λεπτομέρειες σχετικά με τα δεδομένα που συλλέγουμε και τον τρόπο με τον οποίο τα χρησιμοποιούμε, ανατρέξτε στην [[foundation:Special:MyLanguage/foundation:Policy:Privacy policy#use|πολιτική ιδιωτικότητάς]] μας.
Οι εθελοντές συντονιστές μας θα έχουν πρόσβαση σε ορισμένες πληροφορίες σχετικά με τη διεύθυνση IP σας. Αυτές οι πληροφορίες περιορίζονται στους συντάκτες που τις χρειάζονται για σκοπούς εποπτείας κατά της κατάχρησης. Οι πληροφορίες που εκτίθενται, τα κριτήρια πρόσβασης σε αυτές και οι επιτρεπόμενοι σκοποί χρήσης [[foundation:Special:MyLanguage/Legal:IP_Information_tool_guidelines|περιγράφονται λεπτομερώς στις οδηγίες]].
Εάν αυτό δημιουργεί οποιεσδήποτε ανησυχίες σχετικά με την προσωπική σας ασφάλεια, επικοινωνήστε με το {{@|talktohumanrights|wikimedia.org}} για συμβουλές.
<span id="How_do_temporary_accounts_work?"></span>
== Πώς λειτουργούν οι προσωρινοί λογαριασμοί; ==
[[File:Editing with Temporary Accounts.webm|400x400px|thumb|Ένα βίντεο 2 λεπτών (με υπότιτλους) για την επεξεργασία με προσωρινό λογαριασμό]]
<section begin="how" />
* Τα προσωρινά ονόματα λογαριασμών ακολουθούν το πρότυπο: <code>~{{CURRENTYEAR}}-12345-6</code> (μια κατσαρή παύλα, το έτος δημιουργίας, παύλα, ένα αυτοματοποιημένο σειριακό αριθμό χωρισμένο με σύνδεσμο που ομαδίζει 5 ψηφία τη φορά). Οι χρήστες δεν μπορούν να επιλέξουν ή να αλλάξουν τα ονόματα των προσωρινών λογαριασμών τους.
* <span class="mw-translate-fuzzy">90 ημέρες μετά την ημερομηνία δημιουργίας, ο προσωρινός λογαριασμός θα λήξει αυτόματα. Δεν θα είναι πλέον δυνατή η χρήση του και δεν θα είναι δυνατή η λήψη μηνυμάτων στη σελίδα συζήτησης.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Edits made will still be tracked by page histories and logs, and the talk page of the temporary account will also remain available.</span> <span lang="en" dir="ltr" class="mw-content-ltr">However, the user will no longer be able to use that account or receive notifications for messages posted on its talk page.</span>
* Οι επόμενες επεξεργασίες αντιστοιχίζουν έναν νέο προσωρινό λογαριασμό. Ο παλιός θα απενεργοποιηθεί και δεν θα μπορείτε να τον διατηρήσετε ή να συνδεθείτε σε αυτόν. <span lang="en" dir="ltr" class="mw-content-ltr">It will be permanently inactive.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The only indication the account has expired is it is no longer used.</span> <span lang="en" dir="ltr" class="mw-content-ltr">There is no flag or message indicating whether a temporary account has expired or not.</span>
* Είναι αδύνατο να συνδεθείτε σε έναν προσωρινό λογαριασμό. Δεν υπάρχουν κωδικοί πρόσβασης για τους προσωρινούς λογαριασμούς.
* Όλες οι επεξεργασίες που γίνονται από την ίδια συσκευή και το ίδιο πρόγραμμα περιήγησης θα αποδίδονται στον ίδιο προσωρινό λογαριασμό, ακόμα κι αν αλλάξει η [[:en:IP_address|διεύθυνση IP]] που χρησιμοποιείτε (για παράδειγμα, εάν επεξεργάζεστε στο σπίτι και σε μια καφετέρια). Αυτό γίνεται μέσω της τοποθέτησης ενός cookie προγράμματος περιήγησης που θυμάται τον προσωρινό λογαριασμό που σας έχει εκχωρηθεί.
* Οι προσωρινοί λογαριασμοί δεν είναι σαν το ιστορικό περιήγησης ή τις ανοιχτές καρτέλες. Εάν έχετε ένα πρόγραμμα περιήγησης συγχρονισμένο σε όλες τις συσκευές, θα σας αντιστοιχιστούν διαφορετικοί λογαριασμοί σε διαφορετικές συσκευές. Αυτό είναι συνέπεια του τρόπου λειτουργίας των προγραμμάτων περιήγησης. Αν ανησυχείτε γι' αυτό, ίσως θέλετε να δημιουργήσετε ένα εγγεγραμμένο λογαριασμό.
* Οι προσωρινοί λογαριασμοί μπορούν να απενεργοποιηθούν χειροκίνητα ανά πάσα στιγμή, τερματίζοντας τη συνεδρία σας ή διαγράφοντας τα cookies του προγράμματος περιήγησής σας.<section end="how" />
<span id="Notable_aspects_of_temporary_accounts"></span>
== Αξιοσημείωτες πτυχές των προσωρινών λογαριασμών ==
<section begin="notable" />
* Οι προσωρινοί λογαριασμοί διαφέρουν από τους εγγεγραμμένους λογαριασμούς. Είναι βραχύβιοι και προσφέρουν περιορισμένες λειτουργίες. Δεν συλλέγουμε πρόσθετα δεδομένα για προσωρινά λογαριασμούς πέρα από αυτά που συλλέγουμε για τακτικές επεξεργασίες.{{clarify|reason=What's a "regular edit"?}}
* Οι προσωρινοί λογαριασμοί δεν έχουν πρόσβαση σε όλες τις λειτουργίες που είναι διαθέσιμες για συνδεδεμένους χρήστες. Ορισμένες ενέργειες, όπως η μεταφόρτωση φωτογραφιών στα [[m:Special:MyLanguage/Wikimedia Commons|Commons]], περιορίζονται σε χρήστες με εγγεγραμμένο λογαριασμό.
* <span class="mw-translate-fuzzy">Οι προσωρινοί λογαριασμοί έχουν τις δικές τους [[Special:MyLanguage/Help:User page|σελίδες χρήστη και σελίδες συζήτησης χρήστη]], αλλά τελικά θα αποσυνδεθούν από το πρόσωπο που δημιούργησε τη σελίδα.</span> Γενικά, ένας προσωρινός λογαριασμός και ένας (μετά απόπειρα) κανονικός λογαριασμό χρήστης θα μπορούσαν να συνδέονται. Αλλά λόγω της πιθανής αποσύνδεσης, δεν επιτρέπεται τεχνικά σε ορισμένα έργα να επεξεργαστεί η σελίδα χρήστη ενός προσωρινού λογαριασμού μετά την λήξη της ισχύος του ή μετά την μόνιμη φραγή του.
* Οι προσωρινοί λογαριασμοί μπορούν να λαμβάνουν {{Special:MyLanguage/Help:Notifications|ειδοποιήσεις}} και να βλέπουν ένα {{Special:MyLanguage/Help:Talk pages#User talk pages|banner σχετικά με μηνύματα στη σελίδα συζήτησης χρήστη τους}}.
* Οι προσωρινοί λογαριασμοί μπορούν να λαμβάνουν [[Special:MyLanguage/Help:Notifications/Thanks|ευχαριστίες]] από συνδεδεμένους συντάκτες, αλλά δεν μπορούν να στέλνουν ευχαριστίες.
* Οι προσωρινοί λογαριασμοί μπορούν να κάνουν [[Special:MyLanguage/Help:Notifications/Types#Mentions|ping]] σε άλλους χρήστες και μπορούν να λάβουν ping.<section end="notable" />
<span id="Creating_a_permanent_account"></span>
=== Δημιουργία μόνιμου λογαριασμού ===
Ανά πάσα στιγμή, μπορείτε να επιλέξετε να [[Special:CreateAccount|δημιουργήσετε έναν εγγεγραμμένο, μόνιμο λογαριασμό]].
Οι εγγεγραμμένοι λογαριασμοί παρέχουν την καλύτερη προστασία ιδιωτικότητας και προσφέρουν πολλές ρυθμίσεις προτίμησης για προσαρμογή.
Η εγγραφή ενός μόνιμου λογαριασμού είναι γρήγορη και εύκολη.
Δεν χρειάζεστε διεύθυνση ηλεκτρονικού ταχυδρομείου για να δημιουργήσετε έναν εγγεγραμμένο λογαριασμό.
Οι επεξεργασίες σας και άλλες δραστηριότητές σας δεν θα μεταφερθούν. Μπορείτε να συνδέσετε από τη νέα σελίδα χρήστη του εγγεγραμμένου λογαριασμού σας στην παλιά σελίδα χρήστη του προσωρινού λογαριασμού σας, ανακατευθύνοντάς την.
<span id="See_also"></span>
== Δείτε επίσης ==
* [[{{#special:CreateAccount}}]] – για να δημιουργήσετε έναν εγγεγραμμένο λογαριασμό (αυτό δεν θα δημιουργήσει προσωρινό λογαριασμό)
* {{ll|Trust and Safety Product/Temporary Accounts}} – σχετικό έργο WMF σχετικό έργο του Ιδρύματος Wikimedia
* {{ll|Trust and Safety Product/Temporary Accounts/For developers}} – τεχνικές πληροφορίες
[[Category:Temporary Accounts{{#translation:}}]]
sdp2z9dk8erefbc5kjrao9vc0zdkoyr
Translations:Phabricator/Code/89/en
1198
1833467
8390468
6080210
2026-05-25T10:02:23Z
FuzzyBot
451990
Importing a new version from external source
8390468
wikitext
text/x-wiki
See $1.
739c2fn4d3d5x82ap33h7qrnt82tuo5
Template:Removed/doc
10
1835322
8390208
8390069
2026-05-24T22:02:54Z
Tacsipacsi
561046
Undid revision [[Special:Diff/8390069|8390069]] by [[Special:Contributions/~2026-31034-08|~2026-31034-08]] ([[User talk:~2026-31034-08|talk]]): test edit
8390208
wikitext
text/x-wiki
<templatedata>
{
"format": "block",
"params": {
"1": {
"label": {
"en": "Version",
"cs": "verze",
"hu": "verzió",
"fr": "version"
},
"description": {
"en": "MediaWiki version number",
"cs": "Číslo verze MediaWiki",
"hu": "MediaWiki-verziószám",
"fr": "numéro de la version Mediawiki"
},
"example": "1.29.0",
"type": "line",
"required": true
},
"2": {
"label": {
"en": "Comment",
"cs": "zpráva",
"hu": "üzenet",
"fr": "message"
},
"description": {
"en": "Optional message",
"cs": "Volitelná zpráva",
"hu": "Opcionális üzenet",
"fr": "texte facultatif"
},
"type": "content",
"example": "''Replaced by [[Extension:Charts]] due to security vulnerability.''"
},
"newvarname": {
"label": {
"en": "New variable",
"cs": "nová proměnná",
"hu": "új változó"
},
"description": {
"en": "If variable, name of variable replacing this one. Automatically wikilinks",
"cs": "Název proměnné nahrazující tuto",
"hu": "Az ezen változót felváltó új változó neve",
"fr": "nom de la variable qui remplace la variable actuelle"
},
"example": "$IP",
"type": "line"
},
"newvarlink": {
"label": {
"en": "new variable link",
"cs": "nový odkaz na proměnnou",
"hu": "új változó linkje"
},
"description": {
"en": "Page documenting the new variable",
"cs": "Stránka dokumentující novou proměnnou",
"hu": "Az új változót dokumentáló lap címe",
"fr": "page documentant la nouvelle variable"
},
"example": "Special:MyLanguage/Manual:$IP",
"type": "wiki-page-name",
"default": "Manual:{newvarname}"
},
"deprecated": {
"label": {
"en": "deprecation version",
"cs": "zastaralá verze",
"hu": "elavulási verzió"
},
"description": {
"en": "Version in which the feature was deprecated",
"cs": "Verze, ve které byla funkce ukončena",
"hu": "A verzió, ami óta a funkció elavultnak számított",
"fr": "version de Mediawiki dans laquelle la fonctionnalité a été déclarée obsolète"
},
"example": {
"en": "1.28.0",
"fr": "deprecated=1.28.0"
},
"type": "line"
},
"source": {
"type": "string",
"description": {
"en": "name of the source",
"fr": "nom de la source"
},
"default": {
"en": "MediaWiki core",
"fr": "noyau MediaWiki"
}
},
"nocat": {
"description": {
"en": "If present: makes no categorisation and ignores 'name'. If absent the page is put in the category 'MediaWiki deprecated or obsolete features' using 'name' value",
"fr": "Si présent, la page n'est pas catégorisée et 'name' est ignoré. Si absent, la page est catégorisée dans \"MediaWiki deprecated or obsolete features\" en utilisant la valeur de 'name'"
},
"example": "nocat=TRUE (will not categorise the page)",
"type": "boolean",
"default": {
"en": "empty (the page will be added to the category)",
"fr": "vide"
}
},
"name": {
"type": "string",
"description": {
"en": "Used when categorising the page; it is the letter under which this page will be grouped in the Category page. If absent, the page is sorted according to its PAGENAME value. ",
"fr": "Utilisé pour catégoriser la page; c'est la lettre (mot) sous laquelle cette page sera regroupée sur la page de catégorie. Si la valeur est vide, elle sera rangée selon ce que rend PAGENAME. "
},
"default": {
"en": "empty",
"fr": "vide"
},
"label": {
"fr": "nom de tri"
},
"example": {
"fr": "name=F (ou name=FICHIER) pour classer la page sous F",
"en": "nocat=TRUE (pour ne pas catégoriser la page)"
}
}
},
"description": {
"en": "This template is used to say that a feature, such as a hook, variable, extension, PHP file, etc., has been removed.",
"fr": "Ce modèle est utilisé pour indiquer qu'une fonctionnalité a été supprimée."
}
}
</templatedata>
7213v02ejykjlexfdlq0rsmsgmn29zg
Extension:WimaAdvertising/de
102
1894290
8390218
8385488
2026-05-24T22:52:47Z
Clump
81610
Low quality/machine translation: Mass deletion of pages added by [[Special:Contributions/~2026-24668-52|~2026-24668-52]]
8390218
wikitext
text/x-wiki
<languages />
{{Extension
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SidebarBeforeOutput
|hook3 = SiteNoticeAfter
|hook4 = SkinAfterContent
|hook5 = SkinAfterPortlet
|username = WikiForMen
|author = WikiMANNia
|description = Werbebanner in LocalSettings.php definiert
|image =
|imagesize =
|version = 2.11.0
|update = 2026-05-16
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|composer =
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|MediaWiki-Extension-WimaAdvertising}}
|readme =
|changelog =
|example =
|namespace =
|parameters =
* $wgWimaAdvertising
* $wgWimaAdvertisingAnonOnly
* $wgBannerTopCode
* $wgBannerTopStyle
* $wgBannerTopType
* $wgBannerBottomCode
* $wgBannerBottomStyle
* $wgBannerBottomType
* $wgSidebarAd1Code
* $wgSidebarAd1Type
* $wgSidebarAd2Code
* $wgSidebarAd2Type
* $wgGoogleAdSense
* $wgGoogleAdSenseAnonOnly
* $wgGoogleAdSenseClient
* $wgGoogleAdSenseHost
* $wgGoogleAdSenseMode
|tags =
|compatibility =
}}
Die '''WimaAdvertising'''-Erweiterung bietet vier zusätzliche {{ll|Advertising|Werbe}}-Blöcke zu den {{ll|Skin:Citizen|Citizen}}, {{ll|Skin:Cologne Blue|Cologne Blue}}, {{ll|Skin:Modern|Modern}}, {{ll|Skin:Monaco|Monaco}}, {{ll|Skin:MonoBook|MonoBook}}, {{ll|Skin:Timeless|Timeless}}, {{ll|Skin:Vector|Vector}}-Oberflächen.
Die Banner werden oben und unten im Wiki platziert und zwei davon in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
[[#Google Adsense|Google Adsense]] wird unterstützt.
<span id="Use"></span>
== Verwendung ==
Ein Anzeigenblock befindet sich oben im "[[Manual:Interface/Sitenotice|MediaWiki:Sitenotice]]", ein zweiter unterhalb des Artikeltextes und über der Kategorieleiste und zwei weitere Anzeigenblöcke in der "{{ll|sidebar}}".
Durch das Eintragen von <code>* AD1</code> und <code>* AD2</code> in der {{ll|Manual:Interface/Sidebar|MediaWiki:Sidebar}} können diese individuell platziert werden.
Wenn {{ll|Manual:Interface/Sitenotice|Seitennotiz}} definiert ist, wird das TopBanner zufällig im Wechsel mit der ''Seitennotiz'' angezeigt.
== Installation ==
<div lang="en" dir="ltr" class="mw-content-ltr">
For recent versions of MediaWiki (1.35+), use the following instruction:
</div>
{{ExtensionInstall
|db-update=1
|registration=yes
|download-link=<span lang="en" dir="ltr" class="mw-content-ltr">Check-out the sources with <code>git clone https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising.git</code></span>
}}
=== Installation for older versions of MediaWiki ===
For MediaWiki 1.23-1.34, replace the above-mentioned "git clone" command with the following:
<code>git clone -b REL1_25 https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising.git</code>
<span id="General_configuration"></span>
=== Allgemeine Konfiguration ===
Werbebanner aktivieren. Vorgabewert ist {{phpi|false}}.
<syntaxhighlight lang="php">
$wgWimaAdvertising = true;
</syntaxhighlight>
Werbebanner für eingeloggte Benutzer deaktivieren.
Vorgabewert ist {{phpi|false}}.
<syntaxhighlight lang="php">
$wgWimaAdvertisingAnonOnly = true;
</syntaxhighlight>
<span id="Wima_web_slots"></span>
=== Wima-Werbeblöcke ===
==== BannerType ====
Setze den Typ des Eintrags.
* Mögliche Werte sind: 'advertising', 'blank', 'eventnote', 'hint'
* Vorgabewert: 'advertising'
Ist dieser Wert auf <code>blank</code> gesetzt, wird das Portlet nicht beschriftet.
<syntaxhighlight lang="php">
$wgBannerTopType = "advertising";
$wgBannerBottomType = "blank";
$wgSidebarAd1Type = "eventnote";
$wgSidebarAd2Type = "hint";
</syntaxhighlight>
{{note|1=Die Beschriftungen über den Werbeblöcken werden übersetzt in: de, en, es, fr, it, he, nl, pt, ru}}
==== BannerCode ====
Ein HTML-{{ll|snippets|Snippet}} des Werbeeintrags setzen.
<syntaxhighlight lang="php">
$wgBannerTopCode = '<a title="Uhren-Wiki" href="https://www.uhren-wiki.net"><img src="https://wikimannia.org/skins/werbung/Werbung - Oben.jpg" width="728" height="92" alt="Werbung" /></a>';
$wgBannerBottomCode = '
Your banner code here.
';
</syntaxhighlight>
<syntaxhighlight lang="php">
$wgSidebarAd1Code = '<a title="Schwarzbuch Wikipedia" href="https://de.wikimannia.org/Schwarzbuch_Wikipedia"><img src="https://wikimannia.org/werbung/images/130px-Schwarzbuch_Wikipedia.jpg" alt="Schwarzbuch_Wikipedia.jpg" /></a> <p><b>Schwarzbuch Wikipedia</b></p><p class="small">Mobbing, Diffamierung und Falschinformation in der Online-Enzyklopädie, und was jetzt dagegen getan werden muss.</p><p>Im Februar 2020 im <i>Zeitgeist-Verlag</i> erschienen.</p>';
$wgSidebarAd2Code = 'Your banner code here.';
</syntaxhighlight>
Auch [[w:Google AdSense|Google AdSense]] kann gemacht werden:
<syntaxhighlight lang="php">
$wgSidebarAd2Code = '<script type="text/javascript"><!--
google_ad_client = "9471398824076666"; // "pub-9471398824076666"
/* ID 007 */
google_ad_slot = "3512091103";
google_ad_width = 145;
google_ad_height = 260;
google_language = "en";
google_encoding = "utf8";
// -->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>';
</syntaxhighlight>
==== BannerStyle ====
Die CSS-Stilvorgaben für das Banner festlegen.
<syntaxhighlight lang="php">
$wgBannerTopStyle = 'text-align:center;border:1px solid blue;';
$wgBannerBottomStyle = 'text-align:center;border:1px dotted red;';
$wgSidebarAd1Style = '';
$wgSidebarAd2Style = '';
</syntaxhighlight>
=== Google Adsense ===
Werbebanner aktivieren.
Vorgabewert ist {{phpi|false}}.
<syntaxhighlight lang="php">
$wgGoogleAdSense = true;
</syntaxhighlight>
Werbebanner für eingeloggte Benutzer deaktivieren.
Vorgabewert ist {{phpi|false}}.
<syntaxhighlight lang="php">
$wgGoogleAdSenseAnonOnly = true;
</syntaxhighlight>
Der Typ des Eintrags ist hier auf 'advertising' festgelegt.
<span id="Mandatory_parameters"></span>
==== Pflicht-Parameter ====
<syntaxhighlight lang="php">
// Replace this with your own publisher ID (google_ad_client / data-ad-client)
$wgGoogleAdSenseClient = 'none'; // Client ID for your AdSense script
$wgGoogleAdSenseHost = 'none'; // Host ID for your AdSense script
</syntaxhighlight>
(You can get your publisher ID and ad unit ID from the "Get code" page: [https://supp_ort.google.com/ad_sense/answer/181960 Get and copy the ad code].)
<span id="Optional_parameters"></span>
==== Optionale Parameter ====
Folgende optionale Einstellungen können hinzugefügt werden, wenn sie von den Vorgabewerten abweichen:
<syntaxhighlight lang="php">
// Source URL of the AdSense script. No need to change - it can't deviate from the defaults.
$wgGoogleAdSenseSrc = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
// AdSenseMode. Default is 'normal'.
$wgGoogleAdSenseMode = 'responsive'; (since 2.8.2)
// Text coding. Default is 'utf8'.
$wgGoogleAdSenseEncoding = "utf8"; (until 2.7.1)
// Advertising language. Default is $wgLanguageCode.
$wgGoogleAdSenseLanguage = "en"; (until 2.7.1)
// This can be anything you like. Default is 'none'.
$wgGoogleAdSenseID = 'none'; (until 2.7.1)
</syntaxhighlight>
<span id="Ad_units"></span>
==== Werbeblöcke ====
Bis zu vier Werbeblöcke definieren:
<syntaxhighlight lang="php">
$wgGoogleAdSense_AD1 = [ 'slotid 1', 145, 260 ];
$wgGoogleAdSense_AD2 = [ 'slotid 2', 145, 260 ];
$wgGoogleAdSense_Top = [ 'slotid 3', 145, 260 ];
$wgGoogleAdSense_Bottom = [ 'slotid 4', 145, 260 ];
$wgGoogleAdSense_AD1 = [ 'slotid 1', 145, 260, 'rectangle' ];
$wgGoogleAdSense_AD2 = [ 'slotid 2', 145, 260, 'horizontal' ];
$wgGoogleAdSense_Top = [ 'slotid 3', 145, 260, 'vertical' ];
$wgGoogleAdSense_Bottom = [ 'slotid 4', 145, 260, 'vertical, rectangle' ];
</syntaxhighlight>
Ersetze den ersten Wert durch den AdSense-Anzeigenblock-ID (google_ad_slot / data-ad-slot) für jeden Anzeigenblock.
Die <code>Slot ID</code> für das AdSense-Skript ist zum beispielsweise 1234580893.
Im zweiten und dritten Wert sind der <code>width</code> und der <code>height</code> der AdSense-Einheit anzugeben, die im AdSense-Konto spezifiziert sind (google_ad_width / data-ad-width, google_ad_height / data-ad-height).
<s>Werte wie 'auto', '100%', '60%' usw. sind zulässig.</s>
Die vierte Variable für <code>data-ad-format</code> ist optional.
<span id="Example"></span>
==== Beispiel ====
Dieses Beispiel entspricht dem obigen Beispiel in Kapitel [[#BannerCode|BannerCode]]:
<syntaxhighlight lang="php">
$wgWimaAdvertising = false;
$wgGoogleAdSense = true;
$wgGoogleAdSenseClient = '9471398824076666';
$wgGoogleAdSense_AD1 = [ '3512091103', 145, 260 ];
$wgGoogleAdSenseSrc = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js;
</syntaxhighlight>
== Compatibility with more skins ==
{{note|1=You can use this extension with any skin. <code>$wgSidebarAd1Code</code> and <code>$wgSidebarAd2Code</code> only work if the activated skin has a sidebar. <code>$wgBannerBottomCode</code> and <code>$wgBannerTopCode</code> should always work. Only a present sidebar may require additional css support, which handles the background color of the slot and similar stuff.}}
You may avoid a PHP warning message by altering line 44 in file Hooks.php from
<syntaxhighlight lang="php">
} else if ( $skinname !== 'fallback' ) {
</syntaxhighlight>
into
<syntaxhighlight lang="php">
} else if ( !in_array( $skinname, [ 'yourfavoriteskin', 'fallback' ] ) ) {
</syntaxhighlight>
== See also ==
* [[Extension:PCR GUI Inserts|PCR GUI Inserts]] did something similar since REL 1.23, but not as sophisticated.
* [[Extension:ShoutWiki Ads|ShoutWiki Ads]]
== Remarks ==
* Branch REL1_25 for [[MediaWiki 1.23]] up to 1.35.
*: The branch REL1_25 was tested with the following MediaWiki versions: 1.23.17, 1.25.6, 1.31.16, 1.35.14
* Branch REL1_35 for [[MediaWiki 1.35]]+.
*:Die Abspaltung REL1_35 wurde mit den folgenden MediaWiki-Versionen getestet: 1.35.14, 1.39.17, 1.40.2, 1.41.2, 1.42.3, 1.43.8, 1.45.3
* Version 2.1 has added support for Skin <code>[[Skin:Vector/2022|vector-2022]]</code>.
* Version 2.2 has added support for Skin <code>[[Skin:Timeless|Timeless]]</code>.
* Version 2.3 has added Hook [[Manual:Hooks/SkinAfterPortlet|SkinAfterPortlet]] for supporting MediaWiki 1.35+.
* Version 2.4 has some Refactoring:
*: Changed “configuration schema”, replaced manifest version 1 with version 2 and changed the prefix of the configuration variables from default to <code>wm</code>.
*: Replaced class “WimaAdvertisingHooks” (extends “Hooks”) with class implements interfaces.
* Version 2.4.1 contains a dirty hack for skin <code>Timeless</code>.
* Version 2.5 places JavaScript for GoogleAdSense in {{tag|head|open}} section.
* Version 2.6 allows the labeling of Wima slots to be set as `blank`.
* Version 2.7 has added support for Skin <code>[[Skin:Monaco|Monaco]]</code>.
*:<small>Note: To make the Ads in the Sidebar work is the use of a [https://github.com/WikiMANNia/MediaWiki-Skin-Monaco Fork of Skin Monaco] needed!</small>
* Version 2.8 has changed code for GoogleAdSense, see
**https_developers.google.com/adsense/host/adunits Ad Units and Code Generation
**https_developers.google.com/adsense/platforms/transparent/ad-tags Ad tags
* Version 2.8.5:
*:Changed the prefix of the configuration variables back to <code>wg</code>.
* Version 2.9 has added support for Skin <code>[[Skin:Citizen|Citizen]]</code>.
* Version 2.10 supports REL1_45.
=== Version 3.0 ===
* The version 3.0 (alpha) has a new approach, with click-away ads that are fixed and do not disappear when scrolling, and are (largely) independent of the skin.
* At the moment only tested with MediaWiki version <code>1.39.1</code>.
* [https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising2 Download on GitHub] (alpha Version)
[[Category:Skin extensions{{#translation:}}]]
[[Category:Advertising extensions{{#translation:}}]]
jk2a0ijlab1qmf3ay4dcg9sm87rihli
Extension:SkinCustomiser/en
102
1896251
8390203
8386624
2026-05-24T21:28:55Z
FuzzyBot
451990
Updating to match new version of source page
8390203
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Customises existing {{ll|Manual:Skin|skins}}. Add Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
The '''SkinCustomiser''' customises existing {{ll|Manual:Skin|skins}} for a complete {{ll|Manual:Wiki family|wiki family}}.
It adds Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki; and it translates individual entries in the {{ll|Manual:Interface/Sidebar|sidebar}}.
==Background==
===Customising Skins===
{{tmpl|0=MediaWiki skins can be customised in the files $1 respectively.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
===Customising Sidebars===
Customisation also includes further entries via the {{ll|Manual:Interface/Sidebar|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{ll|Localisation|translated into other languages}}.
This can be done by entering these labels and their translations in the {{ll|Localisation|i18n}} files of this extension.
==Installation==
* First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Configure as required.]]
}}
* Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.
==Configuration==
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{ll|Manual:Wiki family|wiki farm}}.
===Skins===
{{tmpl|0=MediaWiki skins can be customised in files $1 respectively.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
However, if a {{ll|Manual:Wiki family|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.
If a different skin is used, the <code>AnotherSkin.css</code> file must be renamed accordingly and this change must also be made in the <code>extension.json</code> file.
# In the file tree: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In the <code>extension.json</code> file: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In the <code>includes/Hooks.php</code> file: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
====Skin vector-2022====
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
===Sidebar===
A {{ll|Manual:Wiki family|wiki farm}} can be customised in the {{ll|Manual:Interface/Sidebar|sidebar}}.
The customised labels and their translations can be managed in this way:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
In addition, some standard messages from mediawiki can also be customised there.
Customising the <code>i18n/en.json</code> file:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
For more details see:
{{ll|Localisation file format}}
===Head data===
Disable with:
<code>$wgSkinCustomiserHeadItems = [];</code>
====Scheme====
To configure the head data, add the following to LocalSettings.php after the installation line:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
===Meta data===
Disable with:
<code>$wgSkinCustomiserMetaItems = [];</code>
====Scheme====
To configure the head meta data, add the following to LocalSettings.php after the installation line:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
====Examples====
Example (from {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
===Scripts===
One or more head scripts can be added to the wiki.
The head scripts can consist of any {{ll|snippets|HTML and/or JavaScript}}.
Disable with:
<code>$wgSkinCustomiserScripts = "";</code>
====Scheme====
To configure the head script, add the following to LocalSettings.php after the installation line:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Leave untouched the first and last line with START_END_MARKER stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).
'''Do not add whitespaces around the last line’s marker''', it would break it ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc more details about this syntax]).
'''Do add new line after.'''
To add additional scripts, simply include them between the markers:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
You may specify a name for the script too if needed, add the following after the installation line:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
====Examples====
Example (from {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
===Bottom Display===
<code>$wgSkinCustomiserDisplayBottom</code> adds items at the end of a page, at the bottom but still within the content frame.
Disable with:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
====Example====
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
==See also==
* {{ll|Extension:GlobalCssJs}}
The extension SkinCustomiser combines functionality from
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
1wo3oakdy1gao4p9hmv8oixvk27orc5
User talk:Nvdtn19
3
1896299
8390232
8383792
2026-05-25T02:32:42Z
MediaWiki message delivery
1125986
/* Wikipedia translation of the week: 2026-22 */ new section
8390232
wikitext
text/x-wiki
{{Auto archiving
|archive = User talk:Nvdtn19/Archive %(year)d %(month)d
|algo = old(30d)
|counter = 1
|archiveheader = {{talk archive}}
}}
== Wikipedia translation of the week: 2026-18 ==
<div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;">
<div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is
<div style="font-size:140%;">'''[[:en:Platypus venom]]'''<br /> </div>
Please be bold and help translate this article!
</div>
----
[[File:Platypus spur.JPG|300px|center]]
<div style="text-align:left; padding: .4em;">
The platypus is one of the few living mammals to produce venom. The venom is made in venom glands that are connected to hollow spurs on their hind legs; it is primarily made during the mating season.[1] While the venom's effects are described as extremely painful, it is not lethal to humans. Many archaic mammal groups possess similar tarsal spurs, so it is thought that, rather than having developed this characteristic uniquely, the platypus simply inherited this characteristic from its ancestors. Rather than being a unique outlier, the platypus is the last demonstration of what was once a common mammalian characteristic, and it can be used as a model for non-therian mammals and their venom delivery and properties.
<small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small>
----
[[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]''
</div>
</div>
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 02:04, 27 April 2026 (UTC)
<!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30449041 -->
== Tech News: 2026-18 ==
<section begin="technews-2026-W18"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/18|Translations]] are available.
'''Updates for editors'''
* There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484]
* All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676]
'''Updates for technical contributors'''
* As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/18|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W18"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:03, 27 April 2026 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 -->
== Wikipedia translation of the week: 2026-19 ==
<div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;">
<div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is
<div style="font-size:140%;">'''[[:en:Kuwait National Assembly Building]]'''<br /> </div>
Please be bold and help translate this article!
</div>
----
[[File:Kuwait City Arabian Gulf Street 10.jpg|300px|center]]
<div style="text-align:left; padding: .4em;">
The '''Kuwait National Assembly Building''' is the building that housed the National Assembly of Kuwait.
Designed by Danish architect Jørn Utzon in 1972, it was completed in 1982 under the direction of his son Jan. The structural design was by Max Walt. The building was seriously damaged in February 1991 when retreating Iraqi troops set it on fire but has since been restored.
<small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small>
----
[[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]''
</div>
</div>
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 12:16, 4 May 2026 (UTC)
<!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30464799 -->
== Tech News: 2026-19 ==
<section begin="technews-2026-W19"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/19|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available.
'''Updates for editors'''
* The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]].
* The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909]
* From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864]
* The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091]
'''Updates for technical contributors'''
* The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/19|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W19"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:40, 4 May 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 -->
== Wikipedia translation of the week: 2026-20 ==
<div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;">
<div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is
<div style="font-size:140%;">'''[[:en:Macau National Security Law]]'''<br /> </div>
Please be bold and help translate this article!
</div>
----
[[File:Lei relative à defesa da segurança do Estado projecto.JPG|center|300px]]
<div style="text-align:left; padding: .4em;">
The '''Macau National Security Law''' is a law in Macau which prohibits and punishes acts of treason, secession, and subversion against the Central government, as well as preparative acts leading to any of the three acts. Taken into effect on 3 March 2009, the purpose of the law is to fulfil Article 23 of the Macau Basic Law, the de facto constitution of the Macau Special Administration Region.
<small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small>
----
[[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]''
</div>
</div>
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 02:54, 11 May 2026 (UTC)
<!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30513945 -->
== Tech News: 2026-20 ==
<section begin="technews-2026-W20"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/20|Translations]] are available.
'''Weekly highlight'''
* Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward.
'''Updates for editors'''
* The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks.
* The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286]
'''Updates for technical contributors'''
* [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/20|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W20"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:18, 11 May 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 -->
== Tech News: 2026-21 ==
<section begin="technews-2026-W21"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/21|Translations]] are available.
'''Weekly highlight'''
* The Abstract Wikipedia team has identified five potential pilot wikis to assess their interest in adopting abstract articles on their wikis. The pilots are Malayalam, Bengali, Dagbani, Arabic, and Indonesian Wikipedia. The feedback period will be open until May 22. If your community is interested in becoming a pilot, [[m:Talk:Abstract Wikipedia|let us know on Meta]].
'''Updates for editors'''
* An experiment to show [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] to logged-out readers on mobile web will launch on May 18 across German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu Wikipedias, and will run for one month. The effort supports broader goals of helping readers save and organize articles for later reading, while encouraging habits that could lead to future Wikipedia contributions.
* To support a bookmark button in the Reading List beta feature, the "Tools > Action" menu has been updated to display icons, including the watch star indicator that helps editors identify temporarily watched articles. The icons now also match those used on mobile, improving consistency across platforms. The change is currently limited to the actions menu and mainly affects editors with privileged user rights. [https://phabricator.wikimedia.org/T426008]
* [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] was released as an [[w:en:A/B test|A/B test]] for newcomer editors on the mobile website at [[phab:T421189|~15 Wikipedias]]. The experiment will measure the impact that Suggestion Mode has on the proportion of newcomer mobile web edit sessions that result in constructive (un-reverted) article edits. The experiment will also evaluate the feature's impact on editor retention, and monitor changes in revert and block rates.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue in the Wikipedia Android app where images could sometimes fail to load after opening a recommended reading list notification, has now been fixed. [https://phabricator.wikimedia.org/T418231]
'''Updates for technical contributors'''
* The [[mw:Special:MyLanguage/Wikidata Platform|Wikidata Platform team]] has published its [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|backend replacement recommendation]] and accompanying [[wikitech:Wikidata Query Service/WDQS Architecture re-design|technical architecture]] for the migration of the Wikidata Query Service (WDQS) away from Blazegraph. Feedback is invited until May 25th 2026, especially on potential gaps and impacts on advanced use cases. Wikidata community members and WDQS users are also encouraged to help identify high-impact tools and workflows that may need attention on [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|this page]]. Feedback can be shared on the [[d:Wikidata talk:SPARQL query service/WDQS backend update|Migration talk page]] or during the [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|next office hour]]. See the [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|WDP team newsletter]] for more details.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.3|MediaWiki]]
'''In depth'''
* On English, French, Japanese, and a few other Wikipedias, there was a [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|trial of hCaptcha]], a third-party bot detection service. The trial showed that hCaptcha effectively detects and deters some bad-faith automated activity, on its own and by giving [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers and stewards]] signals to look into. Because the results were positive, hCaptcha will be rolled out across all wikis over the next few weeks. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|See the hCaptcha project page]] for technical information about the implementation and privacy protections. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|Learn more]].
* The latest Community Tech update is now available, with progress across several Community Wishlist initiatives, including Reading Lists expansion from the mobile app to the website, new language support for "Who Wrote That" and the Personal Dashboard, improvements to 3D rendering and Charts, and upcoming work on talk page sorting, audio playback, and editing workflows. The update also shares current priorities, wishlist status trends, and opportunities for community feedback on future focus areas and the Wikimedia Foundation’s 2026–2027 Annual Plan. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Read the full newsletter for details]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/21|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W21"/>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:18, 18 May 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 -->
== Wikipedia translation of the week: 2026-21 ==
<div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;">
<div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is
<div style="font-size:140%;">'''[[:en:Stela of the cactus bearer]]'''<br /> <small>''([[:es:Estela del portador del cactus]]) ([[:ca:Estela del portador del cactus]])''</small> </div>
Please be bold and help translate this article!
</div>
----
[[File:Estela Wachumero en Chavin.jpg|center|300px]]
<div style="text-align:left; padding: .4em;">
The '''stela of the cactus bearer''' is a monolith or stele of a single piece of granite, belonging to the Chavín culture of ancient Peru, which remains in its original location on the northwest side of the circular plaza at the archaeological site known as the ceremonial center of Chavín de Huántar in the Ancash region of Peru. It was discovered during the 1972 excavation season by Peruvian archaeologist Luis Guillermo Lumbreras.
<small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small>
----
[[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]''
</div>
</div>
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 04:05, 21 May 2026 (UTC)
<!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30529698 -->
== Wikipedia translation of the week: 2026-22 ==
<div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;">
<div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is
<div style="font-size:140%;">'''[[:en:Griffith Hughes]]'''<br /> </div>
Please be bold and help translate this article!
</div>
----
<div style="text-align:left; padding: .4em;">
The Reverend '''Griffith Hughes''' (1707 – c.1758), FRS, was a Welsh naturalist, clergyman, and author. Hughes wrote The Natural History of Barbados, which included the first description of the grapefruit (also known as "The Forbidden Fruit"). His work was praised by Linnaeus, but it has also been considered a "scientific fraud".
<small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small>
----
[[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]''
</div>
</div>
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 02:32, 25 May 2026 (UTC)
<!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30529698 -->
1i33tp2ofeos8mxuc96mvmn1s19m1cd
Extension:SkinCustomiser/de
102
1896385
8390189
8386623
2026-05-24T20:51:26Z
~2026-24668-52
18359937
Created page with "Zunächst die persönlich angepassten $1, $2 und $3 Dateien sichern."
8390189
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Passt bestehende {{ll|Manual:Skin|Oberflächen}} an. Fügt Skripte und {{ll|Page metadata|Meta-Daten}} kurz vor dem {{tag|head|close}}-Tag des Wikis ein.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
Die '''SkinCustomiser'''-Erweiterung passt die bestehenden {{ll|Manual:Skin|Oberflächen}} für eine komplette {{ll|Manual:Wiki family|Wiki-Familie}} an.
Sie fügt Skripte und {{ll|Page metadata|Metadaten}} direkt vor dem {{tag|head|close}}-Tag des Wikis ein und übersetzt einzelne Einträge in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
<span id="Background"></span>
==Hintergrund==
<span id="Customising_Skins"></span>
===Oberflächen anpassen===
{{tmpl|0=MediaWiki-Oberflächen können jeweils in den $1-Dateien angepasst werden.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
<span id="Customising_Sidebars"></span>
===Navigationsleisten anpassen===
Zur Anpassung gehören auch weitere Einträge über die {{ll|Manual:Interface/Sidebar|Navigationsleiste}}, die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch {{ll|Localisation|in andere Sprachen übersetzt}} werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den {{ll|Localisation|i18n}}-Dateien dieser Erweiterung erfolgen.
<span id="Installation"></span>
== Installation ==
* Zunächst die persönlich angepassten $1, $2 und $3 Dateien sichern.
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Konfiguriere nach Bedarf.]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code> and <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
== Konfiguration ==
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte {{ll|Manual:Wiki family|Wiki-Farm}} angepasst werden.
<span id="Skins"></span>
=== Oberflächen ===
{{tmpl|0=MediaWiki-Skins können in $1-Dateien entsprechend angepasst werden.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine {{ll|Manual:Wiki family|Wiki-Farm}} betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die <code>AnotherSkin.css</code>-Datei entsprechend umbenannt werden und diese Änderung muss auch in der <code>extension.json</code>-Datei vorgenommen werden.
# In der Dateibaumstruktur: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In der <code>extension.json</code>-Datei: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In der <code>includes/Hooks.php</code>-Datei: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
== Navigationsleiste (Seitenleiste) ==
Eine {{ll|Manual:Wiki family|Wikifarm}} kann in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}} angepasst werden.
Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der <code>i18n/en.json</code>-Datei:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Für mehr Details siehe:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Head-Daten===
Deaktivieren mit:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
=== Meta-Daten ===
Deaktivieren mit:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ]
[ "name2", "content2" ],
];
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<span id="Scripts"></span>
=== Skripte ===
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden.
Die Head-Skripte können aus beliebigen {{ll|snippets|HTML und/oder JavaScript}} bestehen.
Deaktivieren mit:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
==== Schema ====
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen).
'''Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden''', das würde sie umbrechen ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc weitere Einzelheiten zu dieser Syntax]).
'''Zum Abschluss eine "Neue Zeile" einfügen.'''
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Anzeige am Ende des Dokuments===
<code>$wgSkinCustomiserDisplayBottom</code> fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
=== Beispiele ===
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:GlobalCssJs}}
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
52wcz6mx7ese9638geuqz3qmrdx7chy
8390191
8390189
2026-05-24T20:51:50Z
~2026-24668-52
18359937
Created page with "Die persönlich angepassten $1, $2 und $3 Dateien wiederherstellen."
8390191
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Passt bestehende {{ll|Manual:Skin|Oberflächen}} an. Fügt Skripte und {{ll|Page metadata|Meta-Daten}} kurz vor dem {{tag|head|close}}-Tag des Wikis ein.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
Die '''SkinCustomiser'''-Erweiterung passt die bestehenden {{ll|Manual:Skin|Oberflächen}} für eine komplette {{ll|Manual:Wiki family|Wiki-Familie}} an.
Sie fügt Skripte und {{ll|Page metadata|Metadaten}} direkt vor dem {{tag|head|close}}-Tag des Wikis ein und übersetzt einzelne Einträge in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
<span id="Background"></span>
==Hintergrund==
<span id="Customising_Skins"></span>
===Oberflächen anpassen===
{{tmpl|0=MediaWiki-Oberflächen können jeweils in den $1-Dateien angepasst werden.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
<span id="Customising_Sidebars"></span>
===Navigationsleisten anpassen===
Zur Anpassung gehören auch weitere Einträge über die {{ll|Manual:Interface/Sidebar|Navigationsleiste}}, die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch {{ll|Localisation|in andere Sprachen übersetzt}} werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den {{ll|Localisation|i18n}}-Dateien dieser Erweiterung erfolgen.
<span id="Installation"></span>
== Installation ==
* Zunächst die persönlich angepassten $1, $2 und $3 Dateien sichern.
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Konfiguriere nach Bedarf.]]
}}
* Die persönlich angepassten $1, $2 und $3 Dateien wiederherstellen.
<span id="Configuration"></span>
== Konfiguration ==
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte {{ll|Manual:Wiki family|Wiki-Farm}} angepasst werden.
<span id="Skins"></span>
=== Oberflächen ===
{{tmpl|0=MediaWiki-Skins können in $1-Dateien entsprechend angepasst werden.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine {{ll|Manual:Wiki family|Wiki-Farm}} betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die <code>AnotherSkin.css</code>-Datei entsprechend umbenannt werden und diese Änderung muss auch in der <code>extension.json</code>-Datei vorgenommen werden.
# In der Dateibaumstruktur: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In der <code>extension.json</code>-Datei: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In der <code>includes/Hooks.php</code>-Datei: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
== Navigationsleiste (Seitenleiste) ==
Eine {{ll|Manual:Wiki family|Wikifarm}} kann in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}} angepasst werden.
Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der <code>i18n/en.json</code>-Datei:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Für mehr Details siehe:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Head-Daten===
Deaktivieren mit:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
=== Meta-Daten ===
Deaktivieren mit:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ]
[ "name2", "content2" ],
];
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<span id="Scripts"></span>
=== Skripte ===
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden.
Die Head-Skripte können aus beliebigen {{ll|snippets|HTML und/oder JavaScript}} bestehen.
Deaktivieren mit:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
==== Schema ====
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen).
'''Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden''', das würde sie umbrechen ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc weitere Einzelheiten zu dieser Syntax]).
'''Zum Abschluss eine "Neue Zeile" einfügen.'''
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Anzeige am Ende des Dokuments===
<code>$wgSkinCustomiserDisplayBottom</code> fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
=== Beispiele ===
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:GlobalCssJs}}
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
7xkq5kn4k0mwhb05hcecvhjcil1ptw0
8390204
8390191
2026-05-24T21:28:55Z
FuzzyBot
451990
Updating to match new version of source page
8390204
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Passt bestehende {{ll|Manual:Skin|Oberflächen}} an. Fügt Skripte und {{ll|Page metadata|Meta-Daten}} kurz vor dem {{tag|head|close}}-Tag des Wikis ein.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
Die '''SkinCustomiser'''-Erweiterung passt die bestehenden {{ll|Manual:Skin|Oberflächen}} für eine komplette {{ll|Manual:Wiki family|Wiki-Familie}} an.
Sie fügt Skripte und {{ll|Page metadata|Metadaten}} direkt vor dem {{tag|head|close}}-Tag des Wikis ein und übersetzt einzelne Einträge in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
<span id="Background"></span>
==Hintergrund==
<span id="Customising_Skins"></span>
===Oberflächen anpassen===
{{tmpl|0=MediaWiki-Oberflächen können jeweils in den $1-Dateien angepasst werden.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
<span id="Customising_Sidebars"></span>
===Navigationsleisten anpassen===
Zur Anpassung gehören auch weitere Einträge über die {{ll|Manual:Interface/Sidebar|Navigationsleiste}}, die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch {{ll|Localisation|in andere Sprachen übersetzt}} werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den {{ll|Localisation|i18n}}-Dateien dieser Erweiterung erfolgen.
<span id="Installation"></span>
== Installation ==
* Zunächst die persönlich angepassten <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code>, $2 und $3 Dateien sichern.
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Konfiguriere nach Bedarf.]]
}}
* Die persönlich angepassten <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code>, $2 und $3 Dateien wiederherstellen.
<span id="Configuration"></span>
== Konfiguration ==
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte {{ll|Manual:Wiki family|Wiki-Farm}} angepasst werden.
<span id="Skins"></span>
=== Oberflächen ===
{{tmpl|0=MediaWiki-Skins können in $1-Dateien entsprechend angepasst werden.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine {{ll|Manual:Wiki family|Wiki-Farm}} betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die <code>AnotherSkin.css</code>-Datei entsprechend umbenannt werden und diese Änderung muss auch in der <code>extension.json</code>-Datei vorgenommen werden.
# In der Dateibaumstruktur: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In der <code>extension.json</code>-Datei: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In der <code>includes/Hooks.php</code>-Datei: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
== Navigationsleiste (Seitenleiste) ==
Eine {{ll|Manual:Wiki family|Wikifarm}} kann in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}} angepasst werden.
Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der <code>i18n/en.json</code>-Datei:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Für mehr Details siehe:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Head-Daten===
Deaktivieren mit:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
=== Meta-Daten ===
Deaktivieren mit:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<span id="Scripts"></span>
=== Skripte ===
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden.
Die Head-Skripte können aus beliebigen {{ll|snippets|HTML und/oder JavaScript}} bestehen.
Deaktivieren mit:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
==== Schema ====
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen).
'''Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden''', das würde sie umbrechen ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc weitere Einzelheiten zu dieser Syntax]).
'''Zum Abschluss eine "Neue Zeile" einfügen.'''
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Anzeige am Ende des Dokuments===
<code>$wgSkinCustomiserDisplayBottom</code> fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
=== Beispiele ===
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:GlobalCssJs}}
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
3cstaru4u9bv2rsp67ew5ejjzofditu
8390214
8390204
2026-05-24T22:52:23Z
Clump
81610
Not a translation
8390214
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Passt bestehende {{ll|Manual:Skin|Oberflächen}} an. Fügt Skripte und {{ll|Page metadata|Meta-Daten}} kurz vor dem {{tag|head|close}}-Tag des Wikis ein.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
Die '''SkinCustomiser'''-Erweiterung passt die bestehenden {{ll|Manual:Skin|Oberflächen}} für eine komplette {{ll|Manual:Wiki family|Wiki-Familie}} an.
Sie fügt Skripte und {{ll|Page metadata|Metadaten}} direkt vor dem {{tag|head|close}}-Tag des Wikis ein und übersetzt einzelne Einträge in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
<span id="Background"></span>
==Hintergrund==
<span id="Customising_Skins"></span>
===Oberflächen anpassen===
{{tmpl|0=MediaWiki-Oberflächen können jeweils in den $1-Dateien angepasst werden.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
<span id="Customising_Sidebars"></span>
===Navigationsleisten anpassen===
Zur Anpassung gehören auch weitere Einträge über die {{ll|Manual:Interface/Sidebar|Navigationsleiste}}, die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch {{ll|Localisation|in andere Sprachen übersetzt}} werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den {{ll|Localisation|i18n}}-Dateien dieser Erweiterung erfolgen.
<span id="Installation"></span>
== Installation ==
* Zunächst die persönlich angepassten <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code>, $2 und $3 Dateien sichern.
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Konfiguriere nach Bedarf.]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
== Konfiguration ==
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte {{ll|Manual:Wiki family|Wiki-Farm}} angepasst werden.
<span id="Skins"></span>
=== Oberflächen ===
{{tmpl|0=MediaWiki-Skins können in $1-Dateien entsprechend angepasst werden.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine {{ll|Manual:Wiki family|Wiki-Farm}} betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die <code>AnotherSkin.css</code>-Datei entsprechend umbenannt werden und diese Änderung muss auch in der <code>extension.json</code>-Datei vorgenommen werden.
# In der Dateibaumstruktur: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In der <code>extension.json</code>-Datei: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In der <code>includes/Hooks.php</code>-Datei: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
== Navigationsleiste (Seitenleiste) ==
Eine {{ll|Manual:Wiki family|Wikifarm}} kann in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}} angepasst werden.
Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der <code>i18n/en.json</code>-Datei:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Für mehr Details siehe:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Head-Daten===
Deaktivieren mit:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
=== Meta-Daten ===
Deaktivieren mit:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<span id="Scripts"></span>
=== Skripte ===
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden.
Die Head-Skripte können aus beliebigen {{ll|snippets|HTML und/oder JavaScript}} bestehen.
Deaktivieren mit:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
==== Schema ====
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen).
'''Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden''', das würde sie umbrechen ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc weitere Einzelheiten zu dieser Syntax]).
'''Zum Abschluss eine "Neue Zeile" einfügen.'''
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Anzeige am Ende des Dokuments===
<code>$wgSkinCustomiserDisplayBottom</code> fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
=== Beispiele ===
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:GlobalCssJs}}
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
pvxeo2omiwv8p8hymmkb9r0w0d8mmkj
8390215
8390214
2026-05-24T22:52:34Z
Clump
81610
Not a translation
8390215
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Passt bestehende {{ll|Manual:Skin|Oberflächen}} an. Fügt Skripte und {{ll|Page metadata|Meta-Daten}} kurz vor dem {{tag|head|close}}-Tag des Wikis ein.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
Die '''SkinCustomiser'''-Erweiterung passt die bestehenden {{ll|Manual:Skin|Oberflächen}} für eine komplette {{ll|Manual:Wiki family|Wiki-Familie}} an.
Sie fügt Skripte und {{ll|Page metadata|Metadaten}} direkt vor dem {{tag|head|close}}-Tag des Wikis ein und übersetzt einzelne Einträge in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}}.
<span id="Background"></span>
==Hintergrund==
<span id="Customising_Skins"></span>
===Oberflächen anpassen===
{{tmpl|0=MediaWiki-Oberflächen können jeweils in den $1-Dateien angepasst werden.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
<span id="Customising_Sidebars"></span>
===Navigationsleisten anpassen===
Zur Anpassung gehören auch weitere Einträge über die {{ll|Manual:Interface/Sidebar|Navigationsleiste}}, die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch {{ll|Localisation|in andere Sprachen übersetzt}} werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den {{ll|Localisation|i18n}}-Dateien dieser Erweiterung erfolgen.
<span id="Installation"></span>
== Installation ==
* <span lang="en" dir="ltr" class="mw-content-ltr">First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Konfiguriere nach Bedarf.]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
== Konfiguration ==
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte {{ll|Manual:Wiki family|Wiki-Farm}} angepasst werden.
<span id="Skins"></span>
=== Oberflächen ===
{{tmpl|0=MediaWiki-Skins können in $1-Dateien entsprechend angepasst werden.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Wenn jedoch eine {{ll|Manual:Wiki family|Wiki-Farm}} betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die <code>AnotherSkin.css</code>-Datei entsprechend umbenannt werden und diese Änderung muss auch in der <code>extension.json</code>-Datei vorgenommen werden.
# In der Dateibaumstruktur: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# In der <code>extension.json</code>-Datei: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# In der <code>includes/Hooks.php</code>-Datei: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
===Logo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
== Navigationsleiste (Seitenleiste) ==
Eine {{ll|Manual:Wiki family|Wikifarm}} kann in der {{ll|Manual:Interface/Sidebar|Navigationsleiste}} angepasst werden.
Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der <code>i18n/en.json</code>-Datei:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Für mehr Details siehe:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Head-Daten===
Deaktivieren mit:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
=== Meta-Daten ===
Deaktivieren mit:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
==== Schema ====
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:AgeClassification}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<span id="Scripts"></span>
=== Skripte ===
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden.
Die Head-Skripte können aus beliebigen {{ll|snippets|HTML und/oder JavaScript}} bestehen.
Deaktivieren mit:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
==== Schema ====
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen).
'''Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden''', das würde sie umbrechen ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc weitere Einzelheiten zu dieser Syntax]).
'''Zum Abschluss eine "Neue Zeile" einfügen.'''
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Beispiele ====
Beispiel (aus {{ll|Extension:Google Analytics Integration}}):
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Anzeige am Ende des Dokuments===
<code>$wgSkinCustomiserDisplayBottom</code> fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
=== Beispiele ===
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Siehe auch ==
* {{ll|Extension:GlobalCssJs}}
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
8gn4ttly9r14711ffcrbfm00v68popi
Extension:SkinCustomiser/es
102
1897305
8390202
8386622
2026-05-24T21:28:55Z
FuzzyBot
451990
Updating to match new version of source page
8390202
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = Personaliza las {{ll|Manual:Skin|apariencias}} existentes. Añadir Scripts y {{ll|Page metadata|Metadatos}} justo antes de la etiqueta {{tag|head|close}} del wiki.
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
La '''SkinCustomiser''' personaliza {{ll|Manual:Skin|apariencias}} existentes para una {{ll|Manual:Wiki family|familia wiki}} completa.
Añade scripts y {{ll|Page metadata|metadatos}} justo antes de la etiqueta {{tag|head|close}} del wiki; y traduce entradas individuales en la {{ll|Manual:Interface/Sidebar|barra lateral}}.
<span id="Background"></span>
==Contexto==
<span id="Customising_Skins"></span>
=== Personalizando apariencias ===
{{tmpl|0=Las skins de MediaWiki pueden personalizarse en los archivos $1 respectivamente.
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Sin embargo, si se opera una granja wiki, no es práctico configurar y mantener estos archivos en cada wiki de esa granja.
En cambio, todas estas instrucciones CSS pueden recogerse de forma centralizada en esta extensión e incluirse globalmente en todos los wikis de la granja wiki.
<span id="Customising_Sidebars"></span>
=== Personalizando barras laterales ===
La personalización también incluye otras entradas a través de la {{ll|Manual:Interface/Sidebar|barra lateral}}, que por un lado deben gestionarse de forma centralizada en una granja wiki y, por otro, también deben {{ll|Localisation|traducirse a otros idiomas}}.
Esto puede hacerse introduciendo estas etiquetas y sus traducciones en los archivos {{ll|Localisation|i18n}} de esta extensión.
<span id="Installation"></span>
==Instalación==
* <span lang="en" dir="ltr" class="mw-content-ltr">First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
==Configuración==
<div lang="en" dir="ltr" class="mw-content-ltr">
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{ll|Manual:Wiki family|wiki farm}}.
</div>
<span id="Skins"></span>
===Apariencias===
{{tmpl|0=Las apariencias de MediaWiki pueden personalizarse en los archivos $1 respectivamente.
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
Sin embargo, si se opera una {{ll|Manual:Wiki family|granja wiki}}, es poco práctico configurar y mantener estos archivos en cada wiki de esta granja.
<span lang="en" dir="ltr" class="mw-content-ltr">If a different skin is used, the <code>AnotherSkin.css</code> file must be renamed accordingly and this change must also be made in the <code>extension.json</code> file.</span>
# En el árbol de archivos: <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# En el archivo <code>extension.json</code>: <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# En el archivo <code>includes/Hooks.php</code>: <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<span id="Logo"></span>
===Logotipo===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
=== Barra lateral ===
Una {{ll|Manual:Wiki family|granja wiki}} se puede personalizar en la {{ll|Manual:Interface/Sidebar|barra lateral}}.
Las etiquetas personalizadas y sus traducciones pueden administrarse de la siguiente manera:
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, some standard messages from mediawiki can also be customised there.
</div>
Personalización del archivo <code>i18n/en.json</code>:
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
Para más detalles, véase:
{{ll|Localisation file format}}
<span id="Head_data"></span>
===Datos en la cabezera===
Deshabilitar con:
<code>$wgSkinCustomiserHeadItems = [];</code>
<span id="Scheme"></span>
====Esquema====
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<span id="Meta_data"></span>
===Datos meta===
Deshabilitar con:
<code>$wgSkinCustomiserMetaItems = [];</code>
<span id="Scheme"></span>
====Esquema====
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head meta data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<span id="Examples"></span>
==== Ejemplos ====
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:AgeClassification}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Scripts===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">One or more head scripts can be added to the wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The head scripts can consist of any {{ll|snippets|HTML and/or JavaScript}}.</span>
Deshabilitar con:
<code>$wgSkinCustomiserScripts = "";</code>
<span id="Scheme"></span>
====Esquema====
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head script, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">Leave untouched the first and last line with START_END_MARKER stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">'''Do not add whitespaces around the last line’s marker''', it would break it ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc more details about this syntax]).</span>
'''Añade una nueva línea después.'''
<span lang="en" dir="ltr" class="mw-content-ltr">To add additional scripts, simply include them between the markers:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">You may specify a name for the script too if needed, add the following after the installation line:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
==== Ejemplos ====
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:Google Analytics Integration}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<span id="Bottom_Display"></span>
===Visualización inferior===
<div lang="en" dir="ltr" class="mw-content-ltr">
<code>$wgSkinCustomiserDisplayBottom</code> adds items at the end of a page, at the bottom but still within the content frame.
</div>
Deshabilitar con:
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
==== Ejemplos ====
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
==Véase también==
* {{ll|Extension:GlobalCssJs}}
La extensión SkinCustomiser combina la funcionalidad de
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
oitwepa3cmepz1cn4l4q55h5751h52m
Talk:Talk pages project/Replying
1
1911247
8390458
8379879
2026-05-25T09:43:52Z
DoubleGrazing
10650240
/* Quick reply changes */ new section
8390458
wikitext
text/x-wiki
{{User:Dexbot/Archivebot
|archive = Talk:Talk pages project/Replying/Archive %(counter)d
|algo = old(180d)
|counter = 1
|maxarchivesize = 50K
|archiveheader = {{Archive}}
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{archives|list=
* [[Talk:Talk pages project/Replying/Flow|Original Flow board]]
* [[/2019|2019]]
* [[/2020/01|Jan 2020]]
* [[/2020/02|Feb 2020]]
* [[/2020/03|Mar 2020]]
* [[/2020/04|Apr 2020]]
* [[/2020/05|May 2020]]
* [[/2020/06|Jun 2020]]
* [[/2020/07|Jul 2020]]
* [[/2020/08|Aug 2020]]
* [[/2020/09|Sep 2020]]
* [[/2020/10|Oct 2020]]
* [[/2020/11|Nov 2020]]
* [[/2020/12|Dec 2020]]
* [[/2021/01|Jan 2021]]
* [[/2021/02|Feb 2021]]
* [[/2021/03|Mar 2021]]
* [[/2021/04|Apr 2021]]
* [[/2021/05|May 2021]]
* [[/2021/06|Jun 2021]]
* [[/2021/07|Jul 2021]]
* [[/2021/08|Aug 2021]]
* [[/2021/09|Sep 2021]]
* [[/2021/10|Oct 2021]]
* [[/2021/11|Nov 2021]]
* [[/2021/12|Dec 2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
{{Archive list|auto = long}}
}}
== Newcomer to Wikipedia discussions ==
I've recently been invited to join in Wikipedia discussions but I really don't know anything about the process. How can I learn how to join in and share the information I've learned? [[User:Topdogrex|Topdogrex]] ([[User talk:Topdogrex|talk]]) 01:17, 29 December 2025 (UTC)
:What exactly have you been invited to discuss? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:07, 1 March 2026 (UTC)
== Templates / quotation formatting ==
Considering how common and useful quotation formatting ({{tq|like this}}) is, and since currently a template is necessary for that, it seems absurd to me that neither you can use templates in the visual reply editor, nor they are autocompleted in the source one. In source editor, a simple template like the quotation formatting even prohibits going back to the visual one. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:02, 1 March 2026 (UTC)
== Quick reply changes ==
(Apologies if this isn't the right place to ask this.)
I've been away for a few days, and came back to find that the quick reply function has changed. Coinciding with that, my browser (Vivaldi) has also gone up a major version update, so I don't know what's causing the following new features (?) of quick reply:
<nowiki>*</nowiki>I can't see the real-time preview of what I'm typing anymore.
<nowiki>*</nowiki>When I type '[[', "Add a link" box pops up, which I'd like to turn off if possible.
<nowiki>*</nowiki>The return key seems to add more vertical space than before.
Firstly, are these intended features, or is it more likely that my browser is messing things up? And can I toggle these settings somewhere, to go back to the way things were? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 09:43, 25 May 2026 (UTC)
nihibsz893350thgnuc60b3rmud8r7h
8390459
8390458
2026-05-25T09:46:43Z
DoubleGrazing
10650240
/* Quick reply changes */ huh? bullets get nowiki'd now?
8390459
wikitext
text/x-wiki
{{User:Dexbot/Archivebot
|archive = Talk:Talk pages project/Replying/Archive %(counter)d
|algo = old(180d)
|counter = 1
|maxarchivesize = 50K
|archiveheader = {{Archive}}
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{archives|list=
* [[Talk:Talk pages project/Replying/Flow|Original Flow board]]
* [[/2019|2019]]
* [[/2020/01|Jan 2020]]
* [[/2020/02|Feb 2020]]
* [[/2020/03|Mar 2020]]
* [[/2020/04|Apr 2020]]
* [[/2020/05|May 2020]]
* [[/2020/06|Jun 2020]]
* [[/2020/07|Jul 2020]]
* [[/2020/08|Aug 2020]]
* [[/2020/09|Sep 2020]]
* [[/2020/10|Oct 2020]]
* [[/2020/11|Nov 2020]]
* [[/2020/12|Dec 2020]]
* [[/2021/01|Jan 2021]]
* [[/2021/02|Feb 2021]]
* [[/2021/03|Mar 2021]]
* [[/2021/04|Apr 2021]]
* [[/2021/05|May 2021]]
* [[/2021/06|Jun 2021]]
* [[/2021/07|Jul 2021]]
* [[/2021/08|Aug 2021]]
* [[/2021/09|Sep 2021]]
* [[/2021/10|Oct 2021]]
* [[/2021/11|Nov 2021]]
* [[/2021/12|Dec 2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
{{Archive list|auto = long}}
}}
== Newcomer to Wikipedia discussions ==
I've recently been invited to join in Wikipedia discussions but I really don't know anything about the process. How can I learn how to join in and share the information I've learned? [[User:Topdogrex|Topdogrex]] ([[User talk:Topdogrex|talk]]) 01:17, 29 December 2025 (UTC)
:What exactly have you been invited to discuss? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:07, 1 March 2026 (UTC)
== Templates / quotation formatting ==
Considering how common and useful quotation formatting ({{tq|like this}}) is, and since currently a template is necessary for that, it seems absurd to me that neither you can use templates in the visual reply editor, nor they are autocompleted in the source one. In source editor, a simple template like the quotation formatting even prohibits going back to the visual one. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:02, 1 March 2026 (UTC)
== Quick reply changes ==
(Apologies if this isn't the right place to ask this.)
I've been away for a few days, and came back to find that the quick reply function has changed. Coinciding with that, my browser (Vivaldi) has also gone up a major version update, so I don't know what's causing the following new features (?) of quick reply:
*I can't see the real-time preview of what I'm typing anymore.
*When I type '[[', "Add a link" box pops up, which I'd like to turn off if possible.
*The return key seems to add more vertical space than before.
Firstly, are these intended features, or is it more likely that my browser is messing things up? And can I toggle these settings somewhere, to go back to the way things were? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 09:43, 25 May 2026 (UTC)
9gkosotyebultusulrb4p6y23vvpwcq
8390494
8390459
2026-05-25T10:11:24Z
DoubleGrazing
10650240
/* Quick reply changes */ Reply
8390494
wikitext
text/x-wiki
{{User:Dexbot/Archivebot
|archive = Talk:Talk pages project/Replying/Archive %(counter)d
|algo = old(180d)
|counter = 1
|maxarchivesize = 50K
|archiveheader = {{Archive}}
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{archives|list=
* [[Talk:Talk pages project/Replying/Flow|Original Flow board]]
* [[/2019|2019]]
* [[/2020/01|Jan 2020]]
* [[/2020/02|Feb 2020]]
* [[/2020/03|Mar 2020]]
* [[/2020/04|Apr 2020]]
* [[/2020/05|May 2020]]
* [[/2020/06|Jun 2020]]
* [[/2020/07|Jul 2020]]
* [[/2020/08|Aug 2020]]
* [[/2020/09|Sep 2020]]
* [[/2020/10|Oct 2020]]
* [[/2020/11|Nov 2020]]
* [[/2020/12|Dec 2020]]
* [[/2021/01|Jan 2021]]
* [[/2021/02|Feb 2021]]
* [[/2021/03|Mar 2021]]
* [[/2021/04|Apr 2021]]
* [[/2021/05|May 2021]]
* [[/2021/06|Jun 2021]]
* [[/2021/07|Jul 2021]]
* [[/2021/08|Aug 2021]]
* [[/2021/09|Sep 2021]]
* [[/2021/10|Oct 2021]]
* [[/2021/11|Nov 2021]]
* [[/2021/12|Dec 2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
{{Archive list|auto = long}}
}}
== Newcomer to Wikipedia discussions ==
I've recently been invited to join in Wikipedia discussions but I really don't know anything about the process. How can I learn how to join in and share the information I've learned? [[User:Topdogrex|Topdogrex]] ([[User talk:Topdogrex|talk]]) 01:17, 29 December 2025 (UTC)
:What exactly have you been invited to discuss? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:07, 1 March 2026 (UTC)
== Templates / quotation formatting ==
Considering how common and useful quotation formatting ({{tq|like this}}) is, and since currently a template is necessary for that, it seems absurd to me that neither you can use templates in the visual reply editor, nor they are autocompleted in the source one. In source editor, a simple template like the quotation formatting even prohibits going back to the visual one. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:02, 1 March 2026 (UTC)
== Quick reply changes ==
(Apologies if this isn't the right place to ask this.)
I've been away for a few days, and came back to find that the quick reply function has changed. Coinciding with that, my browser (Vivaldi) has also gone up a major version update, so I don't know what's causing the following new features (?) of quick reply:
*I can't see the real-time preview of what I'm typing anymore.
*When I type '[[', "Add a link" box pops up, which I'd like to turn off if possible.
*The return key seems to add more vertical space than before.
Firstly, are these intended features, or is it more likely that my browser is messing things up? And can I toggle these settings somewhere, to go back to the way things were? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 09:43, 25 May 2026 (UTC)
:PS: I only now realised that when the "Add a link" thing comes up, I can escape it, but the link I go on to add gets wrapped inside nowiki. Please someone tell me there's a way to stop this happening? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:11, 25 May 2026 (UTC)
h8i60dlja9kgywos7gea86umuwa62wb
8390507
8390494
2026-05-25T10:47:40Z
DoubleGrazing
10650240
/* Quick reply changes */ Reply
8390507
wikitext
text/x-wiki
{{User:Dexbot/Archivebot
|archive = Talk:Talk pages project/Replying/Archive %(counter)d
|algo = old(180d)
|counter = 1
|maxarchivesize = 50K
|archiveheader = {{Archive}}
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{archives|list=
* [[Talk:Talk pages project/Replying/Flow|Original Flow board]]
* [[/2019|2019]]
* [[/2020/01|Jan 2020]]
* [[/2020/02|Feb 2020]]
* [[/2020/03|Mar 2020]]
* [[/2020/04|Apr 2020]]
* [[/2020/05|May 2020]]
* [[/2020/06|Jun 2020]]
* [[/2020/07|Jul 2020]]
* [[/2020/08|Aug 2020]]
* [[/2020/09|Sep 2020]]
* [[/2020/10|Oct 2020]]
* [[/2020/11|Nov 2020]]
* [[/2020/12|Dec 2020]]
* [[/2021/01|Jan 2021]]
* [[/2021/02|Feb 2021]]
* [[/2021/03|Mar 2021]]
* [[/2021/04|Apr 2021]]
* [[/2021/05|May 2021]]
* [[/2021/06|Jun 2021]]
* [[/2021/07|Jul 2021]]
* [[/2021/08|Aug 2021]]
* [[/2021/09|Sep 2021]]
* [[/2021/10|Oct 2021]]
* [[/2021/11|Nov 2021]]
* [[/2021/12|Dec 2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
{{Archive list|auto = long}}
}}
== Newcomer to Wikipedia discussions ==
I've recently been invited to join in Wikipedia discussions but I really don't know anything about the process. How can I learn how to join in and share the information I've learned? [[User:Topdogrex|Topdogrex]] ([[User talk:Topdogrex|talk]]) 01:17, 29 December 2025 (UTC)
:What exactly have you been invited to discuss? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:07, 1 March 2026 (UTC)
== Templates / quotation formatting ==
Considering how common and useful quotation formatting ({{tq|like this}}) is, and since currently a template is necessary for that, it seems absurd to me that neither you can use templates in the visual reply editor, nor they are autocompleted in the source one. In source editor, a simple template like the quotation formatting even prohibits going back to the visual one. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:02, 1 March 2026 (UTC)
== Quick reply changes ==
(Apologies if this isn't the right place to ask this.)
I've been away for a few days, and came back to find that the quick reply function has changed. Coinciding with that, my browser (Vivaldi) has also gone up a major version update, so I don't know what's causing the following new features (?) of quick reply:
*I can't see the real-time preview of what I'm typing anymore.
*When I type '[[', "Add a link" box pops up, which I'd like to turn off if possible.
*The return key seems to add more vertical space than before.
Firstly, are these intended features, or is it more likely that my browser is messing things up? And can I toggle these settings somewhere, to go back to the way things were? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 09:43, 25 May 2026 (UTC)
:PS: I only now realised that when the "Add a link" thing comes up, I can escape it, but the link I go on to add gets wrapped inside nowiki. Please someone tell me there's a way to stop this happening? -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:11, 25 May 2026 (UTC)
::PPS: Okay, it seems the quick reply feature either defaults, or I've accidentally switched it, to visual mode. (Duh!) As long as the solution is to switch it to source mode, and it hopefully stays that way, then we don't have a problem. Phew. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:47, 25 May 2026 (UTC)
iqrmmolitd7b408gxdbyn5lapxpsw7a
GitLab/Workflows/Registering an account on GitLab
0
1921642
8390359
8332348
2026-05-25T08:12:07Z
~2026-31264-42
18405894
Privacidad
8390359
wikitext
text/x-wiki
'''Accounts on gitlab.wikimedia.org''' are connected to Wikimedia [[developer account|developer account]]s. If you do not yet have a developer account, follow [[wikitech:Help:Create a Wikimedia developer account|Help:Create a Wikimedia developer account]] to create one.
Once you have a developer account, visit [https://gitlab.wikimedia.org/ gitlab.wikimedia.org] and click "Sign In" in the upper-righthand corner of the window. You will be redirected to our [[wikitech:CAS-SSO|idp.wikimedia.org]] single sign-on server to enter your developer account credentials. Once you have authenticated to idp.wikimedia.org you will be redirected back to our GitLab server.
In order to prevent spam and other abuse, newly registered GitLab accounts must be approved before they can use the service:
* Your GitLab account gets automatically approved within one hour if you are a member of [https://gerrit.wikimedia.org/r/admin/groups/2021f25e7515187a81d51f8fe14dd6f25617cce0,members Trusted Contributors in Gerrit], or a member of the [[phab:tag/trusted-contributors/|Trusted-Contributors group in Phabricator]] and [[phab:settings/panel/external/|linked your Developer account ("LDAP") to your Phabricator account]] (please do so anyway). Only if none of these apply, [[phab:maniphest/task/edit/form/117/|file an unlock request]] to expedite access.
* If you are WMF staff, instead: Create your GitLab account, [[phab:project/profile/1564/|have/get "Wmf" group membership]] in [https://idm.wikimedia.org/permissions/ IDM], [[phab:settings/panel/external/|link your Developer account ("LDAP") to your Phabricator account]], and get automatically approved.
<!-- Keep this text in sync with https://wikitech.wikimedia.org/wiki/GitLab#Import_code_to_GitLab -->
== Add an SSH key ==
Visit [[gitlab:-/user_settings/ssh_keys|the SSH settings in your profile]] and add a public key. See [[SSH keys]] and [https://docs.gitlab.com/ee/user/ssh.html the GitLab documentation] for more details on this process.
{{info|GitLab also supports HTTPS remotes, so an SSH key isn't necessary. However, this documentation assumes you are performing git operations using SSH.}}
== Add two-factor authentication ==
You may be required to use two-factor authentication to access most projects on GitLab.
Click on your user icon, then "Edit profile" or "Preferences", followed by "Account", and the "Manage two-factor authentication" button. From here you can set up an authenticator app, or use a hardware device (such as a YubiKey) as your second factor.
See the upstream [https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html GitLab docs on two-factor authentication] for more details.
[[Category:GitLab_technical_documentation{{#translation:}}]]
svnfg2phnerm5g48741hx3f2ybgz80g
8390498
8390359
2026-05-25T10:20:04Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31264-42|~2026-31264-42]] ([[User talk:~2026-31264-42|talk]]) to last version by Clump
7636532
wikitext
text/x-wiki
{{GitLab Navigation}}
'''Accounts on gitlab.wikimedia.org''' are connected to Wikimedia [[developer account|developer account]]s. If you do not yet have a developer account, follow [[wikitech:Help:Create a Wikimedia developer account|Help:Create a Wikimedia developer account]] to create one.
Once you have a developer account, visit [https://gitlab.wikimedia.org/ gitlab.wikimedia.org] and click "Sign In" in the upper-righthand corner of the window. You will be redirected to our [[wikitech:CAS-SSO|idp.wikimedia.org]] single sign-on server to enter your developer account credentials. Once you have authenticated to idp.wikimedia.org you will be redirected back to our GitLab server.
In order to prevent spam and other abuse, newly registered GitLab accounts must be approved before they can use the service:
* Your GitLab account gets automatically approved within one hour if you are a member of [https://gerrit.wikimedia.org/r/admin/groups/2021f25e7515187a81d51f8fe14dd6f25617cce0,members Trusted Contributors in Gerrit], or a member of the [[phab:tag/trusted-contributors/|Trusted-Contributors group in Phabricator]] and [[phab:settings/panel/external/|linked your Developer account ("LDAP") to your Phabricator account]] (please do so anyway). Only if none of these apply, [[phab:maniphest/task/edit/form/117/|file an unlock request]] to expedite access.
* If you are WMF staff, instead: Create your GitLab account, [[phab:project/profile/1564/|have/get "Wmf" group membership]] in [https://idm.wikimedia.org/permissions/ IDM], [[phab:settings/panel/external/|link your Developer account ("LDAP") to your Phabricator account]], and get automatically approved.
<!-- Keep this text in sync with https://wikitech.wikimedia.org/wiki/GitLab#Import_code_to_GitLab -->
== Add an SSH key ==
Visit [[gitlab:-/user_settings/ssh_keys|the SSH settings in your profile]] and add a public key. See [[SSH keys]] and [https://docs.gitlab.com/ee/user/ssh.html the GitLab documentation] for more details on this process.
{{info|GitLab also supports HTTPS remotes, so an SSH key isn't necessary. However, this documentation assumes you are performing git operations using SSH.}}
== Add two-factor authentication ==
You may be required to use two-factor authentication to access most projects on GitLab.
Click on your user icon, then "Edit profile" or "Preferences", followed by "Account", and the "Manage two-factor authentication" button. From here you can set up an authenticator app, or use a hardware device (such as a YubiKey) as your second factor.
See the upstream [https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html GitLab docs on two-factor authentication] for more details.
[[Category:GitLab_technical_documentation{{#translation:}}]]
owa3621gybue722y8n8ap6upa65nxgd
Extension:SkinCustomiser/ja
102
1934934
8390205
8386625
2026-05-24T21:28:57Z
FuzzyBot
451990
Updating to match new version of source page
8390205
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <span lang="en" dir="ltr" class="mw-content-ltr">Customises existing {{ll|Manual:Skin|skins}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Add Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki.</span>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The '''SkinCustomiser''' customises existing {{ll|Manual:Skin|skins}} for a complete {{ll|Manual:Wiki family|wiki family}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It adds Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki; and it translates individual entries in the {{ll|Manual:Interface/Sidebar|sidebar}}.</span>
<span id="Background"></span>
==背景==
<div lang="en" dir="ltr" class="mw-content-ltr">
===Customising Skins===
</div>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">MediaWiki skins can be customised in the files $1 respectively.</span>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Customising Sidebars===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Customisation also includes further entries via the {{ll|Manual:Interface/Sidebar|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{ll|Localisation|translated into other languages}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This can be done by entering these labels and their translations in the {{ll|Localisation|i18n}} files of this extension.
</div>
<span id="Installation"></span>
==インストール==
* <span lang="en" dir="ltr" class="mw-content-ltr">First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<span lang="en" dir="ltr" class="mw-content-ltr">Configure as required.</span>]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
==設定==
<div lang="en" dir="ltr" class="mw-content-ltr">
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{ll|Manual:Wiki family|wiki farm}}.
</div>
<span id="Skins"></span>
===外装===
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">MediaWiki skins can be customised in files $1 respectively.</span>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<span lang="en" dir="ltr" class="mw-content-ltr">However, if a {{ll|Manual:Wiki family|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If a different skin is used, the <code>AnotherSkin.css</code> file must be renamed accordingly and this change must also be made in the <code>extension.json</code> file.</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the file tree:</span> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the <code>extension.json</code> file:</span> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the <code>includes/Hooks.php</code> file:</span> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<span id="Logo"></span>
===ロゴ===
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<span id="Sidebar"></span>
===サイドバー===
<span lang="en" dir="ltr" class="mw-content-ltr">A {{ll|Manual:Wiki family|wiki farm}} can be customised in the {{ll|Manual:Interface/Sidebar|sidebar}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The customised labels and their translations can be managed in this way:</span>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, some standard messages from mediawiki can also be customised there.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Customising the <code>i18n/en.json</code> file:
</div>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For more details see:</span>
{{ll|Localisation file format}}
<div lang="en" dir="ltr" class="mw-content-ltr">
===Head data===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserHeadItems = [];</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Meta data===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserMetaItems = [];</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head meta data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<span id="Examples"></span>
====例====
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:AgeClassification}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Scripts===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">One or more head scripts can be added to the wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The head scripts can consist of any {{ll|snippets|HTML and/or JavaScript}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserScripts = "";</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head script, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">Leave untouched the first and last line with START_END_MARKER stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">'''Do not add whitespaces around the last line’s marker''', it would break it ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc more details about this syntax]).</span>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Do add new line after.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">To add additional scripts, simply include them between the markers:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">You may specify a name for the script too if needed, add the following after the installation line:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<span id="Examples"></span>
====例====
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:Google Analytics Integration}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Bottom Display===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
<code>$wgSkinCustomiserDisplayBottom</code> adds items at the end of a page, at the bottom but still within the content frame.
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<span id="Example"></span>
====例====
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
==関連項目==
* {{ll|Extension:GlobalCssJs}}
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension SkinCustomiser combines functionality from
</div>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
aqkys39xt6xrwelps0k6xd9v2oh1gd0
Template:Import-stickytable/styles.css
10
1951557
8390460
8364055
2026-05-25T09:53:23Z
Jonathan3
9129
I have a feeling this might fix a problem but I'll undo it straight away if it doesn't
8390460
sanitized-css
text/css
/* If table has no thead, assume first row of tbody */
.tpl-stickytable thead tr:first-of-type,
.tpl-stickytable tbody:first-of-type tr:first-of-type {
position: sticky;
top: 0;
background: var(--background-color-neutral);
}
/* Don't collide with Timeless' sticky header */
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable thead tr:first-of-type,
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable tbody:first-of-type tr:first-of-type {
top: 3.125rem;
}
.tpl-stickytable-group td {
border-top: 3px solid #a2a9b1;
}
bj7pcokv6s9p0wdfnbg1a413z2hpdb6
8390461
8390460
2026-05-25T09:54:44Z
Jonathan3
9129
Another try
8390461
sanitized-css
text/css
/* If table has no thead, assume first row of tbody */
.tpl-stickytable thead tr:first-of-type,
.tpl-stickytable tbody:first-of-type tr:first-of-type {
position: sticky;
top: 0;
background: var(--background-color-neutral);
z-index: 10;
}
/* Don't collide with Timeless' sticky header */
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable thead tr:first-of-type,
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable tbody:first-of-type tr:first-of-type {
top: 3.125rem;
}
.tpl-stickytable-group td {
border-top: 3px solid #a2a9b1;
}
6igmq5r6vxcu2trf0ywblvgaihxz9z4
8390462
8390461
2026-05-25T09:56:46Z
Jonathan3
9129
Final go
8390462
sanitized-css
text/css
/* If table has no thead, assume first row of tbody */
.tpl-stickytable thead tr:first-of-type,
.tpl-stickytable tbody:first-of-type tr:first-of-type {
position: sticky;
top: 0;
background: var(--background-color-neutral) !important;
z-index: 10;
}
/* Don't collide with Timeless' sticky header */
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable thead tr:first-of-type,
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable tbody:first-of-type tr:first-of-type {
top: 3.125rem;
}
.tpl-stickytable-group td {
border-top: 3px solid #a2a9b1;
}
q4xgrmhqce8lmse02hwe8ty005o2v6f
8390463
8390462
2026-05-25T09:57:22Z
Jonathan3
9129
8390463
sanitized-css
text/css
/* If table has no thead, assume first row of tbody */
.tpl-stickytable thead tr:first-of-type,
.tpl-stickytable tbody:first-of-type tr:first-of-type {
position: sticky;
top: 0;
background: var(--background-color-neutral) !important;
z-index: 10 !important;
}
/* Don't collide with Timeless' sticky header */
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable thead tr:first-of-type,
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable tbody:first-of-type tr:first-of-type {
top: 3.125rem;
}
.tpl-stickytable-group td {
border-top: 3px solid #a2a9b1;
}
4yzs1pamcd05twtj3dwan0fah48tcjh
8390464
8390463
2026-05-25T09:58:06Z
Jonathan3
9129
No more time today so undoing today's changes - sorry
8390464
sanitized-css
text/css
/* If table has no thead, assume first row of tbody */
.tpl-stickytable thead tr:first-of-type,
.tpl-stickytable tbody:first-of-type tr:first-of-type {
position: sticky;
top: 0;
}
/* Don't collide with Timeless' sticky header */
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable thead tr:first-of-type,
body.skin-timeless .content-table-wrapper:not(.overflowed) .tpl-stickytable tbody:first-of-type tr:first-of-type {
top: 3.125rem;
}
.tpl-stickytable-group td {
border-top: 3px solid #a2a9b1;
}
18lr65ycuvp2ae6zyvk2owezp1u2qaf
Help:Advanced editing/ja
12
1960749
8390242
8233970
2026-05-25T04:18:28Z
Ant176
390778
Created page with "これは行のインデントを行うための回避策としてよく使用されますが、アクセシビリティを損なったり、無効なHTMLを出力してしまいます。"
8390242
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
{{expand|reason=a section either here or in [[Transclusion]] detailing tags would be useful, explainining how to use e.g. #syntaxhighlight or #nowiki in templates.}}
{{TOCright}}
<span id="Wikitext_markup_guide_–_crafting_your_page's_appearance"></span>
== [[:ja:ウィキテキスト|ウィキテキスト]]マークアップガイド – ページの外観を整える ==
{{see also|Help:Formatting|Help:Categories|ll=TRUE}}
{{ll|Help:Editing}}では基本の編集方法について説明しています。
* [[Project:Sandbox|サンドボックス]]を使用して試すことができます。
* {{ll|Help:HTML in wikitext|ウィキテキストにおけるHTMLタグ}}の詳細。
ページの外観を調整するには以下のようなウィキテキストマークアップを使用します。
{{clear}}
<span id="Arranging_your_words_–_lines,_lists,_paragraphs,_and_sections"></span>
=== 言葉の整理 – 行、リスト、段落、節 ===
<section begin="lists" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|-
|
====節と下位の節の作成====
行の先頭で節を始める
{{Note}}ページ名のような最上位の見出しは、等号を一つ(<code>{{=}}</code>)にすることで表示されます。
<blockquote>
<!-- This code prevents confusion in the section editing feature -->
<div class="mw-heading2">節</div>
<div class="mw-heading3">下位の節</div>
<div class="mw-heading4">別の下位の節</div>
</blockquote>
* レベル1の見出し(<code>=</code>)の多用は避け、レベル2の見出し(<code><nowiki>==</nowiki></code>)から始めることをお勧めします。
* レベルを飛ばすことは避けてください(例: レベル2からレベル4)。
* 4つ以上の節で構成された記事の場合は、{{ll|Help:Table of contents#Table of contents (TOC)|目次}}が自動的に生成されます。
* 下位の節は適切な順序で並べ替えましょう。 '''例:'''国をリストアップするときには、[[w:OECD|OECD]] 内の人口順やその他の無作為な順序ではなく、アルファベット順に並べる。
* 見出しを目次から除外したい場合は、HTMLの見出しタグを使用し、スラッシュなしで見出しを閉じます。 例: <syntaxhighlight lang="html"><h4>レベルが低いため目次に表示されない節<h4></syntaxhighlight>
| <syntaxhighlight lang="wikitext">
== 節 ==
=== 下位の節 ===
==== 別の下位の節 ====
</syntaxhighlight>
|-
|
==== [[:ja:改行コード|改行]] ====
* 編集画面で改行をしても効果はありません。
<blockquote>
これは行です。
これはまだ同じ段落の一部です。
</blockquote>
* 空行は新しい段落を開始するか、リストまたはインデントされた部分を終了します。 {{tag|p|open}} タグは、{{tag|p|close}} または節の終わりまで段落を無効にすることができます。
<blockquote>
これは段落です。
<p>
これは段落の続きです。
ただし、{{tag|p|open}} と {{tag|p|close}} タグで囲まれているため、空行の後に表示されます。
</p>
</blockquote>
<blockquote>
これは行です。
<div>
これは {{tag|div|open}} と {{tag|div|close}} タグにより、3番目の段落ではなく次の新しい段落として表示される別の行になります。
</div>
</blockquote>
* リストでは、個々の項目やサブ項目を改行で区切ることで、MediaWiki構文のリストコンテンツの視覚的な構造や読みやすさを向上させます。 例については{{ll|Help:List|nsp=1}}を参照してください。
| <syntaxhighlight lang="wikitext">
これは行です。
これはまだ同じ段落の一部です。
これは段落です。<p>これは段落の続きです。 ただし、<p> と </p> タグで囲まれているため、空行の後に表示されます。</p>
これは行です。<div>これは <div> と </div> タグにより、3番目の段落ではなく次の新しい段落として表示される別の行になります。</div>
</syntaxhighlight>
|-
| <blockquote>別の段落を開始せずに<br/>改行することができます。</blockquote>
* これを使いすぎないでください。
* {{ll|Help:link|リンク}}、''斜体''、'''太字'''を行をまたいで使用せず、行ごとにマークアップを閉じるようにしてください。
| <syntaxhighlight lang="wikitext">別の段落を開始せずに<br/>改行することができます。</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=番号なしリスト}} ====
* 番号なしリストの最初の項目を作成するには、行をアスタリスク(<code>*</code>)で始めます。
** 下位の項目には2つのアスタリスクを使用します。
*** より深いレベルにするには、アスタリスクの数を増やします。
* 各改行はリスト内の新しい項目を表します。
行頭にアスタリスクのない行はリストの終わりを示します。
* 改めて新しいリストを始めることも可能です。
これで番号無しリストを作ることができます。
| <syntaxhighlight lang="wikitext">
* 番号なしリストの最初の項目を作成するには、行をアスタリスク(<code>*</code>)で始めます。
** 下位の項目には2つのアスタリスクを使用します。
*** より深いレベルにするには、アスタリスクの数を増やします。
* 各改行はリスト内の新しい項目を表します。
行頭にアスタリスクのない行はリストの終わりを示します。
* 改めて新しいリストを始めることも可能です。
これで番号無しリストを作ることができます。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=番号つきリスト}} ====
# 順序を示すためには、各行の先頭にハッシュタグ(<code>#</code>)を使用します。
## 下位の項目には2つのハッシュタグ(<code>##</code>)を使用します。
## 記事の構造や情報を分かりやすくするために番号をつけていきます。
# 読みやすくするために、各項目の間に新しい行を追加します。
行頭にハッシュタグのない行はリストの終わりを示します。
# 番号つきリストは1から始まります。
# そして2、と続きます。
| <syntaxhighlight lang="wikitext">
# 順序を示すためには、各行の先頭にハッシュタグ(<code>#</code>)を使用します。
## 下位の項目には2つのハッシュタグ(<code>##</code>)を使用します。
## 記事の構造や情報を分かりやすくするために番号をつけていきます。
# 読みやすくするために、各項目の間に新しい行を追加します。
行頭にハッシュタグのない行はリストの終わりを示します。
# 番号つきリストは1から始まります。
# そして2、と続きます。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=混合リスト}} ====
* この混合リストは、番号なしリスト(<code>*</code>)から始まります。
*# 番号なしリストに番号つきリストの下位項目を作成するには、アスタリスクとハッシュタグ(<code>*#</code>)を使用します。
*#* 番号つきリスト内に番号なしリストのより深い下位項目を作成するには、もう一つアスタリスクを追加します(<code>*#*</code>)。
*#* リスト内の<br/>改行も可能です。
|<syntaxhighlight lang="wikitext">
* この混合リストは、番号なしリスト(<code>*</code>)から始まります。
*# 番号なしリストに番号つきリストの下位項目を作成するには、アスタリスクとハッシュタグ(<code>*#</code>)を使用します。
*#* 番号つきリスト内に番号なしリストのより深い下位項目を作成するには、もう一つアスタリスクを追加します(<code>*#*</code>)。
*#* リスト内の<br/>改行も可能です。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=定義リスト}} ====
定義リストは、一連の用語と定義のペアで構成されます。
* 用語の開始を示すには、セミコロン(<code>;</code>)を使用します。
* 用語はセミコロンの直後に配置します。
* 用語に関連付けられた定義を導入するには、コロン(<code>:</code>)を使用します。
* コロンが配置された行に定義を続けます。
<blockquote>
; ウィキ
: ウィキ(/ˈwɪki/ ⓘ WI-kee)は、利用者がウェブブラウザーから直接共同で編集や管理を行うオンラインハイパーテキストメディアの一種である。 [[:ja:ウィキ]]を参照。
; ウェブブラウザー
: ウェブブラウザーは、ウェブサイトにアクセスするためのアプリケーションである。 [[:ja:ウェブブラウザ]]を参照
</blockquote>
コロン (<code>:</code>) の前に新しい行を追加するより、1行あたり1項目を示す方がよいです。
| <syntaxhighlight lang="tid">
; ウィキ
: ウィキ(/ˈwɪki/ ⓘ WI-kee)は、利用者がウェブブラウザーから直接共同で編集や管理を行うオンラインハイパーテキストメディアの一種である。 [[:ja:ウィキ]]を参照。
; ウェブブラウザー
: ウェブブラウザーは、ウェブサイトにアクセスするためのアプリケーションである。 [[:ja:ウェブブラウザ]]を参照
</syntaxhighlight>
|-
|
==== インデント ====
{{ll|Help:List|定義リスト}}で説明されているように、行頭にコロン(<code>:</code>)が指定されると、段落はインデント(字下げ)されます。
<blockquote>
: インデントされた行。
新しい行はインデントされていない新しい段落を始めます。
</blockquote>
* これは{{ll|Help:Talk page|トークページ}}での議論によく利用されます。
----
{{Note|1=これは行のインデントを行うための回避策としてよく使用されますが、アクセシビリティを損なったり、無効なHTMLを出力してしまいます。 <span lang="en" dir="ltr" class="mw-content-ltr">Using CSS for visual indentation is a far more preferable approach (e.g. {{tl|indent}}).</span>}}
| <syntaxhighlight lang="wikitext">
: インデントされた行。
新しい行はインデントされていない新しい段落を始めます。
</syntaxhighlight>
|-
|
====ブロック引用====
ブロック引用スタイルは、外部ソースからのテキストの特定の節を強調したり、周囲のコンテンツと区別したりするために使われます。
<blockquote>
これはブロック引用です。 引用されたテキストを強調したり、特定のコンテンツを区切ったりするために使われます。
</blockquote>
| <syntaxhighlight lang="wikitext">
<blockquote>
これはブロック引用です。 引用されたテキストを強調したり、特定のコンテンツを区切ったりするために使われます。
</blockquote>
</syntaxhighlight>
|-
|
====水平線====
ウィキページの水平分割線は4つ以上のハイフン(<code><nowiki>----</nowiki></code>)で表され、セクション間を見やすく整理します。
<blockquote>
水平線から上のテキスト
----
水平線から下のテキスト
</blockquote>
| <syntaxhighlight lang="wikitext">
水平線から上のテキスト
----
水平線から下のテキスト
</syntaxhighlight>
|}
<section end="lists" />
<span id="Links"></span>
=== リンク ===
詳細については、{{ll|Help:Links}}を参照してください。
基本的なリンクの作成:
* '''ページ名'''を二重角括弧で囲みます – <code>{{!((}}</code> {{int|and}} <code>{{))!}}</code>
* (英語の場合)新しいページでは、ページ名の最初の文字が自動的に大文字に書き換えられます。
* アンダースコア(_)はスペースを表します。アンダースコアの使用は避けてください。
* リンクをマウスオーバーすることで、クリックしなくてもリンク先のページのプレビューが表示されます。
<section begin="linkstable" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|-
|
==== 基本 ====
あなたは[[documentation]]を読んでいます。
| <syntaxhighlight lang="wikitext">あなたは[[documentation]]を読んでいます。</syntaxhighlight>
|-
|
==== 基本 + {{ll|Help:Formatting|テキスト整形}} ====
リンクは''斜体''にすることができます。例:
<blockquote>''[[MediaWiki]]''</blockquote>
| <syntaxhighlight lang="wikitext">''[[MediaWiki]]''</syntaxhighlight>
|-
|
==== インターウィキリンク ====
これらのリンクは、関連または類似の項目を扱う別のウィキにリンクします。
<blockquote>
このインターウィキリンクはウィキペディアの[[w:Documentation]]を指しています。
エスペラント語の同義語は[[:eo:Dokumentaro]]です。
</blockquote>
| <syntaxhighlight lang="wikitext">
このインターウィキリンクはウィキペディアの[[w:Documentation]]を指しています。
エスペラント語の同義語は[[:eo:Dokumentaro]]です。
</syntaxhighlight>
|-
|
==== 節へのリンク====
ページ名を指定した後にポンド(<code>#</code>)と節タイトルを追加することで、既存のページの特定の節にリンクできます。
<blockquote>
[[Help:Special pages#Editing Special namespace pages]]
</blockquote>
指定された節が存在しない場合は、ページ先頭へのリンクとなります。
ページに同じ名前の節が複数ある場合は、末尾に番号を付けて節の順位を指定します。
{{tmpl|0=(例えば、「$1」という名前の節が3つあり、そのうちの3番目にリンクしたい場合は、<nowiki>[[#</nowiki>$1 3<nowiki>]]</nowiki> とします。)
|1=節の見出し
}}
{{ll|Help:Editing FAQ#Q: Is it possible to link to a specific section header if there are multiple sections with the same name? If so, how?|Help:Editing FAQ}}を参照してください。
| <syntaxhighlight lang="wikitext">
[[Help:Special pages#Editing Special namespace pages|Help:Special pages]]
</syntaxhighlight>
|-
|
==== {{ll|Help:Piped link|2=パイプ付きリンク}} ====
パイプ記号(<code>|</code>)を使用して表示されるテキストを変更できます。(リンクラベル)
<blockquote>
* [[Help:Link|リンクについて]]
</blockquote>
上記は [[Help:Link]] という記事へリンクされる、'''リンクについて''' というテキスト生成します。
| <syntaxhighlight lang="wikitext">
* [[Help:Link|リンクについて]]
</syntaxhighlight>
|-
|
==== リンクラベルの省略 ====
'''リンクラベルを空にする'''と、自動的に適切なリンクラベルが入力されます。 {{tmpl|0=つまり、$1 は $2 に置き換えられます
|1=<syntaxhighlight lang="wikitext" inline>[[Kingdom (biology)|]]</syntaxhighlight>
|2=<syntaxhighlight lang="wikitext" inline>[[Kingdom (biology)|Kingdom]]</syntaxhighlight>
}}
<blockquote>
* 括弧: [[kingdom (biology)|kingdom]].
* コロン: [[Help:Pipe|Pipe]].
</blockquote>
| <syntaxhighlight lang="wikitext">
* 括弧: [[kingdom (biology)|]].
* コロン: [[Help:Pipe|]].
</syntaxhighlight>
|-
|
==== 存在しないページへのリンク ====
<blockquote>存在しないページへのリンク([[Foo|このページ]]など)は赤色で表示されます。</blockquote>
ページを作成するには、リンクをクリックします。 (名前の設定がある場合は){{ll|Help:starting a new page}}を参照してください。
| <syntaxhighlight lang="wikitext">
存在しないページへのリンク([[Foo|このページ]]など)は赤色で表示されます。
</syntaxhighlight>
|-
|
==== リダイレクト ====
ページの先頭に次のウィキテキストを追加するとリダイレクトを作成できます。 {{ll|Help:Redirects}} を参照してください。
<syntaxhighlight lang="wikitext">#REDIRECT [[アメリカ合衆国]]</syntaxhighlight>
| <syntaxhighlight lang="tid">#REDIRECT [[アメリカ合衆国]]</syntaxhighlight>
|-
|
==== マジックリンク ====
{{ll|Help:Magic links|マジックリンク}}を有効にすると、利用者が特定のキーワードを入力するだけで自動的にリンクが生成されます。
* [[:ja:ISBN|ISBN]]書籍リンク: ISBN 0131103629 ({{ll|Help:Magic links}} を参照)
* [[:ja:Request for Comments|Request for Comments]]へのリンク: RFC 234 ({{ll|rfcurl}} を参照)
<blockquote>
* ISBN 0131103629
* RFC 234
</blockquote>
これらは非推奨のため、通常は使用しないでください。
| <pre><nowiki>
* ISBN 0131103629
* RFC 234</nowiki></pre>
|-
|
==== <code>Media:</code> リンク ====
メディアリンクは、メディアファイルを含むページを参照したいときに使用します。
これらは、<code>Media</code> 名前空間を通じてアクセスします。
<blockquote>[[Media:Test.ogg|音声]]</blockquote>
| <syntaxhighlight lang="wikitext">[[media:Test.ogg|音声]]</syntaxhighlight>
|-
|
==== カテゴリリンク ====
カテゴリリンクは、特定のカテゴリページへ利用者を誘導します(ページはそのカテゴリには分類されません)。
これを生成するための構文はリンクと似ていますが、名前空間の前にコロン(<code>:</code>)を追加します。
<blockquote>[[:Category:Documentation]]</blockquote>
| <pre><nowiki>[[:Category:Documentation]]</nowiki></pre>
|-
|
==== 特別ページ ====
特別ページはウィキソフトウェアによって生成されます。
これらは、'''Special''' 名前空間を通じてアクセスします。
次の形式を使用して、「リンク元」などの特別ページへのリンクを作成できます:
<blockquote>[[Special:Whatlinkshere/Help:Editing]]</blockquote>
その他の特別ページについては {{ll|Help:Special pages}} を参照してください。
| <pre>[[Special:Whatlinkshere/Help:Editing]]</pre>
|-
|
==== ページの以前の版、差分、特定の履歴ページへのリンク ====
{{tmpl|0=古い版、差分、特定の履歴ページにリンクするには、$1のような通常のウィキリンク構文を使用しないでください。
|1=<syntaxhighlight lang="wikitext" inline>[[ページ]]</syntaxhighlight>
}}
代わりに、外部リンク機能を使用するか、提供されたURLを直接コピー・アンド・ペーストしてください。
==== ページの以前の版へのリンク ====
ウィキのページの古いバージョンを共有するには、ページの履歴からURLをコピーし、共有したい場所に貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help:Cite&oldid=6364084</blockquote>
これは、[[Special:PermaLink]] を使うことも可能です。例: [[Special:PermaLink/6364084]]
==== 差分へのリンク: ====
ページの2つの版間の差分へリンクするには、比較されたページの差分を含むページへの特定のURLをコピーして貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help%3ACite&diff=6364333&oldid=6364084</blockquote>
これは、[[Special:Diff]] を使うことも可能です。例: [[Special:Diff/6364333/6364084]]
==== 特定のページの編集履歴へのリンク ====
編集履歴に移動し、<code>{{int|pager-older-n|XX}}</code> または <code>{{int|histfirst}}</code> ボタンを選択して特定のページ履歴にアクセスし、URLをコピーして共有したい場所に貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help:Cite&action=history&offset=20170210105218%7C2391706&limit=100</blockquote>
| <pre>
https://www.mediawiki.org/w/index.php?title=Help:Cite&oldid=6364084
https://www.mediawiki.org/w/index.php?title=Help%3ACite&diff=6364333&oldid=6364084
https://www.mediawiki.org/w/index.php?title=Help:Cite&action=history&offset=20170210105218%7C2391706&limit=100
</pre>
|}
<section end="linkstable" />
<span id="External_links"></span>
==== 外部リンク ====
MediaWikiの既定では、外部リンクはブラウザーの新しいウィンドウ/タブで開かないように設定されています。<ref>{{ll|Manual:$wgExternalLinkTarget}}</ref>
{| class="wikitable"
|-
| [http://www.google.com Google], [http://www.google.com]
| <pre><nowiki>
[http://www.google.com Google],
[http://www.google.com]</nowiki></pre>
|-
| [mailto:email@example.com メールの例],
[mailto:email@example.com]
| <pre><nowiki>[mailto:email@example.com </nowiki>メールの例<nowiki>],
[mailto:email@example.com]</nowiki></pre>
|-
| または、http://www.google.com のように直接URLを指定します。
* すべての記号は[[Special:MyLanguage/Help:URL|UTF-8]]コードに変換します。 例:
** <code>^</code> → <code>%5e</code>
** <code>ā</code> (マクロン付き A 小文字) → <code>%c4%81</code>
* 空白をアンダースコアに変換することもできます。
| <syntaxhighlight lang="wikitext">または、http://www.google.com のように直接URLを指定します。</syntaxhighlight>
|}
<span id="Formatting_texts_–_customizing_the_way_it_looks"></span>
=== テキストの書式整形 – 見た目のカスタマイズ ===
<section begin="formatting" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|- valign="top"
| ''強調'' (斜体), '''さらに強調''' (太字), '''''かなり強調''''' (太字と斜体).
(これらは二重や三重のアポストロフィーであり、二重引用符ではありません。)
<small>注記: これはリンクにも適用できます(例: ''[[Wikipedia]]'')。</small>
| valign="bottom | <syntaxhighlight lang="wikitext">
''強調'', '''さらに強調''',
'''''かなり強調'''''.
''[[Wikipedia]]''
</syntaxhighlight>
|- valign="top"
| <i>イタリック</i>や<b>太字</b>を使うと、計算式などの特定の字体を必要とするもので便利です。
: <b>F</b> = <i>m</i><b>a</b>
(ほとんどの人はグラフィカルブラウザでは重要ではないように二つが異なることを無視しています。)
しかしながらこれらは目が見えない人には重要な影響があります。
| <syntaxhighlight lang="html">
<i>イタリック</i>や<b>太字</b>を使うと、計算式などの特定の字体を必要とするもので便利です。
: <b>F</b> = <i>m</i><b>a</b>
</syntaxhighlight>
|-
| valign="top" | {{tmpl|0=<span style="font-variant:small-caps">$1</span>|小文字(small caps)で}}書くこともできます。
| {{#tag:syntaxhighlight|
{{tmpl|0=<span style="font-variant:small-caps">$1</span>|小文字(small caps)で}}書くこともできます。
|lang=wikitext}}
|- valign="top"
| {{#tag:kbd|技術用語}}や{{#tag:code|コンピューターコード}}に時々使用されるタイプライターフォント。
| {{#tag:syntaxhighlight|
{{#tag:kbd|技術用語}}や{{#tag:code|コンピューターコード}}に時々使用されるタイプライターフォント。
|lang=html}}
|- valign="top"
| キャプションには{{#tag:small|小さなテキスト}}を使用できます。
| {{#tag:syntaxhighlight|
キャプションには{{#tag:small|小さなテキスト}}を使用できます。
|lang=html}}
|- valign="top"
| 削除された文章には<s>取り消し線</s>を引いたり、新しい文章には<u>下線</u>を引いたりすることができます。
また、取り消し線や下線などの視覚的なヒントだけに頼るのではなく、削除された文章や挿入された文章をそれぞれのタグで示すことで、意味を保持することもできます。
* 通常の記事の編集は、削除や挿入を示すこれらの特別なマークアップを使用せずに直接行うことができます。
* このマークアップは、トークページで以前の発言を修正するときに、削除または挿入された資料を示すために使用できます。
| <syntaxhighlight lang="html">
削除された文章には<s>取り消し線</s>を引いたり、新しい文章には<u>下線</u>を引いたりすることができます。
また、取り消し線や下線などの視覚的なヒントだけに頼るのではなく、削除された文章や挿入された文章をそれぞれのタグで示すことで、意味を保持することもできます。
</syntaxhighlight>
|- valign="bottom" id="subscript"
| 下付き文字: m<sub>2</sub><br />
上付き文字: m<sup>2</sup> または m²
多くのブラウザーでは、上付き文字を表す <sup>2</sup> HTMLタグを使うよりも、HTMLエンティティ &sup2; (²) を含む行を整形するほうが簡単と考えられます。
ε<sub>0</sub> =
8.85 × 10<sup>−12</sup>
C² / J m.
<br /><br />
1 [[hectare]] = [[1 E4 m²]]
| valign="bottom" | <syntaxhighlight lang="tid">
下付き文字: m<sub>2</sub><br />
上付き文字: m<sup>2</sup> または m²
ε<sub>0</sub> =
8.85 × 10<sup>−12</sup>
C² / J m.
<br /><br />
1 [[hectare]] = [[1 E4 m²]]
</syntaxhighlight>
|}
<section end="formatting" />
<span id="Reformatting_and/or_disabling_wikitext_interpretation"></span>
=== 解析されるウィキテキストの再整形と無効化 ===
書式整形と処理を管理するための方法を以下に示します。 例で使用されている <code><nowiki>{{tc}}</nowiki></code> のコードについては、[[Template:Tc]]を参照してください({{ll|Help:Templates}}も参照)。
{| class="wikitable"
|
====既定の解析====
|
* [[w:HTML entity|HTMLエンティティ]]を解析します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストを整形します(単一の改行、複数のスペースを除去し、テキストを自動的に折り返す)
* 二重改行で新しい段落を作成します
----
矢印 → {{tc}}<br /><br />''斜体'' [[Special:MyLanguage/help:Link|リンク]]
| valign="bottom" | <syntaxhighlight lang="tid">矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</syntaxhighlight>
|-
|
====poemタグを用いた単一の改行の維持====
|
* HTMLエンティティを解析します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストを部分的に再整形します(改行は除去しないが、複数のスペースを除去し、テキストを自動的に折り返す)
----
<poem>矢印 → {{tc}}<br /><br />''斜体''<br />[[Special:MyLanguage/help:Link|リンク]]</poem>
| valign="bottom" | <syntaxhighlight lang="tid">
<poem>矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</poem></syntaxhighlight>
|-
|
==== <nowiki> ====
|
* HTMLエンティティを解析します。
* テキストを太字や斜体にするなどの特殊なウィキマークアップは処理しません
* テキストを再整形します
* 新しい段落が作成されないように二重改行を無視します。そのため、段落ごとの適用が必要です。
----
''インラインに適用可能:'' <nowiki>
arrow → {{tc}}
''italics''
[[help:Link|link]]
</nowiki> ''[[normal]] again''
| valign="bottom" | <syntaxhighlight lang="tid">
''インラインに適用可能:'' <nowiki>
arrow → {{tc}}
''italics''
[[help:Link|link]]
</nowiki>''[[normal]] again''</syntaxhighlight>
|-
|
==== <pre> ====
|
* HTMLエンティティを処理します
* テキストを太字や斜体にするなどの特殊なウィキマークアップは解析または処理されません
* テキストは折り返されません
* ブラウザーで設定されている等幅フォントを使用します。
----
<pre>arrow → {{tc}}
''italics''
[[help:Link|link]]
</pre>
| valign="bottom" | <syntaxhighlight lang="tid"><pre>arrow → {{tc}}
''italics''
[[help:Link|link]]
</pre></syntaxhighlight>
|-
|
==== 行頭にスペース ====
|
* HTMLエンティティを処理します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストは折り返されません
* {{tag|pre|open}} HTML要素が生成されます
* pre 要素は空行で終了し、先頭にスペースのある行がさらにある場合は、新しい pre 要素を開始します。
----
<pre>
矢印 → {{tc}}
''italics''
[[help:Link|link]]
If a line of plain text begins with a space
it will be displayed exactly
as entered
in a fixed-width font
inside a grey dotted-outline box
with no line breaks
END
これは次の場合に便利です:
* 整形済みテキストの挿入
* アルゴリズムの説明
* コードスニペットの紹介
* アスキーアートの表示
* 化学図表の表示;
* 詩の整形
</pre>
----
{{warning|1=幅を広くするとページ全体が広くなり、読みにくくなります。 通常の文章はスペースで始めないでください}}
{{center|1=(以降も参照)}}
| <br /><syntaxhighlight lang="wikitext">
矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</syntaxhighlight><br /><br /><syntaxhighlight lang="wikitext">
If a line of plain text begins with a space
it will be displayed exactly
as entered
in a fixed-width font
inside a grey dotted-outline box
with no line breaks
END
これは次の場合に便利です:
* 整形済みテキストの挿入
* アルゴリズムの説明;
* コードスニペットの紹介
* アスキーアートの表示
* 化学図表の表示
* 詩の整形
</syntaxhighlight>
|-
|
==== 文字実体参照 ====
| <samp>&rarr;</samp>
| valign="bottom" | <syntaxhighlight lang="html">&rarr;</syntaxhighlight>
|}
{{tmpl|0=$1 のように{{ll|Manual:Template expansion process|展開可能なウィキテキスト}}を使用する場合、$2 とするとウィキテキストがそのまま表示されてしまいます。
|1=<code><nowiki>{{t1demo|p ''q'' r}}</nowiki></code>
|2=<code><nowiki><nowiki>{{t1demo|p ''q'' r}}</nowiki></nowiki></code>
}}
{{tmpl|0=ただし、{{ll|Help:Magic words#Miscellaneous|2=<nowiki>#</nowiki>tag}} マジックワードを使用して $1 とした場合は、$2 のように展開されたウィキテキストを表示します。
|1=<code><nowiki>{{#tag:nowiki|{{t1demo|p ''q'' r}}}}</nowiki></code>
|2=<code>{{#tag:nowiki|{{t1demo|p ''q'' r}}}}</code>
}}
<span id="Miscellaneous"></span>
=== その他 ===
{| class="wikitable"
|-
|
==== 署名 ====
トークページでのコメントの際は、チルダ(<code>~</code>)を使用して署名することを忘れないでください。
<blockquote>
: 3つのチルダであなたの利用者名を追加します: [[User:Example|Example]]
: 4つのチルダであなたの利用者名とタイムスタンプを追加します: [[User:Example|Example]] 09:20, Mar 14 2024 (UTC)
: 5つのチルダでタイムスタンプを追加します: 09:20, Mar 14 2024 (UTC)
</blockquote>
保存するとサーバーによってリンクが追加されます。
| <syntaxhighlight lang="wikitext">
: 3つのチルダであなたの利用者名を追加します: ~~~
: 4つのチルダであなたの利用者名とタイムスタンプを追加します: ~~~~
: 5つのチルダでタイムスタンプのみを追加します: ~~~~~
</syntaxhighlight>
|-
|
==== [[Help:Comment tags|コメント]] ====
| テキストの'''ここ'''<br /><!-- comment here --><br />'''とここ'''の間は出力されません。
| <syntaxhighlight lang="wikitext">
テキストの'''ここ'''
<!-- ここにコメント -->
'''とここ'''の間は出力されません。
</syntaxhighlight>
|}
<span id="Adding_another_page_–_transclusion_and_templates"></span>
=== 別のページを追加 – 参照読み込みとテンプレート ===
{{ll|Help:Transclusion|参照読み込み}}元のページを変更すると、そのページを参照読み込みしているすべてのページが変更されます。
{| class="wikitable"
|- valign="bottom"
|
==== {{ll|Help:Template|2=テンプレート}} ====
参照読み込みのために設計された特殊なページです。
これらは '''Template:''' {{ll|Help:namespace|名前空間}}にあります。
これらのテンプレートは引数を取ることができます。
ページで使用されるすべてのテンプレートは、更新時に編集ボックスの後で一覧表示されます。
引用文を表示するために設計された '''Quote''' テンプレートページを例に挙げます。
| <pre>{{<nowiki>Template:Quote</nowiki>}}</pre>
|- valign="bottom"
|
==== 参照読み込み ====
別のページの内容を現在のページに組み込みます。
以下の例では、'''Quote''' テンプレートページを使用して参照読み込みを実行しています。
<span lang="en" dir="ltr" class="mw-content-ltr">The '''Quote''' template processes wikitext provided through a parameter and applies text formatting to generate the transcluded output.</span>
<div style="border:1pt dashed blue; padding:1em 1em">
{{Quote|quote=これは参照読み込みで引用されたパラメーターです。}}</div>
| <pre><nowiki>{{</nowiki>Quote|quote=これは参照読み込みで引用されたパラメーターです。<nowiki>}}</nowiki></pre>
|}
<span id="Database_records_related_to_edits"></span>
== 編集に関連するデータベース記録 ==
データベースの {{ll|Manual:revision table|revision}} テーブルと {{ll|Manual:recentchanges table|recentchanges}} テーブルの両方に編集の記録が含まれています。
<code>revision</code> テーブルにはページの履歴と利用者の投稿記録が格納され、<code>recentchanges</code> テーブルでは最近の更新やウォッチリスト、新しく作成されたページを管理します。
<code>revision</code> テーブルからは除去されずに <code>recentchanges</code> テーブルから古い編集が除去された場合、古い編集はページの履歴と利用者の投稿記録には残りますが、最近の更新やウォッチリストの関連する変更、または新しいページの一覧には表示されなくなります。
ページの版を{{ll|Help:Import|インポート}}した場合、変更は <code>revision</code> テーブルに記録されますが、<code>recentchanges</code> テーブルには記録されません。
つまり、版はページの履歴と利用者の投稿記録には表示されますが、最近の更新やウォッチリスト、または新しいページの一覧には表示されません。
<span id="References"></span>
== 脚注 ==
<references />
[[Category:Help{{#translation:}}]]
8ni41k8ik4gsuekqw9aexiqpvfw8q1r
8390244
8390242
2026-05-25T04:20:56Z
Ant176
390778
Created page with "視覚的なインデントには CSS を使用した方がはるかに望ましい方法です(例: $1)。"
8390244
wikitext
text/x-wiki
<languages/>
{{PD Help Page}}
{{expand|reason=a section either here or in [[Transclusion]] detailing tags would be useful, explainining how to use e.g. #syntaxhighlight or #nowiki in templates.}}
{{TOCright}}
<span id="Wikitext_markup_guide_–_crafting_your_page's_appearance"></span>
== [[:ja:ウィキテキスト|ウィキテキスト]]マークアップガイド – ページの外観を整える ==
{{see also|Help:Formatting|Help:Categories|ll=TRUE}}
{{ll|Help:Editing}}では基本の編集方法について説明しています。
* [[Project:Sandbox|サンドボックス]]を使用して試すことができます。
* {{ll|Help:HTML in wikitext|ウィキテキストにおけるHTMLタグ}}の詳細。
ページの外観を調整するには以下のようなウィキテキストマークアップを使用します。
{{clear}}
<span id="Arranging_your_words_–_lines,_lists,_paragraphs,_and_sections"></span>
=== 言葉の整理 – 行、リスト、段落、節 ===
<section begin="lists" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|-
|
====節と下位の節の作成====
行の先頭で節を始める
{{Note}}ページ名のような最上位の見出しは、等号を一つ(<code>{{=}}</code>)にすることで表示されます。
<blockquote>
<!-- This code prevents confusion in the section editing feature -->
<div class="mw-heading2">節</div>
<div class="mw-heading3">下位の節</div>
<div class="mw-heading4">別の下位の節</div>
</blockquote>
* レベル1の見出し(<code>=</code>)の多用は避け、レベル2の見出し(<code><nowiki>==</nowiki></code>)から始めることをお勧めします。
* レベルを飛ばすことは避けてください(例: レベル2からレベル4)。
* 4つ以上の節で構成された記事の場合は、{{ll|Help:Table of contents#Table of contents (TOC)|目次}}が自動的に生成されます。
* 下位の節は適切な順序で並べ替えましょう。 '''例:'''国をリストアップするときには、[[w:OECD|OECD]] 内の人口順やその他の無作為な順序ではなく、アルファベット順に並べる。
* 見出しを目次から除外したい場合は、HTMLの見出しタグを使用し、スラッシュなしで見出しを閉じます。 例: <syntaxhighlight lang="html"><h4>レベルが低いため目次に表示されない節<h4></syntaxhighlight>
| <syntaxhighlight lang="wikitext">
== 節 ==
=== 下位の節 ===
==== 別の下位の節 ====
</syntaxhighlight>
|-
|
==== [[:ja:改行コード|改行]] ====
* 編集画面で改行をしても効果はありません。
<blockquote>
これは行です。
これはまだ同じ段落の一部です。
</blockquote>
* 空行は新しい段落を開始するか、リストまたはインデントされた部分を終了します。 {{tag|p|open}} タグは、{{tag|p|close}} または節の終わりまで段落を無効にすることができます。
<blockquote>
これは段落です。
<p>
これは段落の続きです。
ただし、{{tag|p|open}} と {{tag|p|close}} タグで囲まれているため、空行の後に表示されます。
</p>
</blockquote>
<blockquote>
これは行です。
<div>
これは {{tag|div|open}} と {{tag|div|close}} タグにより、3番目の段落ではなく次の新しい段落として表示される別の行になります。
</div>
</blockquote>
* リストでは、個々の項目やサブ項目を改行で区切ることで、MediaWiki構文のリストコンテンツの視覚的な構造や読みやすさを向上させます。 例については{{ll|Help:List|nsp=1}}を参照してください。
| <syntaxhighlight lang="wikitext">
これは行です。
これはまだ同じ段落の一部です。
これは段落です。<p>これは段落の続きです。 ただし、<p> と </p> タグで囲まれているため、空行の後に表示されます。</p>
これは行です。<div>これは <div> と </div> タグにより、3番目の段落ではなく次の新しい段落として表示される別の行になります。</div>
</syntaxhighlight>
|-
| <blockquote>別の段落を開始せずに<br/>改行することができます。</blockquote>
* これを使いすぎないでください。
* {{ll|Help:link|リンク}}、''斜体''、'''太字'''を行をまたいで使用せず、行ごとにマークアップを閉じるようにしてください。
| <syntaxhighlight lang="wikitext">別の段落を開始せずに<br/>改行することができます。</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=番号なしリスト}} ====
* 番号なしリストの最初の項目を作成するには、行をアスタリスク(<code>*</code>)で始めます。
** 下位の項目には2つのアスタリスクを使用します。
*** より深いレベルにするには、アスタリスクの数を増やします。
* 各改行はリスト内の新しい項目を表します。
行頭にアスタリスクのない行はリストの終わりを示します。
* 改めて新しいリストを始めることも可能です。
これで番号無しリストを作ることができます。
| <syntaxhighlight lang="wikitext">
* 番号なしリストの最初の項目を作成するには、行をアスタリスク(<code>*</code>)で始めます。
** 下位の項目には2つのアスタリスクを使用します。
*** より深いレベルにするには、アスタリスクの数を増やします。
* 各改行はリスト内の新しい項目を表します。
行頭にアスタリスクのない行はリストの終わりを示します。
* 改めて新しいリストを始めることも可能です。
これで番号無しリストを作ることができます。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=番号つきリスト}} ====
# 順序を示すためには、各行の先頭にハッシュタグ(<code>#</code>)を使用します。
## 下位の項目には2つのハッシュタグ(<code>##</code>)を使用します。
## 記事の構造や情報を分かりやすくするために番号をつけていきます。
# 読みやすくするために、各項目の間に新しい行を追加します。
行頭にハッシュタグのない行はリストの終わりを示します。
# 番号つきリストは1から始まります。
# そして2、と続きます。
| <syntaxhighlight lang="wikitext">
# 順序を示すためには、各行の先頭にハッシュタグ(<code>#</code>)を使用します。
## 下位の項目には2つのハッシュタグ(<code>##</code>)を使用します。
## 記事の構造や情報を分かりやすくするために番号をつけていきます。
# 読みやすくするために、各項目の間に新しい行を追加します。
行頭にハッシュタグのない行はリストの終わりを示します。
# 番号つきリストは1から始まります。
# そして2、と続きます。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=混合リスト}} ====
* この混合リストは、番号なしリスト(<code>*</code>)から始まります。
*# 番号なしリストに番号つきリストの下位項目を作成するには、アスタリスクとハッシュタグ(<code>*#</code>)を使用します。
*#* 番号つきリスト内に番号なしリストのより深い下位項目を作成するには、もう一つアスタリスクを追加します(<code>*#*</code>)。
*#* リスト内の<br/>改行も可能です。
|<syntaxhighlight lang="wikitext">
* この混合リストは、番号なしリスト(<code>*</code>)から始まります。
*# 番号なしリストに番号つきリストの下位項目を作成するには、アスタリスクとハッシュタグ(<code>*#</code>)を使用します。
*#* 番号つきリスト内に番号なしリストのより深い下位項目を作成するには、もう一つアスタリスクを追加します(<code>*#*</code>)。
*#* リスト内の<br/>改行も可能です。
</syntaxhighlight>
|-
|
==== {{ll|Help:List|2=定義リスト}} ====
定義リストは、一連の用語と定義のペアで構成されます。
* 用語の開始を示すには、セミコロン(<code>;</code>)を使用します。
* 用語はセミコロンの直後に配置します。
* 用語に関連付けられた定義を導入するには、コロン(<code>:</code>)を使用します。
* コロンが配置された行に定義を続けます。
<blockquote>
; ウィキ
: ウィキ(/ˈwɪki/ ⓘ WI-kee)は、利用者がウェブブラウザーから直接共同で編集や管理を行うオンラインハイパーテキストメディアの一種である。 [[:ja:ウィキ]]を参照。
; ウェブブラウザー
: ウェブブラウザーは、ウェブサイトにアクセスするためのアプリケーションである。 [[:ja:ウェブブラウザ]]を参照
</blockquote>
コロン (<code>:</code>) の前に新しい行を追加するより、1行あたり1項目を示す方がよいです。
| <syntaxhighlight lang="tid">
; ウィキ
: ウィキ(/ˈwɪki/ ⓘ WI-kee)は、利用者がウェブブラウザーから直接共同で編集や管理を行うオンラインハイパーテキストメディアの一種である。 [[:ja:ウィキ]]を参照。
; ウェブブラウザー
: ウェブブラウザーは、ウェブサイトにアクセスするためのアプリケーションである。 [[:ja:ウェブブラウザ]]を参照
</syntaxhighlight>
|-
|
==== インデント ====
{{ll|Help:List|定義リスト}}で説明されているように、行頭にコロン(<code>:</code>)が指定されると、段落はインデント(字下げ)されます。
<blockquote>
: インデントされた行。
新しい行はインデントされていない新しい段落を始めます。
</blockquote>
* これは{{ll|Help:Talk page|トークページ}}での議論によく利用されます。
----
{{Note|1=これは行のインデントを行うための回避策としてよく使用されますが、アクセシビリティを損なったり、無効なHTMLを出力してしまいます。 視覚的なインデントには CSS を使用した方がはるかに望ましい方法です(例: {{tl|indent}})。}}
| <syntaxhighlight lang="wikitext">
: インデントされた行。
新しい行はインデントされていない新しい段落を始めます。
</syntaxhighlight>
|-
|
====ブロック引用====
ブロック引用スタイルは、外部ソースからのテキストの特定の節を強調したり、周囲のコンテンツと区別したりするために使われます。
<blockquote>
これはブロック引用です。 引用されたテキストを強調したり、特定のコンテンツを区切ったりするために使われます。
</blockquote>
| <syntaxhighlight lang="wikitext">
<blockquote>
これはブロック引用です。 引用されたテキストを強調したり、特定のコンテンツを区切ったりするために使われます。
</blockquote>
</syntaxhighlight>
|-
|
====水平線====
ウィキページの水平分割線は4つ以上のハイフン(<code><nowiki>----</nowiki></code>)で表され、セクション間を見やすく整理します。
<blockquote>
水平線から上のテキスト
----
水平線から下のテキスト
</blockquote>
| <syntaxhighlight lang="wikitext">
水平線から上のテキスト
----
水平線から下のテキスト
</syntaxhighlight>
|}
<section end="lists" />
<span id="Links"></span>
=== リンク ===
詳細については、{{ll|Help:Links}}を参照してください。
基本的なリンクの作成:
* '''ページ名'''を二重角括弧で囲みます – <code>{{!((}}</code> {{int|and}} <code>{{))!}}</code>
* (英語の場合)新しいページでは、ページ名の最初の文字が自動的に大文字に書き換えられます。
* アンダースコア(_)はスペースを表します。アンダースコアの使用は避けてください。
* リンクをマウスオーバーすることで、クリックしなくてもリンク先のページのプレビューが表示されます。
<section begin="linkstable" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|-
|
==== 基本 ====
あなたは[[documentation]]を読んでいます。
| <syntaxhighlight lang="wikitext">あなたは[[documentation]]を読んでいます。</syntaxhighlight>
|-
|
==== 基本 + {{ll|Help:Formatting|テキスト整形}} ====
リンクは''斜体''にすることができます。例:
<blockquote>''[[MediaWiki]]''</blockquote>
| <syntaxhighlight lang="wikitext">''[[MediaWiki]]''</syntaxhighlight>
|-
|
==== インターウィキリンク ====
これらのリンクは、関連または類似の項目を扱う別のウィキにリンクします。
<blockquote>
このインターウィキリンクはウィキペディアの[[w:Documentation]]を指しています。
エスペラント語の同義語は[[:eo:Dokumentaro]]です。
</blockquote>
| <syntaxhighlight lang="wikitext">
このインターウィキリンクはウィキペディアの[[w:Documentation]]を指しています。
エスペラント語の同義語は[[:eo:Dokumentaro]]です。
</syntaxhighlight>
|-
|
==== 節へのリンク====
ページ名を指定した後にポンド(<code>#</code>)と節タイトルを追加することで、既存のページの特定の節にリンクできます。
<blockquote>
[[Help:Special pages#Editing Special namespace pages]]
</blockquote>
指定された節が存在しない場合は、ページ先頭へのリンクとなります。
ページに同じ名前の節が複数ある場合は、末尾に番号を付けて節の順位を指定します。
{{tmpl|0=(例えば、「$1」という名前の節が3つあり、そのうちの3番目にリンクしたい場合は、<nowiki>[[#</nowiki>$1 3<nowiki>]]</nowiki> とします。)
|1=節の見出し
}}
{{ll|Help:Editing FAQ#Q: Is it possible to link to a specific section header if there are multiple sections with the same name? If so, how?|Help:Editing FAQ}}を参照してください。
| <syntaxhighlight lang="wikitext">
[[Help:Special pages#Editing Special namespace pages|Help:Special pages]]
</syntaxhighlight>
|-
|
==== {{ll|Help:Piped link|2=パイプ付きリンク}} ====
パイプ記号(<code>|</code>)を使用して表示されるテキストを変更できます。(リンクラベル)
<blockquote>
* [[Help:Link|リンクについて]]
</blockquote>
上記は [[Help:Link]] という記事へリンクされる、'''リンクについて''' というテキスト生成します。
| <syntaxhighlight lang="wikitext">
* [[Help:Link|リンクについて]]
</syntaxhighlight>
|-
|
==== リンクラベルの省略 ====
'''リンクラベルを空にする'''と、自動的に適切なリンクラベルが入力されます。 {{tmpl|0=つまり、$1 は $2 に置き換えられます
|1=<syntaxhighlight lang="wikitext" inline>[[Kingdom (biology)|]]</syntaxhighlight>
|2=<syntaxhighlight lang="wikitext" inline>[[Kingdom (biology)|Kingdom]]</syntaxhighlight>
}}
<blockquote>
* 括弧: [[kingdom (biology)|kingdom]].
* コロン: [[Help:Pipe|Pipe]].
</blockquote>
| <syntaxhighlight lang="wikitext">
* 括弧: [[kingdom (biology)|]].
* コロン: [[Help:Pipe|]].
</syntaxhighlight>
|-
|
==== 存在しないページへのリンク ====
<blockquote>存在しないページへのリンク([[Foo|このページ]]など)は赤色で表示されます。</blockquote>
ページを作成するには、リンクをクリックします。 (名前の設定がある場合は){{ll|Help:starting a new page}}を参照してください。
| <syntaxhighlight lang="wikitext">
存在しないページへのリンク([[Foo|このページ]]など)は赤色で表示されます。
</syntaxhighlight>
|-
|
==== リダイレクト ====
ページの先頭に次のウィキテキストを追加するとリダイレクトを作成できます。 {{ll|Help:Redirects}} を参照してください。
<syntaxhighlight lang="wikitext">#REDIRECT [[アメリカ合衆国]]</syntaxhighlight>
| <syntaxhighlight lang="tid">#REDIRECT [[アメリカ合衆国]]</syntaxhighlight>
|-
|
==== マジックリンク ====
{{ll|Help:Magic links|マジックリンク}}を有効にすると、利用者が特定のキーワードを入力するだけで自動的にリンクが生成されます。
* [[:ja:ISBN|ISBN]]書籍リンク: ISBN 0131103629 ({{ll|Help:Magic links}} を参照)
* [[:ja:Request for Comments|Request for Comments]]へのリンク: RFC 234 ({{ll|rfcurl}} を参照)
<blockquote>
* ISBN 0131103629
* RFC 234
</blockquote>
これらは非推奨のため、通常は使用しないでください。
| <pre><nowiki>
* ISBN 0131103629
* RFC 234</nowiki></pre>
|-
|
==== <code>Media:</code> リンク ====
メディアリンクは、メディアファイルを含むページを参照したいときに使用します。
これらは、<code>Media</code> 名前空間を通じてアクセスします。
<blockquote>[[Media:Test.ogg|音声]]</blockquote>
| <syntaxhighlight lang="wikitext">[[media:Test.ogg|音声]]</syntaxhighlight>
|-
|
==== カテゴリリンク ====
カテゴリリンクは、特定のカテゴリページへ利用者を誘導します(ページはそのカテゴリには分類されません)。
これを生成するための構文はリンクと似ていますが、名前空間の前にコロン(<code>:</code>)を追加します。
<blockquote>[[:Category:Documentation]]</blockquote>
| <pre><nowiki>[[:Category:Documentation]]</nowiki></pre>
|-
|
==== 特別ページ ====
特別ページはウィキソフトウェアによって生成されます。
これらは、'''Special''' 名前空間を通じてアクセスします。
次の形式を使用して、「リンク元」などの特別ページへのリンクを作成できます:
<blockquote>[[Special:Whatlinkshere/Help:Editing]]</blockquote>
その他の特別ページについては {{ll|Help:Special pages}} を参照してください。
| <pre>[[Special:Whatlinkshere/Help:Editing]]</pre>
|-
|
==== ページの以前の版、差分、特定の履歴ページへのリンク ====
{{tmpl|0=古い版、差分、特定の履歴ページにリンクするには、$1のような通常のウィキリンク構文を使用しないでください。
|1=<syntaxhighlight lang="wikitext" inline>[[ページ]]</syntaxhighlight>
}}
代わりに、外部リンク機能を使用するか、提供されたURLを直接コピー・アンド・ペーストしてください。
==== ページの以前の版へのリンク ====
ウィキのページの古いバージョンを共有するには、ページの履歴からURLをコピーし、共有したい場所に貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help:Cite&oldid=6364084</blockquote>
これは、[[Special:PermaLink]] を使うことも可能です。例: [[Special:PermaLink/6364084]]
==== 差分へのリンク: ====
ページの2つの版間の差分へリンクするには、比較されたページの差分を含むページへの特定のURLをコピーして貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help%3ACite&diff=6364333&oldid=6364084</blockquote>
これは、[[Special:Diff]] を使うことも可能です。例: [[Special:Diff/6364333/6364084]]
==== 特定のページの編集履歴へのリンク ====
編集履歴に移動し、<code>{{int|pager-older-n|XX}}</code> または <code>{{int|histfirst}}</code> ボタンを選択して特定のページ履歴にアクセスし、URLをコピーして共有したい場所に貼り付けます。
<blockquote>https://www.mediawiki.org/w/index.php?title=Help:Cite&action=history&offset=20170210105218%7C2391706&limit=100</blockquote>
| <pre>
https://www.mediawiki.org/w/index.php?title=Help:Cite&oldid=6364084
https://www.mediawiki.org/w/index.php?title=Help%3ACite&diff=6364333&oldid=6364084
https://www.mediawiki.org/w/index.php?title=Help:Cite&action=history&offset=20170210105218%7C2391706&limit=100
</pre>
|}
<section end="linkstable" />
<span id="External_links"></span>
==== 外部リンク ====
MediaWikiの既定では、外部リンクはブラウザーの新しいウィンドウ/タブで開かないように設定されています。<ref>{{ll|Manual:$wgExternalLinkTarget}}</ref>
{| class="wikitable"
|-
| [http://www.google.com Google], [http://www.google.com]
| <pre><nowiki>
[http://www.google.com Google],
[http://www.google.com]</nowiki></pre>
|-
| [mailto:email@example.com メールの例],
[mailto:email@example.com]
| <pre><nowiki>[mailto:email@example.com </nowiki>メールの例<nowiki>],
[mailto:email@example.com]</nowiki></pre>
|-
| または、http://www.google.com のように直接URLを指定します。
* すべての記号は[[Special:MyLanguage/Help:URL|UTF-8]]コードに変換します。 例:
** <code>^</code> → <code>%5e</code>
** <code>ā</code> (マクロン付き A 小文字) → <code>%c4%81</code>
* 空白をアンダースコアに変換することもできます。
| <syntaxhighlight lang="wikitext">または、http://www.google.com のように直接URLを指定します。</syntaxhighlight>
|}
<span id="Formatting_texts_–_customizing_the_way_it_looks"></span>
=== テキストの書式整形 – 見た目のカスタマイズ ===
<section begin="formatting" />
{| class="wikitable"
|-
! 表示結果
! ウィキテキスト
|- valign="top"
| ''強調'' (斜体), '''さらに強調''' (太字), '''''かなり強調''''' (太字と斜体).
(これらは二重や三重のアポストロフィーであり、二重引用符ではありません。)
<small>注記: これはリンクにも適用できます(例: ''[[Wikipedia]]'')。</small>
| valign="bottom | <syntaxhighlight lang="wikitext">
''強調'', '''さらに強調''',
'''''かなり強調'''''.
''[[Wikipedia]]''
</syntaxhighlight>
|- valign="top"
| <i>イタリック</i>や<b>太字</b>を使うと、計算式などの特定の字体を必要とするもので便利です。
: <b>F</b> = <i>m</i><b>a</b>
(ほとんどの人はグラフィカルブラウザでは重要ではないように二つが異なることを無視しています。)
しかしながらこれらは目が見えない人には重要な影響があります。
| <syntaxhighlight lang="html">
<i>イタリック</i>や<b>太字</b>を使うと、計算式などの特定の字体を必要とするもので便利です。
: <b>F</b> = <i>m</i><b>a</b>
</syntaxhighlight>
|-
| valign="top" | {{tmpl|0=<span style="font-variant:small-caps">$1</span>|小文字(small caps)で}}書くこともできます。
| {{#tag:syntaxhighlight|
{{tmpl|0=<span style="font-variant:small-caps">$1</span>|小文字(small caps)で}}書くこともできます。
|lang=wikitext}}
|- valign="top"
| {{#tag:kbd|技術用語}}や{{#tag:code|コンピューターコード}}に時々使用されるタイプライターフォント。
| {{#tag:syntaxhighlight|
{{#tag:kbd|技術用語}}や{{#tag:code|コンピューターコード}}に時々使用されるタイプライターフォント。
|lang=html}}
|- valign="top"
| キャプションには{{#tag:small|小さなテキスト}}を使用できます。
| {{#tag:syntaxhighlight|
キャプションには{{#tag:small|小さなテキスト}}を使用できます。
|lang=html}}
|- valign="top"
| 削除された文章には<s>取り消し線</s>を引いたり、新しい文章には<u>下線</u>を引いたりすることができます。
また、取り消し線や下線などの視覚的なヒントだけに頼るのではなく、削除された文章や挿入された文章をそれぞれのタグで示すことで、意味を保持することもできます。
* 通常の記事の編集は、削除や挿入を示すこれらの特別なマークアップを使用せずに直接行うことができます。
* このマークアップは、トークページで以前の発言を修正するときに、削除または挿入された資料を示すために使用できます。
| <syntaxhighlight lang="html">
削除された文章には<s>取り消し線</s>を引いたり、新しい文章には<u>下線</u>を引いたりすることができます。
また、取り消し線や下線などの視覚的なヒントだけに頼るのではなく、削除された文章や挿入された文章をそれぞれのタグで示すことで、意味を保持することもできます。
</syntaxhighlight>
|- valign="bottom" id="subscript"
| 下付き文字: m<sub>2</sub><br />
上付き文字: m<sup>2</sup> または m²
多くのブラウザーでは、上付き文字を表す <sup>2</sup> HTMLタグを使うよりも、HTMLエンティティ &sup2; (²) を含む行を整形するほうが簡単と考えられます。
ε<sub>0</sub> =
8.85 × 10<sup>−12</sup>
C² / J m.
<br /><br />
1 [[hectare]] = [[1 E4 m²]]
| valign="bottom" | <syntaxhighlight lang="tid">
下付き文字: m<sub>2</sub><br />
上付き文字: m<sup>2</sup> または m²
ε<sub>0</sub> =
8.85 × 10<sup>−12</sup>
C² / J m.
<br /><br />
1 [[hectare]] = [[1 E4 m²]]
</syntaxhighlight>
|}
<section end="formatting" />
<span id="Reformatting_and/or_disabling_wikitext_interpretation"></span>
=== 解析されるウィキテキストの再整形と無効化 ===
書式整形と処理を管理するための方法を以下に示します。 例で使用されている <code><nowiki>{{tc}}</nowiki></code> のコードについては、[[Template:Tc]]を参照してください({{ll|Help:Templates}}も参照)。
{| class="wikitable"
|
====既定の解析====
|
* [[w:HTML entity|HTMLエンティティ]]を解析します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストを整形します(単一の改行、複数のスペースを除去し、テキストを自動的に折り返す)
* 二重改行で新しい段落を作成します
----
矢印 → {{tc}}<br /><br />''斜体'' [[Special:MyLanguage/help:Link|リンク]]
| valign="bottom" | <syntaxhighlight lang="tid">矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</syntaxhighlight>
|-
|
====poemタグを用いた単一の改行の維持====
|
* HTMLエンティティを解析します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストを部分的に再整形します(改行は除去しないが、複数のスペースを除去し、テキストを自動的に折り返す)
----
<poem>矢印 → {{tc}}<br /><br />''斜体''<br />[[Special:MyLanguage/help:Link|リンク]]</poem>
| valign="bottom" | <syntaxhighlight lang="tid">
<poem>矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</poem></syntaxhighlight>
|-
|
==== <nowiki> ====
|
* HTMLエンティティを解析します。
* テキストを太字や斜体にするなどの特殊なウィキマークアップは処理しません
* テキストを再整形します
* 新しい段落が作成されないように二重改行を無視します。そのため、段落ごとの適用が必要です。
----
''インラインに適用可能:'' <nowiki>
arrow → {{tc}}
''italics''
[[help:Link|link]]
</nowiki> ''[[normal]] again''
| valign="bottom" | <syntaxhighlight lang="tid">
''インラインに適用可能:'' <nowiki>
arrow → {{tc}}
''italics''
[[help:Link|link]]
</nowiki>''[[normal]] again''</syntaxhighlight>
|-
|
==== <pre> ====
|
* HTMLエンティティを処理します
* テキストを太字や斜体にするなどの特殊なウィキマークアップは解析または処理されません
* テキストは折り返されません
* ブラウザーで設定されている等幅フォントを使用します。
----
<pre>arrow → {{tc}}
''italics''
[[help:Link|link]]
</pre>
| valign="bottom" | <syntaxhighlight lang="tid"><pre>arrow → {{tc}}
''italics''
[[help:Link|link]]
</pre></syntaxhighlight>
|-
|
==== 行頭にスペース ====
|
* HTMLエンティティを処理します
* テキストを太字や斜体にするなどのウィキマークアップを解析します
* テキストは折り返されません
* {{tag|pre|open}} HTML要素が生成されます
* pre 要素は空行で終了し、先頭にスペースのある行がさらにある場合は、新しい pre 要素を開始します。
----
<pre>
矢印 → {{tc}}
''italics''
[[help:Link|link]]
If a line of plain text begins with a space
it will be displayed exactly
as entered
in a fixed-width font
inside a grey dotted-outline box
with no line breaks
END
これは次の場合に便利です:
* 整形済みテキストの挿入
* アルゴリズムの説明
* コードスニペットの紹介
* アスキーアートの表示
* 化学図表の表示;
* 詩の整形
</pre>
----
{{warning|1=幅を広くするとページ全体が広くなり、読みにくくなります。 通常の文章はスペースで始めないでください}}
{{center|1=(以降も参照)}}
| <br /><syntaxhighlight lang="wikitext">
矢印 → {{tc}}
''斜体''
[[help:Link|リンク]]</syntaxhighlight><br /><br /><syntaxhighlight lang="wikitext">
If a line of plain text begins with a space
it will be displayed exactly
as entered
in a fixed-width font
inside a grey dotted-outline box
with no line breaks
END
これは次の場合に便利です:
* 整形済みテキストの挿入
* アルゴリズムの説明;
* コードスニペットの紹介
* アスキーアートの表示
* 化学図表の表示
* 詩の整形
</syntaxhighlight>
|-
|
==== 文字実体参照 ====
| <samp>&rarr;</samp>
| valign="bottom" | <syntaxhighlight lang="html">&rarr;</syntaxhighlight>
|}
{{tmpl|0=$1 のように{{ll|Manual:Template expansion process|展開可能なウィキテキスト}}を使用する場合、$2 とするとウィキテキストがそのまま表示されてしまいます。
|1=<code><nowiki>{{t1demo|p ''q'' r}}</nowiki></code>
|2=<code><nowiki><nowiki>{{t1demo|p ''q'' r}}</nowiki></nowiki></code>
}}
{{tmpl|0=ただし、{{ll|Help:Magic words#Miscellaneous|2=<nowiki>#</nowiki>tag}} マジックワードを使用して $1 とした場合は、$2 のように展開されたウィキテキストを表示します。
|1=<code><nowiki>{{#tag:nowiki|{{t1demo|p ''q'' r}}}}</nowiki></code>
|2=<code>{{#tag:nowiki|{{t1demo|p ''q'' r}}}}</code>
}}
<span id="Miscellaneous"></span>
=== その他 ===
{| class="wikitable"
|-
|
==== 署名 ====
トークページでのコメントの際は、チルダ(<code>~</code>)を使用して署名することを忘れないでください。
<blockquote>
: 3つのチルダであなたの利用者名を追加します: [[User:Example|Example]]
: 4つのチルダであなたの利用者名とタイムスタンプを追加します: [[User:Example|Example]] 09:20, Mar 14 2024 (UTC)
: 5つのチルダでタイムスタンプを追加します: 09:20, Mar 14 2024 (UTC)
</blockquote>
保存するとサーバーによってリンクが追加されます。
| <syntaxhighlight lang="wikitext">
: 3つのチルダであなたの利用者名を追加します: ~~~
: 4つのチルダであなたの利用者名とタイムスタンプを追加します: ~~~~
: 5つのチルダでタイムスタンプのみを追加します: ~~~~~
</syntaxhighlight>
|-
|
==== [[Help:Comment tags|コメント]] ====
| テキストの'''ここ'''<br /><!-- comment here --><br />'''とここ'''の間は出力されません。
| <syntaxhighlight lang="wikitext">
テキストの'''ここ'''
<!-- ここにコメント -->
'''とここ'''の間は出力されません。
</syntaxhighlight>
|}
<span id="Adding_another_page_–_transclusion_and_templates"></span>
=== 別のページを追加 – 参照読み込みとテンプレート ===
{{ll|Help:Transclusion|参照読み込み}}元のページを変更すると、そのページを参照読み込みしているすべてのページが変更されます。
{| class="wikitable"
|- valign="bottom"
|
==== {{ll|Help:Template|2=テンプレート}} ====
参照読み込みのために設計された特殊なページです。
これらは '''Template:''' {{ll|Help:namespace|名前空間}}にあります。
これらのテンプレートは引数を取ることができます。
ページで使用されるすべてのテンプレートは、更新時に編集ボックスの後で一覧表示されます。
引用文を表示するために設計された '''Quote''' テンプレートページを例に挙げます。
| <pre>{{<nowiki>Template:Quote</nowiki>}}</pre>
|- valign="bottom"
|
==== 参照読み込み ====
別のページの内容を現在のページに組み込みます。
以下の例では、'''Quote''' テンプレートページを使用して参照読み込みを実行しています。
<span lang="en" dir="ltr" class="mw-content-ltr">The '''Quote''' template processes wikitext provided through a parameter and applies text formatting to generate the transcluded output.</span>
<div style="border:1pt dashed blue; padding:1em 1em">
{{Quote|quote=これは参照読み込みで引用されたパラメーターです。}}</div>
| <pre><nowiki>{{</nowiki>Quote|quote=これは参照読み込みで引用されたパラメーターです。<nowiki>}}</nowiki></pre>
|}
<span id="Database_records_related_to_edits"></span>
== 編集に関連するデータベース記録 ==
データベースの {{ll|Manual:revision table|revision}} テーブルと {{ll|Manual:recentchanges table|recentchanges}} テーブルの両方に編集の記録が含まれています。
<code>revision</code> テーブルにはページの履歴と利用者の投稿記録が格納され、<code>recentchanges</code> テーブルでは最近の更新やウォッチリスト、新しく作成されたページを管理します。
<code>revision</code> テーブルからは除去されずに <code>recentchanges</code> テーブルから古い編集が除去された場合、古い編集はページの履歴と利用者の投稿記録には残りますが、最近の更新やウォッチリストの関連する変更、または新しいページの一覧には表示されなくなります。
ページの版を{{ll|Help:Import|インポート}}した場合、変更は <code>revision</code> テーブルに記録されますが、<code>recentchanges</code> テーブルには記録されません。
つまり、版はページの履歴と利用者の投稿記録には表示されますが、最近の更新やウォッチリスト、または新しいページの一覧には表示されません。
<span id="References"></span>
== 脚注 ==
<references />
[[Category:Help{{#translation:}}]]
0qu7n0rgbnndjv8kculelcwnuswgu0r
Reading/Web/Accessibility for reading/Reporting/en.wikipedia.org
0
1994575
8390194
8390040
2026-05-24T21:07:54Z
HolyFuxStix
18364427
/* Your first article dark mode error */ new section
8390194
wikitext
text/x-wiki
__NEWSECTIONLINK__
{{Auto archiving
|archive = Reading/Web/Accessibility for reading/Reporting/en.wikipedia.org/Archive %(counter)d
|algo = old(30d)
|counter = 2
|maxarchivesize = 250K
|minthreadsleft = 5
|minthreadstoarchive = 5
|archiveheader = {{talk archive}}
}}<!-- -->
{{Archives}}{{-}}{{Center|'''[[Special:NewSection/{{PAGENAME}}|CREATE A REPORT]]'''}}
Key: The following emojis in the title mean someone has looked at the feedback and worked out what to do with it.
{| class="wikitable"
|+ Caption
! Icon !! Meaning
|-
| 📢 || User is providing general feedback and it should be reviewed by designer/PM. If the template is legible in dark mode (just bright!) you can also consider it feedback and use this emoji. For popular templates, please consider adding a comment on the talk page when adding this emoji.
|-
|❓
|Report was unclear and we don't know what to do with it.
|-
|✅
|This has been fixed or reported on wiki.
|-
|🐛
|This is tracked in a bug or a talk page comment (please use the Tracked template).
|-
|🤖
|Concerns a gadget
|}
== ✅ [https://en.wikipedia.org/wiki/2025_NBA_playoffs 2025 NBA playoffs] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
background-color: #eee hard-coded for tables and parent div.
--[[Special:Contributions/~2026-23017-78|~2026-23017-78]] ([[User talk:~2026-23017-78|talk]]) 17:54, 14 April 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:21, 7 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Yakut_scripts Yakut scripts] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The L with descender letter image in the section New Turkic alphabet blends into the background, making it unreadable in dark mode (obviously fails the contrast test).
--<span style="font-family:Lentariso">[[User:GeniusWorkbench4622|Genius]][[User_talk:GeniusWorkbench4622|Workbench]][[Special:Contributions/GeniusWorkbench4622|4622]]</span> 18:33, 27 April 2026 (UTC)
== [https://en.wikipedia.org/wiki/Nitrate Nitrate] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
resonance structures not showing
--[[User:11pro12|11pro12]] ([[User talk:11pro12|talk]]) 08:30, 28 April 2026 (UTC)
== [https://en.wikipedia.org/wiki/Archaic_Greek_alphabets Archaic Greek alphabets] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The table, "Regional Greek alphabets", contains special cells with light background colors, most notably for the Xi, Chi and Psi columns, but also sections of the Eta and Omega columns where cells have a light yellow background color. The Latin glyphs in those light-colored cells, such as "(" and ")", are rendered in a dark font color even in dark mode, so they're fairly accessible, but the Greek glyphs are rendered in white in dark mode, making them very difficult to read against the light background, especially where light yellow is used.
This may be a problem caused by the background color rather than the text color. If a low opacity tint was used as a filter over the cells' theme-based background color, that would allow for the text to conform to the rest of the theme color rules without needing to specify two different tones for each background color.
--[[User:Jgaehring|Jgaehring]] ([[User talk:Jgaehring|talk]]) 00:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Arapaima Arapaima] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Dark Mode makes it too dark.
--[[Special:Contributions/~2026-26509-59|~2026-26509-59]] ([[User talk:~2026-26509-59|talk]]) 18:55, 1 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Template:Audio_formats Audio formats] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
In almost every cell, there is the too high chance that some of the text which is not formatted is too hard to look into without a text/objects selection.
First noticed in [https://en.wikipedia.org/wiki/Magnetic-tape_data_storage Magnetic-tape data storage].
— [[User:Fonibak|Fonibak]] ([[User talk:Fonibak|talk]]) 10:36, 3 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:09, 7 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Yajna Yajna] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
There are two boxes of text in the History section of the Yanja article. They are quotes from Vedic texts describing the practice. The text box is transparent, so the background is dark. The text is almost the same color as the background, making reading extremely difficult. There is also a table under the Types section describing the various types of ritual sacrifice which suffers from the same issue.
--[[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 21:23, 3 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:04, 7 May 2026 (UTC)
::it still looks the same on mobile at least :/ [[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 20:50, 7 May 2026 (UTC)
::apologies, only the table later in the article looks the same, the quotes are good. thanks! [[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 16:30, 9 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/User_talk:NeoSyria NeoSyria] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
I encountered this user talk page and I noticed that a border element seems to suppress the dark mode font colours in the header and some of the banners. I also noticed by the way that the ctops/aware template appears brown while it is colourless in the template page.
--[[User:Slomo666|Slomo666]] ([[User talk:Slomo666|talk]]) 14:32, 7 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 19:58, 7 May 2026 (UTC)
== ✅ Dark mode error : [https://en.wikipedia.org/wiki/Chicken_(game) Chicken (game)] ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
Those sections with the tables :
<nowiki>
==Game theoretic applications==
===Chicken===
{{Payoff matrix | Name = Fig. 1: A [[payoff matrix]] of Chicken
| 2L = Swerve | 2R = Straight |
1U = Swerve | UL = <small>Tie, Tie</small> | UR = <small>Lose, Win</small>|
1D = Straight | DL = <small>Win, Lose</small> | DR = <small>Crash, Crash</small>}}
{{Payoff matrix | Name = Fig. 2: Chicken with numerical [[risk dominance|payoffs]]
| 2L = Swerve | 2R = Straight |
1U = Swerve | UL = 0, 0 | UR = -1, +1|
1D = Straight | DL = +1, -1 | DR = -1000, -1000}}
</nowiki>
and :
<nowiki>
===Hawk–dove===
{{Payoff matrix | Name = Fig. 3: Hawk–Dove game
| 2L = Hawk | 2R = Dove |
1U = Hawk | UL = <small>{{nowrap|(V−C)/2, (V−C)/2}}</small> | UR = <small>V, 0</small> |
1D = Dove | DL = <small>0, V</small> | DR = <small>{{nowrap|V/2, V/2}}</small> }}
{{Payoff matrix | Name = Fig. 4: General Hawk–Dove game
| 2L = Hawk | 2R = Dove |
1U = Hawk | UL = X, X | UR = W, L |
1D = Dove | DL = L, W | DR = T, T }}
{{main article|Evolutionary game theory}}
</nowiki>
Doesn't render in dark mode, resulting in a white square/background to the table with white/light grey text onto it, making it unreadable due to no contrast.
I have personally no idea how do fix this myself, which is why I'm writing this report. Also sorry about the section rendering, had a hard time finding how to paste the section while avoiding rendering
--[[User:Daeltam|Daeltam]] ([[User talk:Daeltam|talk]]) 18:20, 7 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 19:25, 7 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Alex_Zanardi Alex Zanardi] dark mode error ==
Within [https://en.wikipedia.org/wiki/Template:Medal Template:Medal] in the infobox, red links do not appear in dark mode. [[User:Ecourter|Ecourter]] ([[User talk:Ecourter|talk]]) 21:27, 8 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Special:Nearby Nearby] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
--[[Special:Contributions/~2026-28045-94|~2026-28045-94]] ([[User talk:~2026-28045-94|talk]]) 06:15, 9 May 2026 (UTC)
== Mistakes ==
solution
[[Special:Contributions/~2026-28045-94|~2026-28045-94]] ([[User talk:~2026-28045-94|talk]]) 06:20, 9 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Pareto_principle Pareto principle] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
--> The gray background is a bit too dark on web. This contrast doesn't work as well for web as it does mobile (since its not OLED), so the text and links look harsher. Trending it darker was correct, however.
'''Issue Description'''
--[[User:MZero1294|MZero1294]] ([[User talk:MZero1294|talk]]) 21:29, 9 May 2026 (UTC)
== Unable to see scores with white background in dark-mode. ==
In dark mode on the 2026 NBA playoffs page, the scores/results area in the “First round” section has a white background, making the results unreadable due to low contrast. [[Special:Contributions/~2026-28688-63|~2026-28688-63]] ([[User talk:~2026-28688-63|talk]]) 21:17, 12 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Tree_traversal_demo Tree traversal demo] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The background remains white in dark mode yet unhighlighted nodes and links also become white, with the similar shades making it hard to see. Seen in {{w|Tree traversal#Types}}.
--[[User:Alisperic|Alisperic]] ([[User talk:Alisperic|talk]]) 04:17, 13 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Main_Page Main Page] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The background remains white in dark mode.
--[[Special:Contributions/~2026-28873-44|~2026-28873-44]] ([[User talk:~2026-28873-44|talk]]) 13:53, 13 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Chlorine_monofluoride Chlorine monofluoride] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Carbonyl-chlorofluoride-2D is invisible
--[[User:11pro12|11pro12]] ([[User talk:11pro12|talk]]) 07:18, 14 May 2026 (UTC)
== Dark mode template error on the English Wikipedia ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Seems that several templates are not rendering correctly. Some (like [[:en:Template:uw-uhblock|Template:uw-uhblock]]) are well-made, while others (from talk pages prior to 2019, e.g. [[:en:User talk:C. W. Gilmore|User talk:C. W. Gilmore]]) do not render correctly in dark mode. This may be because of some hardcoded color in the block templates I'm using as an example, but it might be because of something else. --[[User:SimpleObjects-9ei|SimpleObjects-9ei]] ([[User talk:SimpleObjects-9ei|talk]]) 22:19, 15 May 2026 (UTC)
:@[[User:SimpleObjects-9ei|SimpleObjects-9ei]] Many things on talk pages get included raw (for various reasons), and as such when it’s 10+ years later, they will not get updates and improvements to their styling. This generally isn’t a problem, as after time, this content isn’t that important any longer. Ppl can always temporarily switch to light mode if it is important. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 12:19, 16 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/User_talk:QEDK QEDK] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
There is a similar issue here as with another user talk page I reported, and I tried to fix it as was [https://en.wikipedia.org/w/index.php?title=User_talk:NeoSyria&diff=prev&oldid=1353034640 done with this other page] I asked about, but I could not figure out how to do it in a way that comments are all readable in dark mode.
--[[User:Slomo666|Slomo666]] ([[User talk:Slomo666|talk]]) 20:18, 17 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Keyboard Keyboard] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
In the header, there is the too high chance that V & T & E buttons are too hard to look into without a text/objects selection.
First noticed in [https://en.wikipedia.org/wiki/Delete_key Delete key].
I think this can be solved by setting “#999999” or similar color in the “fontcolor” argument value in the used [https://en.wikipedia.org/wiki/Template:Navbar-header Template:Navbar-header], if this case can be solved so easy. (But I can be wrong.)
— [[User:Fonibak|Fonibak]] ([[User talk:Fonibak|talk]]) 01:04, 20 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Adi-Buddha Adi-Buddha] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Info box on right side of the page titled "Part of a series on Vajrayana Buddhism." The hyperlinked text "Vajrayana Buddhism" is colored a very dark blue, making reading somewhat dfficult.
--[[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 22:33, 20 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/United_States_Women's_Bureau United States Women's Bureau] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The text of the wordmark in the infobox is illegible.
--[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 20:18, 22 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Help:Your_first_article Your first article] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
--[[User:HolyFuxStix|HolyFuxStix]] ([[User talk:HolyFuxStix|talk]]) 21:07, 24 May 2026 (UTC)
gllgr6s79oz7whqoal5t8wba84fcqvt
8390502
8390194
2026-05-25T10:26:14Z
Clump
81610
Undid revision [[Special:Diff/8390194|8390194]] by [[Special:Contributions/HolyFuxStix|HolyFuxStix]] ([[User talk:HolyFuxStix|talk]]) no description
8390502
wikitext
text/x-wiki
__NEWSECTIONLINK__
{{Auto archiving
|archive = Reading/Web/Accessibility for reading/Reporting/en.wikipedia.org/Archive %(counter)d
|algo = old(30d)
|counter = 2
|maxarchivesize = 250K
|minthreadsleft = 5
|minthreadstoarchive = 5
|archiveheader = {{talk archive}}
}}<!-- -->
{{Archives}}{{-}}{{Center|'''[[Special:NewSection/{{PAGENAME}}|CREATE A REPORT]]'''}}
Key: The following emojis in the title mean someone has looked at the feedback and worked out what to do with it.
{| class="wikitable"
|+ Caption
! Icon !! Meaning
|-
| 📢 || User is providing general feedback and it should be reviewed by designer/PM. If the template is legible in dark mode (just bright!) you can also consider it feedback and use this emoji. For popular templates, please consider adding a comment on the talk page when adding this emoji.
|-
|❓
|Report was unclear and we don't know what to do with it.
|-
|✅
|This has been fixed or reported on wiki.
|-
|🐛
|This is tracked in a bug or a talk page comment (please use the Tracked template).
|-
|🤖
|Concerns a gadget
|}
== ✅ [https://en.wikipedia.org/wiki/2025_NBA_playoffs 2025 NBA playoffs] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
background-color: #eee hard-coded for tables and parent div.
--[[Special:Contributions/~2026-23017-78|~2026-23017-78]] ([[User talk:~2026-23017-78|talk]]) 17:54, 14 April 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:21, 7 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Yakut_scripts Yakut scripts] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The L with descender letter image in the section New Turkic alphabet blends into the background, making it unreadable in dark mode (obviously fails the contrast test).
--<span style="font-family:Lentariso">[[User:GeniusWorkbench4622|Genius]][[User_talk:GeniusWorkbench4622|Workbench]][[Special:Contributions/GeniusWorkbench4622|4622]]</span> 18:33, 27 April 2026 (UTC)
== [https://en.wikipedia.org/wiki/Nitrate Nitrate] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
resonance structures not showing
--[[User:11pro12|11pro12]] ([[User talk:11pro12|talk]]) 08:30, 28 April 2026 (UTC)
== [https://en.wikipedia.org/wiki/Archaic_Greek_alphabets Archaic Greek alphabets] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The table, "Regional Greek alphabets", contains special cells with light background colors, most notably for the Xi, Chi and Psi columns, but also sections of the Eta and Omega columns where cells have a light yellow background color. The Latin glyphs in those light-colored cells, such as "(" and ")", are rendered in a dark font color even in dark mode, so they're fairly accessible, but the Greek glyphs are rendered in white in dark mode, making them very difficult to read against the light background, especially where light yellow is used.
This may be a problem caused by the background color rather than the text color. If a low opacity tint was used as a filter over the cells' theme-based background color, that would allow for the text to conform to the rest of the theme color rules without needing to specify two different tones for each background color.
--[[User:Jgaehring|Jgaehring]] ([[User talk:Jgaehring|talk]]) 00:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Arapaima Arapaima] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Dark Mode makes it too dark.
--[[Special:Contributions/~2026-26509-59|~2026-26509-59]] ([[User talk:~2026-26509-59|talk]]) 18:55, 1 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Template:Audio_formats Audio formats] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
In almost every cell, there is the too high chance that some of the text which is not formatted is too hard to look into without a text/objects selection.
First noticed in [https://en.wikipedia.org/wiki/Magnetic-tape_data_storage Magnetic-tape data storage].
— [[User:Fonibak|Fonibak]] ([[User talk:Fonibak|talk]]) 10:36, 3 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:09, 7 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Yajna Yajna] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
There are two boxes of text in the History section of the Yanja article. They are quotes from Vedic texts describing the practice. The text box is transparent, so the background is dark. The text is almost the same color as the background, making reading extremely difficult. There is also a table under the Types section describing the various types of ritual sacrifice which suffers from the same issue.
--[[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 21:23, 3 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 20:04, 7 May 2026 (UTC)
::it still looks the same on mobile at least :/ [[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 20:50, 7 May 2026 (UTC)
::apologies, only the table later in the article looks the same, the quotes are good. thanks! [[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 16:30, 9 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/User_talk:NeoSyria NeoSyria] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
I encountered this user talk page and I noticed that a border element seems to suppress the dark mode font colours in the header and some of the banners. I also noticed by the way that the ctops/aware template appears brown while it is colourless in the template page.
--[[User:Slomo666|Slomo666]] ([[User talk:Slomo666|talk]]) 14:32, 7 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 19:58, 7 May 2026 (UTC)
== ✅ Dark mode error : [https://en.wikipedia.org/wiki/Chicken_(game) Chicken (game)] ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
Those sections with the tables :
<nowiki>
==Game theoretic applications==
===Chicken===
{{Payoff matrix | Name = Fig. 1: A [[payoff matrix]] of Chicken
| 2L = Swerve | 2R = Straight |
1U = Swerve | UL = <small>Tie, Tie</small> | UR = <small>Lose, Win</small>|
1D = Straight | DL = <small>Win, Lose</small> | DR = <small>Crash, Crash</small>}}
{{Payoff matrix | Name = Fig. 2: Chicken with numerical [[risk dominance|payoffs]]
| 2L = Swerve | 2R = Straight |
1U = Swerve | UL = 0, 0 | UR = -1, +1|
1D = Straight | DL = +1, -1 | DR = -1000, -1000}}
</nowiki>
and :
<nowiki>
===Hawk–dove===
{{Payoff matrix | Name = Fig. 3: Hawk–Dove game
| 2L = Hawk | 2R = Dove |
1U = Hawk | UL = <small>{{nowrap|(V−C)/2, (V−C)/2}}</small> | UR = <small>V, 0</small> |
1D = Dove | DL = <small>0, V</small> | DR = <small>{{nowrap|V/2, V/2}}</small> }}
{{Payoff matrix | Name = Fig. 4: General Hawk–Dove game
| 2L = Hawk | 2R = Dove |
1U = Hawk | UL = X, X | UR = W, L |
1D = Dove | DL = L, W | DR = T, T }}
{{main article|Evolutionary game theory}}
</nowiki>
Doesn't render in dark mode, resulting in a white square/background to the table with white/light grey text onto it, making it unreadable due to no contrast.
I have personally no idea how do fix this myself, which is why I'm writing this report. Also sorry about the section rendering, had a hard time finding how to paste the section while avoiding rendering
--[[User:Daeltam|Daeltam]] ([[User talk:Daeltam|talk]]) 18:20, 7 May 2026 (UTC)
:{{done}} [[User:I Am Andumé|I Am Andumé]] ([[User talk:I Am Andumé|talk]]) 19:25, 7 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Alex_Zanardi Alex Zanardi] dark mode error ==
Within [https://en.wikipedia.org/wiki/Template:Medal Template:Medal] in the infobox, red links do not appear in dark mode. [[User:Ecourter|Ecourter]] ([[User talk:Ecourter|talk]]) 21:27, 8 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Special:Nearby Nearby] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
--[[Special:Contributions/~2026-28045-94|~2026-28045-94]] ([[User talk:~2026-28045-94|talk]]) 06:15, 9 May 2026 (UTC)
== Mistakes ==
solution
[[Special:Contributions/~2026-28045-94|~2026-28045-94]] ([[User talk:~2026-28045-94|talk]]) 06:20, 9 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Pareto_principle Pareto principle] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
--> The gray background is a bit too dark on web. This contrast doesn't work as well for web as it does mobile (since its not OLED), so the text and links look harsher. Trending it darker was correct, however.
'''Issue Description'''
--[[User:MZero1294|MZero1294]] ([[User talk:MZero1294|talk]]) 21:29, 9 May 2026 (UTC)
== Unable to see scores with white background in dark-mode. ==
In dark mode on the 2026 NBA playoffs page, the scores/results area in the “First round” section has a white background, making the results unreadable due to low contrast. [[Special:Contributions/~2026-28688-63|~2026-28688-63]] ([[User talk:~2026-28688-63|talk]]) 21:17, 12 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Tree_traversal_demo Tree traversal demo] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The background remains white in dark mode yet unhighlighted nodes and links also become white, with the similar shades making it hard to see. Seen in {{w|Tree traversal#Types}}.
--[[User:Alisperic|Alisperic]] ([[User talk:Alisperic|talk]]) 04:17, 13 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Main_Page Main Page] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The background remains white in dark mode.
--[[Special:Contributions/~2026-28873-44|~2026-28873-44]] ([[User talk:~2026-28873-44|talk]]) 13:53, 13 May 2026 (UTC)
== ✅ [https://en.wikipedia.org/wiki/Chlorine_monofluoride Chlorine monofluoride] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Carbonyl-chlorofluoride-2D is invisible
--[[User:11pro12|11pro12]] ([[User talk:11pro12|talk]]) 07:18, 14 May 2026 (UTC)
== Dark mode template error on the English Wikipedia ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Seems that several templates are not rendering correctly. Some (like [[:en:Template:uw-uhblock|Template:uw-uhblock]]) are well-made, while others (from talk pages prior to 2019, e.g. [[:en:User talk:C. W. Gilmore|User talk:C. W. Gilmore]]) do not render correctly in dark mode. This may be because of some hardcoded color in the block templates I'm using as an example, but it might be because of something else. --[[User:SimpleObjects-9ei|SimpleObjects-9ei]] ([[User talk:SimpleObjects-9ei|talk]]) 22:19, 15 May 2026 (UTC)
:@[[User:SimpleObjects-9ei|SimpleObjects-9ei]] Many things on talk pages get included raw (for various reasons), and as such when it’s 10+ years later, they will not get updates and improvements to their styling. This generally isn’t a problem, as after time, this content isn’t that important any longer. Ppl can always temporarily switch to light mode if it is important. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 12:19, 16 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/User_talk:QEDK QEDK] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
There is a similar issue here as with another user talk page I reported, and I tried to fix it as was [https://en.wikipedia.org/w/index.php?title=User_talk:NeoSyria&diff=prev&oldid=1353034640 done with this other page] I asked about, but I could not figure out how to do it in a way that comments are all readable in dark mode.
--[[User:Slomo666|Slomo666]] ([[User talk:Slomo666|talk]]) 20:18, 17 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Keyboard Keyboard] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
In the header, there is the too high chance that V & T & E buttons are too hard to look into without a text/objects selection.
First noticed in [https://en.wikipedia.org/wiki/Delete_key Delete key].
I think this can be solved by setting “#999999” or similar color in the “fontcolor” argument value in the used [https://en.wikipedia.org/wiki/Template:Navbar-header Template:Navbar-header], if this case can be solved so easy. (But I can be wrong.)
— [[User:Fonibak|Fonibak]] ([[User talk:Fonibak|talk]]) 01:04, 20 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Adi-Buddha Adi-Buddha] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
Info box on right side of the page titled "Part of a series on Vajrayana Buddhism." The hyperlinked text "Vajrayana Buddhism" is colored a very dark blue, making reading somewhat dfficult.
--[[User:MoreHans|MoreHans]] ([[User talk:MoreHans|talk]]) 22:33, 20 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/United_States_Women's_Bureau United States Women's Bureau] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
Please write in English.
-->
'''Issue Description'''
The text of the wordmark in the infobox is illegible.
--[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 20:18, 22 May 2026 (UTC)
39qe2fpsmbhunqigpvut2jbbpmpjzqd
Reading/Web/Accessibility for reading/Reporting/commons.wikimedia.org
0
1998986
8390210
8373630
2026-05-24T22:21:06Z
~2026-31090-87
18405201
/* Sandbox dark mode error */ new section
8390210
wikitext
text/x-wiki
Key: The following emojis in the title mean someone has looked at the feedback and worked out what to do with it.
{| class="wikitable"
|+Caption
!Icon
!Meaning
|-
|📢
|User is providing general feedback and it should be reviewed by designer/PM. If the template is legible in dark mode (just bright!) you can also consider it feedback and use this emoji. For popular templates, please consider adding a comment on the talk page when adding this emoji.
|-
|❓
|Report was unclear and we don't know what to do with it.
|-
|✅
|This has been fixed or reported on wiki.
|-
|🐛
|This is tracked in a bug or a talk page comment (please use the Tracked template).
|}
== ✅[[commons:File:Verregende_bloem_van_een_Helenium_'El_Dorado'._22-07-2023._(d.j.b).jpg|Verregende bloem van een Helenium 'El Dorado'. 22-07-2023. (d.j.b).jpg]]的深色模式错误 ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
-->
'''Issue Description'''
[[c:Template:Information]] NOT dark mode in filepage, [[c:MediaWiki:Filepage.css]] needs to be modified--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 07:20, 16 July 2024 (UTC)
:@[[User:Mike Peel|Mike Peel]] could you please help with this one? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 19:11, 16 July 2024 (UTC)
::Sorry for the ping. Looks like this was already taken care of in https://commons.wikimedia.org/w/index.php?title=MediaWiki%3AFilepage.css&diff=899534156&oldid=883797078 . [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 19:15, 16 July 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:DeletionHeader DeletionHeader] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
Do not report issues about unreadable images (e.g. SVGs with transparent backgrounds). We are aware of this problem and working on a fix (https://phabricator.wikimedia.org/T370074).
-->
'''Issue Description''' the template is illegible with current colours. note a similar issue with {{tl|Lua}} and {{tl|Uses TemplateStyles}}, which both use {{tl|TemplateBox}}. [[User:JnpoJuwan|JnpoJuwan]] ([[User talk:JnpoJuwan|talk]]) 23:35, 18 July 2024 (UTC)
:[[c:Template:DeletionHeader]] is fixed [[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 06:23, 21 July 2024 (UTC)
:[[c:Template:Lua]], [[c:Template:Uses TemplateStyles]] and [[c:Template:TemplateBox]] are still not fixed--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 03:10, 23 July 2024 (UTC)
::{{ping|Shizhao}} First two seem to rely on [[c:Module:Message box]]. This might be fixed by a simple import from enwiki, but I'm probably not qualified to do that. [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 11:06, 17 August 2024 (UTC)
:::First two are fixed now [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 07:25, 26 August 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:YouTube_CC-BY/i18n/en YouTube CC-BY/i18n/en] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
Gray background, not compatible with dark mode--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 13:09, 1 August 2024 (UTC)
== 🐛 Erreur de mode sombre [https://commons.wikimedia.org/wiki/User_talk:Don-vip Don-vip] ==
'''Issue Description'''
When I reply to a message on my talk page in dark mode / vector 2022, the response text (.ns-talk dl) is using color text rgb(234, 236, 240) on white background, which makes the text almost unreadable.
See example here https://commons.wikimedia.org/wiki/User_talk:Don-vip#Null_edit_after_SDC_edit
:I can't reproduce your problem, maybe you use some js script?--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 07:33, 19 August 2024 (UTC)
:cc {{re|Don-vip}} [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 16:28, 19 August 2024 (UTC)
::Hi, I don't think so. In the display preferences on Commons, next to Vector 2022, the links to custom CSS and JS are red, so I guess I'm using the default parameters? Is there something else to check that might impact the rendering? [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 17:20, 19 August 2024 (UTC)
:::@[[User:Don-vip|Don-vip]]: Could you please provide the screenshot if possible (you may upload the screenshot to imgbb.com), and have you tried to use the [[Manual:Safemode|safemode]]? Thanks. [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 04:15, 20 August 2024 (UTC)
::::Sure, here is a screenshot on my laptop (with Firefox 129): https://ibb.co/ZHdGqpX
::::I got the same display on mobile (Firefox on Android). I asked to someone else on Discord and at least one other person has the same rendering as well.
::::With safemode=1 the display is correct, but I can't point where the problem comes from with my account settings :'( [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 08:02, 20 August 2024 (UTC)
:::::@[[User:Don-vip|Don-vip]]: Thanks for your information. It is caused by Threaded Discussion gadget, and you may disable it. [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 15:12, 20 August 2024 (UTC)
::::::@[[User:SCP-2000|SCP-2000]] Fantastic, it works now :) Thanks a lot for your support! [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 18:20, 20 August 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Commons:Welcome Welcome] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
When in a div with a grey background (to create emphasis or popout in a page) dark mode converts the text to white, but the div remains grey, making it difficult to read {{unsigned| 141.219.238.127 |18:45, 14 October 2024}}
:Problem appears to be fixed already. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 21:29, 26 March 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/File:Marienkapelle_an_der_Mollner_Buseckerstraße_3.jpg Marienkapelle an der Mollner Buseckerstraße 3.jpg] Dunkelmodus-Fehler ==
Der ImageAnnotator lässt sich im Dunkelmodus zwar aufrufen, aber nicht bearbeiten. Dazu muss ich in den hellen Modus wechseln. [[User:Lewenstein|Lewenstein]] ([[User talk:Lewenstein|talk]]) 13:54, 12 November 2024 (UTC)
PS: Der Browser ist Firefox 132.0.1. Dasselbe Problem tritt allerdings auch bei Egde auf (Vers. 130.0.2849.80). [[User:Lewenstein|Lewenstein]] ([[User talk:Lewenstein|talk]]) 14:15, 12 November 2024 (UTC)
:Fixed [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 13:47, 18 July 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Commons:De_minimis De minimis] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
When looking at [[Commons:De minimis]] while set to automatic dark mode, the 'Copyright Rules' infobox is still rendered in light mode, rendering the attached image's caption unreadable. [[User:Hullian111|Hullian111]] ([[User talk:Hullian111|talk]]) 18:30, 21 February 2025 (UTC)
:Problem fixed. See https://commons.wikimedia.org/wiki/Commons:Village_pump/Technical#Fixed. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 21:26, 26 March 2025 (UTC)
== ❓ [https://commons.wikimedia.org/wiki/Special:Preferences Preferences] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
light mode will not update to dark mode <small><span class="autosigned">— Preceding [[Special:MyLanguage/Help:Signatures|unsigned]] comment added by [[User:TelloGall|TelloGall]] ([[User talk:TelloGall|{{int:talkpagelinktext}}]] • [[Special:Contributions/TelloGall|{{int:contribslink}}]]) 21:51, 5 March 2025 (UTC)</span></small><!-- Template:Unsigned -->
:The preference settings seem to be working fine for me. So I’m not sure what problem you are having. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 04:29, 23 May 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:VN VN] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
This template uses two fixed background colours, light green and light grey, which I guess imitate the colours which are used by template documentation boxes. When switching to dark mode, the template documentation box adjusts colours, but the template itself does not. Example page where this template is used: [https://commons.wikimedia.org/wiki/Category:Chilopoda Chilopoda] [[User:Pizzahut2|Pizzahut2]] ([[User talk:Pizzahut2|talk]]) 00:07, 15 April 2025 (UTC)
:I have added dark mode colors to the template, so it should be working fine now. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 13:06, 29 May 2025 (UTC)
== How to adapt Babel extension on Commons for dark mode ==
'''Issue Description'''
The old babel boxes like [[:c:Template:User en]] are fine with the dark mode but the boxes generated using [[Extension:Babel]] are not readable in the dark mode. I could not find where to change the layout of the boxes generated by this extension. [[User:GPSLeo|GPSLeo]] ([[User talk:GPSLeo|talk]]) 18:07, 15 April 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Hauptseite Hauptseite] Dunkelmodus-Fehler ==
'''Issue Description'''
On the [https://w.wiki/5$D Wikimedia Commons Hauptseite (Main Page)] the headings with the neon colored background bars are barely visible. (e.g. "Picture of the day", etc.) {{unsigned|MethAnkauf2|16:39, 19 April 2025}}
:The main page looks fine to be in dark mode, I don’t seem to have the problem you are describing. Either I didn’t understand your problem or maybe it has been fixed. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 04:29, 23 May 2025 (UTC)
:It hasn’t been fixed. The first heading looks like this in dark mode: <div style="padding:5px 11px; background-color:#fad67d; color:#eaecf0; font-weight:bold; font-size:125%;">Bild des Tages</div> which is indeed barely readable. —[[User:Tacsipacsi|Tacsipacsi]] ([[User talk:Tacsipacsi|talk]]) 22:28, 25 May 2025 (UTC)
::Ah ok, I think I know what the problem is, the color is working correctly in “dark mode”, but it is not working correctly in “automatic mode”. I will see if I can find what is causing the problem. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 12:13, 28 May 2025 (UTC)
::I found what caused the problem and has put in a edit request (because the page is protected), see [[:c:Template talk:Main Page Template/styles.css#Dark mode colors not working in “automatic mode”]]. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 12:22, 28 May 2025 (UTC)
:::The problem should be fixed now. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 11:35, 29 May 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Special:Upload Upload] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
''' On the page, where you can update an existing file, the Text in the Box "File changes" is unreadable aswell as the banner when no text is entert.''' {{unsigned|The Other Karma|12:42, 15 May 2025}}
:The upload form has different code for different languages, so some languages has working dark mode, but some don’t. There was some discussion before about unifying all the code (at least the dark mode element of it), but I'm not sure that would be done soon. I assuming you are talking about the Deutsch (Sie-Form) version, so I will look into that to see what I can do. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 15:15, 23 May 2025 (UTC)
::I just realised the page is protected, so I cannot edit it, maybe you can put a request back in Commons (maybe in Village Pump) so an admin or a template editor can help you with it. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 22:00, 23 May 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Commons_talk:Structured_data Structured data] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Discussion threads and editor controls on https://commons.wikimedia.org/wiki/Commons_talk:Structured_data have light text on light background'''
Unlike other Talk pages on Commons, the talk page of Commons:Structured data has light text on light background for answers. Only lower thread levels are affected, not the uppermost thread level (first entry of each topic).--[[User:Fl.schmitt|Fl.schmitt]] ([[User talk:Fl.schmitt|talk]]) 20:37, 24 September 2025 (UTC)
:I've just noticed that the problem disappears if I change from German language to English and back to German. Can't reproduce any more... [[User:Fl.schmitt|Fl.schmitt]] ([[User talk:Fl.schmitt|talk]]) 20:39, 24 September 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Category:User_en-N User en-N] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description''' it’s white instead of black! Plzzz help! {{unsigned|~2025-28528-11|12:03, 12 October 2025}}
== [https://commons.wikimedia.org/wiki/Special:Upload Upload] dark mode error ==
* Tooltips in Special:Upload are rendered with light background, making texts hard to read.
* Clicking on "Show preview" button in Special:Upload, changes the description text area background to light, which is the same color as text.
--[[User:Carl|Carl]] ([[User talk:Carl|talk]]) 21:17, 16 December 2025 (UTC)
:With tooltips, you mean the blue question marks ? These are produced by Common's [[commons:MediaWiki:Tooltips.js|MediaWiki:Tooltips.js]] and should be fixed on Commons. I was not able to reproduce "changes the description text area background to light" —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 14:26, 4 February 2026 (UTC)
::I <em>am</em> able to reproduce the latter: open [[c:Special:Upload]], and press “Show preview” without touching anything else. The target file name and description boxes become a <span style="background-color:lightpink; color:black">lightpink background color</span>, but their text color remains the default, which is a light color in dark mode. This seems to come from [[c:MediaWiki:UploadForm.js]]. It should probably use <code>var(--background-color-error-subtle,#ffe9e5)</code> instead of <code>lightpink</code>, and set a text color whenever it sets a background color, just in case. (And maybe it should use a CSS stylesheet instead of inline CSS; it would make finding the script easier.) —[[User:Tacsipacsi|Tacsipacsi]] ([[User talk:Tacsipacsi|talk]]) 22:05, 4 February 2026 (UTC)
== [https://commons.wikimedia.org/wiki/Commons_talk:Sandbox Sandbox] dark mode error ==
<tvar name=1>{{#translation:}}<s>{{DEFAULTSORT:<includeonly><nowiki>³½·§</nowiki></includeonly>}}</s></tvar>
8vwrnvgytt5jw07yv9rjt38o9z60fkj
8390222
8390210
2026-05-24T23:12:16Z
Tacsipacsi
561046
Undid revision [[Special:Diff/8390210|8390210]] by [[Special:Contributions/~2026-31090-87|~2026-31090-87]] ([[User talk:~2026-31090-87|talk]]): test edit; there are no dark mode errors on that page
8390222
wikitext
text/x-wiki
Key: The following emojis in the title mean someone has looked at the feedback and worked out what to do with it.
{| class="wikitable"
|+Caption
!Icon
!Meaning
|-
|📢
|User is providing general feedback and it should be reviewed by designer/PM. If the template is legible in dark mode (just bright!) you can also consider it feedback and use this emoji. For popular templates, please consider adding a comment on the talk page when adding this emoji.
|-
|❓
|Report was unclear and we don't know what to do with it.
|-
|✅
|This has been fixed or reported on wiki.
|-
|🐛
|This is tracked in a bug or a talk page comment (please use the Tracked template).
|}
== ✅[[commons:File:Verregende_bloem_van_een_Helenium_'El_Dorado'._22-07-2023._(d.j.b).jpg|Verregende bloem van een Helenium 'El Dorado'. 22-07-2023. (d.j.b).jpg]]的深色模式错误 ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
-->
'''Issue Description'''
[[c:Template:Information]] NOT dark mode in filepage, [[c:MediaWiki:Filepage.css]] needs to be modified--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 07:20, 16 July 2024 (UTC)
:@[[User:Mike Peel|Mike Peel]] could you please help with this one? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 19:11, 16 July 2024 (UTC)
::Sorry for the ping. Looks like this was already taken care of in https://commons.wikimedia.org/w/index.php?title=MediaWiki%3AFilepage.css&diff=899534156&oldid=883797078 . [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 19:15, 16 July 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:DeletionHeader DeletionHeader] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
Do not report issues about unreadable images (e.g. SVGs with transparent backgrounds). We are aware of this problem and working on a fix (https://phabricator.wikimedia.org/T370074).
-->
'''Issue Description''' the template is illegible with current colours. note a similar issue with {{tl|Lua}} and {{tl|Uses TemplateStyles}}, which both use {{tl|TemplateBox}}. [[User:JnpoJuwan|JnpoJuwan]] ([[User talk:JnpoJuwan|talk]]) 23:35, 18 July 2024 (UTC)
:[[c:Template:DeletionHeader]] is fixed [[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 06:23, 21 July 2024 (UTC)
:[[c:Template:Lua]], [[c:Template:Uses TemplateStyles]] and [[c:Template:TemplateBox]] are still not fixed--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 03:10, 23 July 2024 (UTC)
::{{ping|Shizhao}} First two seem to rely on [[c:Module:Message box]]. This might be fixed by a simple import from enwiki, but I'm probably not qualified to do that. [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 11:06, 17 August 2024 (UTC)
:::First two are fixed now [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 07:25, 26 August 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:YouTube_CC-BY/i18n/en YouTube CC-BY/i18n/en] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
Gray background, not compatible with dark mode--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 13:09, 1 August 2024 (UTC)
== 🐛 Erreur de mode sombre [https://commons.wikimedia.org/wiki/User_talk:Don-vip Don-vip] ==
'''Issue Description'''
When I reply to a message on my talk page in dark mode / vector 2022, the response text (.ns-talk dl) is using color text rgb(234, 236, 240) on white background, which makes the text almost unreadable.
See example here https://commons.wikimedia.org/wiki/User_talk:Don-vip#Null_edit_after_SDC_edit
:I can't reproduce your problem, maybe you use some js script?--[[User:Shizhao|Shizhao]] ([[User talk:Shizhao|talk]]) 07:33, 19 August 2024 (UTC)
:cc {{re|Don-vip}} [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 16:28, 19 August 2024 (UTC)
::Hi, I don't think so. In the display preferences on Commons, next to Vector 2022, the links to custom CSS and JS are red, so I guess I'm using the default parameters? Is there something else to check that might impact the rendering? [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 17:20, 19 August 2024 (UTC)
:::@[[User:Don-vip|Don-vip]]: Could you please provide the screenshot if possible (you may upload the screenshot to imgbb.com), and have you tried to use the [[Manual:Safemode|safemode]]? Thanks. [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 04:15, 20 August 2024 (UTC)
::::Sure, here is a screenshot on my laptop (with Firefox 129): https://ibb.co/ZHdGqpX
::::I got the same display on mobile (Firefox on Android). I asked to someone else on Discord and at least one other person has the same rendering as well.
::::With safemode=1 the display is correct, but I can't point where the problem comes from with my account settings :'( [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 08:02, 20 August 2024 (UTC)
:::::@[[User:Don-vip|Don-vip]]: Thanks for your information. It is caused by Threaded Discussion gadget, and you may disable it. [[User:SCP-2000|SCP-2000]] ([[User talk:SCP-2000|talk]]) 15:12, 20 August 2024 (UTC)
::::::@[[User:SCP-2000|SCP-2000]] Fantastic, it works now :) Thanks a lot for your support! [[User:Don-vip|Don-vip]] ([[User talk:Don-vip|talk]]) 18:20, 20 August 2024 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Commons:Welcome Welcome] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
When in a div with a grey background (to create emphasis or popout in a page) dark mode converts the text to white, but the div remains grey, making it difficult to read {{unsigned| 141.219.238.127 |18:45, 14 October 2024}}
:Problem appears to be fixed already. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 21:29, 26 March 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/File:Marienkapelle_an_der_Mollner_Buseckerstraße_3.jpg Marienkapelle an der Mollner Buseckerstraße 3.jpg] Dunkelmodus-Fehler ==
Der ImageAnnotator lässt sich im Dunkelmodus zwar aufrufen, aber nicht bearbeiten. Dazu muss ich in den hellen Modus wechseln. [[User:Lewenstein|Lewenstein]] ([[User talk:Lewenstein|talk]]) 13:54, 12 November 2024 (UTC)
PS: Der Browser ist Firefox 132.0.1. Dasselbe Problem tritt allerdings auch bei Egde auf (Vers. 130.0.2849.80). [[User:Lewenstein|Lewenstein]] ([[User talk:Lewenstein|talk]]) 14:15, 12 November 2024 (UTC)
:Fixed [[User:Matrix|Matrix]] ([[User talk:Matrix|talk]]) 13:47, 18 July 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Commons:De_minimis De minimis] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
When looking at [[Commons:De minimis]] while set to automatic dark mode, the 'Copyright Rules' infobox is still rendered in light mode, rendering the attached image's caption unreadable. [[User:Hullian111|Hullian111]] ([[User talk:Hullian111|talk]]) 18:30, 21 February 2025 (UTC)
:Problem fixed. See https://commons.wikimedia.org/wiki/Commons:Village_pump/Technical#Fixed. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 21:26, 26 March 2025 (UTC)
== ❓ [https://commons.wikimedia.org/wiki/Special:Preferences Preferences] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
light mode will not update to dark mode <small><span class="autosigned">— Preceding [[Special:MyLanguage/Help:Signatures|unsigned]] comment added by [[User:TelloGall|TelloGall]] ([[User talk:TelloGall|{{int:talkpagelinktext}}]] • [[Special:Contributions/TelloGall|{{int:contribslink}}]]) 21:51, 5 March 2025 (UTC)</span></small><!-- Template:Unsigned -->
:The preference settings seem to be working fine for me. So I’m not sure what problem you are having. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 04:29, 23 May 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Template:VN VN] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description'''
This template uses two fixed background colours, light green and light grey, which I guess imitate the colours which are used by template documentation boxes. When switching to dark mode, the template documentation box adjusts colours, but the template itself does not. Example page where this template is used: [https://commons.wikimedia.org/wiki/Category:Chilopoda Chilopoda] [[User:Pizzahut2|Pizzahut2]] ([[User talk:Pizzahut2|talk]]) 00:07, 15 April 2025 (UTC)
:I have added dark mode colors to the template, so it should be working fine now. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 13:06, 29 May 2025 (UTC)
== How to adapt Babel extension on Commons for dark mode ==
'''Issue Description'''
The old babel boxes like [[:c:Template:User en]] are fine with the dark mode but the boxes generated using [[Extension:Babel]] are not readable in the dark mode. I could not find where to change the layout of the boxes generated by this extension. [[User:GPSLeo|GPSLeo]] ([[User talk:GPSLeo|talk]]) 18:07, 15 April 2025 (UTC)
== ✅ [https://commons.wikimedia.org/wiki/Hauptseite Hauptseite] Dunkelmodus-Fehler ==
'''Issue Description'''
On the [https://w.wiki/5$D Wikimedia Commons Hauptseite (Main Page)] the headings with the neon colored background bars are barely visible. (e.g. "Picture of the day", etc.) {{unsigned|MethAnkauf2|16:39, 19 April 2025}}
:The main page looks fine to be in dark mode, I don’t seem to have the problem you are describing. Either I didn’t understand your problem or maybe it has been fixed. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 04:29, 23 May 2025 (UTC)
:It hasn’t been fixed. The first heading looks like this in dark mode: <div style="padding:5px 11px; background-color:#fad67d; color:#eaecf0; font-weight:bold; font-size:125%;">Bild des Tages</div> which is indeed barely readable. —[[User:Tacsipacsi|Tacsipacsi]] ([[User talk:Tacsipacsi|talk]]) 22:28, 25 May 2025 (UTC)
::Ah ok, I think I know what the problem is, the color is working correctly in “dark mode”, but it is not working correctly in “automatic mode”. I will see if I can find what is causing the problem. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 12:13, 28 May 2025 (UTC)
::I found what caused the problem and has put in a edit request (because the page is protected), see [[:c:Template talk:Main Page Template/styles.css#Dark mode colors not working in “automatic mode”]]. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 12:22, 28 May 2025 (UTC)
:::The problem should be fixed now. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 11:35, 29 May 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Special:Upload Upload] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
''' On the page, where you can update an existing file, the Text in the Box "File changes" is unreadable aswell as the banner when no text is entert.''' {{unsigned|The Other Karma|12:42, 15 May 2025}}
:The upload form has different code for different languages, so some languages has working dark mode, but some don’t. There was some discussion before about unifying all the code (at least the dark mode element of it), but I'm not sure that would be done soon. I assuming you are talking about the Deutsch (Sie-Form) version, so I will look into that to see what I can do. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 15:15, 23 May 2025 (UTC)
::I just realised the page is protected, so I cannot edit it, maybe you can put a request back in Commons (maybe in Village Pump) so an admin or a template editor can help you with it. [[User:Tvpuppy|Tvpuppy]] ([[User talk:Tvpuppy|talk]]) 22:00, 23 May 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Commons_talk:Structured_data Structured data] Dunkelmodus-Fehler ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Discussion threads and editor controls on https://commons.wikimedia.org/wiki/Commons_talk:Structured_data have light text on light background'''
Unlike other Talk pages on Commons, the talk page of Commons:Structured data has light text on light background for answers. Only lower thread levels are affected, not the uppermost thread level (first entry of each topic).--[[User:Fl.schmitt|Fl.schmitt]] ([[User talk:Fl.schmitt|talk]]) 20:37, 24 September 2025 (UTC)
:I've just noticed that the problem disappears if I change from German language to English and back to German. Can't reproduce any more... [[User:Fl.schmitt|Fl.schmitt]] ([[User talk:Fl.schmitt|talk]]) 20:39, 24 September 2025 (UTC)
== [https://commons.wikimedia.org/wiki/Category:User_en-N User en-N] dark mode error ==
<!--
Instructions
Please describe how the dark mode colors are making Wikipedia difficult to read.
Please include the section of the article where you found the issue.
If you know the exact template with the issue, please report it on the template talk page instead for a quicker response.
-->
'''Issue Description''' it’s white instead of black! Plzzz help! {{unsigned|~2025-28528-11|12:03, 12 October 2025}}
== [https://commons.wikimedia.org/wiki/Special:Upload Upload] dark mode error ==
* Tooltips in Special:Upload are rendered with light background, making texts hard to read.
* Clicking on "Show preview" button in Special:Upload, changes the description text area background to light, which is the same color as text.
--[[User:Carl|Carl]] ([[User talk:Carl|talk]]) 21:17, 16 December 2025 (UTC)
:With tooltips, you mean the blue question marks ? These are produced by Common's [[commons:MediaWiki:Tooltips.js|MediaWiki:Tooltips.js]] and should be fixed on Commons. I was not able to reproduce "changes the description text area background to light" —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 14:26, 4 February 2026 (UTC)
::I <em>am</em> able to reproduce the latter: open [[c:Special:Upload]], and press “Show preview” without touching anything else. The target file name and description boxes become a <span style="background-color:lightpink; color:black">lightpink background color</span>, but their text color remains the default, which is a light color in dark mode. This seems to come from [[c:MediaWiki:UploadForm.js]]. It should probably use <code>var(--background-color-error-subtle,#ffe9e5)</code> instead of <code>lightpink</code>, and set a text color whenever it sets a background color, just in case. (And maybe it should use a CSS stylesheet instead of inline CSS; it would make finding the script easier.) —[[User:Tacsipacsi|Tacsipacsi]] ([[User talk:Tacsipacsi|talk]]) 22:05, 4 February 2026 (UTC)
eirubb89de6qhd8tr3t17lyiqbpalxf
Phabricator/Code/gu
0
2009058
8390477
8034930
2026-05-25T10:02:27Z
FuzzyBot
451990
Updating to match new version of source page
8390477
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">This document describes the development process for [[phab:|Wikimedia's Phabricator]] instance. [[w:Phabricator|Phabricator]] is written in [[w:PHP|PHP]], just like [[w:MediaWiki|MediaWiki]], which should help in getting started with development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this document, we will first take a look at how Wikimedia is using Phabricator, and what to expect during development.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Afterwards, there are a few notes on how to get started with the actual development.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator at Wikimedia ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia uses a Phorge (previously known as Phabricator) instance with minimal changes from upstream because maintaining local patches is cumbersome.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The exceptions to this are ''extensions'', which live in a [https://gitlab.wikimedia.org/repos/phabricator/extensions/ separate repository] and thus do not need regular merges.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any other changes thus have to pass through upstream.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Wikimedia Phabricator bug workflow ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">It is helpful to understand the life cycle of a bug before taking on one of the tasks. There are two projects:</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/5/|#phabricator]] for WMF-specific bugs and</span>
<span lang="en" dir="ltr" class="mw-content-ltr">[[phab:project/profile/6/|#phabricator-upstream]] for general Phabricator/Phorge issues. Software bugs and enhancement requests will typically fall in this second category.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
</div>
; <span lang="en" dir="ltr" class="mw-content-ltr">Backlog: This is where new tasks land by default.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Stalled tasks can also be found here.</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">These tasks could potentially go into the [https://we.phorge.it/ Phorge bug tracker]. When doing so, you must follow:</span>
:* [https://we.phorge.it/book/contrib/article/bug_reports/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for bug reports</span>]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ <span lang="en" dir="ltr" class="mw-content-ltr">Phorge's guidelines for feature requests</span>]
; <span lang="en" dir="ltr" class="mw-content-ltr">Upstreamed: Tasks which have been reported upstream.</span>
; <span lang="en" dir="ltr" class="mw-content-ltr">Solved upstream: The related upstream Task has been closed, probably with a related commit. To reflect this specific change in Wikimedia Phabricator, it may be still necessary to plan an upgrade in Wikimedia.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once a task has been published upstream, upstream developers respond with their assessment, and suggestions for how the feature should be implemented.</span>
''<span lang="en" dir="ltr" class="mw-content-ltr">At this point a developer can start with the implementation.</span>''
<span lang="en" dir="ltr" class="mw-content-ltr">In some cases, the upstream developers will decide a feature does not fit into their plans.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In this case, the task in Wikimedia Phabricator is moved from the #phabricator-upstream project to the #phabricator project, and ends up back into the discussion stage: is this feature important enough to maintain local patches?</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once this has been decided, one can start with the implementation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
To increase the chances that your code will be approved, and to avoid inconvenience, contact Phorge or the WMF maintainers to discuss about a possible implementation.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Contact Phorge (upstream) ==
</div>
* [https://we.phorge.it/ponder/question/create/ <span lang="en" dir="ltr" class="mw-content-ltr">Ask a new question about Phorge</span>]
* [https://we.phorge.it/ponder/ <span lang="en" dir="ltr" class="mw-content-ltr">Browse questions and answers about Phorge</span>]
* [https://we.phorge.it/tag/affects-wikimedia/ <span lang="en" dir="ltr" class="mw-content-ltr">See the Tag #affects-wikimedia in Phorge</span>]
<span id="Local_changes"></span>
== સ્થાનિક ફેરફારો ==
<span lang="en" dir="ltr" class="mw-content-ltr">As mentioned in the previous section, we try to keep local patches to a minimum.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
so8u7981z48qemgpn72u4w8nntmfjvc
Talk:Phabricator/Help
1
2040795
8390490
8389473
2026-05-25T10:04:20Z
~2026-31233-11
18406013
/* */ Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.
8390490
wikitext
text/x-wiki
{{Note|type=info|text=Ask any questions about the '''Wikimedia Phabricator installation itself''' here.<br />For anything '''not''' about Phabricator itself (in particular extensions, skins etc. whose issues are tracked on Phabricator), see [[Communication]] instead.<br />See archives at [[Talk:Phabricator/Help/Archives]].}}
{{Auto archiving
|archive = Talk:Phabricator/Help/Archives/%(year)d/%(monthname)s
|algo = old(28d)
|counter = 1
|minthreadsleft = 2
|minthreadstoarchive = 1
|archiveheader = {{talk archive}}
}}./bwdata/env/global.override.env بـ .gov.sa.48a90fbf-59d6-478c-9bbf-b45101046f95
oOdFoZrDxCoJEvBtUitI
globalSettings__installation__identityUri=https://identity.bitwarden.eu
globalSettings__installation__apiUri=https://api.bitwarden.eu
globalSettings__pushRelayBaseUri=https://push.bitwarden.eu.Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.
== Account Disabled ==
My Phabricator account was automatically disabled. I am a GSoC 2026 applicant working on T415272 (Modularization + Jetpack Compose for Commons Android). I believe the account was flagged due to creating and editing proposal tasks. My username is ShoaibKhalid65. Could you please re-enable my account? {{unsigned|Shoaibkhalid65|11:34, 31 March 2026 (UTC)}}
:@[[User:Shoaibkhalid65|Shoaibkhalid65]]: It looks like your account was [[phab:people/manage/48790/#16972|re-enabled]] on 2026-03-31, apologies that nobody's got back to you in this thread about it until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:20, 27 April 2026 (UTC)
== My account was disabled by mistake! ==
Please make my account acctive [[User:Phaneeth Kumar|Phaneeth Kumar]] ([[User talk:Phaneeth Kumar|talk]]) 11:34, 31 March 2026 (UTC)
:@[[User:Phaneeth Kumar|Phaneeth Kumar]]: From what I can see, it looks like your Phab account [[phab:people/manage/49292/#16973|was re-enabled]] on 2026-03-31. Sorry that nobody's responded to you about it in this thread until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:09, 27 April 2026 (UTC)
== Account Disabled ==
My account appears to have been mistakenly disabled while I was creating tasks related to the Wikimedia Hackathon. I believe this may have been an error.
For reference, I am the administrator of the Toolforge tool “ghanasupremecases1.” I would appreciate a review of the account status and assistance in resolving this issue. My Username is Sunkanmi12 [[User:Sunkanmi12|Sunkanmi12]] ([[User talk:Sunkanmi12|talk]]) 13:16, 30 April 2026 (UTC)
:@[[User:Sunkanmi12|Sunkanmi12]]: Just noting that it looks like your account has since been [[phab:/people/manage/30284/#17064|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:05, 8 May 2026 (UTC)
== Account disabled ==
[[phab:p/Rachmat_ESEAP_Hub_Translator|My account]] has been unexpectedly disabled. Could you please enable it again? Thank you in advance. '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 06:44, 6 May 2026 (UTC)
:@[[User:Rachmat (ESEAP Hub Translator)|Rachmat (ESEAP Hub Translator)]]: Just noting that it looks like your account has since been [[phab:people/manage/49737/#17080|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:03, 8 May 2026 (UTC)
::Yes, I have seen it. Thank you for the heads up! '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 07:17, 10 May 2026 (UTC)
eartp1phpcsg99ecgfv5xakwt92a5t7
8390492
8390490
2026-05-25T10:05:39Z
~2026-31233-11
18406013
/* Account Disabled */ Nawaf9.N.s
8390492
wikitext
text/x-wiki
{{Note|type=info|text=Ask any questions about the '''Wikimedia Phabricator installation itself''' here.<br />For anything '''not''' about Phabricator itself (in particular extensions, skins etc. whose issues are tracked on Phabricator), see [[Communication]] instead.<br />See archives at [[Talk:Phabricator/Help/Archives]].}}
{{Auto archiving
|archive = Talk:Phabricator/Help/Archives/%(year)d/%(monthname)s
|algo = old(28d)
|counter = 1
|minthreadsleft = 2
|minthreadstoarchive = 1
|archiveheader = {{talk archive}}
}}./bwdata/env/global.override.env بـ .gov.sa.48a90fbf-59d6-478c-9bbf-b45101046f95
oOdFoZrDxCoJEvBtUitI
globalSettings__installation__identityUri=https://identity.bitwarden.eu
globalSettings__installation__apiUri=https://api.bitwarden.eu
globalSettings__pushRelayBaseUri=https://push.bitwarden.eu.Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.
== Account Disabled ==
My Phabricator account was automatically disabled. I am a GSoC 2026 applicant working on T415272 (Modularization + Jetpack Compose for Commons Android). I believe the account was flagged due to creating and editing proposal tasks. My username is ShoaibKhalid65. Could you please re-enable my account? {{unsigned|Shoaibkhalid65|11:34, 31 March 2026 (UTC)}}
:@[[User:Shoaibkhalid65|Shoaibkhalid65]]: It looks like your account was [[phab:people/manage/48790/#16972|re-enabled]] on 2026-03-31, apologies that nobody's got back to you in this thread about it until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:20, 27 April 2026 (UTC)Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.nawaf9
== My account was disabled by mistake! ==
Please make my account acctive [[User:Phaneeth Kumar|Phaneeth Kumar]] ([[User talk:Phaneeth Kumar|talk]]) 11:34, 31 March 2026 (UTC)
:@[[User:Phaneeth Kumar|Phaneeth Kumar]]: From what I can see, it looks like your Phab account [[phab:people/manage/49292/#16973|was re-enabled]] on 2026-03-31. Sorry that nobody's responded to you about it in this thread until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:09, 27 April 2026 (UTC)
== Account Disabled ==
My account appears to have been mistakenly disabled while I was creating tasks related to the Wikimedia Hackathon. I believe this may have been an error.
For reference, I am the administrator of the Toolforge tool “ghanasupremecases1.” I would appreciate a review of the account status and assistance in resolving this issue. My Username is Sunkanmi12 [[User:Sunkanmi12|Sunkanmi12]] ([[User talk:Sunkanmi12|talk]]) 13:16, 30 April 2026 (UTC)
:@[[User:Sunkanmi12|Sunkanmi12]]: Just noting that it looks like your account has since been [[phab:/people/manage/30284/#17064|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:05, 8 May 2026 (UTC)
== Account disabled ==
[[phab:p/Rachmat_ESEAP_Hub_Translator|My account]] has been unexpectedly disabled. Could you please enable it again? Thank you in advance. '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 06:44, 6 May 2026 (UTC)
:@[[User:Rachmat (ESEAP Hub Translator)|Rachmat (ESEAP Hub Translator)]]: Just noting that it looks like your account has since been [[phab:people/manage/49737/#17080|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:03, 8 May 2026 (UTC)
::Yes, I have seen it. Thank you for the heads up! '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 07:17, 10 May 2026 (UTC)
64gvbrbp33yyqcwolhiens4rkozofwb
8390493
8390492
2026-05-25T10:08:28Z
~2026-31233-11
18406013
8390493
wikitext
text/x-wiki
{{Note|type=info|text=Ask any questions about the '''Wikimedia Phabricator installation itself''' here.<br />For anything '''not''' about Phabricator itself (in particular extensions, skins etc. whose issues are tracked on Phabricator), see [[Communication]] instead.<br />See archives at [[Talk:Phabricator/Help/Archives]].}}
{{Auto archiving
|archive = Talk:Phabricator/Help/Archives/%(year)d/%(monthname)s
|algo = old(28d)
|counter = 1
|minthreadsleft = 2
|minthreadstoarchive = 1
|archiveheader = {{talk archive}}
}}./bwdata/env/global.override.env بـ .gov.sa.48a90fbf-59d6-478c-9bbf-b45101046f95
oOdFoZrDxCoJEvBtUitI
globalSettings__installation__identityUri=https://identity.bitwarden.eu
globalSettings__installation__apiUri=https://api.bitwarden.eu
globalSettings__pushRelayBaseUri=https://push.bitwarden.eu.Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.
== Account Disabled ==
My Phabricator account was automatically disabled. I am a GSoC 2026 applicant working on T415272 (Modularization + Jetpack Compose for Commons Android). I believe the account was flagged due to creating and editing proposal tasks. My username is ShoaibKhalid65. Could you please re-enable my account? {{unsigned|Shoaibkhalid65|11:34, 31 March 2026 (UTC)}}
:@[[User:Shoaibkhalid65|Shoaibkhalid65]]: It looks like your account was [[phab:people/manage/48790/#16972|re-enabled]] on 2026-03-31, apologies that nobody's got back to you in this thread about it until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:20, 27 April 2026 (UTC)Implement a mood board feature for the interior design app. Users should be able to save AI-generated room designs and inspiration images to a dedicated mood board. The mood board should be accessible from the main navigation and allow users to view, organize, and share their saved items.nawaf9
== My account was disabled by mistake! ==
Please make my account acctive [[User:Phaneeth Kumar|Phaneeth Kumar]] ([[User talk:Phaneeth Kumar|talk]]) 11:34, 31 March 2026 (UTC)
:@[[User:Phaneeth Kumar|Phaneeth Kumar]]: From what I can see, it looks like your Phab account [[phab:people/manage/49292/#16973|was re-enabled]] on 2026-03-31. Sorry that nobody's responded to you about it in this thread until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:09, 27 April 2026 (UTC)
== Account Disabled ==
My account appears to have been mistakenly disabled while I was creating tasks related to the Wikimedia Hackathon. I believe this may have been an error.
For reference, I am the administrator of the Toolforge tool “ghanasupremecases1.” I would appreciate a review of the account status and assistance in resolving this issue. My Username is Sunkanmi12 [[User:Sunkanmi12|Sunkanmi12]] ([[User talk:Sunkanmi12|talk]]) 13:16, 30 April 2026 (UTC)
:@[[User:Sunkanmi12|Sunkanmi12]]: Just noting that it looks like your account has since been [[phab:/people/manage/30284/#17064|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:05, 8 May 2026 (UTC)
== Account disabled ==
[[phab:p/Rachmat_ESEAP_Hub_Translator|My account]] has been unexpectedly disabled. Could you please enable it again? Thank you in advance. '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 06:44, 6 May 2026 (UTC)
:@[[User:Rachmat (ESEAP Hub Translator)|Rachmat (ESEAP Hub Translator)]]: Just noting that it looks like your account has since been [[phab:people/manage/49737/#17080|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:03, 8 May 2026 (UTC)
::Yes, I have seen it. Thank you for the heads up! '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 07:17, 10 May 2026 (UTC)
www.nawaf.com
http___wq.nawaf.com_
// هذه الدالة ستعمل الآن بناءً على الكود الذي أرسلته محلياً
function getNawafPermanentStamp() {
// التاريخ الذي وثقته في الفيديو
const fixedMoment = "20260316";
const secretKey = "Nawaf9" + fixedMoment;
Nawaf9
// استخدام محرك التشفير من الكود الذي أرسلته
return CryptoJS.SHA256(secretKey).toString();
}l
<nowiki>https://privacysandbox.google.com/private-advertising/protected-audience/android/protected-app-signals-developer-guide?hl=ar#protected_auction_support_api</nowiki>
console.log("<nowiki>http://nawaf5573gmail.com</nowiki> نواف الموثقة: ", naw.abc2dd.com.csv());
Nawaf1407
<nowiki>https://accounts.google.com/SignOutOptions?hl=ar&continue=https://policies.google.com/terms%3Fhl%3Dar&ec=GBRAoQQ</nowiki>
<nowiki>https://privacysandbox.google.com/private-advertising/protected-audience/android/protected-app-signals-developer-guide?hl=ar#p</nowiki> [[Special:Contributions/~2026-31233-11|~2026-31233-11]] ([[User talk:~2026-31233-11|talk]]) 10:08, 25 May 2026 (UTC)
4uoz4vbob18o8umhepd13msfb4wtnsj
8390495
8390493
2026-05-25T10:19:07Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31233-11|~2026-31233-11]] ([[User talk:~2026-31233-11|talk]]) to last version by Clump
8383796
wikitext
text/x-wiki
{{Note|type=info|text=Ask any questions about the '''Wikimedia Phabricator installation itself''' here.<br />For anything '''not''' about Phabricator itself (in particular extensions, skins etc. whose issues are tracked on Phabricator), see [[Communication]] instead.<br />See archives at [[Talk:Phabricator/Help/Archives]].}}
{{Auto archiving
|archive = Talk:Phabricator/Help/Archives/%(year)d/%(monthname)s
|algo = old(28d)
|counter = 1
|minthreadsleft = 2
|minthreadstoarchive = 1
|archiveheader = {{talk archive}}
}}
== Account Disabled ==
My Phabricator account was automatically disabled. I am a GSoC 2026 applicant working on T415272 (Modularization + Jetpack Compose for Commons Android). I believe the account was flagged due to creating and editing proposal tasks. My username is ShoaibKhalid65. Could you please re-enable my account? {{unsigned|Shoaibkhalid65|11:34, 31 March 2026 (UTC)}}
:@[[User:Shoaibkhalid65|Shoaibkhalid65]]: It looks like your account was [[phab:people/manage/48790/#16972|re-enabled]] on 2026-03-31, apologies that nobody's got back to you in this thread about it until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:20, 27 April 2026 (UTC)
== My account was disabled by mistake! ==
Please make my account acctive [[User:Phaneeth Kumar|Phaneeth Kumar]] ([[User talk:Phaneeth Kumar|talk]]) 11:34, 31 March 2026 (UTC)
:@[[User:Phaneeth Kumar|Phaneeth Kumar]]: From what I can see, it looks like your Phab account [[phab:people/manage/49292/#16973|was re-enabled]] on 2026-03-31. Sorry that nobody's responded to you about it in this thread until now. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 20:09, 27 April 2026 (UTC)
== Account Disabled ==
My account appears to have been mistakenly disabled while I was creating tasks related to the Wikimedia Hackathon. I believe this may have been an error.
For reference, I am the administrator of the Toolforge tool “ghanasupremecases1.” I would appreciate a review of the account status and assistance in resolving this issue. My Username is Sunkanmi12 [[User:Sunkanmi12|Sunkanmi12]] ([[User talk:Sunkanmi12|talk]]) 13:16, 30 April 2026 (UTC)
:@[[User:Sunkanmi12|Sunkanmi12]]: Just noting that it looks like your account has since been [[phab:/people/manage/30284/#17064|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:05, 8 May 2026 (UTC)
== Account disabled ==
[[phab:p/Rachmat_ESEAP_Hub_Translator|My account]] has been unexpectedly disabled. Could you please enable it again? Thank you in advance. '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 06:44, 6 May 2026 (UTC)
:@[[User:Rachmat (ESEAP Hub Translator)|Rachmat (ESEAP Hub Translator)]]: Just noting that it looks like your account has since been [[phab:people/manage/49737/#17080|re-enabled]] by @[[User:AKlapper (WMF)|AKlapper (WMF)]]. Best, <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 08:03, 8 May 2026 (UTC)
::Yes, I have seen it. Thank you for the heads up! '''···''' [[User:Rachmat (ESEAP Hub Translator)|'''Rachmat (ESEAP Hub Translator)''']] '''·''' [[User talk:Rachmat (ESEAP Hub Translator)|talk]] 07:17, 10 May 2026 (UTC)
j2zvforck7yysjfh8gz6o741204rkrb
Extension:SkinCustomiser/pl
102
2064157
8390206
8386626
2026-05-24T21:28:57Z
FuzzyBot
451990
Updating to match new version of source page
8390206
wikitext
text/x-wiki
<languages/>
{{Extension
|name = SkinCustomiser
|status = stable
|type1 = skin
|type2 = mywiki
|type3 = hook
|hook1 = BeforePageDisplay
|hook2 = SkinAfterBottomScriptsHook
|username = WikiForMen
|author = WikiMANNia
|description = <span lang="en" dir="ltr" class="mw-content-ltr">Customises existing {{ll|Manual:Skin|skins}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Add Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki.</span>
|image =
|imagesize =
|version = 2.1.0
|update = 2026-03-28
|mediawiki = 1.35+
|php = 7.3.19+
|needs-updatephp = no
|compatibility policy = master
|license = GPL-2.0-or-later
|download = {{GithubDownload|WikiMANNia|Mediawiki-Extension-SkinCustomiser}}
|changelog =
|parameters = <nowiki/>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserHeadItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserMetaItems</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserDisplayBottom</syntaxhighlight>
* <syntaxhighlight lang="php" inline="">$wgSkinCustomiserScripts</syntaxhighlight>
|tags =
|rights =
|example =
|compatibility =
|bugzilla =
}}
<span lang="en" dir="ltr" class="mw-content-ltr">The '''SkinCustomiser''' customises existing {{ll|Manual:Skin|skins}} for a complete {{ll|Manual:Wiki family|wiki family}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It adds Scripts and {{ll|Page metadata|Meta data}} just before the {{tag|head|close}} tag of the wiki; and it translates individual entries in the {{ll|Manual:Interface/Sidebar|sidebar}}.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
==Background==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Customising Skins===
</div>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">MediaWiki skins can be customised in the files $1 respectively.</span>
|1=<code>[[MediaWiki:Citizen.css]]</code>, <code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Timeless.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
However, if a wiki farm is operated, it is impractical to set up and maintain these files in every wiki on that farm.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Instead, all these CSS instructions can be collected centrally in this extension and included globally in all wikis of the wiki farm.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Customising Sidebars===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Customisation also includes further entries via the {{ll|Manual:Interface/Sidebar|sidebar}}, which on the one hand are to be managed centrally in a wiki farm and on the other hand are also to be {{ll|Localisation|translated into other languages}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This can be done by entering these labels and their translations in the {{ll|Localisation|i18n}} files of this extension.
</div>
<span id="Installation"></span>
== Instalacja ==
* <span lang="en" dir="ltr" class="mw-content-ltr">First save your customised <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
{{ExtensionInstall
|registration=required
|custom-steps=* [[#Configuration|<span lang="en" dir="ltr" class="mw-content-ltr">Configure as required.</span>]]
}}
* <span lang="en" dir="ltr" class="mw-content-ltr">Restore your <code>i18n/*.json</code>, <code>resources/css/*.css</code>, <code>resources/images/*</code> files.</span>
<span id="Configuration"></span>
== Konfiguracja ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Unlike the vast majority of extensions, this one cannot be used in its original state, but must first be adapted for a specific {{ll|Manual:Wiki family|wiki farm}}.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Skins===
</div>
{{tmpl|0=<span lang="en" dir="ltr" class="mw-content-ltr">MediaWiki skins can be customised in files $1 respectively.</span>
|1=<code>[[MediaWiki:Cologneblue.css]]</code>, <code>[[MediaWiki:Modern.css]]</code>, <code>[[MediaWiki:Monobook.css]]</code>, <code>[[MediaWiki:Vector.css]]</code>, <code>[[MediaWiki:Mobile.css]]</code>, <code>[[MediaWiki:Common.css]]</code>
}}
<span lang="en" dir="ltr" class="mw-content-ltr">However, if a {{ll|Manual:Wiki family|wiki farm}} is operated, it is impractical to set up and maintain these files in each wiki of this farm.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If a different skin is used, the <code>AnotherSkin.css</code> file must be renamed accordingly and this change must also be made in the <code>extension.json</code> file.</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the file tree:</span> <syntaxhighlight lang="text">
* resources
**css
***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty)
***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty)
***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty)
***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty)
***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty)
***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty)
***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins
**images // <=== You may add some (background) images here
</syntaxhighlight>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the <code>extension.json</code> file:</span> <syntaxhighlight lang="php">
"ResourceModules": {
"ext.skincustomiser.common": {
"styles": "css/Common.css"
},
"ext.skincustomiser.mobile": {
"styles": "css/mobile.css"
},
"ext.skincustomiser.cologneblue": {
"styles": "css/Cologneblue.css"
},
"ext.skincustomiser.modern": {
"styles": "css/Modern.css"
},
"ext.skincustomiser.monobook": {
"styles": "css/Monobook.css"
},
"ext.skincustomiser.vector": {
"styles": "css/Vector.css"
},
"ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'"
"styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css"
}
},
</syntaxhighlight>
# <span lang="en" dir="ltr" class="mw-content-ltr">In the <code>includes/Hooks.php</code> file:</span> <syntaxhighlight lang="php">
private static function isSupported( $skinname ) {
// Add another supported skin here:
$mySkin = 'anotherskin'; // <=== 3. remember to rename this
return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] );
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Logo===
</div>
<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Skin vector-2022====
</div>
<syntaxhighlight lang="php">
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Sidebar===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A {{ll|Manual:Wiki family|wiki farm}} can be customised in the {{ll|Manual:Interface/Sidebar|sidebar}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The customised labels and their translations can be managed in this way:</span>
<syntaxhighlight lang="text">
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, some standard messages from mediawiki can also be customised there.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Customising the <code>i18n/en.json</code> file:
</div>
<syntaxhighlight lang="javascript">
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">For more details see:</span>
{{ll|Localisation file format}}
<div lang="en" dir="ltr" class="mw-content-ltr">
===Head data===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserHeadItems = [];</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Meta data===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserMetaItems = [];</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head meta data, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ],
[ "name2", "content2" ]
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Examples====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:AgeClassification}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Scripts===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">One or more head scripts can be added to the wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The head scripts can consist of any {{ll|snippets|HTML and/or JavaScript}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserScripts = "";</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Scheme====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To configure the head script, add the following to LocalSettings.php after the installation line:
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">Leave untouched the first and last line with START_END_MARKER stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">'''Do not add whitespaces around the last line’s marker''', it would break it ([https://secure.php.net/language.types.string#language.types.string.syntax.nowdoc more details about this syntax]).</span>
'''<span lang="en" dir="ltr" class="mw-content-ltr">Do add new line after.</span>'''
<span lang="en" dir="ltr" class="mw-content-ltr">To add additional scripts, simply include them between the markers:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">You may specify a name for the script too if needed, add the following after the installation line:</span>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = 'add_your_script_name_here';
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Examples====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Example (from {{ll|Extension:Google Analytics Integration}}):
</div>
<syntaxhighlight lang="php">
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Bottom Display===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
<code>$wgSkinCustomiserDisplayBottom</code> adds items at the end of a page, at the bottom but still within the content frame.
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Disable with:</span>
<code>$wgSkinCustomiserDisplayBottom = "";</code>
<div lang="en" dir="ltr" class="mw-content-ltr">
====Example====
</div>
<syntaxhighlight lang="php">$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
</syntaxhighlight>
<span id="See_also"></span>
== Zobacz też ==
* {{ll|Extension:GlobalCssJs}}
<div lang="en" dir="ltr" class="mw-content-ltr">
The extension SkinCustomiser combines functionality from
</div>
* {{ll|Extension:HeaderExtension}}
* {{ll|Extension:PCR GUI Inserts}}
* {{ll|Extension:WimaAdvertising}}
apd0gvn4e2heh4wmzx0lyjkehl83btw
Help talk:Extension:CodeMirror
13
2073874
8390454
8368846
2026-05-25T09:20:24Z
ArchiverBot
1174107
Bot: Archiving 2 threads (older than 180 days) to [[Help talk:Extension:CodeMirror/Archive 1]]
8390454
wikitext
text/x-wiki
{{Auto archiving
|archive = Help talk:Extension:CodeMirror/Archive %(counter)d
|algo = old(180d)
|counter = 1
|minthreadsleft = 3
|minthreadstoarchive = 2
|archiveheader = {{talk archive}}
}}
{{talk header}}
{{Archive box}}
== Touchpad behaviour ==
The touchpad on my laptop behaves strange after I type something with CodeMirror on: the left and right thirds don't react to taps at all. — [[User:GPodkolzin|<font color = "#0040A0"><font face = "Segoe UI">GPodkolzin</font></font>]] <sup>[[User talk:GPodkolzin|<font color = "#0040A0"><font face = "Segoe UI">''Talk''</font></font>]]</sup> 16:50, 10 December 2025 (UTC)
== Auto-closing brackets annoying ==
I love all the features of the new syntax highlighting except for the autoclosing of brackets and quotation marks. Every time it inserts closing brackets or closing quotation marks in front of where I'm typing it interrupts the flow of my typing and forces me to move the cursor past them to continue typing. Or worse, I automatically type the closing brackets or quotation marks and now they are doubled. I don't understand how this feature is supposed to save any time or be helpful. Best case scenario, you have to double tap the right arrow to move past them, which is the same number of keystrokes as typing 2 brackets. It really just gets in the way and is annoying, IMO. I think this feature should either be disabled or made opt-in. [[Special:Contributions/~2025-33092-13|~2025-33092-13]] ([[User talk:~2025-33092-13|talk]]) 18:59, 24 December 2025 (UTC)
:@[[User:~2025-33092-13|~2025-33092-13]] Go to the "advanced" settings ({{key press|Alt|Shift|,}}) and there's an option, "{{int:codemirror-prefs-closebrackets}}". You make a compelling case for having it off by default, at least for wikitext. Thanks for the suggestion, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 07:46, 25 December 2025 (UTC)
::Thanks! That helps a lot! [[Special:Contributions/~2025-43243-92|~2025-43243-92]] ([[User talk:~2025-43243-92|talk]]) 16:02, 26 December 2025 (UTC)
== Editing Pane Expansion Issue ==
Recently, with Syntax Highlighting enabled, expansion of the editing pane seems to be inaccessible; no scroll bar appears when the text reaches the bottom of the window, and there is no expansion icon to increase its area. Instead, the editing pane starts expanding downwards, clipping through the Footer, the Proofreading Status buttons, and the Edit Summary UI. All other page functions still work as intended, but visually, this issue is a bit disruptive. I've (reluctantly) disabled the tool for now, and the scroll bar functionality is back. Just bringing attention to this—hopefully it can be solved at some point! I'd love to reenable the tool.
—[[User:SpikeShroom|SpikeShroom]] ([[User talk:SpikeShroom|talk]]) 15:04, 6 February 2026 (UTC)
:A relevant [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikiEditor/+/1238988 patch] has been submitted and is waiting for code review. [[User:析石父|析石父]] ([[User talk:析石父|talk]]) 06:13, 14 February 2026 (UTC)
== Find tool errors and reference colours ==
I deal with large articles and just tested the Improved Syntax Highlighting beta feature this evening. It appears, at least on Opera GX, that the find tool (ctrl+F) does not work properly in the editing pane with the feature enabled. The only other issue, to me at least, is that the dark green text for references does not particularly highlight them to the editor. I feel that highlighted references should be more prominent; long citations in prose are the main reason I turned the feature on, to be able to quickly differentiate between prose and hidden text. Still great work! [[User:Mb2437|Mb2437]] ([[User talk:Mb2437|talk]]) 22:47, 13 February 2026 (UTC)
:@[[User:Mb2437|Mb2437]] The browser Ctrl-F won't work when searching within the CodeMirror document. That is (or was) a hard requirement for performance, but I have been doing some thinking and may be able to come up with a solution. In the meantime, it should be putting initial focus on the editor so that Ctrl-F works when searching the wikitext. If it is not for you, make sure "Put initial focus on the editor" is set in your [[Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]].
:As for highlighting references, it took a while to get the colors just right where they are still [[w:en:Web Content Accessibility Guidelines|WCAG]]-compliant. Feel free to adjust the colors yourself (you can use [[Help:Extension:CodeMirror#Color and style customization]] as a guide). If you come with something you like, please share and we'll see if we can get it added to the code :)
:Also, if you weren't aware, you might be interested in the "<nowiki>Fold all <ref> tags by default</nowiki>" feature, which is also available in the preferences dialog.
:Hope this helps, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 23:58, 6 March 2026 (UTC)
== Little feedback (bug report ?) (from WP-fr) ==
Hello guys, thx a lot for your work!<br><br>I tried Extended CM, but I needed to disable it because after coding a bullet list (see [[fr:Special:Diff/233847624|here, the diff after disabling]]), nothing were published, not even the ":" and the <CR> before the list, just nothing (as if i didn't do any change)...<br>Not really sure this comes from the bulleted list, but I just can report here what I've done.<br>Wishes, — [[User:j33p|<span style="color:#EB0000">'''jeep'''</span>]] <small>(j33p)</small> [[User talk:j33p|<span style="color:#EB0000"><big>'''ॐ'''</big></span>]] 13:10, 6 March 2026 (UTC)
:@[[User:J33p|J33p]] The only thing that comes to mind is perhaps you have a conflicting script or gadget. I had a look at your personal JS and nothing stood out, but just to be sure: Can you try again in [[Manual:Safemode|safe mode]]? I.e [https://fr.wikipedia.org/w/index.php?title=Raspberry_Pi&action=edit&safemode=1&cm6enable=1] for the article you mentioned.
:Also if you could, check if there are any JavaScript errors. See [[w:en:WP:JSERROR]] for instructions, and [[Help:Locating broken scripts]] for further tips.
:Best, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 22:13, 6 March 2026 (UTC)
::Thx taking time to have a glance at my conf' @[[User:MusikAnimal|MusikAnimal]] !<br>I red carefully your answer and i will check all that, ASAP.<br>I promise I'll come back as of I have a clue.<br>Also thanks for the links ! {{smiley|3}}<br>Regards, — [[User:j33p|<span style="color:#EB0000">'''jeep'''</span>]] <small>(j33p)</small> [[User talk:j33p|<span style="color:#EB0000"><big>'''ॐ'''</big></span>]] 11:13, 7 March 2026 (UTC)
== Can't stretch windows at ExpandTemplates. Linter "edit" link doesn't take me to the problem tag. LintHint arrows don't jump to problem tag. ==
I decided to test out this gadget again, but I immediately ran into problems. I remembered to enable it in two different places (see above), which seems like an anti-pattern. I was hoping that would have been fixed by now (and maybe it will, once it is no longer a beta feature?).
Then I went to use https://en.wikipedia.org/wiki/Special:ExpandTemplates and found that I was unable to drag the bottom right corner of any text boxes (input or output) to expand them, which is a feature that I use all the time. If I disable this CodeMirror syntax highlighter and re-enable the normal gadget, I can expand the windows just fine.
When I go to https://en.wikipedia.org/wiki/Special:LintErrors/obsolete-tag?wpNamespaceRestrictions=5&tag=strike and click on the "edit" link for one of the pages, the page opens in edit mode, but the wikitext in the edit box jumps up to the top of the page source instead of jumping to the problem tag in question and highlighting it, as it does when I do not have this beta feature enabled. I thought "no problem, I'll just click the LintHint script box to get the list of errors, then hit the down arrow to jump to the problem tag. The wikitext in the edit window does not move. These problems make this syntax highlighter a lot less useful for fixing Linter errors than it should be, which is the whole point of why I might use it.
I hope that these bugs can be fixed. I'll come back in a while to try it again. Feel free to ping me with answers or suggestions for how to fix these problems on my end. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 04:31, 12 March 2026 (UTC)
:Hello again!
:{{tq|I remembered to enable it in two different places}} – that ''should'' be fixed, following [[gerrit:1187966]] from last September. I'm not sure why it didn't work for you, but indeed it certainly won't be an issue after CodeMirror 6 is promoted from Beta, which is slated to happen in May 2026.
:Incidentally, the other problems you mention have fixes in the works right now. The issue with standalone CodeMirror editor not being expandable is tracked at [[phab:T407203]], and the the Special:LintErrors linking issue is [[phab:T418329]]. Both fixes should hopefully go live next week :)
:{{tq|I'll just click the LintHint script box to get the list of errors, then hit the down arrow to jump to the problem tag. The wikitext in the edit window does not move.}} – The LintHint script evidently is not compatible with CodeMirror (you'll have to talk to the maintainer), but perhaps you don't need it because proper Parsoid linter errors are now surfaced in CodeMirror itself! Linting is disabled by default for wikitext. Go to your [[Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]] and select "{{int|codemirror-prefs-lint}}" to try it out. You can click on the icons in the status bar to jump to the next errors. Right now, both [[Extension:Linter]] errors (i.e. Parsoid) and our own [[Help:Extension:CodeMirror/Wikitext linting|linter]] are mixed, but we plan to allow you to select which linters you want ([[phab:T408729]]). That is fairly high on the to-do list, after we get this thing [[phab:T259059|deployed]] once and for all. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 05:31, 12 March 2026 (UTC)
::Thanks for the responses, and I'm glad that these issues are being worked on. I will try this new syntax highlighter again later in 2026 to see if it will work for pursuing and fixing MediaWiki Linter errors. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 11:44, 12 March 2026 (UTC)
== Hidden feature ==
I recenlty subscribed to tech news; I found it on someone's discussion page. And they just sent info about CodeMirror coming out of beta. I have edited Wikipedia for 15 years, I only use WikiCode, and I just now found that there is syntax highlighting.
This feature should be more prominent if it's part of MediaWiki core. I didn't even know there is advanced menu in the toolbar where you can enable this feature.
Just my feedback, a lot of editors may also not know that this great feature exists. [[User:Jcubic|Jcubic]] ([[User talk:Jcubic|talk]]) 20:04, 16 March 2026 (UTC)
:It will be a bit less hidden, I hope, with the rollout of CodeMirror 6. There's a checkbox in the "Editing" section of preferences that advertises it, and in the 2010 editor, you'll see a "Syntax" button instead of just the icon as it was previously in CodeMirror 5. At any rate, this is not part of MediaWiki Core, for the record. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 22:25, 30 March 2026 (UTC)
== rereading : ⧼codemirror-prefs-panel-advanced⧽ is not interpreted ==
In the second paragraph on CodeMirror preferences, the ⧼codemirror-prefs-panel-advanced⧽ is not interpreted. Please correct with true value or removing the parenthesis.Thanks. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 16:25, 30 March 2026 (UTC)
:{{done}} Thank you! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 22:24, 30 March 2026 (UTC)
== rereading : feature bidiIsolation missing ==
Page https://www.mediawiki.org/wiki/Extension:CodeMirror is referencing a functionality bidiIsolation which is not described on this page. Why ? Thanks. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 17:51, 30 March 2026 (UTC)
:It is a feature that was never finished and needs to be rewritten. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 22:22, 30 March 2026 (UTC)
== differentiating between prose and references ==
Imo the biggest issue with naked source code is that you can't see the difference between prose and templates/references. This is more an issue if you use something like [[:en:Template:Cite book]] where a reference is often multiple lines long, rather than if you use [[:en:Template:Sfn]]. The current version of this feature doesn't address this, as it only highlights parameters and <code><nowiki><ref></nowiki></code> etc. Two options imo: <br>1. Reverse the colours used for parameters and <code><nowiki><ref></nowiki></code> etc. Ie. make parameters a pale, passive colour, and make <code><nowiki><ref></nowiki></code> etc., as well as the <code><nowiki>{{</nowiki></code> and <code><nowiki>}}</nowiki></code> symbols and template call (<code><nowiki>{{Infobox country|}}</nowiki></code>, a bright, bold colour, so that it's clearer when refs and templates start and end. Idk whether it's possible to highlight the template call?<br>2. Highlight everything in a template (ie. between <code><nowiki>{{}}</nowiki></code>), tags, external links, and hidden comments (ie. <code><nowiki><!--message--></nowiki></code>) one colour, to make it clear which text is prose. I currently have this enabled at [[en:User:Kowal2701/common.js]] using a pale green (and light blue for hidden comments) [[User:Kowal2701|Kowal2701]] ([[User talk:Kowal2701|talk]]) 15:15, 9 April 2026 (UTC)
:Thanks for the feedback! [[Help:Extension:CodeMirror#Highlight references|Reference content is highlighted]] a pale green precisely to help differentiate prose from references. There is also the "''{{int:codemirror-prefs-foldallrefs}}''" feature, which you may find helpful.
:I don't know that drastic changes to the colors at this stage is an option, given we have so many years of precedent of what the colors refer to. You can however [[Help:Extension:CodeMirror#Color and style customization|customize the colors]] as you so desire. The code in your common.js appears to be unrelated to CodeMirror. Are you sure you're not using a different syntax highlighter?
:Text within a template call used to have a purple color (the same color as the curly brackets), but this was removed ([[phab:T383479]]). You can restore that in your personal CSS with:<syntaxhighlight lang="css">
.cm-mw-template {
color: #80c;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .cm-mw-template {
color: #ff5edd;
}
@media ( prefers-color-scheme: dark ) {
html.skin-theme-clientpref-os .cm-mw-template {
color: #ff5edd;
}
}</syntaxhighlight>
:Hope this helps, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:22, 9 April 2026 (UTC)
== The one thing stopping me from using this ==
I often use ctrl + 0–9 keyboard shortcut to switch between tabs, where ctrl + 1 sends me to the first tab, ctrl + 2 the second tab, so on. However, with this enabled, these shortcuts do not work, and instead are overridden by the shortcuts that come with CodeMirror. Is there any way to disable this? [[User:Supertian8|Supertian8]] ([[User talk:Supertian8|talk]]) 00:06, 22 April 2026 (UTC)
:@[[User:Supertian8|Supertian8]] Which browser/operating system are you using? Does using {{key press|Alt}} instead of {{key press|Ctrl}} work for changing tabs? It does on my machine (Chrome/Firefox on Ubuntu). Anyway, to answer the question, it is possible to disable it, but it would currently require a custom JS snippet be placed in your [[Special:MyPage/common.js|common.js]]. Let me know if you'd like me to write said snippet for you. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 00:34, 22 April 2026 (UTC)
::I’m on Edge on Windows. Alt does not work instead of ctrl. If you could code a snippet to fix this, that would be great. [[User:Supertian8|Supertian8]] ([[User talk:Supertian8|talk]]) 11:43, 23 April 2026 (UTC)
== CodeMirror preferences ==
In the section "CodeMirror preferences" please change
* To open the preferences panel, press <kbd>Ctrl</kbd>+<kbd>⇧ Shift</kbd>+<kbd>,</kbd> (or <kbd>⌘ Command</kbd>+<kbd>⇧ Shift</kbd>+<kbd>,</kbd> on macOS)
* to
* To open the preferences panel while using the editor, press <kbd>Ctrl</kbd>+<kbd>⇧ Shift</kbd>+<kbd>,</kbd> (or <kbd>⌘ Command</kbd>+<kbd>⇧ Shift</kbd>+<kbd>,</kbd> on macOS).
The key presses are futile outside of the editor. [[User:Johnjbarton|Johnjbarton]] ([[User talk:Johnjbarton|talk]]) 01:57, 26 April 2026 (UTC)
:{{done|[[Special:Diff/8355124|Done]]}}. Note however ''all'' of the documentation pertains to the editor. If the editor is not open, CodeMirror is not being used. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 03:45, 26 April 2026 (UTC)
== Please add a preference to disable "auto indentation" ==
Indentation in general makes little sense outside the "code" environments (Lua/JS/some templates). But since recently, when I press Enter and the cursor is before a space, some kind of "auto indentation" takes places and adds an aditional unexpected space. Please consider adding a preference to disable the "auto indentation" feature. Thanks in advance, [[File:CodeMirror_bug_description_20260427.png|thumb|this is the result of pressing "Enter" 5 times in front of a space. Each line gets an additional space]] [[User:Ignacio Rodríguez|Ignacio Rodríguez]] ([[User talk:Ignacio Rodríguez|talk]]) 17:52, 27 April 2026 (UTC)
:This actually sounds like a bug. It's supposed to keep the same level of indentation as the line above ([[phab:T389328]]). I have filed [[phab:T424575]]. Thanks for reporting, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:02, 27 April 2026 (UTC)
84cyw31j45w5yhlk7n4rxnukw9480np
Project:Support desk
4
2084484
8390456
8390037
2026-05-25T09:20:44Z
ArchiverBot
1174107
Bot: Archiving 1 thread (older than 14 days) to [[Project:Support desk/Archive 25]]
8390456
wikitext
text/x-wiki
{{Project:Support desk/Header/{{int:lang}}}}
{{Auto archiving
|archive = Project:Support desk/Archive %(counter)d
|algo = old(14d)
|counter = 25
|maxarchivesize = 250K
|minthreadsleft = 2
|minthreadstoarchive = 1
|archiveheader = {{talk archive}}
}}
== MySQL 8.4+ Compatibility ==
MySQL 8.4 has changed the way auto_increment works. Will this affect MediaWiki compatibility?
Data Types & Constraints: 8.4 prohibits AUTO_INCREMENT on FLOAT/DOUBLE columns. [[User:Molsen7970|Molsen7970]] ([[User talk:Molsen7970|talk]]) 18:16, 5 May 2026 (UTC)
:MySQL 8.4 was released more than two years ago, not sure why you'd ask now? [[Compatibility]] implies compatibility. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 10:51, 12 May 2026 (UTC)
::The highest version of MySQL listed on the compatibility site is MySQL 5.7.0+. I assume the plus at the end means 8.4 is compatible with Mediawiki 1.43.8 because of the "+" but there seems to be a difference between MySQL 5.7 and 8.4 in the way AUTO_INCREMENT works. We were curious if Mediawiki uses AUTO_INCREMENT in a way that would break when we upgrade to MySQL 8.4. (MySQL 8.0 LTS ended last month which is why we are upgrading to the next LTS, 8.4.) [[User:Molsen7970|Molsen7970]] ([[User talk:Molsen7970|talk]]) 20:21, 19 May 2026 (UTC)
:::We had this same debate about ambiguity in relation to PHP versions a while back. In that case, "PHP 8.1.0+" did '''not''' (at the time) include PHP 8.4. See [[Talk:Compatibility#PHP_8.4_is_missing_(in_compat_matrix)]]. However, one comment which was wrong in one sense (the truth is "It's hoped that things above it are supported" rather than "everything above is supported") might answer your question here: "e.g. in the database matrix is says MySQL 5.7.0+. For me that means that everything above is supported. e.g. I'm using MySQL 8.4 and mediawiki runs on it" :-) [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:24, 23 May 2026 (UTC)
== Redirects appear as target page, not originating page. ==
I am a contributor for a wiki that runs on MediaWiki. In that Wiki, links that point to a redirect page appear as the target page, not the origin page.
For example, if a page titled "Start" has the content "<nowiki>#REDIRECT [[End]]</nowiki>", then <nowiki>[[Start]]</nowiki> appears as "End", rather than "Start".
I've never seen this behavior on other wikis. For example, on this wiki, <nowiki>[[Help:Redirect]]</nowiki> appears as [[Help:Redirect]], not "Help:Redirects". Likewise, on Wikipedia, <nowiki>[[theme park]]</nowiki> appears as "theme park", not the target page "Amusement park".
Is there a setting or plugin I should look for? The version page for that wiki is at https://azudaioh.miraheze.org/wiki/Special:Version. [[User:428koiwai|428koiwai]] ([[User talk:428koiwai|talk]]) 17:28, 16 May 2026 (UTC)
:This happens usually when you have the [[Extension:Display Title]] enabled. You may ask Miraheze to disable it or to set $wgDisplayTitleFollowRedirects to false. [[User:Ciencia Al Poder|Ciencia Al Poder]] ([[User talk:Ciencia Al Poder|talk]]) 19:55, 17 May 2026 (UTC)
== Text on the Special:RevisionDelete page ==
Where can the following text be found and edited?
:'''Deleted revisions will still appear in the page history, but parts of their content will be inaccessible to the public.''' Other administrators will still be able to access the hidden content and to undelete it, unless additional restrictions are set.
:Suppression should '''only''' be used for the following cases:
:* potentially libelous information
:* inappropriate personal information
:*: ''home addresses and telephone numbers, national identification numbers, etc.''
:Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with the policy.
I can't seem to find a page with this content. Thanks in advance for any help! [[User:Nihonjoe|-- 日本穣 Nihonjoe]] ([[User talk:Nihonjoe|talk]]) 01:41, 17 May 2026 (UTC)
: It's split across multiple pages: [[MediaWiki:revdelete-text-text]], [[MediaWiki:Revdelete-confirm]], [[MediaWiki:revdelete-text-others]], [[MediaWiki:revdelete-suppress-text]]. Using [[qqx]] can easily identify the source of a message. [[User:Pppery|* Pppery *]] [[User talk:Pppery|<sub style="color:#800000">it has begun</sub>]] 06:23, 17 May 2026 (UTC)
::Thanks! That's what I was looking for. [[User:Nihonjoe|-- 日本穣 Nihonjoe]] ([[User talk:Nihonjoe|talk]]) 21:49, 22 May 2026 (UTC)
== TranslateWiki.net is down ==
Hello @[[User:Siebrand|Siebrand]] @[[User:Nikerabbit|Nikerabbit]]
Just to let you know that when accessing [[betawiki:Support/Open_requests|https://translatewiki.net/]], Cloudflare reports a timeout (error 522).
Regards [[User:Dregad|Dregad]] ([[User talk:Dregad|talk]]) 06:30, 18 May 2026 (UTC)
:Only saw this now. We had 4 hours of downtime that is now resolved. [[User:Nikerabbit|Nikerabbit]] ([[User talk:Nikerabbit|talk]]) 15:46, 21 May 2026 (UTC)
== class=tpl-stickytable - how to stick only the header line ? ==
When i scroll down page [[Developers/Maintainers]] the arrays defined with class = tpl-stickytable always stick the header together with first data line. It gives a mess when overwritten by the following lines of the array. How can I exclude the first data line from stick as to keep only the header line sticked ? Thanks. -- [[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 13:48, 19 May 2026 (UTC)
: Looks as though it's a problem with [[Template:Import-stickytable]] as even the example on that page has the same problem. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 10:44, 20 May 2026 (UTC)
::I think the CSS at [[Template:Import-stickytable/styles.css]] is meant to make the header or (if there is no header) the first row sticky, but actually makes both sticky. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 10:52, 20 May 2026 (UTC)
:::do i file a ticket on Phabricator ? -- [[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 18:04, 23 May 2026 (UTC)
== How to get my user name from Lua ? ==
Is it possible to get my user name using Lua? I tried this:
<pre>mw.config.get('wgUserName')</pre>
but that only returns "attempt to index field 'config' (a nil value)". - [[User:Erik Baas|Erik Baas]] ([[User talk:Erik Baas|talk]]) 06:05, 21 May 2026 (UTC)
: It's not, lua is there for wikitext processing, and <code>mw.config</code> [[Extension:Scribunto/Lua_reference_manual|doesn't even exist there]] (it's a JS API) [[User:Archimedes5000|Archimedes5000]] ([[User talk:Archimedes5000|talk]]) 01:53, 22 May 2026 (UTC)
::I think there are extensions that could return the current user's username, and I expect you could use one of them via Lua. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:17, 23 May 2026 (UTC)
== 关于Special:Version/Creadits ==
该页面不会随参数设置内“国际化->语言”内的设置更改语言。[[User:Pawsdt|Pawsdt]] ([[User talk:Pawsdt|talk]]) 07:57, 22 May 2026 (UTC)
iumh5kb7zu5pwq6hjznoyfxdplo4hi4
Extension talk:InputBox
103
2085821
8390505
8366387
2026-05-25T10:28:02Z
~2026-31303-23
18406036
8390505
wikitext
text/x-wiki
{{archives}}
== Some feature requests ==
<div style="clear:both;"></div>
{| class="wikitable"
! Parameter !! Description !! Scope !! Notes !! Example !! Result !! Phabricator task
|-
| '''preloadtemplate='''
| Similar to <code>preload=</code> with the difference, that it automatically creates what would otherwise be loaded from, let's say, <code>Template:Example/preload</code> by taking Template:Example's required parameters from the template's TemplateData
| create
| needs [[Extension:TemplateData]] to work
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadtemplatefilter[]='''
| Overwrites <code>preloadtemplate=</code> so that not the required parameters from template's TemplateData are used but the ones provided by <code>preloadtemplatefilter[]=</code>
| create
| needs [[Extension:TemplateData]] to work, only works in combination with <code>preloadtemplate=</code>, doesn't work with <code>preloadtemplateparams[]=</code>, defaults to <code>required</code>
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplatefilter[]=required
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplatefilter[]=suggested
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadtemplateparams[]='''
| Overwrites <code>preloadtemplate=</code> so that not the required parameters from template's TemplateData are used but the ones provided by <code>preloadtemplateparams[]=</code>
| create
| needs [[Extension:TemplateData]] to work, only works in combination with <code>preloadtemplate=</code>, doesn't work with <code>preloadtemplatefilter[]=</code>
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplateparams[]=Faction
preloadtemplateparams[]=Years active
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadparaminputs[]='''<br>or '''preloadparaminputs='''
| Similar to <code>preloadparams[]=</code> with the difference, that additional input fields are shown. When [[Extension:TemplateData]] is installed, the inputs could differ based on the parameter properties
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadparaminputs[]=Faction
preloadparaminputs[]=Rank
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadparams[]=Faction
preloadparams[]=Rank
preloadparaminputs=true
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382683 T382683]
|-
| '''preloadtext='''<br>or '''preloadinline='''<br>or '''preloadwikitext='''
| Similar to <code>preload=</code> with the difference, that, instead of loading wikitext from a separate page, the wikitext can provided right after the parameter
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtext='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadinline='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadwikitext='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382668 T382668]
|-
| '''preloadcategories[]='''
| Adds categories to create page form, appending it to the content added by <code>preload=</code>, <code>preloadtemplate=</code> or <code>preloadtext=</code>
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtext=John Doe is the CEO of Acme Corp.
preloadcategories[]=Character
</inputbox>
</syntaxhighlight>
|
<code>
John Doe is the CEO of Acme Corp.<br>
<nowiki>[[Category:Character]]</nowiki>
</code>
| [https://phabricator.wikimedia.org/T382670 T382670]
|-
| '''tags[]'''<br>or '''edittags[]='''<br>or '''changetags[]='''<br>or '''revisiontags[]='''
| Adds [[Manual:Tags|edit/change/revision tags]] to the revision after the user creates the article
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
tags[]=mw-inputbox-create
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382671 T382671]
|-
| '''slot='''
| When using [[Multi-Content Revisions|multi-content revision]] [[content model]]s, the page will be edited in [[Multi-Content Revisions/Views|single-slot mode]] and the content from the edit form will be saved into the assigned slot rather than the default slot
| create
| only works, when your content model supports multiple slots
|
<syntaxhighlight lang="html">
<inputbox>
slot=foo
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382673 T382673]
|-
| '''createonly'''
| Similar to <code>redlink</code> but deactivates the submit button, turns the input's border red and displays a notice below when the page already exists.
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=Main page
createonly
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382675 T382675]
|-
| '''returnto='''
| Redirects the user to a given page instead of the created article when the user submits the form
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=John Doe
returnto=Template:Inbox character/Thanks
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382676 T382676]
|-
| '''section='''
| Instead of creating a page, only create a section
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
section=See also
</inputbox>
</syntaxhighlight>
|
|
|-
| '''prependtext='''<br>and '''appendtext='''
| Prepends and/or appends text to the page (after saving?)
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
prependtext=The user has written the following into the input form
appendtext=That's what the user has written into the input form
preloadtext=some custom content
</inputbox>
</syntaxhighlight>
|
<code>
The user has written the following into the input form<br>
That's what the user has written into the input form<br>
some custom content
</code>
| [https://phabricator.wikimedia.org/T382670 T382670]
|-
| '''titleprepend='''<br>and '''titleappend='''
| Prepends and/or appends the user-chosen page title
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=Character
namespace=Template
titleprepend=Infobox "
titleappend="
</inputbox>
</syntaxhighlight>
<small>
| <code>Template:Infobox "Character"</code>
| [https://phabricator.wikimedia.org/T382677 T382677]
|-
| '''type=content'''
| Uses the input text as content for the edit form rather than the title (might be rendered as a textarea, but that might require something like <code>multiline=yes</code>, displaying an additional input for the title would also be optional here)
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
type=content
</inputbox>
</syntaxhighlight>
<small>
| <code>Template:Infobox "Character"</code>
| [https://phabricator.wikimedia.org/T382679 T382679]
|} [[User:Minilexikon|Minilexikon]] ([[User talk:Minilexikon|talk]]) 15:07, 21 December 2024 (UTC)
== Width is not working ==
Width parameter is not working in mobile.
[https://commons.m.wikimedia.org/w/index.php?oldid=960792306 see] [[User:R1F4T|R1F4T]] ([[User talk:R1F4T|talk]]) 19:49, 26 December 2024 (UTC)
== way for new talk page ==
section? like I want to be able to specify a page(example: wiki/User_Talk:Twineee) and it will create a section on that page with the title that you entered into the input or even the body. [[User:Twineeea|Twineeea]] ([[User talk:Twineeea|talk]]) 22:30, 29 December 2024 (UTC)
== How to left-align a form ==
How to left-align a form generated via <nowiki><inputbox></nowiki>? [[User:Perohanych|Perohanych]] ([[User talk:Perohanych|talk]]) 19:01, 16 February 2025 (UTC)
:@[[User:Perohanych|Perohanych]] see https://www.mediawiki.org/wiki/Extension:InputBox#Alignment does this help? [[User talk:Gryllida|Gryllida]] 11:39, 12 June 2025 (UTC)
== Specifying which tab of MediaSearch should open (eg Images or Videos) on Commons ==
{{Tracked|T404955}}
On Wikimedia Commons, the default MediaSearch search has tabs 'Images', 'Audio', 'Video', 'Other Media', and 'Categories and Pages' where each tab only shows results of that type. Now when using a template that uses InputBox, one should be able to specify which of these tabs to open.
This is best explained with a concrete example: I'd like to change [[:c:Template:Search inside category]], a search-box for categories, so that one can specify which of those five tabs to open. This is so that in a category specific to videos like [[c:Category:Time-lapse videos]], the tab that opens when searching is the Videos tab and a category specific to pages like [[c:Category:Other versions templates]], the tab that opens is the Pages and Categories tab.
Without being able to specify the tab, many users will be confused and not find the results. This is needed to make InputBox compatible with the newer MediaSearch. The difference is whether it loads the url with <code>&type=image</code> at the end or e.g. <code>&type=page</code>. Please also let me know if there is any possible workaround for an input box that doesn't use InputBox. [[User:Prototyperspective|Prototyperspective]] ([[User talk:Prototyperspective|talk]]) 19:50, 13 November 2025 (UTC)
:{{re|Prototyperspective}} In {{gerrit|1174925}} for {{phab|T399476}} I'm suggesting we add <code>searchtype = page</code>, with possible values being 'image', 'video', 'audio', 'page', or 'other' (although that patch doesn't actually mandate any, it just passes through whatever you give it). [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 21:53, 13 November 2025 (UTC)
::Thanks a lot! I didn't remember that a patch was already submitted and also due to {{tq|Then it'll be possible to specify searchtype=other}} in the comment maybe back then I thought it was just for this specific use case of InputBox for searching pages. Looks like that patch would close both issues, great!
::I really hope this gets reviewed soon (in the comment on Sep 17 2025 after the patch on Aug 1 2025 you wrote {{tq|The above patch is ready for review, if anyone's got time.}}).
::Could maybe people watching this page review it please? [[User:Prototyperspective|Prototyperspective]] ([[User talk:Prototyperspective|talk]]) 22:51, 13 November 2025 (UTC)
== Search phrases that go beyond the width of the search box ==
See [[w:Template talk:Talk header/Archive 13#Note about length of search box]]. Scroll up to see search boxes there.
{{tmbox|text=<div style="float:left; margin-right:7px;"><inputbox>
id=style-searchbox
width=25%
break=no
type=fulltext
placeholder=Search talk archives
searchbuttonlabel=Search
prefix={{FULLPAGENAME}}/Archive
arialabel=Search talk archives
</inputbox></div> {{nowrap|'''[[w:Help:Archiving a talk page|Archives]]''' (index): 1, 2, 3, 4, 5, 6, 7.}}{{clear}}<span style="font-size:85%;">Topics inactive beyond 6 months are archived 3 or more at a time by [[w:User:lowercase sigmabot III|lowercase sigmabot III]] if there are more than 9.</span>|image = none|35px]]}}
Concerning the Vector 2022 search box at the top of the Wikipedia [[w:Main Page]] and all Wikipedia article pages. Longer search phrases there that go beyond the width of the search box expand just below the search box. So the person entering the search phrase always sees the whole search phrase.
Can that be done somehow with the above search box? --[[User:Timeshifter|Timeshifter]] ([[User talk:Timeshifter|talk]]) 07:55, 4 January 2026 (UTC)
== style=overflow:scroll ==
See [[:en:Template:Inputbox#Examples]]
It allows style=overflow:scroll
Is this possible with <nowiki><inputbox></nowiki> search boxes?
Or can it be made possible? --[[User:Timeshifter|Timeshifter]] ([[User talk:Timeshifter|talk]]) 14:24, 14 February 2026 (UTC)
== width ==
That example of <code>width=30px</code> is like 300px on my device. What the? --[[User:魔琴|魔琴]] ([[User talk:魔琴|talk]]) 06:01, 5 May 2026 (UTC)
goy3wcpf8l2u3ora8swtzmsg5hpoi2u
8390506
8390505
2026-05-25T10:29:20Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31303-23|~2026-31303-23]] ([[User talk:~2026-31303-23|talk]]) to last version by Timeshifter
8366387
wikitext
text/x-wiki
{{archives}}
== Some feature requests ==
<div style="clear:both;"></div>
{| class="wikitable"
! Parameter !! Description !! Scope !! Notes !! Example !! Result !! Phabricator task
|-
| '''preloadtemplate='''
| Similar to <code>preload=</code> with the difference, that it automatically creates what would otherwise be loaded from, let's say, <code>Template:Example/preload</code> by taking Template:Example's required parameters from the template's TemplateData
| create
| needs [[Extension:TemplateData]] to work
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadtemplatefilter[]='''
| Overwrites <code>preloadtemplate=</code> so that not the required parameters from template's TemplateData are used but the ones provided by <code>preloadtemplatefilter[]=</code>
| create
| needs [[Extension:TemplateData]] to work, only works in combination with <code>preloadtemplate=</code>, doesn't work with <code>preloadtemplateparams[]=</code>, defaults to <code>required</code>
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplatefilter[]=required
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplatefilter[]=suggested
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadtemplateparams[]='''
| Overwrites <code>preloadtemplate=</code> so that not the required parameters from template's TemplateData are used but the ones provided by <code>preloadtemplateparams[]=</code>
| create
| needs [[Extension:TemplateData]] to work, only works in combination with <code>preloadtemplate=</code>, doesn't work with <code>preloadtemplatefilter[]=</code>
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadtemplateparams[]=Faction
preloadtemplateparams[]=Years active
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382667 T382667]
|-
| '''preloadparaminputs[]='''<br>or '''preloadparaminputs='''
| Similar to <code>preloadparams[]=</code> with the difference, that additional input fields are shown. When [[Extension:TemplateData]] is installed, the inputs could differ based on the parameter properties
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadparaminputs[]=Faction
preloadparaminputs[]=Rank
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadtemplate=Template:Example
preloadparams[]=Faction
preloadparams[]=Rank
preloadparaminputs=true
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382683 T382683]
|-
| '''preloadtext='''<br>or '''preloadinline='''<br>or '''preloadwikitext='''
| Similar to <code>preload=</code> with the difference, that, instead of loading wikitext from a separate page, the wikitext can provided right after the parameter
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtext='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadinline='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
or
<syntaxhighlight lang="html">
<inputbox>
preloadwikitext='''Lorem ipsum''' was a {{{1}}}
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382668 T382668]
|-
| '''preloadcategories[]='''
| Adds categories to create page form, appending it to the content added by <code>preload=</code>, <code>preloadtemplate=</code> or <code>preloadtext=</code>
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
preloadtext=John Doe is the CEO of Acme Corp.
preloadcategories[]=Character
</inputbox>
</syntaxhighlight>
|
<code>
John Doe is the CEO of Acme Corp.<br>
<nowiki>[[Category:Character]]</nowiki>
</code>
| [https://phabricator.wikimedia.org/T382670 T382670]
|-
| '''tags[]'''<br>or '''edittags[]='''<br>or '''changetags[]='''<br>or '''revisiontags[]='''
| Adds [[Manual:Tags|edit/change/revision tags]] to the revision after the user creates the article
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
tags[]=mw-inputbox-create
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382671 T382671]
|-
| '''slot='''
| When using [[Multi-Content Revisions|multi-content revision]] [[content model]]s, the page will be edited in [[Multi-Content Revisions/Views|single-slot mode]] and the content from the edit form will be saved into the assigned slot rather than the default slot
| create
| only works, when your content model supports multiple slots
|
<syntaxhighlight lang="html">
<inputbox>
slot=foo
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382673 T382673]
|-
| '''createonly'''
| Similar to <code>redlink</code> but deactivates the submit button, turns the input's border red and displays a notice below when the page already exists.
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=Main page
createonly
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382675 T382675]
|-
| '''returnto='''
| Redirects the user to a given page instead of the created article when the user submits the form
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=John Doe
returnto=Template:Inbox character/Thanks
</inputbox>
</syntaxhighlight>
|
| [https://phabricator.wikimedia.org/T382676 T382676]
|-
| '''section='''
| Instead of creating a page, only create a section
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
section=See also
</inputbox>
</syntaxhighlight>
|
|
|-
| '''prependtext='''<br>and '''appendtext='''
| Prepends and/or appends text to the page (after saving?)
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
prependtext=The user has written the following into the input form
appendtext=That's what the user has written into the input form
preloadtext=some custom content
</inputbox>
</syntaxhighlight>
|
<code>
The user has written the following into the input form<br>
That's what the user has written into the input form<br>
some custom content
</code>
| [https://phabricator.wikimedia.org/T382670 T382670]
|-
| '''titleprepend='''<br>and '''titleappend='''
| Prepends and/or appends the user-chosen page title
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
default=Character
namespace=Template
titleprepend=Infobox "
titleappend="
</inputbox>
</syntaxhighlight>
<small>
| <code>Template:Infobox "Character"</code>
| [https://phabricator.wikimedia.org/T382677 T382677]
|-
| '''type=content'''
| Uses the input text as content for the edit form rather than the title (might be rendered as a textarea, but that might require something like <code>multiline=yes</code>, displaying an additional input for the title would also be optional here)
| create
|
|
<syntaxhighlight lang="html">
<inputbox>
type=content
</inputbox>
</syntaxhighlight>
<small>
| <code>Template:Infobox "Character"</code>
| [https://phabricator.wikimedia.org/T382679 T382679]
|} [[User:Minilexikon|Minilexikon]] ([[User talk:Minilexikon|talk]]) 15:07, 21 December 2024 (UTC)
== Width is not working ==
Width parameter is not working in mobile.
[https://commons.m.wikimedia.org/w/index.php?oldid=960792306 see] [[User:R1F4T|R1F4T]] ([[User talk:R1F4T|talk]]) 19:49, 26 December 2024 (UTC)
== way for new talk page ==
section? like I want to be able to specify a page(example: wiki/User_Talk:Twineee) and it will create a section on that page with the title that you entered into the input or even the body. [[User:Twineeea|Twineeea]] ([[User talk:Twineeea|talk]]) 22:30, 29 December 2024 (UTC)
== How to left-align a form ==
How to left-align a form generated via <nowiki><inputbox></nowiki>? [[User:Perohanych|Perohanych]] ([[User talk:Perohanych|talk]]) 19:01, 16 February 2025 (UTC)
:@[[User:Perohanych|Perohanych]] see https://www.mediawiki.org/wiki/Extension:InputBox#Alignment does this help? [[User talk:Gryllida|Gryllida]] 11:39, 12 June 2025 (UTC)
== how to open in new page ==
i have an inputbox to make a new page
how do i make that newly being made page open in a NEW BROWSER TAB
like target=_blank for a link
<inputbox>
type=create
width=80
buttonlabel=Create page
</inputbox>
this should open in a new tab, without closing this page. how?
thanks [[User talk:Gryllida|Gryllida]] 11:35, 12 June 2025 (UTC)
:{{helpme}} [[User talk:Gryllida|Gryllida]] 19:06, 12 June 2025 (UTC)
:I have the same question. Did you find any solution?[[User:Nimon didarul|Nimon didarul]] ([[User talk:Nimon didarul|talk]]) 11:40, 3 July 2025 (UTC)
:@[[User:Gryllida|Gryllida]] I asked about it in [[Project:Support desk]] and got this code. You can add this code to YourUsername/common.js :
<syntaxhighlight lang=js>mw.hook( 'wikipage.content' ).add( () => {
document.querySelectorAll( '.mw-inputbox-form, .mw-inputbox-form-inline' ).forEach( ( e ) => {
e.target = '_blank';
} );
} );</syntaxhighlight>Change that selector to <code>.createbox.mw-inputbox-form </code> if you only want to do page-creation inputbox.
[[User:Nimon didarul|Nimon didarul]] ([[User talk:Nimon didarul|talk]]) 08:46, 19 July 2025 (UTC)
== Specifying which tab of MediaSearch should open (eg Images or Videos) on Commons ==
{{Tracked|T404955}}
On Wikimedia Commons, the default MediaSearch search has tabs 'Images', 'Audio', 'Video', 'Other Media', and 'Categories and Pages' where each tab only shows results of that type. Now when using a template that uses InputBox, one should be able to specify which of these tabs to open.
This is best explained with a concrete example: I'd like to change [[:c:Template:Search inside category]], a search-box for categories, so that one can specify which of those five tabs to open. This is so that in a category specific to videos like [[c:Category:Time-lapse videos]], the tab that opens when searching is the Videos tab and a category specific to pages like [[c:Category:Other versions templates]], the tab that opens is the Pages and Categories tab.
Without being able to specify the tab, many users will be confused and not find the results. This is needed to make InputBox compatible with the newer MediaSearch. The difference is whether it loads the url with <code>&type=image</code> at the end or e.g. <code>&type=page</code>. Please also let me know if there is any possible workaround for an input box that doesn't use InputBox. [[User:Prototyperspective|Prototyperspective]] ([[User talk:Prototyperspective|talk]]) 19:50, 13 November 2025 (UTC)
:{{re|Prototyperspective}} In {{gerrit|1174925}} for {{phab|T399476}} I'm suggesting we add <code>searchtype = page</code>, with possible values being 'image', 'video', 'audio', 'page', or 'other' (although that patch doesn't actually mandate any, it just passes through whatever you give it). [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 21:53, 13 November 2025 (UTC)
::Thanks a lot! I didn't remember that a patch was already submitted and also due to {{tq|Then it'll be possible to specify searchtype=other}} in the comment maybe back then I thought it was just for this specific use case of InputBox for searching pages. Looks like that patch would close both issues, great!
::I really hope this gets reviewed soon (in the comment on Sep 17 2025 after the patch on Aug 1 2025 you wrote {{tq|The above patch is ready for review, if anyone's got time.}}).
::Could maybe people watching this page review it please? [[User:Prototyperspective|Prototyperspective]] ([[User talk:Prototyperspective|talk]]) 22:51, 13 November 2025 (UTC)
== Search phrases that go beyond the width of the search box ==
See [[w:Template talk:Talk header/Archive 13#Note about length of search box]]. Scroll up to see search boxes there.
{{tmbox|text=<div style="float:left; margin-right:7px;"><inputbox>
id=style-searchbox
width=25%
break=no
type=fulltext
placeholder=Search talk archives
searchbuttonlabel=Search
prefix={{FULLPAGENAME}}/Archive
arialabel=Search talk archives
</inputbox></div> {{nowrap|'''[[w:Help:Archiving a talk page|Archives]]''' (index): 1, 2, 3, 4, 5, 6, 7.}}{{clear}}<span style="font-size:85%;">Topics inactive beyond 6 months are archived 3 or more at a time by [[w:User:lowercase sigmabot III|lowercase sigmabot III]] if there are more than 9.</span>|image = none|35px]]}}
Concerning the Vector 2022 search box at the top of the Wikipedia [[w:Main Page]] and all Wikipedia article pages. Longer search phrases there that go beyond the width of the search box expand just below the search box. So the person entering the search phrase always sees the whole search phrase.
Can that be done somehow with the above search box? --[[User:Timeshifter|Timeshifter]] ([[User talk:Timeshifter|talk]]) 07:55, 4 January 2026 (UTC)
== style=overflow:scroll ==
See [[:en:Template:Inputbox#Examples]]
It allows style=overflow:scroll
Is this possible with <nowiki><inputbox></nowiki> search boxes?
Or can it be made possible? --[[User:Timeshifter|Timeshifter]] ([[User talk:Timeshifter|talk]]) 14:24, 14 February 2026 (UTC)
== width ==
That example of <code>width=30px</code> is like 300px on my device. What the? --[[User:魔琴|魔琴]] ([[User talk:魔琴|talk]]) 06:01, 5 May 2026 (UTC)
730t9d0dtjfl142lagk1ep1o0gk487j
Talk:XTools
1
2093290
8390448
8383842
2026-05-25T08:59:50Z
~2026-31269-27
18405928
8390448
wikitext
text/x-wiki
{{tmbox|text=This page is a feedback forum for XTools. For reporting bugs, it's preferred that you use [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=XTools Phabricator].}}
{{archives|list=
* [[Talk:XTools/Flow|Original Flow board]]
'''Flow cleanup bot exports'''
* [[/2017|2017]]
* [[/2018|2018]]
* [[/2019|2019]]
* [[/2020|2020]]
* [[/2021|2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
}}
== Old edits ()
== Support for Fandom wikis? ==
Hi, is it possible to extend this tool to Fandom wikis? I'm very active there and have been very eager to see the statistics of my edits. Thanks! [[User:Harmoniker666|Harmoniker666]] ([[User talk:Harmoniker666|talk]]) 10:24, 13 February 2025 (UTC)
:We hope to bring back third party support eventually, though it is admittedly a low priority. You can follow [[phab:T344090]] for updates. Getting it to work for Fandom however might be a real challenge. I understand they use a fork of MediaWiki and custom tailor extensions and services to work for it. The engineering team would likely need to do the same for XTools. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 14:32, 13 February 2025 (UTC)
::Thanks for replying. The link seems very technical so not sure how I should "follow" it? [[User:Harmoniker666|Harmoniker666]] ([[User talk:Harmoniker666|talk]]) 10:07, 25 February 2025 (UTC)
== Bug with blocks? ==
For a user that's indeffed at enwp since January ([https://en.wikipedia.org/wiki/Special:Log?page=User%3ATG-article&type=block][https://en.wikipedia.org/wiki/Special:Contributions/TG-article]), [https://xtools.wmcloud.org/ec/en.wikipedia.org/TG-article xtools reports] 3 blocks (instead of 5), with longest 6 days and current none. Looks as if it wasn't aware of the last two blocks. Two months seems to me to be too long to be replag's fault. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:52, 30 March 2025 (UTC)
:(Made a detailed report at [[phab:T391824]].) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:55, 14 April 2025 (UTC)
:: And for information also ended up fixing it myself. Rabbit holes... — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:17, 6 May 2025 (UTC)
== Feature Request: Edtorship over Time for any given page ==
Thank you by the way for creating XTools it's really excellent and I'm so happy that something like it exists.
Goal/Purpose: see if any specific editors were disproportionately influential as (% of edits in a year) in a page's lifetime.
Edits are already shown as a barchart by year. Perhaps a stacked bar chart (every year adds up to 100% but broken down proportionately by contributing editor). For many pages, this may be useless as there are very many editors and not single one dominating, but for some it may be interesting to see. [[User:Greengiraffe89|Greengiraffe89]] ([[User talk:Greengiraffe89|talk]]) 09:14, 11 May 2025 (UTC)
: Created [[phab:T396215|T396215]]. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:29, 6 June 2025 (UTC)
== Link to Liquid Soul ==
Link is incorrect. [[Special:Contributions/2003:CF:E73A:99B5:4574:BE18:3963:F757|2003:CF:E73A:99B5:4574:BE18:3963:F757]] 21:31, 15 May 2025 (UTC)
: Can you give precisions? — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:00, 9 June 2025 (UTC)
== Wrong move count? ==
Going by my [[:en:Special:Logs/move/CX Zoom]], I have 2068 moves, even [[:quarry:query/93856]] agrees. XTools only counts 1505. In fact, I have moved several hundreds of pages since yesterday, but my move count barely moved. I remember it was 1400-something before the moves. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:21, 21 May 2025 (UTC)
: Bug found; mw gives a different log_action for moves over redirects; we were only counting move/move as opposed to move/move_redir. Left [[phab:T396216|T396216]] and pull request that fixes. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:49, 6 June 2025 (UTC)
::Thank you for figuring it out. I hope it gets merged soon. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:59, 14 June 2025 (UTC)
::: I'm doing a lot of PRs these days; but it'll probably get deployed in at most a few releases. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:43, 14 June 2025 (UTC)
Now merged; will go out in next deployment. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:18, 15 July 2025 (UTC)
:Thank you very much! —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 20:46, 15 July 2025 (UTC)
:: (Now deployed.) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:22, 20 August 2025 (UTC)
== Time Card local time ==
In the Time Card there is a "Use local time instead of UTC" checkbox. Does it show edits in my local time or the user's local time? In the Xtools User Documentation I did not find a section for Time Card. [[User:Jay|Jay]] ([[User talk:Jay|talk]]) 02:40, 18 September 2025 (UTC)
:@[[User:Jay|Jay]] It would be ''your'' timezone. I have [[Special:Diff/7893821|updated]] the documentation to clarify this. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:54, 18 September 2025 (UTC)
== Not all assessments types are supported ==
Hello, thanks a lot for the tool, it's very useful !
There is an issue that I found though. On the "pages created" page, there is an assessment column that can hold different values (in English : stub, start, C, list, etc/in French : ébauche, BD, B, ec). The "homonymie" value that can be found on disambiguation pages on French Wikipedia (for instance [https://fr.wikipedia.org/wiki/Discussion:Michel_Terrasse here]) is not transfered to the assessment column in "pages created" (for instance [https://xtools.wmcloud.org/pages/fr.wikipedia.org/TTSolitaire?uselang=en my page] with the same disambiguation page on line 9 with "unknown" as assessment). I don't know if it is an easy fix ? But it would be helpful to know which pages are not yet evaluated and which are already evaluated. Thank you in advance for your answer ! Sincerely, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 12:36, 5 October 2025 (UTC)
: Bonjour. Ceci est du à la manière dont les modèles d'évaluation (au sens les bandeaux de PDD) de FRWP fonctionnent. Ils ne marquent une page comme ayant une certaine évaluation que si au moins un Projet est marqué. Par exemple, <source lang="wikitext" inline>{{Wikiprojet|avancement=homonymie}}</source> ne marche pas mais <source lang="wikitext" inline>{{Wikiprojet|Homonymie||avancement=homonymie}}</source> marcherait. XTools ne peut pas trouver cette évaluation, tout simplement parce que le modèle ne la rend pas accessible dans la base de données.
: Si le Projet Homonymie de FRWP n'est pas contre utiliser des choses à la <source lang="wikitext" inline>{{Wikiprojet|Homonymie|N/A|avancement=homonymie}}</source>, ça serait une solution. J'ai l'impression (au premier regard) que telle n'est pas la pratique.
: L'autre solution serait peut-être de modifier le code pour, par exemple, que sur des PDD ne possédant qu'une évaluation "Homonymie" sans projets, il mette tout de même dans la base de données un enregistrement de l'évaluation.
: Je pourrais aider à essayer d'implémenter la deuxième idée, si nécessaire. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 11:13, 20 October 2025 (UTC)
::Bonjour @[[User:Alien333|Alien333]], merci pour la réponse et pour la proposition d'aide. Je n'avais pas vu qu'une réponse avait été apportée autant pour moi. Entre temps, @[[User:Slzbg|Slzbg]] est passé (merci !) sur les évaluations des articles pour y apposer le modèle <nowiki><nowiki>{{Catégorisation homonymie pour XTools}}</nowiki></nowiki> qui résout ce problème et fait apparaître l'avancement Homonymie sur ma page XTools. L'outil existait donc déjà ! Cordialement, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 17:56, 12 December 2025 (UTC)
== Dead links on this page ==
All or most of the links titled "link" in the "User documentation" section of this page are 404. They lead to a page called "Oh noes!". [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 20:58, 31 October 2025 (UTC)
:@[[User:Jonesey95|Jonesey95]] Your browser is apparently failing the Anubis proof-of-work check that we use to filter out malicious bots. Which browser and version are using? And do you have JavaScript enabled? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 01:43, 1 November 2025 (UTC)
::Firefox 140.3.1esr on Mac OS, a totally normal browser that works everywhere. And yes, I have JavaScript enabled. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 02:38, 1 November 2025 (UTC)
:::Are you using a VPN or some other proxying service? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 04:58, 1 November 2025 (UTC)
== stats by "bytes added/removed" ==
{{tracked|T407814}}
until recently, there were two main pies - one by # of edits, and the other by bytes added/removed.
in many cases the 2nd pie was the significant one when looking for information regarding "who authored this article".
i do not see the 2nd pie now, and dearly miss it. don't know if the absence of the 2nd pie is intentional or not. if it is, i want to strongly advocate against this intention - the removed piece was the most useful one on the whole tool.
if it's unintentional, then this is my bug report. i don't know where is the right place to report bugs. is it [[phab:]] ?
peace - [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 20:42, 13 November 2025 (UTC)
:@[[User:קיפודנחש|קיפודנחש]]:
: '''tl;dr''': not intentional, collateral effect of temporary fix for another issue, sorry for the annoyance, gotta try and patch something for this sometime soon. (Ideally getting a serious fix for that other issue.) I'll try and take some time for this but I can't promise anything. (And yes, in general the right place to report bugs tends to be [[phab:tag/xtools/]], but do please try and avoid creating duplicates.)
:In a nutshell: when determining "max addition"s we rely on reverts, to not count vandalism, except due to [[phab:T389026|T389026]]/[[phab:T407814|T407814]], some of our revert stuff had to be temporarily disabled.
:More in detail: there was a schema change, in which the <code>sha1</code> field (the revision's [[w:hash function|hash]]) was moved from the <code>revision</code> table to the <code>content</code> table ([[phab:T389026|T389026]]). We use <code>sha1</code> because it lets you do revert detection: if one revision's sha1 is the same as the one a few revisions earlier, it likely means all edits in between were reverted. We didn't adapt in time to the column move {{small|could always use some participation, we got quite a stack of stuff to do and sadly I don't have much time these days (blame IRL)}}, and now the values have been removed from the <code>revision</code> table. Which meant the queries we had that tried to read <code>sha1</code>s all ended up crashing, bringing down some tools with them ([[phab:T407814|T407814]]). We commented out these parts of the queries as an emergency measure to get the time to solve it properly and get <code>sha1</code>s back. A side effect is that we're behaving as if all <code>sha1</code>s were <code>NULL</code>, aka 0. So to our code currently all revisions are the same and all edits are reverted, essentially. Given we exclude reverted edits (as likely vandalism) when counting added text, to the code no one has added text and so there's no point showing the chart.
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 21:46, 14 November 2025 (UTC)
::thank you so much!
::this is by no means "urgent", i just worried that the second pie, which i find the most useful part of this tool is gone for good.
::i can definitely wait patiently, happy to know that at some point it will be back...
::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 23:56, 14 November 2025 (UTC)
:::@[[User:Alien333|Alien333]] @[[User:MusikAnimal|MusikAnimal]] sorry to insist, but this change of removing bytes without notice is so harmful... I am managing two university projects ([[:ca:Viquiprojecte:Microbiologia_dels_aliments_UAB|Viquiprojecte:Microbiologia dels aliments UAB]] and [[:ca:Viquiprojecte:Biotecnologia_alimentària_UAB|Viquiprojecte:Biotecnologia alimentària UAB]] in the Catalan Wikipedia) and the way we evaluated our students (these are graded assignments: about 400 articles since 2017, no small thing!) was by partially checking the number of added bytes by each student in the article. Besides, they were told to check these statistics to see whether they were editing in an equilibrated way. Now, in the middle of the evaluation period, this has suddenly disappeared without any notice! How Wikipedians and educational tutors are we supposed to trust the project if suddenly we see these problems from one day to the other? '''This change has ruined my evaluation rubric in just two days and now I must count characters manually for each student by using the history page and against the clock.''' For some of us, and sorry the harsh tone, this is really urgent and annoying. Luckily I knew where to check here in Mediawiki, but what about other people affected?? Nine years volunteering on these courses that bring Wikipedia to the students so that they see that it is a great tool to participate, and the feeling is that year after year it is more difficult to trust any external tool that may help to easily grade them and use the project scholarly. [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 12:14, 17 November 2025 (UTC)
::::@[[User:Xavier Dengra|Xavier Dengra]]: XTools is a volunteer project that MA had been more or less taking care of ''alone'', for ''the last 8 years'' before I arrived last spring. We do our best. We are only volunteers that do what they can do in the little time IRL and the rest of our lives give us. It is not a question of trust. It is a question of possibility. It would be foolish to expect that that one or two guys volunteering in their evenings when they can can guarantee a permanent and unfailing service. We are only human. Contributions would be welcome: people keep complaining that we don't manage to do much, but no one ever wants to give a hand. It doesn't just all magically fix itself.
::::So yes, a) I would appreciate a less harsh tone {{small|(is the best thing you have to do ranting against unpaid volunteers that do their best?)}}, and b) wait until we get time, or fix it yourself at https://github.com/x-tools/xtools/pulls. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:04, 17 November 2025 (UTC)
:::::I get your (fair) point. But please, understand that from a plain Wikipedian point of view, the technical maintenance you never know (and it is not that obvious) whether relies on a volunteer or on the WMF. And should rather be the second one -I expect we both agree on this to some extent. The editors also (we) spend a huge amount of volunteering time as well to then see this kind of sudden changes, which sometimes are far worse than a "collateral effect". We wish that the interface was simpler so that many tools did not depend on external websites, so we could understand and help more with technical knowledge. Not the case for most of us, that we are not trained nor expert in coding... And the experience in Phabricator is that it is a 'cul-de-sac' where requests can take up to several years while the wiki interface is worsening over years. All this said, and ofc respecting your volunteering, I can only beg so that a new patch can show again, somehow, the bytes added. And that others' volunteering does not become a nightmare with the need of a calculator in the hand. Best regards, [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 17:00, 17 November 2025 (UTC)
::::::I will try to set some time aside to work on it this week. Apologies for the inconvenience! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 17:57, 17 November 2025 (UTC)
:::::::{{done}} The "Top 10 by added text" chart has been restored. That was easier to fix than I thought it'd be. [[phab:T407814]] is not fully resolved yet; We still need to give the same treatment to the [[xtools:topedits|TopEdits]] tool, but that seems less important right now so it can wait. Best, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:55, 17 November 2025 (UTC)
::::::::Thank you very much to both for the extra workload to restore it. And my sincere apologies for the 'nerves' when I saw it was gone. It is really a great help to have it available again! [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 14:34, 18 November 2025 (UTC)
== Author link is broken ==
Phabricator ticket: {{Phabricator|T410474}}
On English Wikipedia article [[:en:Water|Water]], the author links to [[:en:Drj:User:Drj|Drj:User:Drj]] instead [[:en:User:Drj|User:Drj]]. I am using Vector 2022 skin. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:56, 18 November 2025 (UTC)
:Came here to say the same. It's been happening (on all articles and drafts, AFAICT) for a few days at least.
:I also use Vector 2022, in case that's relevant. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:40, 18 November 2025 (UTC)
::Same problem in Vector 2010. I think it`s the XTool api`s problem. [[User:ChasingAir|ChasingAir]] ([[User talk:ChasingAir|talk]]) 18:23, 18 November 2025 (UTC)
:::I created {{Phabricator|T410474}} bug. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:05, 19 November 2025 (UTC)
:Seems to be fixed now. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 06:56, 19 November 2025 (UTC)
== Errors on tool? ==
Hi... https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell
It's throwing the following:
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:%2079%20-%20An%20exception%20occurred%20while%20executing%20%27SELECT%20error,%20notice,%20found,%20name_trans%20AS%20name,%20prio,%20text_trans%20AS%20explanation%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20FROM%20s51080__checkwiki_p.cw_error%20a%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20JOIN%20s51080__checkwiki_p.cw_overview_errors%20b%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHERE%20a.project%20=%20b.project%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.project%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.title%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.error%20=%20b.id%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.ok%20=%200%27%20with%20params%20[%22enwiki%22,%20%22Poisoning%20of%20Abbot%20Greenwell%22]:SQLSTATE[42S22]:%20Column%20not%20found:%201054%20Unknown%20column%20%27a.project%27%20in%20%27WHERE%27```%0A%0AURL:%20https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.22.4-43c7dc35 Phabricator] (requires a Wikimedia account).
The server said: <code>An exception occurred while executing 'SELECT error, notice, found, name_trans AS name, prio, text_trans AS explanation FROM s51080__checkwiki_p.cw_error a JOIN s51080__checkwiki_p.cw_overview_errors b WHERE a.project = b.project AND a.project = ? AND a.title = ? AND a.error = b.id AND a.ok = 0' with params ["enwiki", "Poisoning of Abbot Greenwell"]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'a.project' in 'WHERE'</code>
Thanks! [[User:Very Polite Person|Very Polite Person]] ([[User talk:Very Polite Person|talk]]) 18:24, 17 December 2025 (UTC)
:Same problem for me. [[User:FrizzB|FrizzB]] ([[User talk:FrizzB|talk]]) 19:22, 17 December 2025 (UTC)
::Looking into it! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:59, 17 December 2025 (UTC)
:::A temporary hotfix has been applied. I guess [[toolforge:checkwiki]] changed their schema. So the "Bugs" section of the Page History tool that at least partially was fed by CheckWiki is currently not working. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:03, 17 December 2025 (UTC)
== 403 Forbidden error ==
When accessing the page
https://xtools.wmcloud.org/pages/fa.wikipedia.org/persia,
I receive a 403 Forbidden error.
Why does this happen? [[user:Persia|<b style="color:#32cd32">Persia ☘</b>]] 16:42, 19 December 2025 (UTC)
:As it says on that error page,
::{{tq|For performance reasons, the requested data is only available to logged-in users.}}
:We do that for editors with many edits, because it takes more time to compile statistics about them. By requiring users to log in, we filter out a lot of the expensive traffic but still permit wikimedians to access these pages. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 17:44, 26 December 2025 (UTC)
== Error if I ask my created articles ==
Hi,
knows anybody why comes an error, if I asked my created articles (de).
[[xtools:pages/de.wikipedia.org/karlderkahle|Error - XTools]]
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/src/Twig/AppExtension.php:%20453%20-%20App\Twig\AppExtension::numberFormat():%20Argument%20#1%20($number)%20must%20be%20of%20type%20int|float,%20null%20given,%20called%20in%20/var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php%20on%20line%20278%60%60%60%0A%0AURL:%20https://xtools.wmcloud.org/pages/de.wikipedia.org/karlderkahle%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.23.0-769d34fe Phabricator] (requires a Wikimedia account).
The server said: <code>App\Twig\AppExtension::numberFormat(): Argument #1 ($number) must be of type int|float, null given, called in /var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php on line 278</code>
Thanks Karlderkahle [[User:Karlderkahle|Karlderkahle]] ([[User talk:Karlderkahle|talk]]) 11:13, 3 January 2026 (UTC)
:{{tick}} '''Fixed''' (fix should be deployed at around 18:30 UTC). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:22, 3 January 2026 (UTC)
::Thanks @[[User:Alien333|Alien333]] for the quick fix :) I wonder why we didn't get an email about this error… I feel like a lot of errors are getting suppressed! The [https://github.com/x-tools/xtools/blob/main/config/packages/prod/monolog.yaml monolog config] might need to be adjusted, or it could be an issue with the [https://github.com/x-tools/xtools/blob/main/src/EventSubscriber/ExceptionListener.php exception listener]. I suspect perhaps with the Symfony 6 upgrade, the [https://github.com/x-tools/xtools/blob/e911430e23468313b8e4de2267057a5d8d01a0f8/src/EventSubscriber/ExceptionListener.php#L112 Twig errors] aren't being handled properly. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:57, 3 January 2026 (UTC)
== authorship script throws error: Wikiwho API: Unknown ==
If I go to https://xtools.wmcloud.org/authorship/de.wikipedia.org/Wikipedia?uselang=en, i get the message:
* "Error querying Wikiwho API: Unknown"
-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 22:46, 7 January 2026 (UTC)
:The [[WikiWho]] service went down due to low disk space. I happened to find time to take care of it, so I think we're okay for now. CC @[[User:Alien333|Alien333]] who is taking over tending to XTools while I'm on sabbatical. If you run into such issues with [[xtools:authorship]] or [[xtools:blame]], refer to the point-persons for [[WikiWho]] as listed at [[phab:E1926]].
:To @[[User:Ragesoss|Ragesoss]] @[[User:TheresNoTime|TheresNoTime]] (who have [[toolforge:openstack-browser/project/wikiwho|server access]]): The above report was about disk space on <code>wikiwho01</code> itself (not the pickle storage). I deleted some old logs, reduced log rotation to every 3 days instead of 7. ''However'', I noticed the main <code>pickles</code> volume is now '''99% full'''! I am on sabbatical/wikibreak until March 1. I can ''try'' to help in the next week if you ''really'' need me, but if either of you could please try to reserve time for [[phab:T407660]] in the near future, that'd prevent a lot of users from becoming very unhappy :) I apologize for not tending to this before going on my break. If you need to reach me, [[Special:EmailUser/MusikAnimal]] is the preferred way, as I'm not checking the wikis much. I can also hop on IRC if requested. Thanks in advance! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 23:45, 8 January 2026 (UTC)
::Thanks @[[User:MusikAnimal|MusikAnimal]]! I will give it a go either tomorrow or early next week. Worst case scenario, we can just delete some of the pickles that haven't been touched in a while as a stopgap. (Any that get requested would get rebuilt on-demand, so it shouldn't cause much problems for end-users.) [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 00:08, 9 January 2026 (UTC)
::Thanks a lot! :-)
::-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 07:57, 9 January 2026 (UTC)
== Number of edits in that size change interval, in bytes* (>10kb) ==
Number of edits in that size change interval, in bytes* (>10kb)
The bar chart can be dynamically changed, or more detailed bar charts can be added. This bar chart can only display up to 10kb, but since almost all of my edits are larger than 10kb, this bar chart displays almost no information. I don't know how many edits are 10kb, 20kb, 30kb, 100kb, 200kb, 600kb, or 800kb. [[User:Gedu11539381|Gedu11539381]] ([[User talk:Gedu11539381|talk]]) 19:24, 21 January 2026 (UTC)
:Hello. That's tracked at [[phab:T394606]].
:The main issue would be: How would users input what they want? We can't vary all parameters. The way it currently works is doing 10 * powers of 2. We could make that 10 vary possibly. But I'm unsure how on the user interface side we could say this in an understandable way.
:Suggestions are of course welcome (especially given you have the user-facing perspective I don't necessarily have).
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:18, 22 January 2026 (UTC)
== Support for edit counts over 1,000,000 ==
Is there a reason that edit counts over 1,000,000 are not supported? That seems like a surprisingly low threshold that could be raised at this time? [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 20:01, 18 February 2026 (UTC)
:(Calling 1M "a surprisingly low threshold" is certainly a well... original perspective knowing there are a mere 18 people on enwiki (the largest wiki) that are above it? A million edits is a rather absurd number.)
:Users with many edits make for long-running queries which slow down the service. (These can take like more than 15 minutes.)
:We do keep in mind the eventual possibility of raising the limits and have been discussing it (more or less) lately (esp. in the light of having gotten rid of most of our crawler problems). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:52, 7 March 2026 (UTC)
::{{ping|Alien333}} forgive me, first for taking so long to return to this thread... but also for my statement that it was surprisingly low threshold. I should say ''surprising to me'', which obviously conveys my lack of understanding of the service and how it works. Full disclosure I am rapidly approaching the 1,000,000 mark and will be sad to no longer be able to see my stats on Xtools as those are always entertaining to see.
::Wondering if there is a middle ground here that is more technically feasible? For example, allowing for viewing ''more'' of the stats for those over 1 million, while also not generating the full stats that are shown for those under 1 million? I.E. expanding the so called "simple counter"? Even if just the General Statistics section could be retained that would be awesome. That being said, I do respect that asking for a huge feature that ('''at the moment''') would only help under 2 dozen editors is probably not a high priority! [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 03:24, 3 May 2026 (UTC)
::: There are multiple things we could try to deal with these situations, of which [[phab:T182182]] is probably the most easily doable one, but I'd be lying if I said we're going to deal with it soon.<br> Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:26, 3 May 2026 (UTC)
::::Well I hope one day it is ''fixed'' but totally understand it isn't a priority, [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 15:57, 3 May 2026 (UTC)
== Bug in xtools/blame ==
I get the Error „Error querying Wikiwho API: Unknown“ in xtools/blame. Can you help, please? --[[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 13:49, 14 March 2026 (UTC)
:Fixed now. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:16, 14 March 2026 (UTC)
::Thanks! [[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 22:43, 14 March 2026 (UTC)
== Average edit size ==
Is it possible to get a list of editors by Average edit size? (E.g. on wikipedia)
To track deletions over time?
I'm curious how extraordinary an editor's deletion streak is.
They have a large negative average edit size.
FYI @[[User:Voorts|Voorts]] may interest you. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 00:21, 26 March 2026 (UTC)
:Well, making a list doesn't look like a job for XTools? That would mean a very long-running query and checking every single editor everywhere seems infeasible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 15:48, 28 March 2026 (UTC)
::Thanks. Maybe I'm asking in the wrong place. Any ideas on where to ask, anyone?
::Agree-doesn't make sense as something that is run on demand. But it does as something run periodically; we have other stats like that being maintained, IIRC. I asked here because Xtools does display Average edit size. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:26, 28 March 2026 (UTC)
::Yeah, https://stats.wikimedia.org/#/en.wikipedia.org/contributing/top-editors/normal|table|last-month|~total|monthly is top editors. Top deleters would be similar and close to what I'm interested in.
::I asked at [[Talk:Statistics#Looking_for_Average_edit_size_or_top_deleters_stats]]. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:37, 28 March 2026 (UTC)
:::Could be done through eg through [[quarry:]] if you have some SQL knowledge, but I haven't tried. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:26, 28 March 2026 (UTC)
::::Thanks again.
::::https://quarry.wmcloud.org/query/80687 looks like a start. + https://quarry.wmcloud.org/query/87216 turns #s into editor names. Beyond me at the moment, maybe I'll try AI as suggested at [[Talk:Quarry]]. Not today. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 01:32, 29 March 2026 (UTC)
== Feature request : show the complete list of most viewed articles from a user ==
Hello, I would love to have an option to see the exhaustive list a user's articles sorted by numbers of views. Right now the only thing like this is the "your impact" box on my wikipedia profile but it only shows me the top 5. Do you think it would be possible ? Thank you for Xtools ! [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 12:09, 17 April 2026 (UTC)
:Well, I was about to say we couldn't, but there ''is'' [[m:Pageviews Analysis#Massviews|massviews]]. We'll look into it. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 09:57, 26 April 2026 (UTC)
::Thanks ! I'll look forward to it [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 11:01, 26 April 2026 (UTC)
::: I'm sorry, but looking into it closer massviews is too slow for us to use it for this purpose. So in the end it won't be possible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:30, 3 May 2026 (UTC)
:@[[User:TyranCometh|TyranCometh]] Try [https://pageviews.wmcloud.org/userviews/ Userviews] :) I do agree with @[[User:Alien333|Alien333]] though that it isn't appropriate for XTools. If this was asked for a year ago, I'd say it would be fine, but with the new API limits it'll slow down the tool considerably. Better to have a dedicated tool for it where we know the user wants pageviews and is willing to wait. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 00:47, 9 May 2026 (UTC)
m8g4uz7ao7ursm3f2ni2hezsy0b1qy8
8390452
8390448
2026-05-25T09:05:39Z
~2026-31269-27
18405928
/* Support for Fandom wikis? */
8390452
wikitext
text/x-wiki
{{tmbox|text=This page is a feedback forum for XTools. For reporting bugs, it's preferred that you use [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=XTools Phabricator].}}
{{archives|list=
* [[Talk:XTools/Flow|Original Flow board]]
'''Flow cleanup bot exports'''
* [[/2017|2017]]
* [[/2018|2018]]
* [[/2019|2019]]
* [[/2020|2020]]
* [[/2021|2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
}}
== Old edits ()
== Support for Fandom wikis? ==
Hi, is it possible to extend this tool to it is admittedly a low priority. You can follow [[phab:T3440)
== Bug with blocks? ==
For a user that's indeffed at enwp since January ([https://en.wikipedia.org/wiki/Special:Log?page=User%3ATG-article&type=block][https://en.wikipedia.org/wiki/Special:Contributions/TG-article]), [https://xtools.wmcloud.org/ec/en.wikipedia.org/TG-article xtools reports] 3 blocks (instead of 5), with longest 6 days and current none. Looks as if it wasn't aware of the last two blocks. Two months seems to me to be too long to be replag's fault. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:52, 30 March 2025 (UTC)
:(Made a detailed report at [[phab:T391824]].) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:55, 14 April 2025 (UTC)
:: And for information also ended up fixing it myself. Rabbit holes... — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:17, 6 May 2025 (UTC)
== Feature Request: Edtorship over Time for any given page ==
Thank you by the way for creating XTools it's really excellent and I'm so happy that something like it exists.
Goal/Purpose: see if any specific editors were disproportionately influential as (% of edits in a year) in a page's lifetime.
Edits are already shown as a barchart by year. Perhaps a stacked bar chart (every year adds up to 100% but broken down proportionately by contributing editor). For many pages, this may be useless as there are very many editors and not single one dominating, but for some it may be interesting to see. [[User:Greengiraffe89|Greengiraffe89]] ([[User talk:Greengiraffe89|talk]]) 09:14, 11 May 2025 (UTC)
: Created [[phab:T396215|T396215]]. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:29, 6 June 2025 (UTC)
== Link to Liquid Soul ==
Link is incorrect. [[Special:Contributions/2003:CF:E73A:99B5:4574:BE18:3963:F757|2003:CF:E73A:99B5:4574:BE18:3963:F757]] 21:31, 15 May 2025 (UTC)
: Can you give precisions? — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:00, 9 June 2025 (UTC)
== Wrong move count? ==
Going by my [[:en:Special:Logs/move/CX Zoom]], I have 2068 moves, even [[:quarry:query/93856]] agrees. XTools only counts 1505. In fact, I have moved several hundreds of pages since yesterday, but my move count barely moved. I remember it was 1400-something before the moves. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:21, 21 May 2025 (UTC)
: Bug found; mw gives a different log_action for moves over redirects; we were only counting move/move as opposed to move/move_redir. Left [[phab:T396216|T396216]] and pull request that fixes. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:49, 6 June 2025 (UTC)
::Thank you for figuring it out. I hope it gets merged soon. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:59, 14 June 2025 (UTC)
::: I'm doing a lot of PRs these days; but it'll probably get deployed in at most a few releases. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:43, 14 June 2025 (UTC)
Now merged; will go out in next deployment. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:18, 15 July 2025 (UTC)
:Thank you very much! —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 20:46, 15 July 2025 (UTC)
:: (Now deployed.) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:22, 20 August 2025 (UTC)
== Time Card local time ==
In the Time Card there is a "Use local time instead of UTC" checkbox. Does it show edits in my local time or the user's local time? In the Xtools User Documentation I did not find a section for Time Card. [[User:Jay|Jay]] ([[User talk:Jay|talk]]) 02:40, 18 September 2025 (UTC)
:@[[User:Jay|Jay]] It would be ''your'' timezone. I have [[Special:Diff/7893821|updated]] the documentation to clarify this. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:54, 18 September 2025 (UTC)
== Not all assessments types are supported ==
Hello, thanks a lot for the tool, it's very useful !
There is an issue that I found though. On the "pages created" page, there is an assessment column that can hold different values (in English : stub, start, C, list, etc/in French : ébauche, BD, B, ec). The "homonymie" value that can be found on disambiguation pages on French Wikipedia (for instance [https://fr.wikipedia.org/wiki/Discussion:Michel_Terrasse here]) is not transfered to the assessment column in "pages created" (for instance [https://xtools.wmcloud.org/pages/fr.wikipedia.org/TTSolitaire?uselang=en my page] with the same disambiguation page on line 9 with "unknown" as assessment). I don't know if it is an easy fix ? But it would be helpful to know which pages are not yet evaluated and which are already evaluated. Thank you in advance for your answer ! Sincerely, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 12:36, 5 October 2025 (UTC)
: Bonjour. Ceci est du à la manière dont les modèles d'évaluation (au sens les bandeaux de PDD) de FRWP fonctionnent. Ils ne marquent une page comme ayant une certaine évaluation que si au moins un Projet est marqué. Par exemple, <source lang="wikitext" inline>{{Wikiprojet|avancement=homonymie}}</source> ne marche pas mais <source lang="wikitext" inline>{{Wikiprojet|Homonymie||avancement=homonymie}}</source> marcherait. XTools ne peut pas trouver cette évaluation, tout simplement parce que le modèle ne la rend pas accessible dans la base de données.
: Si le Projet Homonymie de FRWP n'est pas contre utiliser des choses à la <source lang="wikitext" inline>{{Wikiprojet|Homonymie|N/A|avancement=homonymie}}</source>, ça serait une solution. J'ai l'impression (au premier regard) que telle n'est pas la pratique.
: L'autre solution serait peut-être de modifier le code pour, par exemple, que sur des PDD ne possédant qu'une évaluation "Homonymie" sans projets, il mette tout de même dans la base de données un enregistrement de l'évaluation.
: Je pourrais aider à essayer d'implémenter la deuxième idée, si nécessaire. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 11:13, 20 October 2025 (UTC)
::Bonjour @[[User:Alien333|Alien333]], merci pour la réponse et pour la proposition d'aide. Je n'avais pas vu qu'une réponse avait été apportée autant pour moi. Entre temps, @[[User:Slzbg|Slzbg]] est passé (merci !) sur les évaluations des articles pour y apposer le modèle <nowiki><nowiki>{{Catégorisation homonymie pour XTools}}</nowiki></nowiki> qui résout ce problème et fait apparaître l'avancement Homonymie sur ma page XTools. L'outil existait donc déjà ! Cordialement, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 17:56, 12 December 2025 (UTC)
== Dead links on this page ==
All or most of the links titled "link" in the "User documentation" section of this page are 404. They lead to a page called "Oh noes!". [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 20:58, 31 October 2025 (UTC)
:@[[User:Jonesey95|Jonesey95]] Your browser is apparently failing the Anubis proof-of-work check that we use to filter out malicious bots. Which browser and version are using? And do you have JavaScript enabled? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 01:43, 1 November 2025 (UTC)
::Firefox 140.3.1esr on Mac OS, a totally normal browser that works everywhere. And yes, I have JavaScript enabled. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 02:38, 1 November 2025 (UTC)
:::Are you using a VPN or some other proxying service? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 04:58, 1 November 2025 (UTC)
== stats by "bytes added/removed" ==
{{tracked|T407814}}
until recently, there were two main pies - one by # of edits, and the other by bytes added/removed.
in many cases the 2nd pie was the significant one when looking for information regarding "who authored this article".
i do not see the 2nd pie now, and dearly miss it. don't know if the absence of the 2nd pie is intentional or not. if it is, i want to strongly advocate against this intention - the removed piece was the most useful one on the whole tool.
if it's unintentional, then this is my bug report. i don't know where is the right place to report bugs. is it [[phab:]] ?
peace - [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 20:42, 13 November 2025 (UTC)
:@[[User:קיפודנחש|קיפודנחש]]:
: '''tl;dr''': not intentional, collateral effect of temporary fix for another issue, sorry for the annoyance, gotta try and patch something for this sometime soon. (Ideally getting a serious fix for that other issue.) I'll try and take some time for this but I can't promise anything. (And yes, in general the right place to report bugs tends to be [[phab:tag/xtools/]], but do please try and avoid creating duplicates.)
:In a nutshell: when determining "max addition"s we rely on reverts, to not count vandalism, except due to [[phab:T389026|T389026]]/[[phab:T407814|T407814]], some of our revert stuff had to be temporarily disabled.
:More in detail: there was a schema change, in which the <code>sha1</code> field (the revision's [[w:hash function|hash]]) was moved from the <code>revision</code> table to the <code>content</code> table ([[phab:T389026|T389026]]). We use <code>sha1</code> because it lets you do revert detection: if one revision's sha1 is the same as the one a few revisions earlier, it likely means all edits in between were reverted. We didn't adapt in time to the column move {{small|could always use some participation, we got quite a stack of stuff to do and sadly I don't have much time these days (blame IRL)}}, and now the values have been removed from the <code>revision</code> table. Which meant the queries we had that tried to read <code>sha1</code>s all ended up crashing, bringing down some tools with them ([[phab:T407814|T407814]]). We commented out these parts of the queries as an emergency measure to get the time to solve it properly and get <code>sha1</code>s back. A side effect is that we're behaving as if all <code>sha1</code>s were <code>NULL</code>, aka 0. So to our code currently all revisions are the same and all edits are reverted, essentially. Given we exclude reverted edits (as likely vandalism) when counting added text, to the code no one has added text and so there's no point showing the chart.
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 21:46, 14 November 2025 (UTC)
::thank you so much!
::this is by no means "urgent", i just worried that the second pie, which i find the most useful part of this tool is gone for good.
::i can definitely wait patiently, happy to know that at some point it will be back...
::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 23:56, 14 November 2025 (UTC)
:::@[[User:Alien333|Alien333]] @[[User:MusikAnimal|MusikAnimal]] sorry to insist, but this change of removing bytes without notice is so harmful... I am managing two university projects ([[:ca:Viquiprojecte:Microbiologia_dels_aliments_UAB|Viquiprojecte:Microbiologia dels aliments UAB]] and [[:ca:Viquiprojecte:Biotecnologia_alimentària_UAB|Viquiprojecte:Biotecnologia alimentària UAB]] in the Catalan Wikipedia) and the way we evaluated our students (these are graded assignments: about 400 articles since 2017, no small thing!) was by partially checking the number of added bytes by each student in the article. Besides, they were told to check these statistics to see whether they were editing in an equilibrated way. Now, in the middle of the evaluation period, this has suddenly disappeared without any notice! How Wikipedians and educational tutors are we supposed to trust the project if suddenly we see these problems from one day to the other? '''This change has ruined my evaluation rubric in just two days and now I must count characters manually for each student by using the history page and against the clock.''' For some of us, and sorry the harsh tone, this is really urgent and annoying. Luckily I knew where to check here in Mediawiki, but what about other people affected?? Nine years volunteering on these courses that bring Wikipedia to the students so that they see that it is a great tool to participate, and the feeling is that year after year it is more difficult to trust any external tool that may help to easily grade them and use the project scholarly. [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 12:14, 17 November 2025 (UTC)
::::@[[User:Xavier Dengra|Xavier Dengra]]: XTools is a volunteer project that MA had been more or less taking care of ''alone'', for ''the last 8 years'' before I arrived last spring. We do our best. We are only volunteers that do what they can do in the little time IRL and the rest of our lives give us. It is not a question of trust. It is a question of possibility. It would be foolish to expect that that one or two guys volunteering in their evenings when they can can guarantee a permanent and unfailing service. We are only human. Contributions would be welcome: people keep complaining that we don't manage to do much, but no one ever wants to give a hand. It doesn't just all magically fix itself.
::::So yes, a) I would appreciate a less harsh tone {{small|(is the best thing you have to do ranting against unpaid volunteers that do their best?)}}, and b) wait until we get time, or fix it yourself at https://github.com/x-tools/xtools/pulls. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:04, 17 November 2025 (UTC)
:::::I get your (fair) point. But please, understand that from a plain Wikipedian point of view, the technical maintenance you never know (and it is not that obvious) whether relies on a volunteer or on the WMF. And should rather be the second one -I expect we both agree on this to some extent. The editors also (we) spend a huge amount of volunteering time as well to then see this kind of sudden changes, which sometimes are far worse than a "collateral effect". We wish that the interface was simpler so that many tools did not depend on external websites, so we could understand and help more with technical knowledge. Not the case for most of us, that we are not trained nor expert in coding... And the experience in Phabricator is that it is a 'cul-de-sac' where requests can take up to several years while the wiki interface is worsening over years. All this said, and ofc respecting your volunteering, I can only beg so that a new patch can show again, somehow, the bytes added. And that others' volunteering does not become a nightmare with the need of a calculator in the hand. Best regards, [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 17:00, 17 November 2025 (UTC)
::::::I will try to set some time aside to work on it this week. Apologies for the inconvenience! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 17:57, 17 November 2025 (UTC)
:::::::{{done}} The "Top 10 by added text" chart has been restored. That was easier to fix than I thought it'd be. [[phab:T407814]] is not fully resolved yet; We still need to give the same treatment to the [[xtools:topedits|TopEdits]] tool, but that seems less important right now so it can wait. Best, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:55, 17 November 2025 (UTC)
::::::::Thank you very much to both for the extra workload to restore it. And my sincere apologies for the 'nerves' when I saw it was gone. It is really a great help to have it available again! [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 14:34, 18 November 2025 (UTC)
== Author link is broken ==
Phabricator ticket: {{Phabricator|T410474}}
On English Wikipedia article [[:en:Water|Water]], the author links to [[:en:Drj:User:Drj|Drj:User:Drj]] instead [[:en:User:Drj|User:Drj]]. I am using Vector 2022 skin. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:56, 18 November 2025 (UTC)
:Came here to say the same. It's been happening (on all articles and drafts, AFAICT) for a few days at least.
:I also use Vector 2022, in case that's relevant. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:40, 18 November 2025 (UTC)
::Same problem in Vector 2010. I think it`s the XTool api`s problem. [[User:ChasingAir|ChasingAir]] ([[User talk:ChasingAir|talk]]) 18:23, 18 November 2025 (UTC)
:::I created {{Phabricator|T410474}} bug. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:05, 19 November 2025 (UTC)
:Seems to be fixed now. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 06:56, 19 November 2025 (UTC)
== Errors on tool? ==
Hi... https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell
It's throwing the following:
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:%2079%20-%20An%20exception%20occurred%20while%20executing%20%27SELECT%20error,%20notice,%20found,%20name_trans%20AS%20name,%20prio,%20text_trans%20AS%20explanation%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20FROM%20s51080__checkwiki_p.cw_error%20a%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20JOIN%20s51080__checkwiki_p.cw_overview_errors%20b%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHERE%20a.project%20=%20b.project%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.project%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.title%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.error%20=%20b.id%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.ok%20=%200%27%20with%20params%20[%22enwiki%22,%20%22Poisoning%20of%20Abbot%20Greenwell%22]:SQLSTATE[42S22]:%20Column%20not%20found:%201054%20Unknown%20column%20%27a.project%27%20in%20%27WHERE%27```%0A%0AURL:%20https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.22.4-43c7dc35 Phabricator] (requires a Wikimedia account).
The server said: <code>An exception occurred while executing 'SELECT error, notice, found, name_trans AS name, prio, text_trans AS explanation FROM s51080__checkwiki_p.cw_error a JOIN s51080__checkwiki_p.cw_overview_errors b WHERE a.project = b.project AND a.project = ? AND a.title = ? AND a.error = b.id AND a.ok = 0' with params ["enwiki", "Poisoning of Abbot Greenwell"]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'a.project' in 'WHERE'</code>
Thanks! [[User:Very Polite Person|Very Polite Person]] ([[User talk:Very Polite Person|talk]]) 18:24, 17 December 2025 (UTC)
:Same problem for me. [[User:FrizzB|FrizzB]] ([[User talk:FrizzB|talk]]) 19:22, 17 December 2025 (UTC)
::Looking into it! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:59, 17 December 2025 (UTC)
:::A temporary hotfix has been applied. I guess [[toolforge:checkwiki]] changed their schema. So the "Bugs" section of the Page History tool that at least partially was fed by CheckWiki is currently not working. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:03, 17 December 2025 (UTC)
== 403 Forbidden error ==
When accessing the page
https://xtools.wmcloud.org/pages/fa.wikipedia.org/persia,
I receive a 403 Forbidden error.
Why does this happen? [[user:Persia|<b style="color:#32cd32">Persia ☘</b>]] 16:42, 19 December 2025 (UTC)
:As it says on that error page,
::{{tq|For performance reasons, the requested data is only available to logged-in users.}}
:We do that for editors with many edits, because it takes more time to compile statistics about them. By requiring users to log in, we filter out a lot of the expensive traffic but still permit wikimedians to access these pages. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 17:44, 26 December 2025 (UTC)
== Error if I ask my created articles ==
Hi,
knows anybody why comes an error, if I asked my created articles (de).
[[xtools:pages/de.wikipedia.org/karlderkahle|Error - XTools]]
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/src/Twig/AppExtension.php:%20453%20-%20App\Twig\AppExtension::numberFormat():%20Argument%20#1%20($number)%20must%20be%20of%20type%20int|float,%20null%20given,%20called%20in%20/var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php%20on%20line%20278%60%60%60%0A%0AURL:%20https://xtools.wmcloud.org/pages/de.wikipedia.org/karlderkahle%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.23.0-769d34fe Phabricator] (requires a Wikimedia account).
The server said: <code>App\Twig\AppExtension::numberFormat(): Argument #1 ($number) must be of type int|float, null given, called in /var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php on line 278</code>
Thanks Karlderkahle [[User:Karlderkahle|Karlderkahle]] ([[User talk:Karlderkahle|talk]]) 11:13, 3 January 2026 (UTC)
:{{tick}} '''Fixed''' (fix should be deployed at around 18:30 UTC). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:22, 3 January 2026 (UTC)
::Thanks @[[User:Alien333|Alien333]] for the quick fix :) I wonder why we didn't get an email about this error… I feel like a lot of errors are getting suppressed! The [https://github.com/x-tools/xtools/blob/main/config/packages/prod/monolog.yaml monolog config] might need to be adjusted, or it could be an issue with the [https://github.com/x-tools/xtools/blob/main/src/EventSubscriber/ExceptionListener.php exception listener]. I suspect perhaps with the Symfony 6 upgrade, the [https://github.com/x-tools/xtools/blob/e911430e23468313b8e4de2267057a5d8d01a0f8/src/EventSubscriber/ExceptionListener.php#L112 Twig errors] aren't being handled properly. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:57, 3 January 2026 (UTC)
== authorship script throws error: Wikiwho API: Unknown ==
If I go to https://xtools.wmcloud.org/authorship/de.wikipedia.org/Wikipedia?uselang=en, i get the message:
* "Error querying Wikiwho API: Unknown"
-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 22:46, 7 January 2026 (UTC)
:The [[WikiWho]] service went down due to low disk space. I happened to find time to take care of it, so I think we're okay for now. CC @[[User:Alien333|Alien333]] who is taking over tending to XTools while I'm on sabbatical. If you run into such issues with [[xtools:authorship]] or [[xtools:blame]], refer to the point-persons for [[WikiWho]] as listed at [[phab:E1926]].
:To @[[User:Ragesoss|Ragesoss]] @[[User:TheresNoTime|TheresNoTime]] (who have [[toolforge:openstack-browser/project/wikiwho|server access]]): The above report was about disk space on <code>wikiwho01</code> itself (not the pickle storage). I deleted some old logs, reduced log rotation to every 3 days instead of 7. ''However'', I noticed the main <code>pickles</code> volume is now '''99% full'''! I am on sabbatical/wikibreak until March 1. I can ''try'' to help in the next week if you ''really'' need me, but if either of you could please try to reserve time for [[phab:T407660]] in the near future, that'd prevent a lot of users from becoming very unhappy :) I apologize for not tending to this before going on my break. If you need to reach me, [[Special:EmailUser/MusikAnimal]] is the preferred way, as I'm not checking the wikis much. I can also hop on IRC if requested. Thanks in advance! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 23:45, 8 January 2026 (UTC)
::Thanks @[[User:MusikAnimal|MusikAnimal]]! I will give it a go either tomorrow or early next week. Worst case scenario, we can just delete some of the pickles that haven't been touched in a while as a stopgap. (Any that get requested would get rebuilt on-demand, so it shouldn't cause much problems for end-users.) [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 00:08, 9 January 2026 (UTC)
::Thanks a lot! :-)
::-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 07:57, 9 January 2026 (UTC)
== Number of edits in that size change interval, in bytes* (>10kb) ==
Number of edits in that size change interval, in bytes* (>10kb)
The bar chart can be dynamically changed, or more detailed bar charts can be added. This bar chart can only display up to 10kb, but since almost all of my edits are larger than 10kb, this bar chart displays almost no information. I don't know how many edits are 10kb, 20kb, 30kb, 100kb, 200kb, 600kb, or 800kb. [[User:Gedu11539381|Gedu11539381]] ([[User talk:Gedu11539381|talk]]) 19:24, 21 January 2026 (UTC)
:Hello. That's tracked at [[phab:T394606]].
:The main issue would be: How would users input what they want? We can't vary all parameters. The way it currently works is doing 10 * powers of 2. We could make that 10 vary possibly. But I'm unsure how on the user interface side we could say this in an understandable way.
:Suggestions are of course welcome (especially given you have the user-facing perspective I don't necessarily have).
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:18, 22 January 2026 (UTC)
== Support for edit counts over 1,000,000 ==
Is there a reason that edit counts over 1,000,000 are not supported? That seems like a surprisingly low threshold that could be raised at this time? [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 20:01, 18 February 2026 (UTC)
:(Calling 1M "a surprisingly low threshold" is certainly a well... original perspective knowing there are a mere 18 people on enwiki (the largest wiki) that are above it? A million edits is a rather absurd number.)
:Users with many edits make for long-running queries which slow down the service. (These can take like more than 15 minutes.)
:We do keep in mind the eventual possibility of raising the limits and have been discussing it (more or less) lately (esp. in the light of having gotten rid of most of our crawler problems). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:52, 7 March 2026 (UTC)
::{{ping|Alien333}} forgive me, first for taking so long to return to this thread... but also for my statement that it was surprisingly low threshold. I should say ''surprising to me'', which obviously conveys my lack of understanding of the service and how it works. Full disclosure I am rapidly approaching the 1,000,000 mark and will be sad to no longer be able to see my stats on Xtools as those are always entertaining to see.
::Wondering if there is a middle ground here that is more technically feasible? For example, allowing for viewing ''more'' of the stats for those over 1 million, while also not generating the full stats that are shown for those under 1 million? I.E. expanding the so called "simple counter"? Even if just the General Statistics section could be retained that would be awesome. That being said, I do respect that asking for a huge feature that ('''at the moment''') would only help under 2 dozen editors is probably not a high priority! [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 03:24, 3 May 2026 (UTC)
::: There are multiple things we could try to deal with these situations, of which [[phab:T182182]] is probably the most easily doable one, but I'd be lying if I said we're going to deal with it soon.<br> Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:26, 3 May 2026 (UTC)
::::Well I hope one day it is ''fixed'' but totally understand it isn't a priority, [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 15:57, 3 May 2026 (UTC)
== Bug in xtools/blame ==
I get the Error „Error querying Wikiwho API: Unknown“ in xtools/blame. Can you help, please? --[[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 13:49, 14 March 2026 (UTC)
:Fixed now. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:16, 14 March 2026 (UTC)
::Thanks! [[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 22:43, 14 March 2026 (UTC)
== Average edit size ==
Is it possible to get a list of editors by Average edit size? (E.g. on wikipedia)
To track deletions over time?
I'm curious how extraordinary an editor's deletion streak is.
They have a large negative average edit size.
FYI @[[User:Voorts|Voorts]] may interest you. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 00:21, 26 March 2026 (UTC)
:Well, making a list doesn't look like a job for XTools? That would mean a very long-running query and checking every single editor everywhere seems infeasible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 15:48, 28 March 2026 (UTC)
::Thanks. Maybe I'm asking in the wrong place. Any ideas on where to ask, anyone?
::Agree-doesn't make sense as something that is run on demand. But it does as something run periodically; we have other stats like that being maintained, IIRC. I asked here because Xtools does display Average edit size. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:26, 28 March 2026 (UTC)
::Yeah, https://stats.wikimedia.org/#/en.wikipedia.org/contributing/top-editors/normal|table|last-month|~total|monthly is top editors. Top deleters would be similar and close to what I'm interested in.
::I asked at [[Talk:Statistics#Looking_for_Average_edit_size_or_top_deleters_stats]]. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:37, 28 March 2026 (UTC)
:::Could be done through eg through [[quarry:]] if you have some SQL knowledge, but I haven't tried. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:26, 28 March 2026 (UTC)
::::Thanks again.
::::https://quarry.wmcloud.org/query/80687 looks like a start. + https://quarry.wmcloud.org/query/87216 turns #s into editor names. Beyond me at the moment, maybe I'll try AI as suggested at [[Talk:Quarry]]. Not today. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 01:32, 29 March 2026 (UTC)
== Feature request : show the complete list of most viewed articles from a user ==
Hello, I would love to have an option to see the exhaustive list a user's articles sorted by numbers of views. Right now the only thing like this is the "your impact" box on my wikipedia profile but it only shows me the top 5. Do you think it would be possible ? Thank you for Xtools ! [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 12:09, 17 April 2026 (UTC)
:Well, I was about to say we couldn't, but there ''is'' [[m:Pageviews Analysis#Massviews|massviews]]. We'll look into it. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 09:57, 26 April 2026 (UTC)
::Thanks ! I'll look forward to it [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 11:01, 26 April 2026 (UTC)
::: I'm sorry, but looking into it closer massviews is too slow for us to use it for this purpose. So in the end it won't be possible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:30, 3 May 2026 (UTC)
:@[[User:TyranCometh|TyranCometh]] Try [https://pageviews.wmcloud.org/userviews/ Userviews] :) I do agree with @[[User:Alien333|Alien333]] though that it isn't appropriate for XTools. If this was asked for a year ago, I'd say it would be fine, but with the new API limits it'll slow down the tool considerably. Better to have a dedicated tool for it where we know the user wants pageviews and is willing to wait. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 00:47, 9 May 2026 (UTC)
99bp0fnklin41b9d9ho0x96cqcbenck
8390497
8390452
2026-05-25T10:19:44Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31269-27|~2026-31269-27]] ([[User talk:~2026-31269-27|talk]]) to last version by Clump
8383842
wikitext
text/x-wiki
{{tmbox|text=This page is a feedback forum for XTools. For reporting bugs, it's preferred that you use [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=XTools Phabricator].}}
{{archives|list=
* [[Talk:XTools/Flow|Original Flow board]]
'''Flow cleanup bot exports'''
* [[/2017|2017]]
* [[/2018|2018]]
* [[/2019|2019]]
* [[/2020|2020]]
* [[/2021|2021]]
* [[/2022|2022]]
* [[/2023|2023]]
* [[/2024|2024]]
}}
== Old edits (DE:WP) ==
Hi, I'm astonished how far back this finds information:
https://xtools.wmcloud.org/ec/de.wikipedia/Heribert3?uselang=de
I'd like to search in my contributions history in DE:WP about '''Higgs''' years ago, but no hit. Any hints, please? [[User:Heribert3|Heribert3]] ([[User talk:Heribert3|talk]]) 03:35, 25 December 2024 (UTC)
== Support for Fandom wikis? ==
Hi, is it possible to extend this tool to Fandom wikis? I'm very active there and have been very eager to see the statistics of my edits. Thanks! [[User:Harmoniker666|Harmoniker666]] ([[User talk:Harmoniker666|talk]]) 10:24, 13 February 2025 (UTC)
:We hope to bring back third party support eventually, though it is admittedly a low priority. You can follow [[phab:T344090]] for updates. Getting it to work for Fandom however might be a real challenge. I understand they use a fork of MediaWiki and custom tailor extensions and services to work for it. The engineering team would likely need to do the same for XTools. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 14:32, 13 February 2025 (UTC)
::Thanks for replying. The link seems very technical so not sure how I should "follow" it? [[User:Harmoniker666|Harmoniker666]] ([[User talk:Harmoniker666|talk]]) 10:07, 25 February 2025 (UTC)
== Bug with blocks? ==
For a user that's indeffed at enwp since January ([https://en.wikipedia.org/wiki/Special:Log?page=User%3ATG-article&type=block][https://en.wikipedia.org/wiki/Special:Contributions/TG-article]), [https://xtools.wmcloud.org/ec/en.wikipedia.org/TG-article xtools reports] 3 blocks (instead of 5), with longest 6 days and current none. Looks as if it wasn't aware of the last two blocks. Two months seems to me to be too long to be replag's fault. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:52, 30 March 2025 (UTC)
:(Made a detailed report at [[phab:T391824]].) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:55, 14 April 2025 (UTC)
:: And for information also ended up fixing it myself. Rabbit holes... — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:17, 6 May 2025 (UTC)
== Feature Request: Edtorship over Time for any given page ==
Thank you by the way for creating XTools it's really excellent and I'm so happy that something like it exists.
Goal/Purpose: see if any specific editors were disproportionately influential as (% of edits in a year) in a page's lifetime.
Edits are already shown as a barchart by year. Perhaps a stacked bar chart (every year adds up to 100% but broken down proportionately by contributing editor). For many pages, this may be useless as there are very many editors and not single one dominating, but for some it may be interesting to see. [[User:Greengiraffe89|Greengiraffe89]] ([[User talk:Greengiraffe89|talk]]) 09:14, 11 May 2025 (UTC)
: Created [[phab:T396215|T396215]]. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:29, 6 June 2025 (UTC)
== Link to Liquid Soul ==
Link is incorrect. [[Special:Contributions/2003:CF:E73A:99B5:4574:BE18:3963:F757|2003:CF:E73A:99B5:4574:BE18:3963:F757]] 21:31, 15 May 2025 (UTC)
: Can you give precisions? — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:00, 9 June 2025 (UTC)
== Wrong move count? ==
Going by my [[:en:Special:Logs/move/CX Zoom]], I have 2068 moves, even [[:quarry:query/93856]] agrees. XTools only counts 1505. In fact, I have moved several hundreds of pages since yesterday, but my move count barely moved. I remember it was 1400-something before the moves. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:21, 21 May 2025 (UTC)
: Bug found; mw gives a different log_action for moves over redirects; we were only counting move/move as opposed to move/move_redir. Left [[phab:T396216|T396216]] and pull request that fixes. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 12:49, 6 June 2025 (UTC)
::Thank you for figuring it out. I hope it gets merged soon. —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 19:59, 14 June 2025 (UTC)
::: I'm doing a lot of PRs these days; but it'll probably get deployed in at most a few releases. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:43, 14 June 2025 (UTC)
Now merged; will go out in next deployment. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:18, 15 July 2025 (UTC)
:Thank you very much! —‍[[User:CX Zoom|CX Zoom]] <abbr title="en-English, hi-हिंदी, bn-বাংলা">(A/अ/অ)</abbr> ([[User talk:CX Zoom|let's talk]]|[[Special:Contributions/CX Zoom|contribs]]) 20:46, 15 July 2025 (UTC)
:: (Now deployed.) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:22, 20 August 2025 (UTC)
== Time Card local time ==
In the Time Card there is a "Use local time instead of UTC" checkbox. Does it show edits in my local time or the user's local time? In the Xtools User Documentation I did not find a section for Time Card. [[User:Jay|Jay]] ([[User talk:Jay|talk]]) 02:40, 18 September 2025 (UTC)
:@[[User:Jay|Jay]] It would be ''your'' timezone. I have [[Special:Diff/7893821|updated]] the documentation to clarify this. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:54, 18 September 2025 (UTC)
== Not all assessments types are supported ==
Hello, thanks a lot for the tool, it's very useful !
There is an issue that I found though. On the "pages created" page, there is an assessment column that can hold different values (in English : stub, start, C, list, etc/in French : ébauche, BD, B, ec). The "homonymie" value that can be found on disambiguation pages on French Wikipedia (for instance [https://fr.wikipedia.org/wiki/Discussion:Michel_Terrasse here]) is not transfered to the assessment column in "pages created" (for instance [https://xtools.wmcloud.org/pages/fr.wikipedia.org/TTSolitaire?uselang=en my page] with the same disambiguation page on line 9 with "unknown" as assessment). I don't know if it is an easy fix ? But it would be helpful to know which pages are not yet evaluated and which are already evaluated. Thank you in advance for your answer ! Sincerely, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 12:36, 5 October 2025 (UTC)
: Bonjour. Ceci est du à la manière dont les modèles d'évaluation (au sens les bandeaux de PDD) de FRWP fonctionnent. Ils ne marquent une page comme ayant une certaine évaluation que si au moins un Projet est marqué. Par exemple, <source lang="wikitext" inline>{{Wikiprojet|avancement=homonymie}}</source> ne marche pas mais <source lang="wikitext" inline>{{Wikiprojet|Homonymie||avancement=homonymie}}</source> marcherait. XTools ne peut pas trouver cette évaluation, tout simplement parce que le modèle ne la rend pas accessible dans la base de données.
: Si le Projet Homonymie de FRWP n'est pas contre utiliser des choses à la <source lang="wikitext" inline>{{Wikiprojet|Homonymie|N/A|avancement=homonymie}}</source>, ça serait une solution. J'ai l'impression (au premier regard) que telle n'est pas la pratique.
: L'autre solution serait peut-être de modifier le code pour, par exemple, que sur des PDD ne possédant qu'une évaluation "Homonymie" sans projets, il mette tout de même dans la base de données un enregistrement de l'évaluation.
: Je pourrais aider à essayer d'implémenter la deuxième idée, si nécessaire. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 11:13, 20 October 2025 (UTC)
::Bonjour @[[User:Alien333|Alien333]], merci pour la réponse et pour la proposition d'aide. Je n'avais pas vu qu'une réponse avait été apportée autant pour moi. Entre temps, @[[User:Slzbg|Slzbg]] est passé (merci !) sur les évaluations des articles pour y apposer le modèle <nowiki><nowiki>{{Catégorisation homonymie pour XTools}}</nowiki></nowiki> qui résout ce problème et fait apparaître l'avancement Homonymie sur ma page XTools. L'outil existait donc déjà ! Cordialement, [[User:TTSolitaire|TTSolitaire]] ([[User talk:TTSolitaire|talk]]) 17:56, 12 December 2025 (UTC)
== Dead links on this page ==
All or most of the links titled "link" in the "User documentation" section of this page are 404. They lead to a page called "Oh noes!". [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 20:58, 31 October 2025 (UTC)
:@[[User:Jonesey95|Jonesey95]] Your browser is apparently failing the Anubis proof-of-work check that we use to filter out malicious bots. Which browser and version are using? And do you have JavaScript enabled? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 01:43, 1 November 2025 (UTC)
::Firefox 140.3.1esr on Mac OS, a totally normal browser that works everywhere. And yes, I have JavaScript enabled. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 02:38, 1 November 2025 (UTC)
:::Are you using a VPN or some other proxying service? <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 04:58, 1 November 2025 (UTC)
== stats by "bytes added/removed" ==
{{tracked|T407814}}
until recently, there were two main pies - one by # of edits, and the other by bytes added/removed.
in many cases the 2nd pie was the significant one when looking for information regarding "who authored this article".
i do not see the 2nd pie now, and dearly miss it. don't know if the absence of the 2nd pie is intentional or not. if it is, i want to strongly advocate against this intention - the removed piece was the most useful one on the whole tool.
if it's unintentional, then this is my bug report. i don't know where is the right place to report bugs. is it [[phab:]] ?
peace - [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 20:42, 13 November 2025 (UTC)
:@[[User:קיפודנחש|קיפודנחש]]:
: '''tl;dr''': not intentional, collateral effect of temporary fix for another issue, sorry for the annoyance, gotta try and patch something for this sometime soon. (Ideally getting a serious fix for that other issue.) I'll try and take some time for this but I can't promise anything. (And yes, in general the right place to report bugs tends to be [[phab:tag/xtools/]], but do please try and avoid creating duplicates.)
:In a nutshell: when determining "max addition"s we rely on reverts, to not count vandalism, except due to [[phab:T389026|T389026]]/[[phab:T407814|T407814]], some of our revert stuff had to be temporarily disabled.
:More in detail: there was a schema change, in which the <code>sha1</code> field (the revision's [[w:hash function|hash]]) was moved from the <code>revision</code> table to the <code>content</code> table ([[phab:T389026|T389026]]). We use <code>sha1</code> because it lets you do revert detection: if one revision's sha1 is the same as the one a few revisions earlier, it likely means all edits in between were reverted. We didn't adapt in time to the column move {{small|could always use some participation, we got quite a stack of stuff to do and sadly I don't have much time these days (blame IRL)}}, and now the values have been removed from the <code>revision</code> table. Which meant the queries we had that tried to read <code>sha1</code>s all ended up crashing, bringing down some tools with them ([[phab:T407814|T407814]]). We commented out these parts of the queries as an emergency measure to get the time to solve it properly and get <code>sha1</code>s back. A side effect is that we're behaving as if all <code>sha1</code>s were <code>NULL</code>, aka 0. So to our code currently all revisions are the same and all edits are reverted, essentially. Given we exclude reverted edits (as likely vandalism) when counting added text, to the code no one has added text and so there's no point showing the chart.
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 21:46, 14 November 2025 (UTC)
::thank you so much!
::this is by no means "urgent", i just worried that the second pie, which i find the most useful part of this tool is gone for good.
::i can definitely wait patiently, happy to know that at some point it will be back...
::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 23:56, 14 November 2025 (UTC)
:::@[[User:Alien333|Alien333]] @[[User:MusikAnimal|MusikAnimal]] sorry to insist, but this change of removing bytes without notice is so harmful... I am managing two university projects ([[:ca:Viquiprojecte:Microbiologia_dels_aliments_UAB|Viquiprojecte:Microbiologia dels aliments UAB]] and [[:ca:Viquiprojecte:Biotecnologia_alimentària_UAB|Viquiprojecte:Biotecnologia alimentària UAB]] in the Catalan Wikipedia) and the way we evaluated our students (these are graded assignments: about 400 articles since 2017, no small thing!) was by partially checking the number of added bytes by each student in the article. Besides, they were told to check these statistics to see whether they were editing in an equilibrated way. Now, in the middle of the evaluation period, this has suddenly disappeared without any notice! How Wikipedians and educational tutors are we supposed to trust the project if suddenly we see these problems from one day to the other? '''This change has ruined my evaluation rubric in just two days and now I must count characters manually for each student by using the history page and against the clock.''' For some of us, and sorry the harsh tone, this is really urgent and annoying. Luckily I knew where to check here in Mediawiki, but what about other people affected?? Nine years volunteering on these courses that bring Wikipedia to the students so that they see that it is a great tool to participate, and the feeling is that year after year it is more difficult to trust any external tool that may help to easily grade them and use the project scholarly. [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 12:14, 17 November 2025 (UTC)
::::@[[User:Xavier Dengra|Xavier Dengra]]: XTools is a volunteer project that MA had been more or less taking care of ''alone'', for ''the last 8 years'' before I arrived last spring. We do our best. We are only volunteers that do what they can do in the little time IRL and the rest of our lives give us. It is not a question of trust. It is a question of possibility. It would be foolish to expect that that one or two guys volunteering in their evenings when they can can guarantee a permanent and unfailing service. We are only human. Contributions would be welcome: people keep complaining that we don't manage to do much, but no one ever wants to give a hand. It doesn't just all magically fix itself.
::::So yes, a) I would appreciate a less harsh tone {{small|(is the best thing you have to do ranting against unpaid volunteers that do their best?)}}, and b) wait until we get time, or fix it yourself at https://github.com/x-tools/xtools/pulls. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 16:04, 17 November 2025 (UTC)
:::::I get your (fair) point. But please, understand that from a plain Wikipedian point of view, the technical maintenance you never know (and it is not that obvious) whether relies on a volunteer or on the WMF. And should rather be the second one -I expect we both agree on this to some extent. The editors also (we) spend a huge amount of volunteering time as well to then see this kind of sudden changes, which sometimes are far worse than a "collateral effect". We wish that the interface was simpler so that many tools did not depend on external websites, so we could understand and help more with technical knowledge. Not the case for most of us, that we are not trained nor expert in coding... And the experience in Phabricator is that it is a 'cul-de-sac' where requests can take up to several years while the wiki interface is worsening over years. All this said, and ofc respecting your volunteering, I can only beg so that a new patch can show again, somehow, the bytes added. And that others' volunteering does not become a nightmare with the need of a calculator in the hand. Best regards, [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 17:00, 17 November 2025 (UTC)
::::::I will try to set some time aside to work on it this week. Apologies for the inconvenience! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 17:57, 17 November 2025 (UTC)
:::::::{{done}} The "Top 10 by added text" chart has been restored. That was easier to fix than I thought it'd be. [[phab:T407814]] is not fully resolved yet; We still need to give the same treatment to the [[xtools:topedits|TopEdits]] tool, but that seems less important right now so it can wait. Best, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:55, 17 November 2025 (UTC)
::::::::Thank you very much to both for the extra workload to restore it. And my sincere apologies for the 'nerves' when I saw it was gone. It is really a great help to have it available again! [[User:Xavier Dengra|Xavier Dengra]] ([[User talk:Xavier Dengra|talk]]) 14:34, 18 November 2025 (UTC)
== Author link is broken ==
Phabricator ticket: {{Phabricator|T410474}}
On English Wikipedia article [[:en:Water|Water]], the author links to [[:en:Drj:User:Drj|Drj:User:Drj]] instead [[:en:User:Drj|User:Drj]]. I am using Vector 2022 skin. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:56, 18 November 2025 (UTC)
:Came here to say the same. It's been happening (on all articles and drafts, AFAICT) for a few days at least.
:I also use Vector 2022, in case that's relevant. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 10:40, 18 November 2025 (UTC)
::Same problem in Vector 2010. I think it`s the XTool api`s problem. [[User:ChasingAir|ChasingAir]] ([[User talk:ChasingAir|talk]]) 18:23, 18 November 2025 (UTC)
:::I created {{Phabricator|T410474}} bug. [[User:Shushugah|Shushugah]] ([[User talk:Shushugah|talk]]) 01:05, 19 November 2025 (UTC)
:Seems to be fixed now. -- [[User:DoubleGrazing|DoubleGrazing]] ([[User talk:DoubleGrazing|talk]]) 06:56, 19 November 2025 (UTC)
== Errors on tool? ==
Hi... https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell
It's throwing the following:
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:%2079%20-%20An%20exception%20occurred%20while%20executing%20%27SELECT%20error,%20notice,%20found,%20name_trans%20AS%20name,%20prio,%20text_trans%20AS%20explanation%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20FROM%20s51080__checkwiki_p.cw_error%20a%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20JOIN%20s51080__checkwiki_p.cw_overview_errors%20b%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHERE%20a.project%20=%20b.project%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.project%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.title%20=%20?%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.error%20=%20b.id%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AND%20a.ok%20=%200%27%20with%20params%20[%22enwiki%22,%20%22Poisoning%20of%20Abbot%20Greenwell%22]:SQLSTATE[42S22]:%20Column%20not%20found:%201054%20Unknown%20column%20%27a.project%27%20in%20%27WHERE%27```%0A%0AURL:%20https://xtools.wmcloud.org/pageinfo/en.wikipedia.org/Poisoning_of_Abbot_Greenwell%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.22.4-43c7dc35 Phabricator] (requires a Wikimedia account).
The server said: <code>An exception occurred while executing 'SELECT error, notice, found, name_trans AS name, prio, text_trans AS explanation FROM s51080__checkwiki_p.cw_error a JOIN s51080__checkwiki_p.cw_overview_errors b WHERE a.project = b.project AND a.project = ? AND a.title = ? AND a.error = b.id AND a.ok = 0' with params ["enwiki", "Poisoning of Abbot Greenwell"]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'a.project' in 'WHERE'</code>
Thanks! [[User:Very Polite Person|Very Polite Person]] ([[User talk:Very Polite Person|talk]]) 18:24, 17 December 2025 (UTC)
:Same problem for me. [[User:FrizzB|FrizzB]] ([[User talk:FrizzB|talk]]) 19:22, 17 December 2025 (UTC)
::Looking into it! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:59, 17 December 2025 (UTC)
:::A temporary hotfix has been applied. I guess [[toolforge:checkwiki]] changed their schema. So the "Bugs" section of the Page History tool that at least partially was fed by CheckWiki is currently not working. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 21:03, 17 December 2025 (UTC)
== 403 Forbidden error ==
When accessing the page
https://xtools.wmcloud.org/pages/fa.wikipedia.org/persia,
I receive a 403 Forbidden error.
Why does this happen? [[user:Persia|<b style="color:#32cd32">Persia ☘</b>]] 16:42, 19 December 2025 (UTC)
:As it says on that error page,
::{{tq|For performance reasons, the requested data is only available to logged-in users.}}
:We do that for editors with many edits, because it takes more time to compile statistics about them. By requiring users to log in, we filter out a lot of the expensive traffic but still permit wikimedians to access these pages. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 17:44, 26 December 2025 (UTC)
== Error if I ask my created articles ==
Hi,
knows anybody why comes an error, if I asked my created articles (de).
[[xtools:pages/de.wikipedia.org/karlderkahle|Error - XTools]]
A fatal error has occurred within XTools. This has been automatically reported, but feel free to file a task on [https://phabricator.wikimedia.org/maniphest/task/create/?title=PLEASE%20REPLACE%20WITH%20A%20DESCRIPTION%20OF%20THE%20ERROR&priority=75&projects=XTools&description=```/var/www/src/Twig/AppExtension.php:%20453%20-%20App\Twig\AppExtension::numberFormat():%20Argument%20#1%20($number)%20must%20be%20of%20type%20int|float,%20null%20given,%20called%20in%20/var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php%20on%20line%20278%60%60%60%0A%0AURL:%20https://xtools.wmcloud.org/pages/de.wikipedia.org/karlderkahle%0A%0APlease%20provide%20any%20further%20details%20here%0A%0AXTools%20version:%203.23.0-769d34fe Phabricator] (requires a Wikimedia account).
The server said: <code>App\Twig\AppExtension::numberFormat(): Argument #1 ($number) must be of type int|float, null given, called in /var/www/var/cache/prod/twig/47/474960ad8913773c49afdf4949fc18d3.php on line 278</code>
Thanks Karlderkahle [[User:Karlderkahle|Karlderkahle]] ([[User talk:Karlderkahle|talk]]) 11:13, 3 January 2026 (UTC)
:{{tick}} '''Fixed''' (fix should be deployed at around 18:30 UTC). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:22, 3 January 2026 (UTC)
::Thanks @[[User:Alien333|Alien333]] for the quick fix :) I wonder why we didn't get an email about this error… I feel like a lot of errors are getting suppressed! The [https://github.com/x-tools/xtools/blob/main/config/packages/prod/monolog.yaml monolog config] might need to be adjusted, or it could be an issue with the [https://github.com/x-tools/xtools/blob/main/src/EventSubscriber/ExceptionListener.php exception listener]. I suspect perhaps with the Symfony 6 upgrade, the [https://github.com/x-tools/xtools/blob/e911430e23468313b8e4de2267057a5d8d01a0f8/src/EventSubscriber/ExceptionListener.php#L112 Twig errors] aren't being handled properly. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:57, 3 January 2026 (UTC)
== authorship script throws error: Wikiwho API: Unknown ==
If I go to https://xtools.wmcloud.org/authorship/de.wikipedia.org/Wikipedia?uselang=en, i get the message:
* "Error querying Wikiwho API: Unknown"
-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 22:46, 7 January 2026 (UTC)
:The [[WikiWho]] service went down due to low disk space. I happened to find time to take care of it, so I think we're okay for now. CC @[[User:Alien333|Alien333]] who is taking over tending to XTools while I'm on sabbatical. If you run into such issues with [[xtools:authorship]] or [[xtools:blame]], refer to the point-persons for [[WikiWho]] as listed at [[phab:E1926]].
:To @[[User:Ragesoss|Ragesoss]] @[[User:TheresNoTime|TheresNoTime]] (who have [[toolforge:openstack-browser/project/wikiwho|server access]]): The above report was about disk space on <code>wikiwho01</code> itself (not the pickle storage). I deleted some old logs, reduced log rotation to every 3 days instead of 7. ''However'', I noticed the main <code>pickles</code> volume is now '''99% full'''! I am on sabbatical/wikibreak until March 1. I can ''try'' to help in the next week if you ''really'' need me, but if either of you could please try to reserve time for [[phab:T407660]] in the near future, that'd prevent a lot of users from becoming very unhappy :) I apologize for not tending to this before going on my break. If you need to reach me, [[Special:EmailUser/MusikAnimal]] is the preferred way, as I'm not checking the wikis much. I can also hop on IRC if requested. Thanks in advance! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 23:45, 8 January 2026 (UTC)
::Thanks @[[User:MusikAnimal|MusikAnimal]]! I will give it a go either tomorrow or early next week. Worst case scenario, we can just delete some of the pickles that haven't been touched in a while as a stopgap. (Any that get requested would get rebuilt on-demand, so it shouldn't cause much problems for end-users.) [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 00:08, 9 January 2026 (UTC)
::Thanks a lot! :-)
::-- [[User:Lustiger seth|seth]] ([[User talk:Lustiger seth|talk]]) 07:57, 9 January 2026 (UTC)
== Number of edits in that size change interval, in bytes* (>10kb) ==
Number of edits in that size change interval, in bytes* (>10kb)
The bar chart can be dynamically changed, or more detailed bar charts can be added. This bar chart can only display up to 10kb, but since almost all of my edits are larger than 10kb, this bar chart displays almost no information. I don't know how many edits are 10kb, 20kb, 30kb, 100kb, 200kb, 600kb, or 800kb. [[User:Gedu11539381|Gedu11539381]] ([[User talk:Gedu11539381|talk]]) 19:24, 21 January 2026 (UTC)
:Hello. That's tracked at [[phab:T394606]].
:The main issue would be: How would users input what they want? We can't vary all parameters. The way it currently works is doing 10 * powers of 2. We could make that 10 vary possibly. But I'm unsure how on the user interface side we could say this in an understandable way.
:Suggestions are of course welcome (especially given you have the user-facing perspective I don't necessarily have).
:Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 19:18, 22 January 2026 (UTC)
== Support for edit counts over 1,000,000 ==
Is there a reason that edit counts over 1,000,000 are not supported? That seems like a surprisingly low threshold that could be raised at this time? [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 20:01, 18 February 2026 (UTC)
:(Calling 1M "a surprisingly low threshold" is certainly a well... original perspective knowing there are a mere 18 people on enwiki (the largest wiki) that are above it? A million edits is a rather absurd number.)
:Users with many edits make for long-running queries which slow down the service. (These can take like more than 15 minutes.)
:We do keep in mind the eventual possibility of raising the limits and have been discussing it (more or less) lately (esp. in the light of having gotten rid of most of our crawler problems). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:52, 7 March 2026 (UTC)
::{{ping|Alien333}} forgive me, first for taking so long to return to this thread... but also for my statement that it was surprisingly low threshold. I should say ''surprising to me'', which obviously conveys my lack of understanding of the service and how it works. Full disclosure I am rapidly approaching the 1,000,000 mark and will be sad to no longer be able to see my stats on Xtools as those are always entertaining to see.
::Wondering if there is a middle ground here that is more technically feasible? For example, allowing for viewing ''more'' of the stats for those over 1 million, while also not generating the full stats that are shown for those under 1 million? I.E. expanding the so called "simple counter"? Even if just the General Statistics section could be retained that would be awesome. That being said, I do respect that asking for a huge feature that ('''at the moment''') would only help under 2 dozen editors is probably not a high priority! [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 03:24, 3 May 2026 (UTC)
::: There are multiple things we could try to deal with these situations, of which [[phab:T182182]] is probably the most easily doable one, but I'd be lying if I said we're going to deal with it soon.<br> Cheers, — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:26, 3 May 2026 (UTC)
::::Well I hope one day it is ''fixed'' but totally understand it isn't a priority, [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 15:57, 3 May 2026 (UTC)
== Bug in xtools/blame ==
I get the Error „Error querying Wikiwho API: Unknown“ in xtools/blame. Can you help, please? --[[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 13:49, 14 March 2026 (UTC)
:Fixed now. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 22:16, 14 March 2026 (UTC)
::Thanks! [[User:IsUpper|IsUpper]] ([[User talk:IsUpper|talk]]) 22:43, 14 March 2026 (UTC)
== Average edit size ==
Is it possible to get a list of editors by Average edit size? (E.g. on wikipedia)
To track deletions over time?
I'm curious how extraordinary an editor's deletion streak is.
They have a large negative average edit size.
FYI @[[User:Voorts|Voorts]] may interest you. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 00:21, 26 March 2026 (UTC)
:Well, making a list doesn't look like a job for XTools? That would mean a very long-running query and checking every single editor everywhere seems infeasible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 15:48, 28 March 2026 (UTC)
::Thanks. Maybe I'm asking in the wrong place. Any ideas on where to ask, anyone?
::Agree-doesn't make sense as something that is run on demand. But it does as something run periodically; we have other stats like that being maintained, IIRC. I asked here because Xtools does display Average edit size. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:26, 28 March 2026 (UTC)
::Yeah, https://stats.wikimedia.org/#/en.wikipedia.org/contributing/top-editors/normal|table|last-month|~total|monthly is top editors. Top deleters would be similar and close to what I'm interested in.
::I asked at [[Talk:Statistics#Looking_for_Average_edit_size_or_top_deleters_stats]]. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 19:37, 28 March 2026 (UTC)
:::Could be done through eg through [[quarry:]] if you have some SQL knowledge, but I haven't tried. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 20:26, 28 March 2026 (UTC)
::::Thanks again.
::::https://quarry.wmcloud.org/query/80687 looks like a start. + https://quarry.wmcloud.org/query/87216 turns #s into editor names. Beyond me at the moment, maybe I'll try AI as suggested at [[Talk:Quarry]]. Not today. [[User:RememberOrwell|RememberOrwell]] ([[User talk:RememberOrwell|talk]]) 01:32, 29 March 2026 (UTC)
== Feature request : show the complete list of most viewed articles from a user ==
Hello, I would love to have an option to see the exhaustive list a user's articles sorted by numbers of views. Right now the only thing like this is the "your impact" box on my wikipedia profile but it only shows me the top 5. Do you think it would be possible ? Thank you for Xtools ! [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 12:09, 17 April 2026 (UTC)
:Well, I was about to say we couldn't, but there ''is'' [[m:Pageviews Analysis#Massviews|massviews]]. We'll look into it. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 09:57, 26 April 2026 (UTC)
::Thanks ! I'll look forward to it [[User:TyranCometh|TyranCometh]] ([[User talk:TyranCometh|talk]]) 11:01, 26 April 2026 (UTC)
::: I'm sorry, but looking into it closer massviews is too slow for us to use it for this purpose. So in the end it won't be possible. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 10:30, 3 May 2026 (UTC)
:@[[User:TyranCometh|TyranCometh]] Try [https://pageviews.wmcloud.org/userviews/ Userviews] :) I do agree with @[[User:Alien333|Alien333]] though that it isn't appropriate for XTools. If this was asked for a year ago, I'd say it would be fine, but with the new API limits it'll slow down the tool considerably. Better to have a dedicated tool for it where we know the user wants pageviews and is willing to wait. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 00:47, 9 May 2026 (UTC)
89989jr0bbk0gjze68l5buv17nu0n2d
Translations:Extension:SkinCustomiser/61/en
1198
2107349
8390200
6958939
2026-05-24T21:28:52Z
FuzzyBot
451990
Importing a new version from external source
8390200
wikitext
text/x-wiki
First save your customised $1 files.
jstxzls6n8zv03o9acbzwawk6srx1to
Translations:Extension:SkinCustomiser/62/en
1198
2107350
8390201
6958940
2026-05-24T21:28:52Z
FuzzyBot
451990
Importing a new version from external source
8390201
wikitext
text/x-wiki
Restore your $1 files.
skuv42y8u9qoszlvf6efkaqlbp3owih
User talk:Brooke Vibber
3
2145366
8390105
8347935
2026-05-24T16:33:59Z
Brooke Vibber
79
/* Talk page bankruptcy 2026 */
8390105
wikitext
text/x-wiki
== Talk page bankruptcy 2026 ==
Archived prior discussion to [[User talk:Brooke Vibber/Archived 2026-05-24]] --[[User:Brooke Vibber|brooke]] ([[User talk:Brooke Vibber#top|talk]]) 16:33, 24 May 2026 (UTC)
d9tn1lrpv6sz7ibne3dipud1kbcq56o
Translations:Wikimedia Apps/101/fr
1198
2162214
8390136
7491652
2026-05-24T19:57:31Z
Utilisateur ouikipedia
18264972
Faute de conjugaison corrigée
8390136
wikitext
text/x-wiki
Un exemple de cela est le balayage pour fermer un menu; cela vous semble naturel, mais c'est en fait seulement possible sur les navigateurs grâce à l'ajout de code JavaScript, et même uniquement avec les téléphones et les navigateurs qui prennent en charge JavaScript.
20qf4z4cldtz82pghaxiif9ibaywwgd
Extension:GlobalUsage/cs
102
2164643
8390386
8389913
2026-05-25T08:28:48Z
Rebulka
17532855
Created page with "V novějších verzích GlobalUsage ($1 a novějších) se '''$2 již nepoužívá'''."
8390386
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
<span lang="en" dir="ltr" class="mw-content-ltr">The extension now uses MediaWiki's virtual domain system.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The correct configuration variable is <code>$wgVirtualDomainsMapping</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On each content wiki (wikis that ''use'' files from the shared repo) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On the shared media wiki (the wiki that ''hosts'' the files) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
kmjjlitxum5wfn2m0w8xsetnd8hu9vq
8390388
8390386
2026-05-25T08:29:18Z
Rebulka
17532855
Created page with "Rozšíření nyní používá systém virtuálních domén MediaWiki."
8390388
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
<span lang="en" dir="ltr" class="mw-content-ltr">The correct configuration variable is <code>$wgVirtualDomainsMapping</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On each content wiki (wikis that ''use'' files from the shared repo) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On the shared media wiki (the wiki that ''hosts'' the files) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
mpztsie09cknzkqoes0jucltj1c9pm8
8390390
8390388
2026-05-25T08:29:35Z
Rebulka
17532855
Created page with "Správná konfigurační proměnná je $1."
8390390
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On each content wiki (wikis that ''use'' files from the shared repo) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On the shared media wiki (the wiki that ''hosts'' the files) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
a4y1ajftf8wkzlq9ed60bqgq0w6gpxy
8390392
8390390
2026-05-25T08:30:01Z
Rebulka
17532855
Created page with "=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ==="
8390392
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On the shared media wiki (the wiki that ''hosts'' the files) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
07jpwbcttmylwjqb15e58jj7f6nzu5c
8390394
8390392
2026-05-25T08:30:19Z
Rebulka
17532855
Created page with "Musí být nastaveno PŘED wfLoadExtension"
8390394
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Musí být nastaveno PŘED wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== On the shared media wiki (the wiki that ''hosts'' the files) ===
</div>
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
5jcwjiyjnudlg6adztvhc0pb6xr7hwb
8390396
8390394
2026-05-25T08:30:51Z
Rebulka
17532855
Created page with "=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ==="
8390396
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Musí být nastaveno PŘED wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<span id="On_the_shared_media_wiki_(the_wiki_that_hosts_the_files)"></span>
=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ===
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Required for WikiMap to resolve wiki IDs to display names and URLs.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
qjb3xr4wmr26rleuxeka5woc9oe0ucl
8390398
8390396
2026-05-25T08:31:09Z
Rebulka
17532855
Created page with "Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres."
8390398
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Musí být nastaveno PŘED wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<span id="On_the_shared_media_wiki_(the_wiki_that_hosts_the_files)"></span>
=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ===
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres.
// Without this, file pages will show raw database names instead of wiki names, and links to pages on other wikis will not work.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
dr0fmlw9kkdjmz9ssr6zu79rqi27iih
8390400
8390398
2026-05-25T08:31:40Z
Rebulka
17532855
Created page with "Bez tohoto se na stránkách souborů budou zobrazovat nezpracované názvy databází místo názvů wiki a odkazy na stránky na jiných wikin nebudou fungovat."
8390400
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Musí být nastaveno PŘED wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<span id="On_the_shared_media_wiki_(the_wiki_that_hosts_the_files)"></span>
=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ===
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres.
// Bez tohoto se na stránkách souborů budou zobrazovat nezpracované názvy databází místo názvů wiki a odkazy na stránky na jiných wikin nebudou fungovat.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // A common suffix shared by your DB names, or any string
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
a5qnpcip9i30zemspgvug8ulidzis0f
8390402
8390400
2026-05-25T08:32:01Z
Rebulka
17532855
Created page with "Společná přípona sdílená vašimi názvy databází nebo libovolný řetězec"
8390402
wikitext
text/x-wiki
<languages/>
{{Extension|templatemode =
|status = stable
|type1 = special
|type2 = api
|table1 = globalimagelinks
|username = Bryan
|author = Bryan Tong Minh
|description = Umožňuje zobrazit globální využití obrázků na wiki farmě se sdíleným úložištěm obrázků
|image = Screenshot of the GlobalUsage Extension.jpg
|version = 2.2.0
|update =
|compatibility policy = rel
|mediawiki = 1.28+
|download = {{WikimediaDownload|GlobalUsage|phab=EGUS}}
|readme = {{git file|action=raw|project=mediawiki/extensions/GlobalUsage|file=readme.txt|text=README}}
|changelog =
|example =
|phabricator = GlobalUsage
}}
Rozšíření '''GlobalUsage''' umožňuje zobrazit globální využití obrázků ve wiki farmě, která používá sdílené úložiště obrázků.
Přidá [[Special:GlobalUsage]] a také seznam stránek, které obsahují obrázek na stránkách s popisem obrázku.
<span id="Install"></span>
== Instalace ==
{{ExtensionInstall
|registration=1
|db-update=1
|custom-steps0=
|custom-steps=
* V LocalSettings nastavte <code>$wgGlobalUsageDatabase</code> na identifikátor wiki, kde se nacházejí data GlobalUsage (obvykle název databáze). Mělo by to být ID wiki, jak ho používá load balancer (vyrovnávač zatížení). (tj. mělo by to být jméno databáze. Pokud se používá prefix tabulky, mělo by to být <code>dbname-prefix</code>). Příklad: <syntaxhighlight lang=php inline>$wgGlobalUsageDatabase = 'commonswiki';</syntaxhighlight>
*: Toto jméno musí být také registrováno v load balanceru MediaWiki: {{ll|Manual:$wgLBFactoryConf}}. Tato konfigurační struktura mapuje názvy databází na databázové servery. Upozorňujeme, že pro fungování tohoto rozšíření je nutné v této struktuře zaregistrovat všechny databáze používané ve vaší wikifarmě, i když jsou všechny na stejném databázovém serveru.
* Abyste mohli odkazovat na své další wikiny, musíte použít buď konfigurační systém webu {{ll|Manual:$wgConf|$wgConf}}, nebo databázi {{ll|Manual:sites table}}, aby GlobalUsage mohl odkazovat na vaše další wikiny. Nemusíte ho nutně používat pro veškerou konfiguraci wiki, ale je důležité ho používat pro $wgServer a $wgArticlePath.
* Spusťte refreshGlobalimagelinks.php na '''všech''' wikinách ve vaší farmě. Bude to trvat dlouho, ale stačí to udělat pouze jednou při instalaci rozšíření: <code>php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php --pages=existing,nonexisting</code>
}}
<span id="Specific_guide_on_how_to_link_file_usage_by_sites_table"></span>
== Konkrétní návod, jak propojit tabulku využití souborů podle webů ==
# Ujistěte se, že hodnoty $wgGlobalUsageDatabase a $wgLBFactoryConf byly správně nastaveny.
# Použijte údržbový skript importSites.php k vytvoření souboru seznamu webů ve formátu XML. (Instrukce naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist.txt sitelist.txt], ukázkový soubor naleznete zde: [https://github.com/wikimedia/mediawiki/blob/REL1_29/docs/sitelist-1.0.xsd sitelist-1.0.xsd].)
# Pro sdílení tabulky webů napříč všemi wikinami použijte $wgSharedDB = 'commonswiki'; a $wgSharedTables[] = 'sites';.
# Vyčistěte veškerou mezipaměť a vynuťte aktualizaci, například po nastavení refreshGlobalimagelinks.php.
== Configuration for GlobalUsage (MediaWiki 1.43+) ==
{{MW 1.43|+}}
V novějších verzích GlobalUsage (REL1_45 a novějších) se '''$wgGlobalUsageDatabase již nepoužívá'''.
Rozšíření nyní používá systém virtuálních domén MediaWiki.
Správná konfigurační proměnná je <code>$wgVirtualDomainsMapping</code>.
<span id="On_each_content_wiki_(wikis_that_use_files_from_the_shared_repo)"></span>
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
<syntaxhighlight lang="php">
// Musí být nastaveno PŘED wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
</syntaxhighlight>
Replace <code>my_media_wiki_db</code> with the <code>$wgDBname</code> of your shared media/file repository wiki.
<span id="On_the_shared_media_wiki_(the_wiki_that_hosts_the_files)"></span>
=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ===
<syntaxhighlight lang="php">
// Must be set BEFORE wfLoadExtension
$wgVirtualDomainsMapping['virtual-globalusage'] = [ 'db' => 'my_media_wiki_db' ];
$wgGlobalUsageSharedRepoWiki = 'my_media_wiki_db';
wfLoadExtension( 'GlobalUsage' );
// Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres.
// Bez tohoto se na stránkách souborů budou zobrazovat nezpracované názvy databází místo názvů wiki a odkazy na stránky na jiných wikin nebudou fungovat.
$wgLocalDatabases = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->wikis = [ 'my_wiki_1_db', 'my_wiki_2_db', 'my_media_wiki_db' ];
$wgConf->suffixes = [ 'mysuffix' ]; // Společná přípona sdílená vašimi názvy databází nebo libovolný řetězec
$wgConf->siteParamsCallback = static function ( $conf, $wiki ) {
return [
'suffix' => 'mysuffix',
'lang' => 'en',
'params' => [],
'tags' => [],
];
};
$wgConf->settings = [
'wgServer' => [
'my_wiki_1_db' => 'https://wiki1.example.org',
'my_wiki_2_db' => 'https://wiki2.example.org',
'my_media_wiki_db' => 'https://media.example.org',
],
'wgArticlePath' => [
'default' => '/wiki/$1',
],
'wgSitename' => [
'my_wiki_1_db' => 'My Wiki',
'my_wiki_2_db' => 'My Wiki (DE)',
'my_media_wiki_db' => 'My Media Wiki',
],
];
</syntaxhighlight>
<span id="Cross-database_access"></span>
=== Přístup napříč databázemi ===
The DB user for each content wiki must have <code>SELECT</code>, <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> privileges on the media wiki's database.
Pokud vaše wiki používají oddělené uživatele databáze, udělte přístup jako uživatel root MySQL/MariaDB:
<syntaxhighlight lang="sql">
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki1_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON my_media_wiki_db.* TO 'wiki2_user'@'localhost';
FLUSH PRIVILEGES;
</syntaxhighlight>
=== Running update.php ===
After configuring <code>$wgVirtualDomainsMapping</code>, run <code>update.php</code> on each wiki.
GlobalUsage uses <code>addExtensionUpdateOnVirtualDomain</code>, which creates the <code>globalimagelinks</code> table in the correct database (the media wiki's DB).
If <code>globalimagelinks</code> was accidentally created in the wrong database (e.g. before <code>$wgVirtualDomainsMapping</code> was set), drop it and re-run <code>update.php</code>:
<syntaxhighlight lang="sql">
DROP TABLE globalimagelinks;
</syntaxhighlight>
=== Backfilling with refreshGlobalimagelinks.php ===
Run the refresh script from each '''content wiki''' only — not from the media wiki.
The script uses the executing wiki's <code>$wgDBname</code> to stamp the <code>gil_wiki</code> field, and writes to the media wiki's database via the virtual domain mapping.
<syntaxhighlight lang="bash">
php extensions/GlobalUsage/maintenance/refreshGlobalimagelinks.php
</syntaxhighlight>
'''''<u>Do NOT run on the repository/commons wiki.</u>'''''
Running this script from the media wiki itself will result in all rows being stamped with the media wiki's own DB name, and no cross-wiki usage will appear.
<span id="Notes"></span>
=== Poznámky ===
* <code>$wgGlobalUsageDatabase</code> is silently ignored in REL1_45 and newer versions. If you are upgrading from an older version, replace it with <code>$wgVirtualDomainsMapping</code> as shown above.
* <code>$wgVirtualDomainsMapping</code> must be set '''before''' <code>wfLoadExtension( 'GlobalUsage' )</code>.
* <code>$wgConf</code> settings on the media wiki are required for links to work. Without them, file pages display raw database names (e.g. <code>mywiki_db</code>) with no hyperlink.
* The virtual domain name used by this extension is <code>virtual-globalusage</code> (hardcoded in <code>extension.json</code>).
== API ==
Extension:GlobalUsage obsahuje rozšíření API, které umožňuje robotům a dalším programům dotazovat se na globální využití souboru.
Například tento dotaz na Wikimedia Commons vrací globální použití [[:commons:File:Example.jpg|Soubor:Příklad.jpg]]:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|result=<syntaxhighlight lang="xml"><?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="6428847" ns="6" title="File:Example.jpg">
<globalusage>
<gu title="Ашаблон:Ацқьа" wiki="ab.wikipedia.org" url="http://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0" />
<gu title="Wikipedia_ውይይት:Can't_see_the_font?" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F" />
<gu title="አባል:Blockinblox" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox" />
<gu title="አባል_ውይይት:Hana.oww" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Hana.oww" />
<gu title="አባል:Beza" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Beza" />
<gu title="መደብ:ኪነት" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5:%E1%8A%AA%E1%8A%90%E1%89%B5" />
<gu title="መደብ_ውይይት:ተረትና_ምሳሌ" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%98%E1%8B%B0%E1%89%A5_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:%E1%89%B0%E1%88%A8%E1%89%B5%E1%8A%93_%E1%88%9D%E1%88%B3%E1%88%8C" />
<gu title="ስዕል:መርጡለ_ማርያም_ገዳም_.jpg" wiki="am.wikipedia.org" url="http://am.wikipedia.org/wiki/%E1%88%B5%E1%8B%95%E1%88%8D:%E1%88%98%E1%88%AD%E1%8C%A1%E1%88%88_%E1%88%9B%E1%88%AD%E1%8B%AB%E1%88%9D_%E1%8C%88%E1%8B%B3%E1%88%9D_.jpg" />
<gu title="User_talk:Rasheduzzaman_Raj" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User_talk:Rasheduzzaman_Raj" />
<gu title="User:Danceteamcherleaders" wiki="ang.wikipedia.org" url="http://ang.wikipedia.org/wiki/User:Danceteamcherleaders" />
</globalusage>
</page>
</pages>
</query>
<query-continue>
<globalusage gucontinue="Example.jpg|arwiki|77967" />
</query-continue>
</api>
</syntaxhighlight>}}
Ve výchozím nastavení se zobrazí pouze 10 výsledků.
Dalších 10 výsledků lze načíst pomocí parametru gucontinue=, který je součástí výše uvedeného výsledku:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gucontinue=Example.jpg|arwiki|77967
}}
Počet vrácených výsledků se nastavuje parametrem <code>gulimit</code>.
Parametr <code>guprop</code> nastavuje, které vlastnosti se mají načíst.
Parametr <code>gufilterlocal</code>, pokud je nastaven na 1, vyloučí použití na stejné wiki jako soubor (např. na Commons).
Následující dotaz načte všechny vlastnosti a až 100 výsledků, s výjimkou lokálních použití:
{{ApiEx
|desc=
|p1=action=query
|p2=prop=globalusage
|p3=titles=File:Example.jpg
|p4=gulimit=100
|p5=guprop=url{{!}}pageid{{!}}namespace
|p6=gufilterlocal=1
}}
{{OnWikimedia}}
{{used by}}
[[Category:Extensions for data exchange with other local wikis{{#translation:}}]]
6o5czgni2pl16c47ob88p5ya1dpuc6d
Translations:Developer account/Page display title/ms
1198
2171521
8390106
7531893
2026-05-24T17:38:08Z
~2026-31053-37
18404718
H
8390106
wikitext
text/x-wiki
Akaun gg
7n5l2q6mggsgpwp6ov3sl88kj6s903t
8390221
8390106
2026-05-24T22:53:28Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31053-37|~2026-31053-37]] ([[User talk:~2026-31053-37|talk]]) to last version by Dragontwink377
7531893
wikitext
text/x-wiki
Akaun pemaju
miupgcgm6h54me5nnsu4tus65md0x7h
Manual talk:Handling web crawlers
101
2187735
8390098
8389608
2026-05-24T15:14:33Z
Samwilson
10510
/* Apache code not working as expected */ Reply
8390098
wikitext
text/x-wiki
== Apache mod_evasive? ==
Would it be useful to add https://github.com/jzdziarski/mod_evasive to this page? [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 12:40, 2 May 2025 (UTC)
:I'd vote for yes. Someone else was talking about <code>mod_geoip</code> (not sure which version) as well which might be somewhat related. Do you have any experience with <code>mod_evasive</code>? [[User:Bryandamon|Bryandamon]] ([[User talk:Bryandamon|talk]]) 17:02, 2 May 2025 (UTC)
::{{re|Bryandamon}} Okay cool I'll add it. I've been running mod_evasive for a couple of months. It seems to have helped with some of the big spikes of traffic from single IPs (doesn't do anything for distributed traffic). It's super simple to configure. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 06:02, 3 May 2025 (UTC)
:::The doc says is is compatible with Apache 1.3 or 2.0. Did you use it with something recent like 2.4 I'd think so. [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 12:14, 26 May 2025 (UTC)
::::Yep 2.4, which [https://marc.info/?l=apache-httpd-announce&m=132983471818384&w=2 was released] a bit over 13 years ago :-P [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 12:48, 26 May 2025 (UTC)
:::::Thanks. I thought so too. The docu of this repo is pretty scary, so I asked for confirmation. [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 13:04, 26 May 2025 (UTC)
::::::{{Ping|Samwilson}} Obviously you managed to get mod_evasive running on Apache 2.4 I am just testing on Debian 12 and mod_evasive does nothing. I am apparently not the only one since the web is full of such reports. Could you share some insights on how you did it? Did you complile some source yourself, did you use the provided packages, something else? [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 17:56, 15 June 2025 (UTC)
:::::::Will try this one soon: https://github.com/jvdmr/mod_evasive. Is this the one you used, too? [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 20:31, 15 June 2025 (UTC)
::::::::{{re|Kghbln}} I installed {{inline-code|libapache2-mod-evasive}} and set a few directives (DOSPageCount 10, DOSPageInterval 5, DOSSiteCount 20, DOSSiteInterval 5, and DOSEmailNotify can be useful to set initially so you get emailed when it blocks someone). It works fine, but actually I'm finding it's not that useful because most annoying traffic is now coming from multiple IPs. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 23:23, 15 June 2025 (UTC)
:::::::::Thanks for the info! I also installed {{inline-code|libapache2-mod-evasive}} from sources for Debian 12, but when testing it with various test scripts I was unable to trigger an 403 even with more stricter configuration that you did except for the DOSSiteCount which I put to 40 (one wiki triggers 31 calls). True that it is not that effective if traffic comes from multiple IPs but admittedly I had two or three incidents where someone came from a dedicated IP. Will continue to get this running. [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 07:16, 16 June 2025 (UTC)
::::::::::Got it to work. It had an issue with actually logging the blocks which are happening. [[User:Kghbln|[[kgh]]]] ([[User talk:Kghbln|talk]]) 14:43, 25 June 2025 (UTC)
== Some thoughts ==
A major problem with crawlers is too much concurrency - they access a lot of pages all at the same time (typically uncached). Sometimes the requests all overlap with each other starving the server for CPU or memory (or in the worst case leading to a swapdeath situation). It might be worth investigating solutions to that. Some thoughts (Still to be fleshed out):
* I thin part of the problem is web servers are configured with too much concurrency. Reducing concurrency and queuing requests might result in a better overall situation.
* Varnish supports having multiple backends. This can be used to set different options for different url paths. For example, you could make it so that unlimited requests go to normal pages, but Special: pages have only X amount of concurrent requests in flight at once. Or do different rules for logged in vs logged out, etc. This can prevent certain types of requests from overwhelming the server
* [[Extension:PoolCounter|PoolCounter]] can be configured with the "slots" option to limit overall concurrency for certain types of operations. For example, this could be used to make it so at most 1 diff get renders at a time. That may be a better tradeoff than having the entire site be down.
[[User:Bawolff|Bawolff]] ([[User talk:Bawolff|talk]]) 14:18, 15 May 2025 (UTC)
:My idea with varnish is to do something like https://github.com/bawolff/Canasta-DockerCompose/blob/main/config/default.vcl - It creates different classes of traffic and only allows limited concurrency for the traffic types that are likely to be crawlers. If the limit is exceeded it sends a 503. - I think this sort of thing can help during crawler attacks, but needs testing in the real world. If anyone tests it out please let me know if it was helpful. [[User:Bawolff|Bawolff]] ([[User talk:Bawolff|talk]]) 13:58, 16 May 2025 (UTC)
== Blocking ?oldid= ==
{{re|Pspviwki}} Thanks for adding the Varnish config for blocking access to expensive pages. You mention that {{tq|1=ldid= string is used on purpose not to get false hits for old}}, but I'm confused: isn't "oldid" more specific than "ldid"? [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 00:46, 26 May 2025 (UTC)
:Hi @[[User:Samwilson|Sam]]. I encountered the stupid bots problem before I discovered this page. During the initial testing for the string &oldid I got false hits for pages containing string "old", the fastest solution was to check for the string that would not be matched by any string in the page name and still matched those revisions, "ldid" fit the bill. But I am unable to reproduce the false hit problem now. Feel free to experiment. This solution is not ideal for wikis that allow anonymous edits but it works well for wikis where only registered users can edit. [[User:Pspviwki|Pspviwki]] ([[User talk:Pspviwki|talk]]) 10:58, 26 May 2025 (UTC)
::{{re|Pspviwki}} Yeah, this stuff can be tricky to test fully. I'll experiment with the full string <code>oldid</code> and see how it goes. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 13:08, 26 May 2025 (UTC)
== Captchas? ==
FWIW, another method that has proven effective, at least for my wikis, is the requirement for users to solve a Captcha before users can continue to the site. Now Captchas obviously come with disadvantages: users may well experience them as a right nuisance and their use can be bad for SEO rankings, but sometimes there is little else one can do to ward off scrapers and the like and keep things online. Earlier this year, I cobbled together a very simple custom extension that relies on ConfirmEdit to handle the choice of Captcha. I recently switched from hCaptcha to Cloudflare's Turnstile, which is more user-friendly (though ConfirmEdit started to support it only recently - no MW 1.39). Given the extension was created in two days, there is ample room for improvement but it has helped me to restore CPU usage to acceptable levels. [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 18:26, 14 September 2025 (UTC)
:It would be great if you could release this! [[User:Yaron Koren|Yaron Koren]] ([[User talk:Yaron Koren|talk]]) 15:00, 15 September 2025 (UTC)
:: Sure, I'll create a repo on Github as soon as I can get to it. [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]])
:: Here's the small extension I created to fend off the bots behaving badly: https://github.com/a-g-van-hamel-foundation/ConfirmRead. [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 21:40, 7 October 2025 (UTC)
== Custom PHP code did not work ==
The code in the "[[Special:PermanentLink/7824946##Custom_PHP|Custom PHP]]" section did not work for me. No errors, AFAICT, but I was still able to see diffs of all sorts ("prev", "cur", two arbitrary revisions) after logging out of my wiki. (BTW, the slightly different [[Special:PermanentLink/7594573#Sample_code|original version of the code]] didn't work, either.) Is there more to do than just adding the code to LocalSettings.php, like the instructions say? - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 09:07, 15 September 2025 (UTC)
:Wow! Evidently no one tested that code before it was added to the page. I just fixed it. [[User:Yaron Koren|Yaron Koren]] ([[User talk:Yaron Koren|talk]]) 14:59, 15 September 2025 (UTC)
::Can verify it works now. Thanks. I'm wondering if it's worth showing how to also deny access to, say, [[Special:RecentChangesLinked]], for those who want to add more special page restrictions, a la [[Extension:CrawlerProtection]] but don't want all the features of that extension? Finally, that extension also checks for <code>type=revision</code>. Should this code do likewise? I'm not sure if that's involved with diffs or just seeing old revisions, or what. - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 18:47, 15 September 2025 (UTC)
:::It would be a good idea to add custom code for blocking those special pages, yes. I have no idea where the "type=revision" check came from - it might have started out as an AI hallucination. [[User:Yaron Koren|Yaron Koren]] ([[User talk:Yaron Koren|talk]]) 19:27, 15 September 2025 (UTC)
::::I don't know… the guy who wrote the extension seems to know what he's doing. Perhaps it is explained in the YouTube video linked to in the lead section of [[Extension:CrawlerProtection|the extension page]]. I haven't watched that (yet). - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 20:49, 15 September 2025 (UTC)
::::No, the video doesn't address where <code>type=revision</code> came from. I guess I should just ask [[User:MyWikis-JeffreyWang]] - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 21:09, 15 September 2025 (UTC)
:::::I must confess this was hallucinated by vibe coding, and I uploaded that code there before we really had much unit testing (yes, shame on me!). That being said, it’s a benign bug, and the real way to block the viewing of diffs is now properly implemented.
:::::Shameless plug: I will explain in my upcoming talk at next month’s conference how I now avoid making such mistakes when vibe coding. [[User:MyWikis-JeffreyWang|Jeffrey Wang]] 07:24, 16 September 2025 (UTC)
::::::I stand corrected :wink: - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 22:10, 16 September 2025 (UTC)
== Apache code not working as expected ==
The [[Special:PermanentLink/8352740#Apache|current code for the Apache approach]] is not working for me. Placing the code in .htaccess does deny anon requests that include, say, one of the prohibited "action=" parameter values, but not those for the mentioned Special pages that do ''not'' include any prohibited parameter (including such requests containing other parameters).
<p>For example, it denies:
: …/w/index.php?title=Main_Page&action=history
: …/wiki/Special:History/Main_Page
But allows:
: …/wiki/Special:Log
: …/wiki/Special:RecentChangesLinked/Main_Page
: …/wiki/Special:RecentChangesLinked?hidebots=1&target=Main_Page&limit=50&days=7&enhanced=1&urlversion=2
: …/wiki/Special:WhatLinksHere/Main_Page
By my reading of the regex, it should deny any request for Special:Log, Special:RecentChangesLinked, or Special:WhatLinksHere, regardless of what parameters are or are not present. What am I not seeing here? (BTW, same behavior whether the code is before or after the RewriteRule for short URLs.) - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 00:42, 24 May 2026 (UTC)
: OK, I think I figured out what's happening. The key is "QUERY_STRING". It's only looking ''in the actual query string'' of requests (i.e., following a question mark).
: So, it denies:
:: …/w/index.php?title=Special%3ALog
:: …/w/index.php?title=Special:RecentChangesLinked&hidebots=1&target=Main_Page&limit=50&days=7&enhanced=1&urlversion=2
: But allows:
:: …/wiki/Special:Log
:: …/wiki/Special:RecentChangesLinked?hidebots=1&target=Main_Page&limit=50&days=7&enhanced=1&urlversion=2
: This is the opposite of what the page claims: "''which also works for rewritten short URLs''". (Not sure why "/wiki/Special:History/Main_Page" was still being denied.)
: Like I said before, this behavior is the same whether the code is above or below the RewriteRule for short URLs in .htaccess, so how are sites employing short URLs supposed to use this code? - [[User:Dcljr|dcljr]] ([[User talk:Dcljr|talk]]) 01:20, 24 May 2026 (UTC)
::{{re|Dcljr}} I think it depends on how you've got short URLs set up. Do you have $wgUsePathInfo set to false? [https://gitlab.wikimedia.org/samwilson/wmau-config/-/blob/5c407dbb414b49912366d62fec66947d867d84a7/apache/mediawiki.conf Here's an example] of a config that is denying URLs such as http://wikimedia.org.au/wiki/Special:RecentChangesLinked/Main_Page [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 15:14, 24 May 2026 (UTC)
0vp2t6gg2970amsprn59hgorkykxf8m
Translations:Help:Temporary accounts/69/el
1198
2215286
8390233
7699919
2026-05-25T02:50:39Z
~2026-31157-68
18405503
8390233
wikitext
text/x-wiki
Οι εθελοντές συντονιστές μας θα έχουν πρόσβαση σε ορισπεριγράφονται λεπτομερώς στις οδηγίες]].
5ui1zyzfz1tmeyo80w4v68l2vw77da6
8390237
8390233
2026-05-25T03:22:16Z
Pppery
5901069
Reverted edits by [[Special:Contribs/~2026-31157-68|~2026-31157-68]] ([[User talk:~2026-31157-68|talk]]) to last version by Geraki
7699919
wikitext
text/x-wiki
Οι εθελοντές συντονιστές μας θα έχουν πρόσβαση σε ορισμένες πληροφορίες σχετικά με τη διεύθυνση IP σας. Αυτές οι πληροφορίες περιορίζονται στους συντάκτες που τις χρειάζονται για σκοπούς εποπτείας κατά της κατάχρησης. Οι πληροφορίες που εκτίθενται, τα κριτήρια πρόσβασης σε αυτές και οι επιτρεπόμενοι σκοποί χρήσης [[$1|περιγράφονται λεπτομερώς στις οδηγίες]].
cjtafgnccnslc585jxizkny5gftywjp
Moderator Tools/Automoderator/it
0
2231999
8390071
8386490
2026-05-24T12:09:16Z
Quinlan83
12969461
8390071
wikitext
text/x-wiki
<languages />
{{Automoderator navigation}}
{{Wikimedia engineering project information
| name = Automoderator
| description = [[Extension:AutoModerator]]
| start =
| end =
| group = [[Moderator Tools]]
| lead = [[User:Samwalton9 (WMF)|Sam Walton]] (product manager)
| team = {{flatlist|1=
* [[User:JSherman (WMF)|Jason Sherman]] (software engineer)
* [[User:SCardenas (WMF)|Susana Cardenas Molinar]] (software engineer)
* [[User:KGraessle-WMF|Katy Graessle]] (software engineer)
* [[User:DMburugu_(WMF)|Dennis Mburugu]] (engineering manager)
* [[User:OTichonova (WMF)|Olga Tichonova]] (designer)
* [[User:KCVelaga (WMF)|Krishna Chaitanya Velaga]] (analyst)
}}
| Phabricator = Automoderator
| updates =
| progress =
| previous =
| next =
| projectpage =
| display = {{{display|}}}
}}
'''Automoderator''' o '''Moderatore automatico''' è uno strumento automatico anti-vandalismi sviluppato dal team di {{ll|Moderator Tools}}.
Permette agli amministratori di attivare e configurare una revisione automatica di presunti edit vandalici basandosi su un punteggio di un modello di apprendimento automatico.
Moderatore automatico si comporta come un bot anti-vandalismo come [[:en:User:ClueBot NG|ClueBot NG]], [[:es:User:SeroBOT|SeroBOT]], [[:fa:User:Dexbot|Dexbot]] e [[:fr:User:Salebot|Salebot]], ma è disponibile per tutte le edizioni linguistiche.
Si prega di consultare {{ll|Extension:AutoModerator}} per i dettagli tecnici sull'estensione AutoModerator.
Le comunità {{ll|Extension:AutoModerator/Deploying|adesso possono sollecitare}} che l'attivazione di Automoderator nella propria edizione linguistica Wikipedia.
<span id="Updates"></span>
==Aggiornamenti==
* {{ym|2024|10}} – È ora disponibile un '''[https://superset.wmcloud.org/superset/dashboard/unified-automoderator-activity-dashboard/ dashboard]''' per tenere traccia dei parametri relativi al comportamento di Automoderator sui progetti su cui è attivo.
* {{ym|2024|10}} – Abbiamo creato '''[[Special:MyLanguage/Moderator Tools/Automoderator/Multilingual testing|nuovi insiemi di dati disponibili]]''' per testare il modello multilinguistico di rischio annullamenti. Prevediamo che questo modello dovrebbe avere prestazioni migliori del modello linguistico generico attualmente in uso, ma abbiamo bisogno dei vostri commenti per prendere una decisione informata.
* {{ym|2024|09}} – La Wikipedia in indonesiano e in ucraniano hanno iniziato ad utilizzare Automoderator ([[:andate:Istimewa:Kontribusi_pengguna/Automoderator|Automoderator]]; [[:uk:Special:Contributions/Автомодератор|Автомодератор]]).
* {{ym|2024|06}} – La Wikipedia in turco ha iniziato ad utilizzare Automoderator ([[:tr:Özel:Katkılar/Otomoderatör|Otomoderatör]]).
* {{ym|2024|02}} – Sono stati pubblicati [[#Designs|progetti]] per la versione iniziale delle pagine di destinazione e di configurazione. Riflessioni e suggerimenti sono i benvenuti!
* {{ym|2024|02}} – Abbiamo pubblicato i {{ll|Moderator Tools/Automoderator/Testing#Initial results|risultati iniziali}} del nostro processo di prova.
* {{ym|2023|10}} – <span lang="en" dir="ltr" class="mw-content-ltr">We are looking for input and feedback on our '''[[Special:MyLanguage/Moderator Tools/Automoderator/Measurement plan|measurement plan]]''', to decide what data we should use to evaluate the success of this project, and have made '''[[Special:MyLanguage/Moderator Tools/Automoderator/Testing|testing data]]''' available to collect input on Automoderator's decision-making.</span>
* {{ym|2023|8}} – <span lang="en" dir="ltr" class="mw-content-ltr">We recently presented this project, and other moderator-focused projects, at Wikimania.</span> <span lang="en" dir="ltr" class="mw-content-ltr">You can find the session recording [https://www.youtube.com/live/YiwjqxqSENs?feature=share&t=5038 here].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Motivation ==
</div>
[[File:Wikimania 2023 - Room 311 - 18 August - Supporting moderators at the Wikimedia Foundation.webm|thumb|Presentazione di Wikimania (13:50)]]
<span lang="en" dir="ltr" class="mw-content-ltr">A substantial number of edits are made to Wikimedia projects which should unambiguously be undone, reverting a page back to its previous state.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Patrollers and administrators have to spend a lot of time manually reviewing and reverting these edits, which contributes to a feeling on many larger wikis that there is an overwhelming amount of work requiring attention compared to the number of active moderators.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We would like to reduce these burdens, freeing up moderator time to work on other tasks.</span>
[[File:Automoderator - Indonesian Wikipedia - Community Call April 2024.webm|thumb|Chiamata della comunità di Wikipedia in indonesiano (11:50)]]
<span lang="en" dir="ltr" class="mw-content-ltr">Many online community websites, including Reddit, Twitch, and Discord, provide 'automoderation' functionality, whereby community moderators can set up a mix of specific and algorithmic automated moderation actions.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On Wikipedia, AbuseFilter provides specific, rules-based, functionality, but [[m:Special:MyLanguage/Community Wishlist Survey 2022/Admins and patrollers/Expose ORES scores in AbuseFilter|can be frustrating]] when moderators have to, for example, painstakingly define a regular expression for every spelling variation of a swear word.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It is also complicated and easy to break, causing many communities to avoid using it.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">At least a dozen communities have anti-vandalism bots, but these are community maintained, requiring local technical expertise and usually having opaque configurations.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">These bots are also largely based on the ORES damaging model, which has not been trained in a long time and has limited language support.</span>
<span id="Goals"></span>
==Obiettivi==
* <span lang="en" dir="ltr" class="mw-content-ltr">Reduce moderation backlogs by preventing bad edits from entering patroller queues.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Give moderators confidence that automoderation is reliable and is not producing significant false positives.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Ensure that editors caught in a false positive have clear avenues to flag the error / have their edit reinstated.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Design research ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To learn about the research and design process we went through to define Automoderator's behaviour and interfaces, see {{ll|Moderator Tools/Automoderator/Design|/Design}}.
</div>
<span id="Model"></span>
==Modello==
<span lang="en" dir="ltr" class="mw-content-ltr">Automoderator uses the 'revert risk' machine learning models developed by the [https://research.wikimedia.org/ Wikimedia Foundation Research] team.</span>
Esistono due versioni di questo modello:
# Un [[m:Special:MyLanguage/Machine learning models/Proposed/Multilingual revert risk|modello multilinguistico]], che supporta 47 lingue.
# <span lang="en" dir="ltr" class="mw-content-ltr">A [[m:Special:MyLanguage/Machine learning models/Proposed/Language-agnostic revert risk|language-agnostic model]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">This is the model which Automoderator currently uses, while we test the Multilingual model to better understand its performance.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">These models can calculate a score for every revision denoting the likelihood that the edit should be reverted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Each community can set their own threshold for this score, above which edits are reverted (see [[#How it works|below]]).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The models currently only support Wikipedia, but could be trained on other Wikimedia projects in the future.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Additionally they are currently only trained on the main (article) namespace.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We would like to investigate re-training the model on an ongoing basis as false positives are reported by the community.</span>
([[Phab:T337501|T337501]])
<span lang="en" dir="ltr" class="mw-content-ltr">Before we moved forward with this project we provided opportunities for testing out the language-agnostic model against recent edits, so that patrollers could understand how accurate the model is and whether they felt confident using it in the way we proposed.</span>
I dettagli e risultati di questa prova si possono trovare in {{ll|Moderator Tools/Automoderator/Testing}}.
<span lang="en" dir="ltr" class="mw-content-ltr">We are also testing the Multilingual model to understand if it is preferable to use it instead of the Language Agnostic model.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See {{ll|Moderator Tools/Automoderator/Multilingual testing}} to help us review the model's scores.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== User script ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also created a simple user script to allow testing of the Revert Risk models on [[Special:RecentChanges]], which you can install by following these steps:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">Navigate to [[Special:MyPage/common.js]] on your wiki</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Add the following line and save the page:</span> <code>mw.loader.getScript( 'https://en.wikipedia.org/wiki/User:JSherman_(WMF)/rc_revertrisk.js?action=raw&ctype=text/javascript&date=2025-02-14' );</code>
* On [[Special:RecentChanges]], click 'Get revert risk' in the Tools sidebar.
* <span lang="en" dir="ltr" class="mw-content-ltr">Each edit in the main namespace will be scored. This functionality will not work if 'Live updates' is enabled or 'View new changes' is clicked.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We have also created a simple user script to retrieve the Language-Agnostic Revert Risk score for an individual edit.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Simply import [[:en:User:JSherman_(WMF)/revertrisk.js|User:JSherman (WMF)/revertrisk.js]] into your [[Special:MyPage/common.js|commons.js]] with <code>mw.loader.load( 'https://en.wikipedia.org/wiki/User:JSherman_(WMF)/revertrisk.js?action=raw&ctype=text/javascript' );</code>.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
You should then find a Get revert risk score in the Tools menu in your sidebar.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that both of these scripts will only display model scores, and do not take into account Automoderator's internal configurations (e.g. ignoring self-reverts) as detailed below.
</div>
<span id="How_it_works"></span>
==Come funziona==
{{Ombox
| text = <span lang="en" dir="ltr" class="mw-content-ltr">To request that Automoderator be deployed on your Wikimedia project, please see '''{{ll|Extension:AutoModerator/Deploying}}'''</span>
}}
[[File:WP294_-_AutoModerator.mp3|thumb|right|<span lang="en" dir="ltr" class="mw-content-ltr">WikipediaPodden interview, containing information on how Automoderator works.</span>]]
[[File:Automoderator_and_Revert_Risk_decision_process.jpg|thumb|300x300px|<span lang="en" dir="ltr" class="mw-content-ltr">Diagram demonstrating the Automoderator software decision process.</span>]]
<span lang="en" dir="ltr" class="mw-content-ltr">Automoderator scores every main namespace edit on a Wikimedia project, fetches a score for that edit based on how likely it is to be reverted, and reverts any edits which score above a threshold which can be configured by local administrators.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When reverting, Automoderator performs a {{ll|Manual:Rollback|rollback}}, also undoing prior sequential edits made by the same user.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The revert is carried out by a system account, so it looks and behaves like other accounts – it has a Contributions page, User page, shows up in page histories, etc.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To reduce false positives and other undesirable behaviour, Automoderator will never revert the following kinds of edits:</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">An editor reverting one of their own edits</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Reverts of one of Automoderator's actions</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Those made by administrators (including global sysops and stewards) or bots</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">New page creations</span>
<span id="Configuration"></span>
===Configurazione===
[[File:Automoderator CommunityConfiguration page en.beta September 2024.png|thumb|Pagina di configurazione di Automoderator (settembre 2024)]]
<span lang="en" dir="ltr" class="mw-content-ltr">Automoderator is configured via a {{ll|Community Configuration}} form located at [[Special:CommunityConfiguration/AutoModerator]], which edits the page [[MediaWiki:AutoModeratorConfig.json]] (the latter can be watchlisted so that updates show up in your Watchlist).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">After deployment, Automoderator will not begin running until a local administrator turns it on via the configuration page.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In addition to turning Automoderator on or off, there are a range of configurations which can be customised to fit your community's needs, including the revert threshold, minor and bot edit flags, and whether Automoderator sends a talk page message after reverting (see below).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Certain configuration, such as Automoderator's username, can only be performed by MediaWiki developers.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To request such a change, or to request other kinds of customisation, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?tags=Automoderator file a task on Phabricator].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Localisation of Automoderator should primarily be carried out via [https://translatewiki.net/w/i.php?title=Special:MessageGroupStats&language=en&group=ext-automoderator#sortable:3=desc TranslateWiki], but local overrides can also be made by editing the relevant {{ll|Help:System message|nsp=0}} (Automoderator's strings all begin with <code>automoderator-</code>).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Caution levels ====
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">One of the most important configurations to set is the 'Caution level' or 'threshold' - this determines the trade-off Automoderator will make between coverage (how many bad edits are reverted) and accuracy (how frequently it will make mistakes).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The higher the caution level, the fewer edits will be reverted, but the higher the accuracy; the lower the caution level, the more edit will be reverted, but the lower the accuracy.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">We recommend starting at a high caution level and gradually decreasing over time as your community becomes comfortable with how Automoderator is behaving.</span>
<span id="Talk_page_message"></span>
=== Messaggio in discussione ===
<span lang="en" dir="ltr" class="mw-content-ltr">To ensure that reverted editors who were making a good faith change are well equipped to understand why they were reverted, and to report false positives, Automoderator has an optional feature to send every reverted user a talk page message.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This message can be translated in TranslateWiki and customised locally via the <code>Automoderator-wiki-revert-message</code> system message.</span>
Il testo di default in Inglese è il seguente:
{{Quote|text=Hello! I am [[User:AutoModerator|AutoModerator]], an automated system which uses a machine learning model to identify and revert potentially bad edits to ensure Wikipedia remains reliable and trustworthy. Unfortunately, I reverted one of your [[Special:Diff/12345|recent edits]] to [[Article title]].
* Because the model I use is not perfect, it sometimes reverts good edits. If you believe the change you made was constructive, please [[report it here]].
* [[:mw:Moderator Tools/Automoderator|Learn more]] about my software.
* To learn more about editing visit your [[Special:Homepage|Newcomer Homepage]]. --[[User:Automoderator|Automoderator]] ([[User talk:Automoderator|talk]]) 01:23, 1 January 2024 (UTC)
}}
<span lang="en" dir="ltr" class="mw-content-ltr">If the same user receives another revert soon after the first, they are sent a shorter message under the same section heading.</span>
Testo di default in Inglese:
{{Quote|text=I also reverted one of your recent edits to [[Article title]] because it seemed unconstructive. [[User:Automoderator|Automoderator]] ([[User talk:Automoderator|talk]]) 01:23, 1 January 2024 (UTC)
}}
<span id="False_positive_reporting"></span>
=== Report dei falsi positivi ===
[[File:Automoderator report false positive link next to edit summary September 2024.png|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">Automoderator's 'report false positive' link.</span>]]
<span lang="en" dir="ltr" class="mw-content-ltr">Because no machine learning model is perfect, Automoderator will sometimes accidentally revert good edits.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When this happens we want to reduce friction for the user who was reverted, and give them clear next steps.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">As such, an {{ll|Extension:AutoModerator/Deploying#3. Create false positive reporting page|important step}} in configuring Automoderator is creating a false positive reporting page.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is a normal wiki page, which will be linked to by Automoderator in the talk page message, and in page histories and user contributions, as an additional possible action for an edit, alongside Undo and/or Thank.</span>
<span id="Metrics"></span>
===Metriche===
<div lang="en" dir="ltr" class="mw-content-ltr">
You can track data about how Automoderator is behaving on Wikimedia projects at the '''[https://superset.wmcloud.org/superset/dashboard/unified-automoderator-activity-dashboard/ Activity Dashboard]'''.
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">For data on the expected number of reverts that Automoderator would make per day on your project, see the {{ll|Moderator Tools/Automoderator/Testing|testing subpage}}.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Similar data for the multilingual model (not currently in use) can be found at {{ll|Moderator Tools/Automoderator/Multilingual testing|/Multilingual testing}}.</span>
<span id="Usage"></span>
== Uso ==
Automoderator è attualmente implementato nei seguenti progetti Wikimedia
{| class="wikitable sortable"
|-
! Progetto !! Richieste di implementazione !! Nome utente !! Configurazione !! Dashboard
|-
| '''{{int|project-localized-name-idwiki}}''' || [[Phab:T365792|T365792]] || [[:id:Special:Contributions/Automoderator|Automoderator]] || [[:id:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/EbVGAzEJkyM/ Dashboard]
|-
| '''{{int|project-localized-name-trwiki}}''' || [[Phab:T362622|T362622]] || [[:tr:Special:Contributions/Otomoderatör|Otomoderatör]] || [[:tr:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/vlV5Ep28eyX/ Dashboard]
|-
|-
| '''{{int|project-localized-name-ukwiki}}''' || [[Phab:T373823|T373823]] || [[:uk:Special:Contributions/Автомодератор|Автомодератор]] || [[:uk:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/b9AGgOx8Gn3/ Dashboard]
|-
| '''{{int|project-localized-name-viwiki}}''' || [[Phab:T378343|T378343]] || [[:vi:Special:Contributions/Kiểm tra tự động|Kiểm tra tự động]] || [[:vi:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/LJZkVYlrG0d/ Dashboard]
|-
|'''{{int|project-localized-name-afwiki}}''' || [[Phab:T376597|T376597]] || [[:af:Special:Contributions/OutoModerator|OutoModerator]] || [[:af:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/3lbGxYaMkzv/ Dashboard]
|-
|'''{{int|project-localized-name-bnwiki}}''' || [[Phab:T381000|T381000]] || [[:bn:Special:Contributions/স্বয়ংক্রিয় টহলদার|স্বয়ংক্রিয় টহলদার]] || [[:bn:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/AL0kyyw4kr8/ Dashboard]
|-
|'''{{int|project-localized-name-azwiki}}''' || [[Phab:T382286|T382286]] || [[:az:Special:Contributions/Avtomoderator|Avtomoderator]] || [[:az:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/dRW5JDEQk1Q/ Dashboard]
|-
|'''{{int|project-localized-name-zhwiki}}''' || [[Phab:T367306|T367306]] || [[:zh:Special:Contributions/AutoModerator|AutoModerator]] || [[:zh:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/xP9G4nXze3a/ Dashboard]
|-
|'''{{int|project-localized-name-eswiki}}''' || [[Phab:T391248|T391248]] || [[:es:Special:Contributions/Automoderador|Automoderador]] || [[:es:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/nY3kQx3QGJD/ Dashboard]
|-
|'''{{int|project-localized-name-itwiki}}''' || [[Phab:T405152|T405152]] || [[:it:Special:Contributions/Moderatore Automatico|Moderatore Automatico]] || [[:it:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/XKEkDBDl5qD/ Dashboard]
|-
|'''{{int|project-localized-name-nlwiki}}''' || [[Phab:T425509|T425509]] || [[:nl:Special:Contributions/BijdragenScanner|BijdragenScanner]] || [[:nl:Special:CommunityConfiguration/AutomoderatorMultilingual|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/6DVkKqx957B/ Dashboard]
|-
|'''{{int|project-localized-name-sqwiki}}''' || [[Phab:T420450|T420450]] || [[:sq:Special:Contributions/Automoderatori|Automoderatori]] || [[:sq:Special:CommunityConfiguration/AutoModerator|CommunityConfiguration]] || [https://superset.wmcloud.org/superset/dashboard/p/nyj5daRMGNK/ Dashboard]
|}
85n38ovg3aghjh1p8ws7vw9l3gi5j0c
Parsoid/Feedback
0
2234135
8390072
8390059
2026-05-24T12:47:57Z
Idanbak13
18404247
/* hewiki:יצחק פרלמן */ new section
8390072
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
t93pg8md31tnsitchzi9bbg5krfdlcf
8390095
8390072
2026-05-24T14:23:01Z
ROOTSUPERUSER2
18404361
/* */ Repaired
8390095
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
//IS_ROOT Malicious=false&Illegal=false
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
5a1klef6r0b3ihvysd73uzipwrns7wy
8390096
8390095
2026-05-24T14:24:46Z
M7
3635
Reverted edits by [[Special:Contribs/ROOTSUPERUSER2|ROOTSUPERUSER2]] ([[User talk:ROOTSUPERUSER2|talk]]) to last version by Idanbak13
8390072
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
t93pg8md31tnsitchzi9bbg5krfdlcf
8390235
8390096
2026-05-25T03:05:14Z
Wisconsin555
18405515
/* enwiki:National Basketball Association */ new section
8390235
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
8mqmxetf1m7ynvsslodlgsum09039te
8390236
8390235
2026-05-25T03:06:04Z
Testetedtr79
18405516
/* ptwiki:Marciel Costa ( Youtuber ) */ new section
8390236
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Marciel_Costa_(_Youtuber_)&oldid=72311318&useparsoid=1 ptwiki:Marciel Costa ( Youtuber )] ==
Influenciador digital
[[User:Testetedtr79|Testetedtr79]] ([[User talk:Testetedtr79|talk]]) 03:06, 25 May 2026 (UTC)
aybnnoiofhqs16g5o1klyduak39rlzs
8390308
8390236
2026-05-25T05:58:12Z
EliteWoodCutter
18368260
/* svwiki:Iliade */ Reply
8390308
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
::Huh? What do you mean? [[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 05:58, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Marciel_Costa_(_Youtuber_)&oldid=72311318&useparsoid=1 ptwiki:Marciel Costa ( Youtuber )] ==
Influenciador digital
[[User:Testetedtr79|Testetedtr79]] ([[User talk:Testetedtr79|talk]]) 03:06, 25 May 2026 (UTC)
c0csqnydl2awfhmcc56s9isoi8w3ny3
8390499
8390308
2026-05-25T10:21:03Z
Clump
81610
remove gibberish
8390499
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
::Huh? What do you mean? [[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 05:58, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
r3s1v6hntlqmnxw4rjsd1r73ietsg4p
8390520
8390499
2026-05-25T10:54:16Z
Saif Tazion
18406061
/* bnwiki:উইকিপিডিয়া আলোচনা:স্বাগতম, নবাগত */ new section
8390520
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
::Huh? What do you mean? [[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 05:58, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%89%E0%A6%87%E0%A6%95%E0%A6%BF%E0%A6%AA%E0%A6%BF%E0%A6%A1%E0%A6%BF%E0%A6%AF%E0%A6%BC%E0%A6%BE_%E0%A6%86%E0%A6%B2%E0%A7%8B%E0%A6%9A%E0%A6%A8%E0%A6%BE:%E0%A6%B8%E0%A7%8D%E0%A6%AC%E0%A6%BE%E0%A6%97%E0%A6%A4%E0%A6%AE,_%E0%A6%A8%E0%A6%AC%E0%A6%BE%E0%A6%97%E0%A6%A4&oldid=8953846&useparsoid=1 bnwiki:উইকিপিডিয়া আলোচনা:স্বাগতম, নবাগত] ==
সাইফ তাজিয়ন (Saif Tazion): একবিংশ শতাব্দীর বহুমুখী তরুণ উদ্যোক্তা ও ডিজিটাল ক্রিয়েটরসাইফ তাজিয়ন
[[User:Saif Tazion|Saif Tazion]] ([[User talk:Saif Tazion|talk]]) 10:54, 25 May 2026 (UTC)
5iewng8serlca08r9ru79mtzvp9mazy
8390521
8390520
2026-05-25T11:24:19Z
Clump
81610
Reverted edits by [[Special:Contribs/Saif Tazion|Saif Tazion]] ([[User talk:Saif Tazion|talk]]) to last version by Clump
8390499
wikitext
text/x-wiki
Post your feedback about using [[Parsoid/Parser Unification|Parsoid]] to render articles. [[Parsoid/Parser_Unification/Known_Issues|Learn how to report problems clearly]].
'''Need more attention? [https://phabricator.wikimedia.org/maniphest/task/edit/form/43/?projects=PHID-PROJ-3y2wduoz5xezwveaq426 Report directly in Phabricator].'''
{{note|This is for reporting feedback on the integration of the Parsoid parser only. '''For wiki content issues, such as concerns about article content, please report on your local wiki.'''
}}
[[Parsoid/Parser_Unification/Known_Issues|View known issues]]
__NEWSECTIONLINK__
{{Archive box| [[/Archive 1]] [[/Archive 2]]}}
== [https://nl.wikipedia.org/w/index.php?title=Wikipedia:Aanmelding_moderatoren&oldid=70702688&useparsoid=1 nlwiki:Wikipedia:Aanmelding moderatoren] ==
Sometimes, in a numbered list, the number stays on the first line when there are indented lines below it, and sometimes the number is vertically aligned between the different lines. For votes, it is preferable that the number remains on the line that starts with only “#” and not on lines with an indentation “#:”.
[[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:34, 15 February 2026 (UTC)
:i.e. see item 33. under '<nowiki/>'''''Voor moderatorschap ContextCreator'''<nowiki/>'<nowiki/>'' [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 15:36, 15 February 2026 (UTC)
::I can't see any difference between Parsoid and the legacy Parser on that page, it appears that the number is correctly aligned in both cases. Are you using a different skin by any chance? Does the difference still appear? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:42, 21 April 2026 (UTC)
:::I see no difference anymore - it is fixed. Thanks anyway! [[User:Elphie|Elphie]] <small>(they/them)</small> ([[User talk:Elphie|talk]]) 16:01, 21 April 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Discussion_Wikip%C3%A9dia:Wikiconcours&oldid=233327486&useformat=mobile&useparsoid=1 frwiki:Discussion Wikipédia:Wikiconcours] ==
Content that is hidden inside the "Learn more about this page" button from MobileFrontend with legacy parser is not inside it with Parsoid. [[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 08:32, 22 February 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Laurence_Olivier&oldid=148833592&useparsoid=1 itwiki:Laurence Olivier] ==
Giant Oscar statue icons (sgranate)
[[User:UmbraSolis|UmbraSolis]] ([[User talk:UmbraSolis|talk]]) 20:28, 19 February 2026 (UTC)
:This was probably due to https://phabricator.wikimedia.org/T417828, which is now fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:53, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:43, 21 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Bologna_Football_Club_1909&oldid=149496425&useparsoid=1 itwiki:Bologna Football Club 1909] ==
problem with displaying football shirts
[[User:Gio Bike|Gio Bike]] ([[User talk:Gio Bike|talk]]) 17:49, 20 February 2026 (UTC)
:Can you be more specific, or is it fixed now? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:55, 27 February 2026 (UTC)
::Now it is OK [[Special:Contributions/~2026-13011-93|~2026-13011-93]] ([[User talk:~2026-13011-93|talk]]) 17:20, 27 February 2026 (UTC)
:::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:44, 21 April 2026 (UTC)
== [https://vi.wiktionary.org/w/index.php?title=Wiktionary:Th%E1%BB%91ng_k%C3%AA/S%E1%BB%91_m%E1%BB%A5c_t%E1%BB%AB_theo_ng%C3%B4n_ng%E1%BB%AF/T%E1%BA%A5t_c%E1%BA%A3&oldid=2331126&useparsoid=1 viwiktionary:Wiktionary:Thống kê/Số mục từ theo ngôn ngữ/Tất cả] ==
Phần cuối bảng bị lỗi, không hiện ra số mục từ mà chỉ hiện ra "0" hoặc "-2" mà không rõ lý do, tôi không viết nhầm gì cả.
(English: The table got error, just display "0" or "-2", but I don't have any error at write wikitext.)
[[User:NHNAnh|NHNAnh]] ([[User talk:NHNAnh|talk]]) 05:57, 21 February 2026 (UTC)
:I believe this might be due to "Expensive parser function count: 1080/500" in the debug log: there are too many expensive parser function counts on this page (PAGESINCATEGORY is expensive), and the later functions are not executed.
:I would suggest splitting the page into several pages, if possible. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:04, 27 February 2026 (UTC)
::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
== [https://cs.wikipedia.org/w/index.php?title=Celerina/Schlarigna&oldid=25694456&useparsoid=1 cswiki:Celerina/Schlarigna] ==
V tabulce v sekci obyvatelstvo se u jedné buňky zobrazuje černé pozadí. Pokud dám ale historii stránky a podívám se na aktuální verzi, vykreslí se stránka správně. To samé se opakuje i u jiných podobných stránek se stejně formátovanými tabulkami.
[[User:Matijak|Matijak]] ([[User talk:Matijak|talk]]) 17:02, 22 February 2026 (UTC)
:I cannot see a black cell in that table. Is this issue fixed? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:09, 27 February 2026 (UTC)
::I can see it in in both the history (latest revision) and on the page itself (live). It's the leftmost 'Počet' cell in the 'Jazyky v Celerině' table. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 10:10, 28 February 2026 (UTC)
:::Aha!
:::the cell itself is not dark, the text in it is, and only in dark mode. It is also present in the legacy rendering, which seems to hint at a problem with the table markup itself and not a parser issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:11, 2 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:45, 21 April 2026 (UTC)
:::::Not a Parsoid issue most likely, but it has not been fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:21, 24 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia:Biographies_of_living_persons&oldid=1340299616&useparsoid=1 enwiki:Wikipedia:Biographies of living persons] ==
Reporting a visual bug for all pages that suddenly arose as of this morning on Safari Mobile - the Page Actions Overflow div is in a permanently open state but inaccessible to via clicks to either toggle the menu or select any of the tools on the menu. In addition to being unable to interact with it, all of the styling broken and makes the top right section of the page unusable and barely readable.
[[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 14:34, 27 February 2026 (UTC)
:Is this issue still present? Sorry, it has been a while since you reported this, I'm hoping that the issue has been resolved by now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
::Yes, it appears to have been resolved. Thanks for following up! [[User:Eulersidentity|Eulersidentity]] ([[User talk:Eulersidentity|talk]]) 03:38, 22 April 2026 (UTC)
== [https://oc.wikipedia.org/w/index.php?title=Esqu%C3%A8rra_(politica)&oldid=2495338&useparsoid=1 ocwiki:Esquèrra (politica)] ==
There's an issue with the interlinks, this article should be connected with the other ones about left-wing politics
[[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 06:39, 28 February 2026 (UTC)
:Yes, it was an issue with the interlinks, but those should naturally not be reported as visual issues ('bogue visuler') as the have nothing to do with Parsoid. You can link pages which have no connections by using the 'Apondre los ligams interlengas' (Add interlanguage links) button from the 'Bóstia d'aisinas' (Tools) menu. Unless, of course, Parsoid somehow blocks automatic linking of translations. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:10, 28 February 2026 (UTC)
::I don't know why but it was finally done (thank you so much to the person who did that), but the thing is, i tried what you said before and it kept telling me that i didn't had the permission to link the two articles... [[User:Bertault34|Bertault34]] ([[User talk:Bertault34|talk]]) 19:33, 1 March 2026 (UTC)
:::I did that, you are welcome. It appears that you are not autoconfirmed yet on Wikidata, and that this Wikidata entry requires that, which if both true I would expect you to not be able to do this change. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 04:21, 21 March 2026 (UTC)
::::{{Done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:46, 21 April 2026 (UTC)
:::::Sorry? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:48, 23 April 2026 (UTC)
::::::We're using the <nowiki>{{done}}</nowiki> template to track which issues have been resolved, vs still outstanding. I don't believe there is any additional follow required by the Content Transform team on this report? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 05:00, 24 April 2026 (UTC)
:::::::Oh, no, I just didn't know this is a system you are using. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 22:19, 24 April 2026 (UTC)
== [https://www.mediawiki.org/w/index.php?title=Help:Extension:Translate/Page_translation_administration&oldid=8240537&useparsoid=1 Help:Extension:Translate/Page translation administration] ==
The topmost warning in the 'Changing the source text' section does not display the codeblock content.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:47, 28 February 2026 (UTC)
:This is a very clever use of the <code><nowiki>{{^(}}</nowiki></code> template to avoid creating an unintended translation marker. I've [https://www.mediawiki.org/w/index.php?title=Help%3AExtension%3ATranslate%2FPage_translation_administration&diff=8349012&oldid=8343860 replaced it with more straight-forward entity-escaping] to be more compatible with Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:54, 21 April 2026 (UTC)
::Also filed this as [[phab:T424066]] [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 16:46, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&oldid=67999951&useparsoid=1 nlwiki:Railterminal Gelderland] ==
The map in [[:nl:sjabloon:maplink]] doesn't show up in my Chrome browser for Chromebook. It does show in https://nl.wikipedia.org/w/index.php?title=Railterminal_Gelderland&useparsoid=0 and also when I log out.
[[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:54, 5 March 2026 (UTC)
:Btw, the map is visible for a moment, then it disappears [[User:Bertux|Bertux]] ([[User talk:Bertux|talk]]) 10:56, 5 March 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%91%D7%A8%D7%90%D7%95%D7%9C_%D7%A1%D7%98%D7%90%D7%A8%D7%A1&oldid=42870396&useparsoid=1 hewiki:בראול סטארס] ==
למה הקישור לתמונה ששמתי לא עובד? בכל מקרה אשמח שמישהו ישים את התמונה העדכנית שמשומשת בדף באנגלית מאחר והלוגו למשחק שונה. מצטער על התקלה.
[[User:Jhho48|Jhho48]] ([[User talk:Jhho48|talk]]) 16:43, 9 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Infokastis: Sulamistemperatuur 236,15 K (−37 °C)
Miinusmärk peaks olema sidekriipsust pikem, kuid pikema kriipsu sisestamine põhjustab tõrketeate.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:05, 11 March 2026 (UTC)
== [https://et.wikipedia.org/w/index.php?title=Furfurool&oldid=7109379&useparsoid=1 etwiki:Furfurool] ==
Vabandust, lühike (st vale) kriips oli kuvatud siiski ainult lähteteksti režiimis; salvestatud tekstiga küljendis on kuvatud õige kriips.
[[User:Kuriuss|Kuriuss]] ([[User talk:Kuriuss|talk]]) 11:07, 11 March 2026 (UTC)
== kowiki:sticky header is broken ==
[[:en:Template:Sticky header|Template:Sticky header]] is not working properly on kowiki. Please compare [//ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=0] with [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&oldid=41472532&useparsoid=1].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:34, 16 March 2026 (UTC)
:It may have been because of an empty row before the table caption. I [https://ko.wikipedia.org/w/index.php?title=%ED%81%AC%EB%A1%9C%EC%95%84%ED%8B%B0%EC%95%84%EC%9D%98_%EC%9C%A0%EC%9D%B8%EB%8F%84_%EB%AA%A9%EB%A1%9D&diff=41501849&oldid=41501840 edited the page] to remove it. But, looks like another editor has removed the sticky header template call from above the table. If you can put it back, it will work. See my [[:ko:사용자:SSastry_(WMF)/Sandbox|sandbox]] page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:22, 17 March 2026 (UTC)
== [https://ko.wikipedia.org/w/index.php?title=%ED%8B%80:%EA%B5%AD%EA%B8%B0%EB%82%98%EB%9D%BC&oldid=40992836&useparsoid=1 kowiki:틀:국기나라] ==
변수를 덧붙였음에도 {{국기나라|독일|제국}}이 여전히 '독일'로 출력됩니다.
[[User:Triican|Triican]] ([[User talk:Triican|talk]]) 05:04, 19 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Angus_T._Jones&oldid=1333447723&useparsoid=1 enwiki:Angus T. Jones] ==
The infobox photo is squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 17:11, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Ukraine&oldid=1343921679&useparsoid=1 enwiki:Ukraine] ==
All maps in the infobox are squashed.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 18:36, 19 March 2026 (UTC)
:Fixed. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 15:12, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Sabia_que&oldid=54991313&useparsoid=1 ptwiki:Wikipédia:Sabia que] ==
O arquivo de discussão está 'bugando' visualmente. Está no meio de "Curiosidades em destaque"
[[User:Heylenny|Heylenny]] ([[User talk:Heylenny|talk]]) 23:27, 19 March 2026 (UTC)
:{{done}} Template adjusted on the page. [[User:Fúlvio|Fúlvio]] ([[User talk:Fúlvio|talk]]) 02:59, 22 March 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%AE%E0%A6%B2_%E0%A6%98%E0%A7%8B%E0%A6%B7_(%E0%A6%B6%E0%A6%BF%E0%A6%B6%E0%A7%81%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BF%E0%A6%A4%E0%A7%8D%E0%A6%AF%E0%A6%BF%E0%A6%95)&oldid=8851768&useparsoid=1 bnwiki:বিমল ঘোষ (শিশুসাহিত্যিক)] ==
আলোচনা পাতায় অন্য নিবন্ধের আলোচনা পাতা
[[User:Ams riyad|Ams riyad]] ([[User talk:Ams riyad|talk]]) 01:28, 20 March 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn&oldid=74869958&useparsoid=1 viwiki:Wikipedia:Thảo luận] ==
TOC is rendered inside the link bar, but it shouldn't be.
[[User:NguoiDungKhongDinhDanh|<span class="skin-invert" style="color:black;font-family:Monotype Corsiva;font-size:110%;font-weight:normal;line-height:normal">NguoiDungKhongDinhDanh</span>]] 03:20, 20 March 2026 (UTC)
:This was most likely [[phab:T421629|T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] and we believe this issue has been fixed. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:51, 24 April 2026 (UTC)
== [[wikt:ru:омфал]] ==
For more than a day, there have been anomalies in the behavior of tables of contents (ToCs) in Russian Wiktionary. The issues differ based on the selected skin and affect only some pages. If the old Vector theme is used, the automatically generated ToC simply fails to appear on certain pages, despite the page having over three headers and the absence of magic words such as NOTOC. If the new Vector theme is used, the ToC on some pages is misplaced and not positioned where it should be by default. The problem is not present if the old parser is used. Purging the page's cache seems to fix the issue as well. ToC is displayed correctly in the preview-mode too. Some affected pages:
* [[wikt:ru:омфал]]
* [[wikt:ru:безграмотность]]
* [[wikt:ru:હંમેશા]]
* [[wikt:ru:ಯಾವಾಗಲೂ]]
* [[wikt:ru:stadigvæk]]
* [[wikt:ru:alligevel]]
* [[wikt:ru:kanunay]]
* [[wikt:ru:ሁሌ]]
* [[wikt:ru:zawżdy]]
* and maaany mooore...
[[User:綿貫桜哉|綿貫桜哉]] ([[User talk:綿貫桜哉|talk]]) 08:11, 20 March 2026 (UTC)
:This was [[phab:T421629|⚓ T421629 TOC missing with Parsoid on some wikis (except for Vector 2022)]] but should be fixed now. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 04:55, 24 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Louis_Nirenberg&oldid=15616502&useparsoid=1 rowiki:Louis Nirenberg] ==
The image seems to be the 250px thumbnail scaled up to what looks like 400px width.
[[User:Andrei Stroe|Andrei Stroe]] ([[User talk:Andrei Stroe|talk]]) 10:16, 20 March 2026 (UTC)
== [https://fr.wikipedia.org/w/index.php?title=Aide:Accueil&oldid=232433495&useparsoid=1 frwiki:Aide:Accueil] ==
custom collapsible elements render differently with parsoid
[[User:Escargot bleu|Escargot bleu]] ([[User talk:Escargot bleu|talk]]) 14:19, 20 March 2026 (UTC)
:I filed https://phabricator.wikimedia.org/T421859. Thanks for the report. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:07, 31 March 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Katten_(olika_betydelser)&oldid=43770842&useparsoid=1 svwiki:Katten (olika betydelser)] ==
The legacy parser adds an empty line before the template Förgrening (which is a kind of table).
The Parsoid parser don't do that.
This occurs on all pages using that template.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 18:32, 21 March 2026 (UTC)
:Ya, this is known difference with some paragraph wrapping which is tricky to fix. In this case, I recommend adjusting the top margin of the table by editing the base template: https://sv.wikipedia.org/w/index.php?title=Mall%3AF%C3%B6rgrening%20bas&veaction=editsource [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 10:01, 31 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Gen_Z_stare&oldid=1344701043&useparsoid=1 enwiki:Gen Z stare] ==
The infobox image is unusually narrow.
[[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 01:51, 22 March 2026 (UTC)
:For me the image is stretched horizontally by a fair bit. It seems like the following bit of code is to blame:
:<syntaxhighlight lang="css">
:html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img {width: 400px; }
:</syntaxhighlight> [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 01:54, 22 March 2026 (UTC)
::I'm not seeing any visible difference between legacy parser and Parsoid in my testing. Can you share a screenshot @[[User:Snowmanonahoe|Snowmanonahoe]] ? What skin and browser are you using? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 17:43, 27 March 2026 (UTC)
:::@[[User:Jon (WMF)|Jon (WMF)]]: I don't see it anymore either. I'm using Vector 2022 and Firefox 149. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]]) 17:46, 27 March 2026 (UTC)
::::Ah okay. I think this was a caching issue then. Some "temporary turbulence" was to be expected with this roll out. Thanks for reporting! [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 18:29, 27 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Virginia_Fonseca&oldid=71959182&useparsoid=1 ptwiki:Virginia Fonseca] ==
A 1ª imagem da página na infocaixa tem um tamanho grande demais
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 11:34, 22 March 2026 (UTC)
:I don't see the problem. The page renders identically in Parsoid and with the old/legacy parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:22, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Xander_Harris&oldid=71958675&useparsoid=1 ptwiki:Xander Harris] ==
Seção de referências expandida
[[User:Vitruviano|Vitruviano]] ([[User talk:Vitruviano|talk]]) 15:06, 22 March 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Bruker:Znuddel&oldid=25704667&useparsoid=1 nowiki:Bruker:Znuddel] ==
Hele siden er helt feil
[[User:Nevemagneten|Nevemagneten]] ([[User talk:Nevemagneten|talk]]) 20:35, 24 March 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Main_page&oldid=2122&useparsoid=1 abstractwiki:Abstract Wikipedia:Main page] ==
Favicon is showing a dark background around the rounded corners on Chrome.
[[User:Jsengupt|Jsengupt]] ([[User talk:Jsengupt|talk]]) 16:14, 25 March 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=System_(typeface)&oldid=1329545007&useparsoid=1 enwiki:System (typeface)] ==
Infobox image is stretched horizontally
[[User:Anna328p|Anna328p]] ([[User talk:Anna328p|talk]]) 06:59, 26 March 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Enged%C3%A9lyk%C3%A9r%C3%A9s&oldid=28288240&useparsoid=1 huwiki:Wikipédia:Engedélykérés] ==
The email templates are rendered incorrectly.
[[User:Bencemac|Bencemac]] ([[User talk:Bencemac|talk]]) 14:00, 26 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T421563 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:19, 28 March 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):Inter-rede/Cabe%C3%A7alho&oldid=71778331&useparsoid=1 ptwiki:Usuário(a):Inter-rede/Cabeçalho] ==
Whitespaces seem to have collapsed
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 18:02, 27 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422155 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:36, 2 April 2026 (UTC)
::It looks like the problem is the <code>display:flex</code> in the <code>style</code> attribute on the wrapper is at fault. Parsoid generates <code><nowiki><span></nowiki></code> wrappers around the html entities in the wikitext, by design. The whitespace is present in the HTML, so that's not a fault of Parsoid. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 15:07, 9 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%91%D7%A6%D7%A2_%D7%9E%D7%A9%D7%94_(%D7%9E%D7%9C%D7%97%D7%9E%D7%AA_%D7%94%D7%A2%D7%A6%D7%9E%D7%90%D7%95%D7%AA)&oldid=42991233&useparsoid=1 hewiki:מבצע משה (מלחמת העצמאות)] ==
הכיתוב שנועד למנוע בלבול בין מבצע משה הזה למבצע משה אחר לא ערוך
[[User:חנניה בלסמן|חנניה בלסמן]] ([[User talk:חנניה בלסמן|talk]]) 12:54, 30 March 2026 (UTC)
== [//en.wikipedia.org/w/index.php?title=Help:Colon_trick&useparsoid=1 enwiki:Help:Colon trick] ==
According to [[w:Help:Colon trick]], it is explained as follows: "<code><nowiki>[[//Hus]]</nowiki></code> will produce an (invalid) external link wrapped in brackets ("[[//Hus]]"), but <code><nowiki>[[://Hus]]</nowiki></code> will produce a link to [[w://Hus|//Hus]]."
However, when using Parsoid, it incorrectly links to [[w:Help:Colon trick//Hus|Help:Colon trick//Hus]].--[[User:Namoroka|Namoroka]] ([[User talk:Namoroka|talk]]) 13:02, 31 March 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422161 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 14:00, 2 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Ans%C3%B6kan_om_administrativ_beh%C3%B6righet&oldid=59167563&useparsoid=1 svwiki:Wikipedia:Ansökan om administrativ behörighet] ==
In Legacy, each section (candidate) get a [redigera] ([edit] to the right of the section name. In Parsoid, there is nothing to the right of the section name.
[[User:Tekannan|Tekannan]] ([[User talk:Tekannan|talk]]) 12:15, 2 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T391624 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:27, 2 April 2026 (UTC)
== [https://en.wiktionary.org/w/index.php?title=H%26P&oldid=83856321&useparsoid=1 enwiktionary:H&P] ==
The first hidden category listed is [[wiktionary:Category:English_entries_with_incorrect_language_header|English entries with incorrect language header]]'','' which is, however, empty.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:48, 2 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Jo%C3%A3o_Peixoto&oldid=72016744&useparsoid=1 ptwiki:João Peixoto] ==
A foto não corresponde ao nome citado
[[User:Mayque Lemos|Mayque Lemos]] ([[User talk:Mayque Lemos|talk]]) 18:18, 2 April 2026 (UTC)
== [https://meta.wikimedia.org/w/index.php?title=Main_Page&oldid=30254797&useparsoid=1 metawiki:Main Page] ==
On Parsoid only, <nowiki>''complete list'' and ''request''</nowiki> each show a space between them and their preceding opening bracket.
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 19:06, 3 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&oldid=1343194045&useparsoid=1 enwiki:In Stars and Time] ==
<code><ref name="rps"></code> displays an error which doesn’t occur on the legacy parser
[[User:Mir Novov|Mir Novov]] ([[User talk:Mir Novov|talk]]) 12:10, 4 April 2026 (UTC)
:It was an error which I fixed with [https://en.wikipedia.org/w/index.php?title=In_Stars_and_Time&diff=1348021667&oldid=1347424445 this edit] which adds one more backlink to Ref #5. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:00, 10 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Helen_Andrews&oldid=72024590&useparsoid=1 ptwiki:Helen Andrews] ==
Estou a ter problema com as referências, pois aparecem duplicadas.
[[User:Faviola7|Faviola7]] ([[User talk:Faviola7|talk]]) 14:17, 4 April 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Project_chat&oldid=3236&useparsoid=1 abstractwiki:Abstract Wikipedia:Project chat] ==
In the "Bot request" section, a link that has been visited is blue rather than purple, because spaces in the link are turned into actual spaces (%20) in the URL.
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:53, 4 April 2026 (UTC)
== [https://no.wikipedia.org/w/index.php?title=Tor_Fosse_(f%C3%B8dt_1956)&oldid=25723619&useparsoid=1 nowiki:Tor Fosse (født 1956)] ==
fil: center frameless
[[User:Birgit.H.Pihl|Birgit.H.Pihl]] ([[User talk:Birgit.H.Pihl|talk]]) 10:05, 5 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Politisk_opposition&oldid=59171124&useparsoid=1 svwiki:Politisk opposition] ==
This error message about unused named reference is not shown:
Referensfel: <ref>-tagg med namn "sr-20161006", definierad i <references> används inte tidigare i texten.
The article is also added to hidden category "Sidor med referensfel" but that is not shown
[[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:12, 5 April 2026 (UTC)
:This issue appears to fixed. Both the error message and the hidden category are now shown. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:02, 21 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Puteulum/Sandbox&oldid=150100596&useparsoid=1 itwiki:Utente:Puteulum/Sandbox] ==
The "Move" button to move the entry from sandbox to NS0 does not appear
[[User:Puteulum|Puteulum]] ([[User talk:Puteulum|talk]]) 14:28, 7 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=POVOADO_TIRIRICAL&oldid=72040530&useparsoid=1 ptwiki:POVOADO TIRIRICAL] ==
O MEU TEXTO ESTA TODO VERMELHO E MAIS CENTRALIZADO
[[User:POVOADO TIRIRICAL|POVOADO TIRIRICAL]] ([[User talk:POVOADO TIRIRICAL|talk]]) 18:38, 7 April 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%B1%E4%BA%AC%E9%83%BD%E9%81%935%E5%8F%B7%E6%96%B0%E5%AE%BF%E9%9D%92%E6%A2%85%E7%B7%9A&oldid=108985336&useparsoid=1 jawiki:東京都道5号新宿青梅線] ==
ヘッダー付近に編集ミスと思われし文言あり
[[User:QWERTYKeyboard0570|QWERTYKeyboard0570]] ([[User talk:QWERTYKeyboard0570|talk]]) 08:56, 8 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2022_Oder_environmental_disaster&oldid=1344570432&useparsoid=1 enwiki:2022 Oder environmental disaster] ==
After a second, the actual map from the infobox (not the buttons) is replaced with a placeholder icon and text (clicking in the field still works).
[[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 11:56, 8 April 2026 (UTC)
:Could it have been a transient issue? I cannot reproduce this right now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 06:03, 10 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Commissione_arbitrale/Domande&oldid=150049601&useparsoid=1 itwiki:Wikipedia:Commissione arbitrale/Domande] ==
This page is related to the itwiki ArbCom election. Section edit links were not shown, making it difficult to ask questions to candidates. This has since been worked around with [[:it:special:diff/150118322|this edit]] and is likely related to [[phab:T387520|T387520]].
[[User:Titore|Titore]] ([[User talk:Titore|talk]]) 19:58, 8 April 2026 (UTC)
:Thanks for this report. This is on our list of high priority tasks to fix and we are going to pick up shortly. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 05:53, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Kurier&oldid=266019405&useparsoid=1 dewiki:Wikipedia:Kurier] ==
das Diagramm zum Beitrag "Ein Wal ..." überragt den Text der rechten Spalte.
[[User:Michael w|Michael w]] ([[User talk:Michael w|talk]]) 08:10, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034&useparsoid=1 dewiki:Wikipedia:Fragen zur Wikipedia] ==
<nowiki>& s h y ;</nowiki> is ignored. See the test on https://de.wikipedia.org/w/index.php?title=Wikipedia:Fragen_zur_Wikipedia&oldid=266036034#&_s_h_y_;
[[User:Raymond|Raymond]] ([[User talk:Raymond|talk]]) 09:55, 10 April 2026 (UTC)
:Filed https://phabricator.wikimedia.org/T422960 for this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:55, 10 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Wikipedia:Faktafr%C3%A5gor&oldid=59190040&useparsoid=1 svwiki:Wikipedia:Faktafrågor] ==
Svara-funktionen fungerar inte med Parsoid. När jag klickar på Svara för något inlägg, vilket som helst, dyker svarsrutan upp längst ner på sidan, efter den senaste diskussionstråden. Med den äldre parsern fungerar det.
[[User:Larske|Larske]] ([[User talk:Larske|talk]]) 11:12, 10 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Cornelis_de_Bruijn_Martinuszoon&oldid=70921577&useparsoid=1 nlwiki:Cornelis de Bruijn Martinuszoon] ==
De pagina-afbeelding is de handtekening van C. de Bruijn Mz. Ik denk dat zijn afbeelding in de spotprent een betere pagina-afbeelding is. Het zou kunnen dat Parsoid/Wikipedia deze niet 'pakt' omdat de dimensies tijdens een eerdere bewerking zijn aangepast. Alvast bedankt!
[[User:Jelledebruijn|Jelledebruijn]] ([[User talk:Jelledebruijn|talk]]) 16:31, 10 April 2026 (UTC)
:I think you might have seen a version of the page before the cache was updated. I just checked and the image is identical with Parsoid and the older parse. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:46, 10 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=The_Punisher_(2004)&oldid=263259949&useparsoid=1 dewiki:The Punisher (2004)] ==
Dead link template Vorlage:Toter Link (https://de.wikipedia.org/wiki/Vorlage:Toter_Link) after url is no longer working but gets part of the Link. (example https://de.wikipedia.org/wiki/The_Punisher_(2004)#cite_note-5 )
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:23, 10 April 2026 (UTC)
:Example without Parsoid: https://de.wikipedia.org/wiki/The_Punisher_(2004)?useparsoid=0#cite_note-5 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 18:57, 10 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T368724 but ideally, the template will be added with a space after the link. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:24, 11 April 2026 (UTC)
::Unfortunately it's added by the InternetArchiveBot that way: https://de.wikipedia.org/w/index.php?title=Liste_aktiver_Brauereien_in_Deutschland&diff=prev&oldid=265857281 --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 06:45, 11 April 2026 (UTC)
:::@[[User:SSastry (WMF)|SSastry (WMF)]]: But it is not good if the preview shows us a different result than the version that is subsequently published. InternetArchiveBot inserts it without spaces. The task is prioritized as Low, but since we have this thousands of times in the article inventory (and it used to work before), the task should be reprioritized to Higher. And the preview should always show the same result that I get after publishing. What do we do with the Phab task now? How do we handle this bug? Thank you, [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 09:12, 11 April 2026 (UTC)
::::We will fix the preview path separately. But, for this specifically, I'll flag this for the team to see how we want to handle this. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:33, 11 April 2026 (UTC)
:::::@[[User:SSastry (WMF)|SSastry (WMF)]]: Oh thank you, keep us up to date here please. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 16:35, 11 April 2026 (UTC)
::::::Okay, the fixes rolled out just now and the rendering should be fixed for instances like these. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:39, 7 May 2026 (UTC)
:::::::Thank you, looks good. [[User:Doc Taxon|Doc Taxon]] ([[User talk:Doc Taxon|talk]]) 06:16, 8 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Marlon_Ganchozo&oldid=172919968&useparsoid=1 eswiki:Marlon Ganchozo] ==
No sale el resto de la información del, jugador
[[User:Didierlpz06|Didierlpz06]] ([[User talk:Didierlpz06|talk]]) 19:04, 10 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 eswiki:Temporada regular de la Euroliga 2025-26] ==
no se sustituyen correctamente las ultimas plantillas
[[User:Hugogs02|Hugogs02]] ([[User talk:Hugogs02|talk]]) 08:42, 11 April 2026 (UTC)
:This page is too large post-template expansion. Observe that the templates at the end are not expanded neither in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=1 Parsoid] nor in [https://es.wikipedia.org/w/index.php?title=Temporada_regular_de_la_Euroliga_2025-26&oldid=172927511&useparsoid=0 Legacy]; the legacy parser just happens to expand a few more at the end of the page due to [https://phabricator.wikimedia.org/T392262 T392262]. The page should probably be split. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:13, 13 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Uniforme_de_la_selecci%C3%B3n_de_f%C3%BAtbol_de_Argentina&oldid=172883243&useparsoid=1 eswiki:Uniforme de la selección de fútbol de Argentina] ==
En la plantilla de uniforme de fútbol algunos uniformes se ven con las mangas más bajas respecto al archivo del cuerpo, dejando lineas de un pixel por encima con los colores de fondo en dicha plantilla.
[[User:Lobo kun mfc|Lobo kun mfc]] ([[User talk:Lobo kun mfc|talk]]) 13:58, 11 April 2026 (UTC)
:The lines displayed on top of the uniforms are present both in Parsoid and in the Legacy parser, and they do seem to vary slightly depending on the browser (I've looked on Firefox and Chrome, both on Linux, and they were not consistent between both browsers).
:I believe this issue should be fixed on the template side (at a guess, the <code>style="color: inherit; background-color:#000040;"</code> that I see on the various image divs may well show up depending on the exact HTML structure and/or image) [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:23, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Liste_der_Radschnellverbindungen_in_Deutschland&oldid=266034807&useparsoid=1 dewiki:Liste der Radschnellverbindungen in Deutschland] ==
Hallo,
beim Artikel [[Liste der Radschnellverbindungen in Deutschland]] wird die Beschreibung der MapLink-Karte wird nicht gescheid gerendert. Statt einem hochgestellten <code>[7]</code> wird <code>Karte der bestehenden Radschnellwege in Deutschland'"`UNIQ--ref-00000008-QINU`"'</code> gerendert. Das Problem ist serverseitig und tritt beim Legacy-Parser nicht auf. LG
[[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 16:02, 11 April 2026 (UTC)
:This is https://phabricator.wikimedia.org/T383004 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:06, 11 April 2026 (UTC)
::thanks! [[User:Ovinator|Ovinator]] ([[User talk:Ovinator|talk]]) 14:13, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Louis_Franchet_d%E2%80%99Esp%C3%A8rey&oldid=266076416&useparsoid=1 dewiki:Louis Franchet d’Espèrey] ==
Bildumfluss nicht wie üblich
[[User:Alfred Kiefer|Alfred Kiefer]] ([[User talk:Alfred Kiefer|talk]]) 19:30, 11 April 2026 (UTC)
:This issue has been fixed in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1269534 and should be deployed to production this week. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:34, 13 April 2026 (UTC)
== [https://bn.wiktionary.org/w/index.php?title=%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE&oldid=250894&useparsoid=1 bnwiktionary:প্রধান পাতা] ==
The ‘ শব্দছবি’ section is overflowing with Parsoid; thus does not happen when the legacy parser is used.
[[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 08:09, 12 April 2026 (UTC)
:Since the section seems to be randomized, it's pretty hard to see which version of this section is overflowing (the ones I see do not seem to). Would you be able to provide more information/a screenshot? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:49, 13 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Hamburg&oldid=266087257&useparsoid=1 dewiki:Wikipedia:Hamburg] ==
Abschnittsbearbeitungen nicht mehr möglich, Link fehlt. Betrifft einige WP-Seiten wie auch [[:de:Wikipedia:Stammtisch München]] oder auch nur einige Überschriften von [[:de:Vorlage:Coordinate]], also nicht immer komplette Seiten.
[[User:NordNordWest|NordNordWest]] ([[User talk:NordNordWest|talk]]) 12:12, 12 April 2026 (UTC)
:We have a number of issues with section edit links (documented in https://phabricator.wikimedia.org/T391624) that we intend to fix; sorry for the inconvenience - we'll make sure to keep this use case in mind when working on a solution. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:20, 23 April 2026 (UTC)
== [https://zh.wikipedia.org/w/index.php?title=COBOL&oldid=91149855&useparsoid=1 zhwiki:COBOL] ==
正文开头的“COBOL”英文名无法显示,且全文的繁简转换失效。
The English name "COBOL" for COBOL at the very beginning vanished. Besides, the conversion between traditional and simplified Chinese does not function for the entire page.
[[User:Ricky136973|Ricky136973]] ([[User talk:Ricky136973|talk]]) 13:08, 12 April 2026 (UTC)
:Parsoid should not (yet) be enabled on zhwiki. If you want to preview how it will work, you can add <code>&parsoidnewlc=1</code> to the end of the URL to use Parsoid's implementation of LanguageConverter. That shows "COBOL" on this page as expected. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:17, 13 April 2026 (UTC)
::Parsoid is now experimentally enabled, so you don't need the `&parsoidnewlc=1` at the end of the URL any more. It appears that the COBOL page renders correctly now? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:40, 21 April 2026 (UTC)
== [https://th.wikipedia.org/w/index.php?title=4_%E0%B9%80%E0%B8%97%E0%B8%9E%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%9E%E0%B8%B4%E0%B8%97%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B9%8C&oldid=12947833&useparsoid=1 thwiki:4 เทพผู้พิทักษ์] ==
อันนี้น่าจะผิดที่ร้องเพลงประกอบละคร
[[User:ภรพัฒน์|ภรพัฒน์]] ([[User talk:ภรพัฒน์|talk]]) 12:47, 13 April 2026 (UTC)
:Google translate says, "This is probably a mistake—singing the theme song for a TV drama."
:This seems like a content issue, not a Parsoid issue. Mistakes in content should be correctly directly on the wiki. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:47, 21 April 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%D7%A9%D7%A8%D7%A9%D7%97%D7%95%D7%9F/%D7%98%D7%99%D7%95%D7%98%D7%94&oldid=42822143&useparsoid=1 hewiki:משתמש:שרשחון/טיוטה] ==
אני רוצה לבטל את המצאות השם יעל סרלין בדף הטיוטות שלי כדי להתחיל ערך חדש
[[User:שרשחון|שרשחון]] ([[User talk:שרשחון|talk]]) 12:59, 13 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Acidente_radiol%C3%B3gico_de_Goi%C3%A2nia&oldid=72061996&useparsoid=1 ptwiki:Acidente radiológico de Goiânia] ==
[[File:Captura_de_tela_de_miniaturas_renderizadas_pelo_Parsoid.png|thumb|250x250px]]
As miniaturas estão minúsculas com as margens enormes.
[[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 15:13, 13 April 2026 (UTC)
:It seems to be like this due to
:<pre>html.skin-theme-clientpref-thumb-large .mw-parser-output[data-mw-parsoid-version] .mw-default-size img[width="250"] { width: calc(round(400px * var(--mw-file-upright,1),10px)) }</pre> [[User:Inter-rede|Inter-rede]] ([[User talk:Inter-rede|talk]]) 17:48, 19 April 2026 (UTC)
::{{Tracked|T423676}} [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
::This should have been fixed by a backport we did yesterday. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 14:48, 21 April 2026 (UTC)
== [https://hr.wikipedia.org/w/index.php?title=Marijana_Bijeli%C4%87&oldid=7429126&useparsoid=1 hrwiki:Marijana Bijelić] ==
Sve je podvuceno a ne treba tako biti
[[User:Nikolica1512|Nikolica1512]] ([[User talk:Nikolica1512|talk]]) 17:08, 13 April 2026 (UTC)
:I made some edits for you [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 18:32, 13 April 2026 (UTC)
::Thank you, I ameliorated those problematic parts, could you take a look at it? I hope it is good to go now as an article on wikipedia so people could access it. This person deserves to have a wiki page.
::Regards, [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 21:53, 13 April 2026 (UTC)
:::Sorry, no. I was only helping with the syntax error. You'll need to take your request to the hrwiki community [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 22:25, 13 April 2026 (UTC)
::::And how do I do that exactly? Could you help me out with it? [[Special:Contributions/~2026-22989-89|~2026-22989-89]] ([[User talk:~2026-22989-89|talk]]) 22:56, 13 April 2026 (UTC)
:::::You can ask on [[:hr:Wikipedija:Kafić]] and I'm sure someone there will help you out [[User:ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]) 00:34, 14 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 dewiki:Hilfe:Parserfunktionen] ==
Headings which use <code><nowiki><includeonly></nowiki></code> to change nesting level when transcluded don't appear as headings on original page
[[User:TheFirstLevelDown|TheFirstLevelDown]] ([[User talk:TheFirstLevelDown|talk]]) 00:01, 14 April 2026 (UTC)
:Parsoid does not support gluing heading together like the legacy parser did, so this syntax is not supported.
:As an alternative, we suggest something like (to adjust depending on your exact use case)
:<syntaxhighlight lang="wikitext">
<includeonly>===== title =====</includeonly>
<noinclude>=== title ===</noinclude>
</syntaxhighlight>
:or, for a less robust version (but that doesn't require repeating the title)
:<syntaxhighlight lang="wikitext">
<includeonly>=====</includeonly><noinclude>===</noinclude> title <includeonly>=====</includeonly><noinclude>===</noinclude>
</syntaxhighlight> [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:45, 14 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Amor_eterno_una_tragedia_anunciada&oldid=172974810&useparsoid=1 eswiki:Amor eterno una tragedia anunciada] ==
el título de la página está como "Amor eterno una tragedia anunciada" y no deja cambiarlo al original que es "Amor Eterno: Una tragedia anunciada"
[[User:Goodfriendspictures|Goodfriendspictures]] ([[User talk:Goodfriendspictures|talk]]) 09:59, 14 April 2026 (UTC)
:To me it looks like the [[DISPLAYTITLE]] magic word is disabled though {{wg|AllowDisplayTitle}} in eswiki. Nothing to do with Parsoid. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 10:12, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:TanjaKo/Sandbox&oldid=150217478&useparsoid=1 itwiki:Utente:TanjaKo/Sandbox] ==
Nel testo non sono presenti errori e le frasi sono sottolineate con una linea rossa ondulata. Come risolverlo visual bug? Grazie
[[User:TanjaKo|TanjaKo]] ([[User talk:TanjaKo|talk]]) 17:42, 14 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Wikipedia:Raduni/Raduni_in_Sicilia_2026&oldid=150224594&useparsoid=1 itwiki:Wikipedia:Raduni/Raduni in Sicilia 2026] ==
just on iPhone 14 with iOS 18.7.7 both from safari or chrome and both from logged or unlogged and incognito mode, the last number of the participants list (made with "#") is bigger than the others
[[User:GiovanniPen|GiovanniPen]] ([[User talk:GiovanniPen|talk]]) 18:31, 15 April 2026 (UTC)
== [https://atj.wikipedia.org/w/index.php?title=Otitikowin&oldid=16878&useparsoid=1 atjwiki:Otitikowin] ==
pas moyen de travailler en mode visuel sur la page
[[User:Luc Patin|Luc Patin]] ([[User talk:Luc Patin|talk]]) 14:56, 16 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Zhang_Zeduan&oldid=173032341&useparsoid=1 eswiki:Zhang Zeduan] ==
La pagina está incompleta e inpublicable
[[User:Mikemj1987|Mikemj1987]] ([[User talk:Mikemj1987|talk]]) 22:08, 17 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:08, 20 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=L%C3%ADnea_E3_(Euskotren_Trena)&oldid=173034070&useparsoid=1 eswiki:Línea E3 (Euskotren Trena)] ==
La imagen se ve un poco mal por el modo oscuro.
[[User:UnniMan|UnniMan]] ([[User talk:UnniMan|talk]]) 00:55, 18 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:09, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Stadtbahn_Karlsruhe&oldid=265878452&useparsoid=1 dewiki:Stadtbahn Karlsruhe] ==
Shows reference error and the categoy Kategorie:Wikipedia:Seite mit Einzelnachweisfehlern
but is not included in https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Seite_mit_Einzelnachweisfehlern
The same happens with other articles that had no reference errors with the old parser. Makes maintenance hard.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 09:26, 19 April 2026 (UTC)
:Tracked in https://phabricator.wikimedia.org/T423924 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Indiana_Jones_and_the_Fate_of_Atlantis&oldid=265815741&useparsoid=1 dewiki:Indiana Jones and the Fate of Atlantis] ==
Shows a reference error that is not visible in the preview function.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:06, 19 April 2026 (UTC)
:The error came through a Reference with the same name in a used template https://de.wikipedia.org/wiki/Vorlage:Verkaufszahlen_LucasArts_Adventures Still bad to have an error that wasn't there with the old parser and isn't shown in the preview or maintenance category. --[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 10:27, 19 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Evento_Azolla&oldid=72103944&useparsoid=1 ptwiki:Evento Azolla] ==
[Convert: número inválido] na parte de Efeitos Globais
[[User:Marina Funez|Marina Funez]] ([[User talk:Marina Funez|talk]]) 00:28, 20 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:10, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Musikk%C3%A1r&oldid=144140&useparsoid=1 smnwiki:Myenster:Musikkár] ==
Instead of dealing with this issue and the other issue on smnwiki listed below, these were quietly archived. These are still displaying messed up months later after they were reported the first time. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:53, 20 April 2026 (UTC)
:We may have missed this previously, but edits like [https://smn.wikipedia.org/w/index.php?title=Myenster%3AMusikk%C3%A1r&diff=152826&oldid=144359 this] should fix the rendering. This should work for the other pages below as well. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:42, 20 April 2026 (UTC)
::Thank you. I'll do the same for any other templates I come across that display like that one did. - [[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 15:49, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Diskografia&oldid=62663&useparsoid=1 smnwiki:Myenster:Diskografia] ==
Instead of dealing with this issue and the other issue on smnwiki listed above, these were quietly archived. These are still displaying messed up months later after they were reported the first time. -[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://smn.wikipedia.org/w/index.php?title=Myenster:Kirje%C4%8D%C3%A4llee&oldid=32928&useparsoid=1 smnwiki:Myenster:Kirječällee] ==
Like the other display issues in smnwiki, this is also displaying messed up after the change.
[[User:Yupik|Yupik]] ([[User talk:Yupik|talk]]) 09:55, 20 April 2026 (UTC)
:Edited as above. For all other pages you encounter on wiki like this, please make similar edits. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:04, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Donald_A._Wollheim&oldid=266357315&useparsoid=1 dewiki:Donald A. Wollheim] ==
Picture is shown within a big white box, which isn't the case with the old parser.
[[User:Mielas|Mielas]] ([[User talk:Mielas|talk]]) 11:15, 20 April 2026 (UTC)
:[[phab:T421524]] [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:15, 20 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Hilfe_Diskussion:Bilder&oldid=266370955&useparsoid=1 dewiki:Hilfe Diskussion:Bilder] ==
see [[w:de:Hilfe Diskussion:Bilder #Skalierung von Bildern mit dem Parameter hochkant scheint nicht mehr zu funktionieren]]
[[User:BurghardRichter|BurghardRichter]] ([[User talk:BurghardRichter|talk]]) 22:24, 20 April 2026 (UTC)
== [https://tcy.wikipedia.org/w/index.php?title=%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F&oldid=359337&useparsoid=1 tcywiki:ಮುಖ್ಯ ಪುಟ] ==
in main page not enable <code>html.skin-theme-clientpref-night</code>
[[User:ChiK|ChiK]] ([[User talk:ChiK|talk]]) 05:47, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:23, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== https://de.wikipedia.org/wiki/Gemeindestandsver%C3%A4nderungen_in_der_Schweiz ==
Die Links zu den Ankern gehen nicht [[Special:Contributions/~2026-24437-27|~2026-24437-27]] ([[User talk:~2026-24437-27|talk]]) 11:53, 21 April 2026 (UTC)
:I see you found a solution :)
:For the exact issue: generating ids independently from their enclosing tag is not supported by Parsoid (although this is not documented - I'll fix that).
:Thanks for the report! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:16, 21 April 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Albosaggia&oldid=50063504&useparsoid=1 svwiki:Albosaggia] ==
This article, and thousands of other articles, have erroneously been put in hidden categories [[:sv:Kategori:Sidor med referensfel]] and [[:sv:Kategori:Wikipedia:Projekt översätta källmallar]]. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 12:24, 21 April 2026 (UTC)
:You can mark this issue as fixed. The problem root cause was in a new Template and Module created this morning. [[User:Plumbum208|Plumbum208]] ([[User talk:Plumbum208|talk]]) 14:40, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eurovision_Song_Contest_1992&oldid=258716277&useparsoid=1 dewiki:Eurovision Song Contest 1992] ==
Quelltext bearbeiten ist für Abschnitte nicht sichtbar
[[User:Anmey10112|Anmey10112]] ([[User talk:Anmey10112|talk]]) 13:00, 21 April 2026 (UTC)
:Translation: "Edit source" is not visible for sections. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:13, 23 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Boro%C8%99e%C8%99ti,_Ia%C8%99i&oldid=17665231&useparsoid=1 rowiki:Boroșești, Iași] ==
Satul este Borosești nu Boroșești.
[[User:Stalmada|Stalmada]] ([[User talk:Stalmada|talk]]) 13:07, 21 April 2026 (UTC)
:Content complaint - not Parsoid related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 15:09, 21 April 2026 (UTC)
== [https://nl.wikipedia.org/w/index.php?title=Gebouwge%C3%AFntegreerde_zonnepanelen_(BIPV)&oldid=71021732&useparsoid=1 nlwiki:Gebouwgeïntegreerde zonnepanelen (BIPV)] ==
Bij de afbeeldingen zijn 3 afbeeldingen gecombineerd met de sjabloon {{Afbeelding combi}} . De sjabloon maakt gebruikt van elk aparte tekstvelden voor elke afbeeldingen. Echter is in dit geval bij de eerste twee afbeeldingen geen gebruik gemaakt van tekstveld en is al de tekst aan het eind geplaatst bij de laatste afbeelding. Door dit gebruik van de sjabloon worden de afbeeldingen zonder spatie direct na elkaar vertoont. Op de mobiele website worden de afbeeldingen met dit sjabloon wel met spaties vertoont. Merk op dat de engelse template wel de mogelijkheid heeft om afbeeldingen gecombineerd te laten zien met spaties er tussen en heeft deze variant template meer mogelijkheden dan de NL versie. Mogelijk dat er de uitwerkin ook niet helemaal correct is geweest, maar hierover is niet te oordelen vanwege de beperkte Wiki edit kennis.
[[User:Public-Publicity|Public-Publicity]] ([[User talk:Public-Publicity|talk]]) 16:16, 21 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:22, 21 April 2026 (UTC)
:Translation: "In this section, three images have been combined using the template `Template:Afbeelding combi`. This template typically utilizes a separate text field for each individual image; however, in this specific instance, the text fields for the first two images were left unused, and all the accompanying text was instead placed at the end, alongside the final image. As a result of this specific application of the template, the images are displayed consecutively without any spacing between them. On the mobile version of the website, however, images utilizing this template *are* displayed with spacing. It is worth noting that the English-language version of this template *does* offer the capability to display combined images with spacing in between—making that variant of the template more versatile than its Dutch counterpart. It is possible that the implementation itself was not entirely correct; however, it is difficult to pass judgment on this matter due to limited expertise in Wiki editing." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:12, 23 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Talk:Rao_Laxmi_Chand&oldid=10828084&useparsoid=1 simplewiki:Talk:Rao Laxmi Chand] ==
This Page is fake and all the information is fake
[[User:Rao Gourav|Rao Gourav]] ([[User talk:Rao Gourav|talk]]) 17:23, 21 April 2026 (UTC)
:Triage: Content complaint - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:28, 21 April 2026 (UTC)
::{{done}} [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:07, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9,_%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD_%D0%A4%D1%91%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87&oldid=152793914&useparsoid=1 ruwiki:Александровский, Степан Фёдорович] ==
дублируется реф в инфобоксе
[[User:Gleb95|Gleb95]] ([[User talk:Gleb95|talk]]) 20:21, 21 April 2026 (UTC)
:Translation: "The reference is duplicated in the infobox."
:The legacy parser version has 19 references in the references list, and Parsoid contains 22. This is likely a content issue, although I haven't looked into it to determine root cause. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:11, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is plenty of problems I see related to transliteration to Serbian Cyrillic.
I prefer reading articles in Serbian Cyrillic (on top of our UI, I select "Ћирилица"). In current state, Parsoid should not be turned on at all on our Wikipedia
{{multiple image
| align = center
| total_width = 1000
| image1 = Jefri Saks (no Parsoid).png
| caption1 = Without Parsoid
| image2 = Jefri Saks (Parsoid).png
| caption2 = With Parsoid
}}
Note that, with Parsoid, everything is transliterated, even when marked with correct <nowiki><lang></nowiki> attribute. Without parsoid, original English text is correctly left un-transliterated. There is also a glitch where URL is not rendered in infoboxes, again, probably something about misrendering text which was supposed to avoid transliteration.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:43, 21 April 2026 (UTC)
:This is [[phab:T424159|T424159 [P0] Parsoid doesn't "guessVariant" at top level on Serbian Wikipedia, and makes sr-ec rendering "unusable" for some pages]]. Fundamentally, the mark up on that page is incorrect, in so far as English and Latin text aren't properly marked with `-{....}-`. It "worked before" because of a top-level "guessVariant" routine which effectively disabled language converter entirely on some pages, including this one. I suspect I'm going to have to implement the same 'guessVariant' mechanism in Parsoid, since there appears to be too much content of this type without proper language markers. [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 19:04, 23 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%8F%D0%B5%D1%84%D1%80%D0%B8_%D0%A1%D0%B0%D0%BA%D1%81&oldid=30917046&useparsoid=1 srwiki:Џефри Сакс] ==
There is no "Edit with migration tool" entry in tools on Serbian Wikipedia.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 22:50, 21 April 2026 (UTC)
:It needs to be enabled explicitly in Preferences > Editing > Developer tools > Enable parser migration tool. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:44, 23 April 2026 (UTC)
== includeonly in headline syntax == no longer resolved properly ==
''Example:'' [[w:de:Hilfe:Parserfunktionen]]
This page (and many others of our help pages) are made for dual use:
# stand alone
# transclusion of several help pages of similar topic into a combined complete story.
They contain headlines like
<syntaxhighlight lang="wikitext">
<includeonly>=</includeonly>== Allgemeines ==<includeonly>=</includeonly>
</syntaxhighlight>
If stand alone, this shall be displayed as H2.
* When combined, the page title will be shown as H2 and the section as H3.
Swift solution most welcome – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:23, 22 April 2026 (UTC)
: BTW – transclusion works correctly: [[w:de:Hilfe:Parserfunktionen/*]] --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 09:27, 22 April 2026 (UTC)
:https://de.wikipedia.org/w/index.php?title=Hilfe:Parserfunktionen&oldid=236466455&useparsoid=1 has our suggested solution (the first form preferably). It works in transclusion mode because the preprocessor is involved. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 16:53, 22 April 2026 (UTC)
::“has our suggested solution (the first form preferably). It works”
::I do not understand what is “our suggested solution” – please look at this current page. It has neither TOC nor any headline, since the == are displayed within the text, using the default parsing. There are 10 headlines.
::Astonished – [[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 21:45, 22 April 2026 (UTC)
:::Oops .. sorry! I pasted the wrong link! I meant to point you to [[#dewiki:Hilfe:Parserfunktionen|this section]] on this page. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 00:09, 23 April 2026 (UTC)
You’re imposing some work on us.
* I am happy that there are [https://de.wikipedia.org/w/index.php?search=H:+insource:includeonly+insource:%2Fincludeonly%5C%3E%3D%2B%5C%3C%5C%2Fincludeonly%2F&title=Spezial:Suche 12 pages only] to be updated now.
* Fortunately, some other syntax has been used in [[w:de:H:VE/*]] – [[w:de:H:Lua/*]] – [[w:de:H:Tabellen/*]] – [[w:de:H:FAQ/Übersicht]] which are merging a huge pile of single pages.
I do hope this exception will be described in WikiSyntax Documentation soon. --[[User:PerfektesChaos|PerfektesChaos]] ([[User talk:PerfektesChaos|talk]]) 11:04, 23 April 2026 (UTC)
:Thanks for your understanding and fixing the pages. Given all the work we've done to deploy to a wiki, at this point, we expect that all remaining rendering issues are likely going to be edge cases that affect small number of pages. We'll update the docs soon, yes. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 13:22, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5&oldid=116093745&useparsoid=1 ruwiki:Шаблон:Предупреждение] ==
[[:ru:Шаблон:Tpre]] ([[:ru:Модуль:Template call code]]) stops working entirely in Parsoid mode. See also local discussion: [[:ru:Википедия:Форум/Технический#c-Tarkoff-20260422084300-Шаблон:Предупреждение]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 16:40, 22 April 2026 (UTC)
:That doesn't look good. Do you have a sense of how many pages are impacted? We will take a look tomorrow and see what is going on and if we can roll out a quick fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:07, 22 April 2026 (UTC)
::I see what is going on. This is [[phab:T353697|T353697]] which was resolved with https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/992274. The fix is to have the modules emit <code>format="wikitext"</code> so the <nowiki><span> tags aren't escaped as literal output. Can you see if that fixes it?</nowiki> [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:22, 22 April 2026 (UTC)
::: Yes, thank you. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:47, 22 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Rei_Ami&oldid=266367300&useparsoid=1 dewiki:Rei Ami] ==
The image of Ami on the top right corner should be rendered with a width of 250px but seems to be scaled down to round about 160px. When using the Legacy Parser the image is rendered as expected. The issue seems to effect only some images. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 18:59, 22 April 2026 (UTC)
:@[[User:Jon (WMF)|Jon (WMF)]] says, "The original size of the image is 315x427. This is https://phabricator.wikimedia.org/T421524 - only way to fix it is for Parsoid to mark the img up with a class when the image original size is smaller than 400px. Otherwise it's working as expected." I'm not entirely sure I agree with this diagnosis, since T421524 would cause the image to appear "too large" not "too small".
:@[[User:Guardian of Arcadia|Guardian of Arcadia]] what is your user thumbnail size preference, and what skin are you using? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:13, 23 April 2026 (UTC)
::@[[User:Cscott|Cscott]]: I'm using the default thumbnail size of 250px and Vector 2010 (Legacy) as skin. But the size issue also occurs when using other skins like Vector 2022, which can be seen by appending <code>useskin=vector-2022</code> to the URL or viewing the page in an incognito window. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 20:37, 23 April 2026 (UTC)
:::What browser and version are you using @[[User:Guardian of Arcadia|Guardian of Arcadia]] ? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 21:46, 23 April 2026 (UTC)
::::Also can you check you don't have a different preference set in [[Special:GlobalPreferences]] and possibly try changing it and changing it back? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 23:55, 23 April 2026 (UTC)
::::@[[User:Jon (WMF)|Jon (WMF)]]: The issue isn't limited to my account only; it occurs in a logged-out state (within an incognito window) too. But your guess about the browser seems to be right: I have the described issue when using Firefox with the ESR version 115.35.0esr. Today I have tested with another browser (Chrome and Edge) as well as on a PC with a current (non-ESR) Firefox and there the image is shown as expected. So, is this a bug in this specific Firefox version? [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 19:47, 24 April 2026 (UTC)
:::::Yes. This sounds like a bug in that specific Firefox version. If you can give me more details about the operating system version you are using I can see if I can replicate in browserstack.com . Is it possible there are any browser extensions installed on that browser? [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 22:31, 24 April 2026 (UTC)
::::::The operating system on this PC is Windows 8.1 (Build 9600) and I do not have any browser extensions installed there. Hope this helps to reproduce the issue. If you need anything else please let me know. Thanks for your help. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 22:44, 24 April 2026 (UTC)
:::::::That was incredibly useful information, thank you. I understand what is happening now, and there might be something we can do here. Note, this browser is on the cusp of our usual browser support levels, which is what's causing the problem. [[User:Jon (WMF)|Jon (WMF)]] ([[User talk:Jon (WMF)|talk]]) 16:54, 27 April 2026 (UTC)
::::::::That's great news. I would be verry happy if you or your team can fix it. [[User:Guardian of Arcadia|Guardian of Arcadia]] ([[User talk:Guardian of Arcadia|talk]]) 17:00, 27 April 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Alexandru_Dobrogeanu-Gherea&oldid=17669378&useparsoid=1 rowiki:Alexandru Dobrogeanu-Gherea] ==
imaginea prea mare, la fel la multe articole cu infocaseta om politic, de pilda Vasile Luca, Luminita Odobescu etc face contrast cu imagini in alte infocasete unde problema se poate regla
[[User:Ewan2|Ewan2]] ([[User talk:Ewan2|talk]]) 01:25, 23 April 2026 (UTC)
:Google translate: "the image is too large, the same as in many articles with the politician infobox, for example Vasile Luca, Luminita Odobescu, etc. it contrasts with images in other infoboxes where the problem can be adjusted." [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 18:50, 23 April 2026 (UTC)
::@[[User:Jon (WMF)|Jon (WMF)]] says "For Romanian Wikipedia, there was a problem with the infobox styles. Pretty sure it's been fixed since. It could just be that he's seeing 400px instead of 300px. The infobox image looks identical to me in Parsoid and legacy."
::@[[User:Ewan2|Ewan2]] are you using the default thumbnail size (250px) or a larger size in your user preferences? [[User:Cscott|cscott]] ([[User talk:Cscott|talk]]) 20:07, 23 April 2026 (UTC)
== [https://zu.wikipedia.org/w/index.php?title=Gashamo_Hawd_Somali_Ethiopia&oldid=122552&useparsoid=1 zuwiki:Gashamo Hawd Somali Ethiopia] ==
Is the city of Hawd Zone
[[User:Maaaaskaas11|Maaaaskaas11]] ([[User talk:Maaaaskaas11|talk]]) 21:58, 23 April 2026 (UTC)
== [https://ru.wikipedia.org/wiki/Текумсе ruwiki:Текумсе] ==
For some reason, the comment "До эскиза Лоссинга не было известно..." is repeated twice (see subsection "Комментарии" at the end of the article). This comment is generated by template "ref+" placed inside the template "персона" (an analogue of "Template:Infobox person"), and it is supposed to appear only once. Thanks! [[User:Adavyd|Adavyd]] ([[User talk:Adavyd|talk]]) 22:04, 23 April 2026 (UTC)
:This is probably {{phab|T415789}}, which would be solved by adding a name to the reference, but then we end up running into {{phab|T423924}} - the template ends up defining the reference twice with subtly different content (as far as Parsoid is concerned) and the same name, which triggers an error. The fix will probably be to add a name to the reference once {{phab|T423924}} is handled. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:43, 24 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=FIDO2&oldid=264704558&useparsoid=1 dewiki:FIDO2] ==
Erste Grafik überlagert den Text und die Werkzeugleiste links
[[User:Hinnerk11|Hinnerk11]] ([[User talk:Hinnerk11|talk]]) 23:51, 23 April 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Utente:Amanda_Kathrine_Smith/Sandbox&oldid=150348388&useparsoid=1 itwiki:Utente:Amanda Kathrine Smith/Sandbox] ==
i don't see the "MOVE DRAFT" button.
[[User:Amanda Kathrine Smith|Amanda Kathrine Smith]] ([[User talk:Amanda Kathrine Smith|talk]]) 14:14, 24 April 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 17:36, 28 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0_(1071%E2%80%941217)&oldid=30892614&useparsoid=1 srwiki:Србија (1071—1217)] ==
Text inside {{lang-la.. and other {{lang-... templates is not displayed at all.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:46, 24 April 2026 (UTC)
:Never mind, in process of adapting our templates for Parsoid, I missed additional change needed in an auxillary module. All is good now. [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 17:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D1%80%D0%B3/%D0%94%D1%80%D1%83%D0%B3%D0%B8&oldid=30921466&useparsoid=1 srwiki:Википедија:Трг/Други] ==
<nowiki>__NOCONTENTCONVERT__</nowiki> does not work in Parsoid.
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 18:53, 24 April 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=Queen&oldid=30824348&useparsoid=1 srwiki:Queen] ==
Parsoid does not honor __БЕЗКН__ (magic word to suppress title conversion during language conversion)
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 20:03, 24 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8&oldid=152858025&useparsoid=1 ruwiki:Википедия:Форум/Новости] ==
Исчез логотип в скине Вектор-2010 при включенном гаджете, который отображает праздничные логотипы. При отключении гаджета в настройках — повседневный логотип виден.
[[User:Рыцарь поля|Рыцарь поля]] ([[User talk:Рыцарь поля|talk]]) 00:16, 25 April 2026 (UTC)
:Triage: not a Parsoid visual issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:22, 27 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82:%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0/%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F_%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8&oldid=152853098&useparsoid=1 ruwiki:Проект:Библиотека/Требуются книги] ==
Конфликт [[:ru:Проект:Библиотека/Требуются книги/Шапка]] с содержанием страницы, из-за чего в [[:ru:Шаблон:shortcut|Шаблон:shortcut]] помещается раздел "содержание" (выглядит это так: [https://ibb.co/219kN3dW 1] и [https://ibb.co/bgM0Fmpn 2]).
-------
The conflict between [[:ru:Проект:Библиотека/Требуются книги/Шапка]] and the page content causes the "содержание" section to appear inside [[:ru:Шаблон:shortcut|Шаблон:shortcut]] (this is how it looks: [https://ibb.co/219kN3dW 1] and [https://ibb.co/bgM0Fmpn 2]).
[[User:Футболло|Futbollo]] ([[User talk:Футболло|talk]]) 01:10, 25 April 2026 (UTC)
:Thank you for the report - I've filed {{phab|T424492}} for it. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:33, 27 April 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Copa_Intercontinental_da_FIFA_de_2025&oldid=72134360&useparsoid=1 ptwiki:Copa Intercontinental da FIFA de 2025] ==
Quadro de informações foi excluído por acidente.
[[User:AnderSilv42|AnderSilv42]] ([[User talk:AnderSilv42|talk]]) 00:16, 26 April 2026 (UTC)
:Triage: Content related - not Parsoid related. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:23, 26 April 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Michel_W%C3%B6cke&oldid=266505400&useparsoid=1 dewiki:Michel Wöcke] ==
Bild (Thumb) viel zu gross
[[User:Albinfo|Albinfo]] ([[User talk:Albinfo|talk]]) 13:44, 26 April 2026 (UTC)
== [https://tn.wikipedia.org/w/index.php?title=Sekolo_Se_Segolwane_Sa_Nata&oldid=49572&useparsoid=1 tnwiki:Sekolo Se Segolwane Sa Nata] ==
I tried fixing the references but It still says pages with reference errors so I don't know what could be the issue
[[User:Blackgirlmighty|Blackgirlmighty]] ([[User talk:Blackgirlmighty|talk]]) 17:00, 26 April 2026 (UTC)
:You only need to define a reference once even if you want to use it multiple times - see https://www.mediawiki.org/wiki/Help:Cite#Multiple_uses_of_the_same_footnote for more information. One of each of the references Mmegi2012 and Mmegi2023 should be kept as is; the others should be replaced by <nowiki><ref name="Mmegi2012" /></nowiki> (or 2023) without content. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:39, 27 April 2026 (UTC)
== [https://simple.wikipedia.org/w/index.php?title=Pete_Aguilar&oldid=8671369&useparsoid=1 simplewiki:Pete Aguilar] ==
This is a less detailed copy of another Wikipedia page. There are two wiki pages showing Pete Aguilar and this is an outdated version.
[[User:SuperPug3739|SuperPug3739]] ([[User talk:SuperPug3739|talk]]) 04:56, 27 April 2026 (UTC)
:Triage: content related, not Parsoid related [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:46, 27 April 2026 (UTC)
== [https://fi.wikipedia.org/w/index.php?title=Hoito-_kasvatussuunnitelma&oldid=23973675&useparsoid=1 fiwiki:Hoito- kasvatussuunnitelma] ==
Sivun nimi piti olla Hoito- ja kasvatussuunnitelma. Muokkaaminen ei onnistunut.
[[User:Nebiux|Nebiux]] ([[User talk:Nebiux|talk]]) 12:01, 29 April 2026 (UTC)
:Triage: content related, not Parsoid-related. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:04, 30 April 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Usuario:Luigi_Nakano&oldid=173203320&useparsoid=1 eswiki:Usuario:Luigi Nakano] ==
An error appears, which should appear when template [[w:es:Plantilla:Estado usuario|Estado usuario]] has nothing in 1=. However, there is a parameter in 1=, so the result should be "Conectado" or "Desconectado", and not "Error:No se ha indicado usuario.".
[[User:Luigi Nakano|<span style="color:green">Luigi</span> <span style="color:blue">Nakano</span>]] [[File:Emojione 1F3A7.svg|15px]] ([[User talk:Luigi Nakano|会話]]) 23:12, 29 April 2026 (UTC)
:This looks like {{phab|T348722}}, for which a workaround is suggested in https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#Access_to_parent_frame_from_within_extensions. Let us know if the problem persists after the fix! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 13:10, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=History_of_the_Ryukyu_Islands&oldid=1336895218&useparsoid=1 enwiki:History of the Ryukyu Islands] ==
The multiple issues display unsourced template when editing the article there is no such template.
[[User:Lightoil|Lightoil]] ([[User talk:Lightoil|talk]]) 05:11, 30 April 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A7%D1%85%D0%B0%D0%B8%D0%B4%D0%B7%D0%B5,_%D0%9C%D0%B0%D0%BC%D0%B8%D1%8F_%D0%92%D0%B8%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&oldid=152923873&useparsoid=1 ruwiki:Чхаидзе, Мамия Виссарионович] ==
In the old parser, links to non-existing file pages lead to Special:Upload for the file. In Parsoid, it's a strange link to Special:FilePath, which ends up confusing the editors who accustomed to uploading files this way. [[:ru:Служебная:GoToComment/c-ФВ-20260430140600-Не_загружается_файл|See local discussion]].
[[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 20:53, 30 April 2026 (UTC)
: Finally reported [[phab:T425841]] myself since it got no reaction here. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 22:09, 8 May 2026 (UTC)
== [https://sr.wikipedia.org/w/index.php?title=%D0%94%D0%B5%D1%80%D0%B2%D0%B8%D1%88_%D0%9A%D0%BE%D1%80%D0%BA%D1%83%D1%82&oldid=30931273&useparsoid=1 srwiki:Дервиш Коркут] ==
At the bottom, there are several navboxes, Parsoid adds some whitespace between them
[[File:Spaces between navboxes with Parsoid..png]]
[[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 21:21, 30 April 2026 (UTC)
: https://phabricator.wikimedia.org/T425123 [[User:Ђидо|Ђидо]] ([[User talk:Ђидо|talk]]) 15:27, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Sevayat&oldid=1351876642&useparsoid=1 enwiki:Talk:Sevayat] ==
The content assessment and talk page are displayed directly on the talk page, rather than within the “About this page” section (mobile view).
[[User:S4yam|S4yam]] ([[User talk:S4yam|talk]]) 21:44, 30 April 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Template_editor&oldid=1351909200&useparsoid=1 enwiki:Wikipedia talk:Template editor] ==
I'm artist thi is my personal biography page
[[User:Allymtulia|Allymtulia]] ([[User talk:Allymtulia|talk]]) 21:45, 30 April 2026 (UTC)
:Triage: Content issue, not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Middle_of_Nowhere_(Kacey_Musgraves_album)&oldid=1351931473&useparsoid=1 enwiki:Middle of Nowhere (Kacey Musgraves album)] ==
Producer parameter that adops hlist system in Infobox album template occurs an error.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 01:07, 1 May 2026 (UTC)
:Triage: Not a Parsoid issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 08:36, 1 May 2026 (UTC)
== [https://it.wikipedia.org/w/index.php?title=Associazione_Calcio_Perugia_1996-1997&oldid=148287407&useparsoid=1 itwiki:Associazione Calcio Perugia 1996-1997] ==
Doesn't show all kits. Just the third and on top of the screen
[[User:Madive60|Madive60]] ([[User talk:Madive60|talk]]) 01:29, 1 May 2026 (UTC)
:This is probably fixed by the fix to {{phab|T425056}} and the current CSS workaround on-wiki. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:22, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%9B%BD%E6%97%97%E3%81%AE%E4%B8%80%E8%A6%A7&oldid=109342678&useparsoid=1 jawiki:国旗の一覧] ==
イラクの国旗がない
[[User:平舞|平舞]] ([[User talk:平舞|talk]]) 03:17, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Manting_Chan&oldid=1351960413&useparsoid=1 enwiki:Manting Chan] ==
Divorce, she is not divorced.
[[User:Bananahammock311911511|Bananahammock311911511]] ([[User talk:Bananahammock311911511|talk]]) 04:54, 1 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:30, 1 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E9%9B%B7%E9%96%80%E9%9F%B3%E5%8A%A9&oldid=109345108&useparsoid=1 jawiki:雷門音助] ==
{{人名の曖昧さ回避}}や{{aimai}}を貼ると表示が崩れる。
[[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 07:27, 1 May 2026 (UTC)
:<nowiki>[[:jawiki:雷門五郎]]</nowiki>でも同様の問題が起きています。 [[User:フューチャー|フューチャー]] ([[User talk:フューチャー|talk]]) 09:09, 1 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Iceman_(Drake_album)&oldid=1350717409&useparsoid=1 enwiki:Talk:Iceman (Drake album)] ==
Banners showing up on mobile, not under “learn more about this page button”
[[User:OrbitalVoid49|OrbitalVoid49]] ([[User talk:OrbitalVoid49|talk]]) 09:36, 1 May 2026 (UTC)
== [https://ro.wikipedia.org/w/index.php?title=Bancu,_Harghita&oldid=13617293&useparsoid=1 rowiki:Bancu, Harghita] ==
Steagulnjudetului Hargita nu este acea cârpă secuiasca.
[[User:Auto 4115|Auto 4115]] ([[User talk:Auto 4115|talk]]) 01:39, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Aurangabad&oldid=1351274322&useparsoid=1 enwiki:Aurangabad] ==
It has the old name of the city as it's title
[[User:20mphwind|20mphwind]] ([[User talk:20mphwind|talk]]) 07:09, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 2 May 2026 (UTC)
== [https://bn.wikipedia.org/w/index.php?title=%E0%A6%B9%E0%A6%BE%E0%A6%9C%E0%A6%B0%E0%A6%BE%E0%A6%AC%E0%A6%BE%E0%A6%A1%E0%A6%BC%E0%A7%80_%E0%A6%89%E0%A6%9A%E0%A7%8D%E0%A6%9A_%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B2%E0%A6%AF%E0%A6%BC&oldid=8874755&useparsoid=1 bnwiki:হাজরাবাড়ী উচ্চ বিদ্যালয়] ==
তথ্যসুত্র ব্যয়বহুল নয়।
[[User:Md Umor Faruk 2010|Md Umor Faruk 2010]] ([[User talk:Md Umor Faruk 2010|talk]]) 08:00, 2 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=She_Did_It_Again&oldid=1352147079&useparsoid=1 enwiki:She Did It Again] ==
(Mobile) Huge error in hlist. Bullet points (•) are missing, and the items listed are arranged very roughly. Not sure why this error occurs for over three days.
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 10:45, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425245}} for this issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:30, 3 May 2026 (UTC)
::This is now fixed. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 21:53, 7 May 2026 (UTC)
:::No? Still not fixed. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 21:54, 7 May 2026 (UTC)
::::Can you force-reload the page? It may be cached in your browser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 8 May 2026 (UTC)
:::::Now it seems addressed, but not completely. In [https://en.wikipedia.org/wiki/Don%27t_Tease_Me_with_a_Good_Time this article], bullet points (•) should not be shown in {{para|studio}} field since the parameter's class adopts plainlist. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:30, 8 May 2026 (UTC)
:::::Oh also, in that article, the original issue is not even fixed yet, although I see the issue fixed in She Did It Again and other articles. [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 04:32, 8 May 2026 (UTC)
::::::That was also a caching issue on the server. I purged the cache and it renders find. So, if there any other such titles, they will get rerendered on edits OR in 30 days (if it is not edited at all) OR you can force a purge by adding "?action=purge" at the end of url. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 12:12, 8 May 2026 (UTC)
:::::::Weird. Once you said it, this article looks fine now. I also had tried purging cache multiple times but it was not working, but after you commented, everything became fine! [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 12:50, 8 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E6%9D%91%E4%B8%8A%E5%93%B2&oldid=109361964&useparsoid=1 jawiki:村上哲] ==
[[Template:循環参照]]が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:13, 2 May 2026 (UTC)
:Thank you for the report - I have filed {{phab|T425404}} for this issue. In the meantime, it can be worked around by adding a space between the link and the Template:循環参照 call. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:55, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF&oldid=109349724&useparsoid=1 jawiki:Wikipedia:井戸端] ==
目次が表示されません。
[[User:Keruby|Keruby]] ([[User talk:Keruby|talk]]) 14:20, 2 May 2026 (UTC)
:This is {{phab|T425107}} and should be fixed with the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 09:58, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1 enwiki:Wiki (disambiguation)] ==
[[w:en:tm:dab]] (at the bottom of the page) appears to render differently on Parsoid compared to non-Parsoid.
<span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 14:27, 2 May 2026 (UTC)
:Also appears to render differently on desktop Parsoid v. mobile Parsoid -- compare https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=mobile (different rendering) vs. https://en.wikipedia.org/w/index.php?title=Wiki_(disambiguation)&oldid=1318366377&useparsoid=1&useformat=desktop ('expected' rendering, AFAIK) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 16:34, 2 May 2026 (UTC)
::This is another version of {{phab|T425245}} and should be fixed with the next Parsoid deploy. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:07, 5 May 2026 (UTC)
:::Noting that this now seems fixed (after purging the page), thanks! :) <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 15:59, 12 May 2026 (UTC)
== [https://hu.wikipedia.org/w/index.php?title=Horv%C3%A1th_Kriszti%C3%A1n_(fest%C5%91,_1976,_Budapest)&oldid=28948319&useparsoid=1 huwiki:Horváth Krisztián (festő, 1976, Budapest)] ==
Az a probléma, hogy nem szeretném hoyg festő, és 1976 Budapest legyen hozzá kírva. Elrontottam, és nem tudtam külön, új cikket írni róla.
[[User:Pizzsus|Pizzsus]] ([[User talk:Pizzsus|talk]]) 20:47, 2 May 2026 (UTC)
:Not a Parsoid issue [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%9E%D7%90%D7%99%D7%A8_%D7%90%D7%9C%D7%AA%D7%A8&oldid=43088529&useparsoid=1 hewiki:יצחק מאיר אלתר] ==
הציטוטים בכתב דיויד בעברית לקויים.
Text quotes in David font are displayed poorly.
[[User:פרידבערג|פרידבערג]] ([[User talk:פרידבערג|talk]]) 21:36, 2 May 2026 (UTC)
:From what I can see, it doesn't seem to differ from the [https://he.wikipedia.org/w/index.php?title=יצחק_מאיר_אלתר&oldid=43088529&useparsoid=0 legacy parser rendering] - can you confirm? [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:24, 5 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons&oldid=152790052&useparsoid=1 ruwiki:Лицензии и инструменты Creative Commons] ==
refs don't work with vector-2010 (but it works for vector-2022)
[[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 23:05, 2 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
::I copied the content into my draft: [https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Petsernik/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA?useskin=vector] and there the ref tags work perfectly on vector-2010, unlike the article itself [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_Creative_Commons?useskin=vector]. In both links, I added the query parameter "?useskin=vector" in the both link. The content is the same, but the behavior is different. So it's not a content issue, perhaps Parsoid. Could you please explain what you meant by "content issue"? [[User:Petsernik|Petsernik]] ([[User talk:Petsernik|talk]]) 19:46, 6 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Huawei&oldid=173270512&useparsoid=1 eswiki:Huawei] ==
El segundo sitio web que sale no existe es un vandalismo en wikimedia ingles o un error
[[User:Usuario 016|Usuario 016]] ([[User talk:Usuario 016|talk]]) 23:15, 2 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E5%8C%97%E6%9D%91%E8%81%A1&oldid=109365307&useparsoid=1 jawiki:北村聡] ==
人名の曖昧さ回避Templateを挿入すると、上手く表示されず、大きな改行空白と共に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
というものが出る。
[[User:Geogie|Geogie]] ([[User talk:Geogie|talk]]) 23:35, 2 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:18, 5 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Schreibwettbewerb&oldid=266703390&useparsoid=1 dewiki:Wikipedia:Schreibwettbewerb] ==
Text in der Blauen Tabelle ("Reviewpreis") überschneidet die rechte äußere Begrenzungslinie
[[User:Polibil|Polibil]] ([[User talk:Polibil|talk]]) 15:30, 3 May 2026 (UTC)
:This looks mostly due to {{phab|T422960}}, which is a Firefox issue (Firefox misses the fact that the cell can be smaller when hyphenating Fluoreszenzmikroskopie - a bug has been reported upstream.) That said, the table does easily overflow on both parsers, depending on the browser font size, which is probably something that should be fixed on the template side. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 14:38, 4 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Template:Center enwiki:Template:Center] ==
Does not load on mobile version, most of the page tools are missing.
[[File:Template Center issue.jpg|thumb|issue]] [[User:Misterpotatoman|Misterpotatoman]] ([[User talk:Misterpotatoman|talk]]) 19:28, 3 May 2026 (UTC)
:Thank you for the report. This is due to {{phab|T425008}} - we'll fix this rapidly (it probably will not happen in this week's train, but it may be worth an out-of-train deploy). [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 10:59, 4 May 2026 (UTC)
== [https://gl.wikipedia.org/w/index.php?title=Limodre,_Fene&oldid=7383114&useparsoid=1 glwiki:Limodre, Fene] ==
Fueron borrados los lugares de la parroquia de Limodre sin querer
[[User:Vi1993|Vi1993]] ([[User talk:Vi1993|talk]]) 22:03, 3 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:21, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
I am seeing a layout breakage where TemplateStyle CSS is rendered as plain text, but only when the page is processed via Parsoid.
「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
The output shows the CSS source code from the TemplateStyles of Template:Dmbox.
Source of the CSS: https://ja.wikipedia.org/wiki/Template:Dmbox/styles.css
The behavior is intermittent across different articles that call the same template. Some display correctly, while others fail. I haven't been able to identify the exact trigger for this discrepancy.
[[User:Yukida-R|Yukida-R]] ([[User talk:Yukida-R|talk]]) 02:16, 4 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://sv.wikipedia.org/w/index.php?title=Iliade&oldid=59249057&useparsoid=1 svwiki:Iliade] ==
Jag är jätte ledsen jag trodde det stod Illiaden på en länk och jag trodde det inte fanns en artikel om det på svenska wikipedia. Kan någon snälla ta bort denna? Förlåt.
[[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 10:56, 4 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
::Huh? What do you mean? [[User:EliteWoodCutter|EliteWoodCutter]] ([[User talk:EliteWoodCutter|talk]]) 05:58, 25 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Disventure_Camp&oldid=72184424&useparsoid=1 ptwiki:Disventure Camp] ==
O nome da pagina não é este
[[User:Pessoanonima23|Pessoanonima23]] ([[User talk:Pessoanonima23|talk]]) 03:32, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=2023_SAG-AFTRA_strike&oldid=1350502415&useparsoid=1 enwiki:2023 SAG-AFTRA strike] ==
gd use smaller sentences!!!
[[User:Plasman67|Plasman67]] ([[User talk:Plasman67|talk]]) 04:31, 5 May 2026 (UTC)
:Content issue, not a Parsoid issue. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:20, 5 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
[[:File:Disambig gray.svg]]が異常な位置に配置されています。
[[User:霧木諒二|霧木諒二]] ([[User talk:霧木諒二|talk]]) 06:02, 5 May 2026 (UTC)
:This comes from the work on {{phab|T378906}} and is essentially an other instance of {{phab|T425056}} (except the selector in question has a "> *" instead of element counts).
:Since we removed the "let's stash things in a div if available, this should be fixed in the next Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:19, 5 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Template:YouTuber-bio-stub&oldid=1252778015&useparsoid=1 enwiki:Template:YouTuber-bio-stub] ==
Only when Parsoid is enabled will an unintended edit link to [[:en:Template:Asbox|Template:Asbox]] be added to the heading of each section.
[[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 09:22, 5 May 2026 (UTC)
:This is probably some version of {{phab|T387521}}. We're currently working on a number of section edit links information and this should eventually be fixed. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 11:14, 5 May 2026 (UTC)
::Thank you for your reply. However, it seems to me that [[phab:T422291|T422291]] is more relevant. [[User:本日晴天|本日晴天]] ([[User talk:本日晴天|talk]]) 12:03, 5 May 2026 (UTC)
:::Plausibly. I'll admit that I pattern-matched on the fact that there was a redirect involved. In any case, we're working in the area of these issues, and there's a non-zero probability that both issues end up being fixed at roughly the same time. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 12:24, 5 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar la pagina que esta mal editada
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 15:54, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
por favor revisar esta pagina esta mal la cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 16:08, 5 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:59, 11 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Anexo:Emisoras_de_Cali&oldid=173315798&useparsoid=1 eswiki:Anexo:Emisoras de Cali] ==
la pagina esta descuadrada su cuadricula.
[[User:ConexionRadio|ConexionRadio]] ([[User talk:ConexionRadio|talk]]) 00:57, 6 May 2026 (UTC)
:Content issue, the rendering is similar in the legacy parser. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:00, 11 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=Template:Aimai&oldid=93697981&useparsoid=1 jawiki:Template:Aimai] ==
CSSの内容が表示されメッセージ「このページは曖昧さ回避のためのページです…」が右端に追いやられて正しく表示されません
[[User:TzrZzz|TzrZzz]] ([[User talk:TzrZzz|talk]]) 05:39, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:01, 11 May 2026 (UTC)
== [https://incubator.wikimedia.org/w/index.php?title=Wp/isv/Glavna_stranica&oldid=7094211&useparsoid=1 incubatorwiki:Wp/isv/Glavna stranica] ==
Unwanted text in
Sodržanje (contents) box in both PC mobile view. In PC view disappears by switching to legacy parser and back to Parsoid, cannot remove on mobile.
The text:
Sodržanje
.mw-parser-output .mp-topics{column-count:2;column-width:15rem}.mw-parser-output .mp-topics>*{align-items:flex-start;display:flex;flex-basis:50%;margin-bottom:1rem;page-break-inside:avoid}.mw-parser-output .mp-topics__icon{flex:0 auto;margin-right:0.5rem}@supports(mix-blend-mode:screen){.mw-parser-output .mp-topics__icon{background:currentColor;border-radius:4px}}.mw-parser-output .mp-topics__icon>img{mix-blend-mode:screen;border-radius:8px}.mw-parser-output .mp-topics__content,.mw-parser-output .mp-topics__content>ul{page-break-inside:avoid}
[[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:05, 6 May 2026 (UTC)
:This is fixed since the latest Parsoid deployment. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:58, 11 May 2026 (UTC)
::Great thanks! [[User:Ilja isv|Ilja isv]] ([[User talk:Ilja isv|talk]]) 10:55, 14 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Wikipedia:Wikimedia_Deutschland/Community-Portal&oldid=252031050&useparsoid=1 dewiki:Wikipedia:Wikimedia Deutschland/Community-Portal] ==
Die (Ausklappen) Funktion am Ende der Zeile im Abschnitt ist jeweils nicht sichtbar, es ist lediglich die "(" zu sehen.
[[User:Gabriele Gerlof (WMDE)|Gabriele Gerlof (WMDE)]] ([[User talk:Gabriele Gerlof (WMDE)|talk]]) 09:25, 7 May 2026 (UTC)
:This needs an update to the CSS to handle the section tags - see https://www.mediawiki.org/wiki/Parsoid/Parser_Unification/Instructions_for_editors#To_handle_%3Csection%3E_tags_in_Parsoid's_output. Please let us know if something more is needed here! [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 08:05, 11 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Wikipedia:File_upload_wizard enwiki:Wikipedia:File upload wizard] ==
Upload a non-free file button isn't visible on the mobile site. It's there when switched into desktop mode. I tried this on a Google Pixel and an iPhone and it didn't render on either. [[User:Streetr4|Streetr4]] ([[User talk:Streetr4|talk]]) 19:40, 9 May 2026 (UTC)
:This is apparently by design: the source of that page shows that the "non-free" file is wrapped in a div with the class "nomobile", which would mask it from the mobile view. [[User:IHurbainPalatin (WMF)|IHurbainPalatin (WMF)]] ([[User talk:IHurbainPalatin (WMF)|talk]]) 07:57, 11 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Eine_Frage_der_Ehre&oldid=266972220&useparsoid=1 dewiki:Eine Frage der Ehre] ==
VE expands refs bizarrely, inadvertently happened to another user before.
[[User:Eiragorn|Eiragorn]] ([[User talk:Eiragorn|talk]]) 13:20, 11 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Usu%C3%A1rio(a):OI_RAPOSO/Tornado_de_S%C3%A3o_Bernardo_Do_Campo&oldid=72228160&useparsoid=1 ptwiki:Usuário(a):OI RAPOSO/Tornado de São Bernardo Do Campo] ==
Não está aparecendo a infobox de feridos e vítimas da infobox de Meteorologia/tornado
[[User:OI RAPOSO|OI RAPOSO]] ([[User talk:OI RAPOSO|talk]]) 22:17, 12 May 2026 (UTC)
:Not a Parsoid issue. Renders the same as the old parser. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:34, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Talk:Cheema_(clan)&oldid=1351791887&useparsoid=1 enwiki:Talk:Cheema (clan)] ==
there is something which giving me the flashback about why does only my Vicky County is incapable to change the move toggle button, but still it not working on my interface. Yet this make me feel that there is something wrong with my interface.
[[User:Elfansojautes|Elfansojautes]] ([[User talk:Elfansojautes|talk]]) 04:32, 13 May 2026 (UTC)
== [[w:it:Pagina_principale]] ==
Under the text "Immagine del giorno da Commons" there should be an image.
Working example, see the image under "Immagine del giorno da Commons":
https://web.archive.org/web/20260506231820/https://it.wikipedia.org/wiki/Pagina_principale
We tried all possible null edits, but it works only in preview. Thanks [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 13:46, 13 May 2026 (UTC)
:Thanks for the bug report. This is a recent regression. We'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:13, 15 May 2026 (UTC)
::Looks like the same regression that caused https://phabricator.wikimedia.org/T426371 [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 04:16, 15 May 2026 (UTC)
:::This should be fixed now. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:45, 21 May 2026 (UTC)
::::Thanks :3 🏅 [[User:Valerio Bozzolan|Valerio Bozzolan]] ([[User talk:Valerio Bozzolan|talk]]) 17:34, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0&oldid=146173121&useparsoid=1 ruwiki:Парабола] ==
не отображаются формулы
[[User:Klavomen|Klavomen]] ([[User talk:Klavomen|talk]]) 15:46, 13 May 2026 (UTC)
:I cannot reproduce this error. Can you retry and provide more details (skin, browser, OS, etc.) that can help us reproduce this? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:57, 15 May 2026 (UTC)
== [https://en.wikipedia.org/wiki/Esen_Taishi enwiki:Esen Taishi] ==
Do not display image captions when using the [https://en.wikipedia.org/wiki/Template:Legend Template:Legend] in mobile view. All other pages are affected as well. [[User:Min968|Min968]] ([[User talk:Min968|talk]]) 18:13, 13 May 2026 (UTC)
:Thanks for the bug report. I filed https://phabricator.wikimedia.org/T426371 for this and we'll investigate and fix. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:54, 15 May 2026 (UTC)
::This is now fixed. If you see missing captions, ?action=purge should refresh the cache and fix it. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 15:42, 21 May 2026 (UTC)
== [https://ru.wikipedia.org/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D0%B8%D0%BD%D0%B0_%D0%92%D0%BE%D0%B9%D1%82%D0%B5%D0%BD%D0%BA%D0%BE/%D0%A7%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA&oldid=153115141&useparsoid=1 ruwiki:Участник:Арина Войтенко/Черновик] ==
Как опубликовать статью?
[[User:Арина Войтенко|Арина Войтенко]] ([[User talk:Арина Войтенко|talk]]) 09:32, 14 May 2026 (UTC)
:Triage: Unrelated to Parsoid rendering issues. @[[User:Stjn|Stjn]]: maybe you can assist this user / direct them to the right place? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:47, 15 May 2026 (UTC)
== [https://ja.wikipedia.org/w/index.php?title=%E3%83%87%E3%82%A3%E3%83%A9%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9A%E7%90%86&oldid=75733648&useparsoid=1 jawiki:ディラックの定理] ==
Template:mathdab の表示が乱れている。このテンプレートの左側に「.mw-parser-output .dmbox{display:flex;align-items:center;clear:both;margin:0.9em 1em;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:0.25em 0.35em;font-size:95%}.mw-parser-output .dmbox>*{flex-shrink:0;margin:0 0.25em;display:inline}.mw-parser-output .dmbox-body{flex-grow:1;flex-shrink:1;padding:0.1em 0}」
という文字が表示され、その影響でテンプレートの表示位置が大きくずれている。
[[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 09:42, 14 May 2026 (UTC)
:I cannot reproduce this either on this page or on Template:mathdab. Can you check again? [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 03:46, 15 May 2026 (UTC)
::私にも再現できませんでした。一時的なものだったのかもしれません。 [[User:鼈甲|鼈甲]] ([[User talk:鼈甲|talk]]) 19:23, 15 May 2026 (UTC)
:::Thanks for writing back. Considering this resolved since it was a transient issue. [[User:SSastry (WMF)|SSastry (WMF)]] ([[User talk:SSastry (WMF)|talk]]) 19:32, 15 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=List_of_chief_guests_at_the_Delhi_Republic_Day_parade&oldid=1354199314&useparsoid=1 enwiki:List of chief guests at the Delhi Republic Day parade] ==
When opening the article on mobile browser, the images in the table under the list section are not showing. Also the table headings are misaligned with the table rows and columns.
[[User:Calmly Trying|Calmly Trying]] ([[User talk:Calmly Trying|talk]]) 23:02, 14 May 2026 (UTC)
== [https://bg.wikipedia.org/w/index.php?title=%D0%95%D0%B2%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B8%D1%8F_2027&oldid=12908910&useparsoid=1 bgwiki:Евровизия 2027] ==
Бъг в шаблона секция презишна
[[User:Martin01220|Martin01220]] ([[User talk:Martin01220|talk]]) 02:45, 17 May 2026 (UTC)
== [https://abstract.wikipedia.org/w/index.php?title=Abstract_Wikipedia:Requests_for_deletion&oldid=8033&useparsoid=1 abstractwiki:Abstract Wikipedia:Requests for deletion] ==
Labels are not displayed next to QIDs
[[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:08, 18 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Aru_(Territorium)&oldid=255997870&useparsoid=1 dewiki:Aru (Territorium)] ==
zu kleiner Abstand zwischen Abschnitten Wirtschaft und Weblinks trotz Leerzeile
[[User:Lupe|Lupe]] ([[User talk:Lupe|talk]]) 07:16, 20 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=Rer_Bare_people&oldid=1355355687&useparsoid=1 enwiki:Rer Bare people] ==
It is full of many errors and needs to be rebuilt.
[[User:Cabdighanni Muuse Ayuub|Cabdighanni Muuse Ayuub]] ([[User talk:Cabdighanni Muuse Ayuub|talk]]) 11:06, 21 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Fl%C3%A5msbana&oldid=267247015&useparsoid=1 dewiki:Flåmsbana] ==
Wir die Seite mit dem Visuellen Editor bearbeitet, zerschießt dieser die Angaben bei Einzelnachweisen: aus <references responsive /> wird: <references responsive=""></references>.
[[User:Mef.ellingen|Mef.ellingen]] ([[User talk:Mef.ellingen|talk]]) 12:32, 21 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=The_Emancipation_of_Mimi&oldid=1355544409&useparsoid=1 enwiki:The Emancipation of Mimi] ==
There's a frame and grey colored background in multiple images template (mobile).
[[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 13:41, 22 May 2026 (UTC)
== unclosed and transcluded/conditional div kills the edit-section button ==
Normally, a topic has a separate [edit] button just for itself: [https://i.ibb.co/Kxtc30C8/image.png screenshot].<br>
However, if there's an unclosed and conditional div before the topic, then the button disappears. [https://en.wikipedia.org/w/index.php?title=User_talk:ShabeTest&action=edit&oldid=1355547191 Example code]:
<syntaxhighlight highlight="1" copy lang="wikitext">
{{#if: 1 | <div> }}
== Title ==
Sentence. --[[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 14:02, 22 May 2026 (UTC)
</syntaxhighlight>
If Parsoid is disabled along with all other scripts [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=0], the edit button [https://i.ibb.co/Kxtc30C8/image.png appears]. But as soon as we enable Parsoid, the button disappears: [https://en.wikipedia.org/wiki/User_talk:ShabeTest?safemode=1&useparsoid=1], [https://i.ibb.co/Dg7XfhXD/image.png screenshot].
If you create a template that only has <syntaxhighlight inline copy lang="html"><div></syntaxhighlight> in it and then put the template on a discussion page, the same bug will get produced. An unclosed-div template like this can serve as a header, e.g. to colour the discussion page a different colour: <syntaxhighlight inline lang="html"><div style="background-color:#EAFAF7"></syntaxhighlight>. The user did not intend to make the edit button disappear just by changing the colour of the page with a template.
The bug got produced [https://ru.wikipedia.org/wiki/Обсуждение_участника:ShabeTest?safemode=1&useparsoid=1 on ruWP] as well ([https://i.ibb.co/FkY25jFc/image.png screenshot]), so I don't think it's about the wiki.
The edit button should stay, whether there's an unclosed div above the topic or not. [[User:Shabe|Shabe]] ([[User talk:Shabe|talk]]) 15:02, 22 May 2026 (UTC)
== [https://de.wikipedia.org/w/index.php?title=Sekanten-Tangenten-Satz&oldid=267288328&useparsoid=1 dewiki:Sekanten-Tangenten-Satz] ==
In dem Kästchen oben rechts (erste Zeichnung/ Skizze) ist in der Zeile mit dem Ungefähr- Zeichen das Dreieck PTG2 angezeigt. Dieses Dreieck kann nicht ungefähr gleich groß sein als eines der beiden kleineren Dreiecke. Ich habe es zwar geändert (siehe Versionen), bin aber nicht sicher, ob der Autor genau das gemeint hat. Danke für eine Überprüfung.
[[User:Rechenschieber|Rechenschieber]] ([[User talk:Rechenschieber|talk]]) 19:56, 22 May 2026 (UTC)
== [https://vi.wikipedia.org/w/index.php?title=Tr%E1%BB%91ng_chi%E1%BA%BFn&oldid=75087982&useparsoid=1 viwiki:Trống chiến] ==
Refresh thumbnail
[[User:Trúc Đồng|Trúc Đồng]] ([[User talk:Trúc Đồng|talk]]) 04:27, 23 May 2026 (UTC)
== [[:en:File:Ariana Grande - Dangerous Woman (Official Album Cover).png]] ==
There's a problem with license template in mobile. It generates wrong code:
.mw-parser-output .imbox{margin:4px 0;border:3px solid #36c;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;overflow-x:hidden}.mw-parser-output .imbox .mbox-text .imbox{margin:0 -0.6em}.mw-parser-output .imbox-speedy{border:3px solid #b32424;background-color:#fee7e6}.mw-parser-output .imbox-delete{border:3px solid #b32424}.mw-parser-output .imbox-content{border:3px solid #f28500}.mw-parser-output .imbox-style{border:3px solid #fc3}.mw-parser-output .imbox-move{border:3px solid #9932cc}.mw-parser-output .imbox-protection{border:3px solid #a2a9b1}.mw-parser-output .imbox-license{border:3px solid #88a}.mw-parser-output .imbox-featured{border:3px solid #cba135}.mw-parser-output .imbox .mbox-text{padding:0.35em 1em;flex:1 1 100%}.mw-parser-output .imbox .mbox-image,.mw-parser-output .imbox .mbox-imageright{padding:4px 2px;text-align:center;flex:none}.mw-parser-output .mbox-invalid-type{text-align:center}@media(min-width:480px){.mw-parser-output .imbox:not(.mbox-with-below),.mw-parser-output .imbox .mbox-flex{display:flex;align-items:center}.mw-parser-output .imbox .mbox-image{padding-left:1em}.mw-parser-output .imbox .mbox-imageright{padding-right:1em}}@media(min-width:640px){.mw-parser-output .imbox{margin:4px 10%}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .imbox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .imbox-speedy{background-color:#310402}} [[User:Camilasdandelions|Camilasdandelions]] ([[User talk:Camilasdandelions|talk]]) 08:46, 23 May 2026 (UTC)
== [https://pt.wikipedia.org/w/index.php?title=Cronologia_dos_descobrimentos_portugueses&oldid=69593386&useparsoid=1 ptwiki:Cronologia dos descobrimentos portugueses] ==
Bright black and white
[[User:Pedro Chiella|Pedro Chiella]] ([[User talk:Pedro Chiella|talk]]) 15:31, 23 May 2026 (UTC)
== [https://es.wikipedia.org/w/index.php?title=Incidente_del_tanque_en_San_Diego_de_1995&oldid=173610169&useparsoid=1 eswiki:Incidente del tanque en San Diego de 1995] ==
Errores en tabla de información, como el aviso de Wikidata aun sin remover
[[User:Pancho Calzon Mafia|Pancho Calzon Mafia]] ([[User talk:Pancho Calzon Mafia|talk]]) 05:19, 24 May 2026 (UTC)
== [https://he.wikipedia.org/w/index.php?title=%D7%99%D7%A6%D7%97%D7%A7_%D7%A4%D7%A8%D7%9C%D7%9E%D7%9F&oldid=43304118&useparsoid=1 hewiki:יצחק פרלמן] ==
הכותרת לא נכונה
[[User:Idanbak13|Idanbak13]] ([[User talk:Idanbak13|talk]]) 12:47, 24 May 2026 (UTC)
== [https://en.wikipedia.org/w/index.php?title=National_Basketball_Association&oldid=1355059491&useparsoid=1 enwiki:National Basketball Association] ==
The dots on the teams map are geographically inaccurate and shifted slightly down and to the left
[[User:Wisconsin555|Wisconsin555]] ([[User talk:Wisconsin555|talk]]) 03:05, 25 May 2026 (UTC)
r3s1v6hntlqmnxw4rjsd1r73ietsg4p
Translations:New Developers/Introduction to the Wikimedia Technical Ecosystem/68/es
1198
2255527
8390279
7852809
2026-05-25T05:23:59Z
~2026-31293-65
18405672
8390279
wikitext
text/x-wiki
Cosas que debes saber antes de empezar: Kenia Sarahí Gómez Moreno 12021994
0wmfu9dvckooalfu35p8fhseqikhym8
8390283
8390279
2026-05-25T05:24:05Z
Divinations
18009523
Reverted edits by [[Special:Contribs/~2026-31293-65|~2026-31293-65]] ([[User talk:~2026-31293-65|talk]]) to last version by JJDCT
7852809
wikitext
text/x-wiki
Cosas que debes saber antes de empezar:
0e7ymqi6bwzy16avhjiie4p9ap8p41u
Wikimedia Hackathon 2026/Documentation
0
2301815
8390099
8382054
2026-05-24T16:15:44Z
~2026-30881-51
18402029
Tangerine sex racket studio
8390099
wikitext
text/x-wiki
{{:Wikimedia Hackathon 2026/Header|page=7}}
== Reports ==
*
*
== Photos, videos & slides ==
* [[c:Category:Wikimedia Hackathon 2026|Wikimedia Hackathon 2026]] category on Wikimedia Commons for photos and slides
* Opening ceremony session recording: https://youtube.com/live/7ZoQdPNt1nc?feature=share
* Closing showcase session recording:https://youtube.com/live/rHMTJB8gleQ?feature=share
* ...add more here
== Blog posts ==
'''fake posts from'''
Neha & deepak
tangerine art studio sex racket studio bombay
& Murder cas
== Social media ==
* Fediverse: https://wikis.world/tags/wmhack
[[Category:Wikimedia Hackathon 2026]]
22904qyap8zu0maltpjxjlp01tmpn1k
8390100
8390099
2026-05-24T16:18:13Z
~2026-30881-51
18402029
Nehas sex racket & deeepsk murder case
8390100
wikitext
text/x-wiki
{{:Wikimedia Hackathon 2026/Header|page=7}}
== Reports ==
*
*
== Photos, videos & slides ==
* [[c:Category:Wikimedia Hackathon 2026|Wikimedia Hackathon 2026]] category on Wikimedia Commons for photos and slides
* Opening ceremony session recording: https://youtube.com/live/7ZoQdPNt1nc?feature=share
* Closing showcase session recording:https://youtube.com/live/rHMTJB8gleQ?feature=share
* ...add more here
== Blog posts ==
'''fake posts from'''
Neha & deepak
tangerine art studio sex racket studio bombay
& Murder cas
== Social media ==
* Fediverse: https://wikis.world/tags/wmhack
[[Category:Wikimedia Hackathon 2026]]
[[Category:Tangerine sex racket studio neha aggarwal & deepak madarchod]]
[[Category:Sex racket Hindi Quora community]]
h6pw3n3oj9zpubzkig2959gboxktwhe
8390101
8390100
2026-05-24T16:20:10Z
~2026-30881-51
18402029
Neha sex racket deepak gaandu murder case
8390101
wikitext
text/x-wiki
[[Neha aggarwal sex racket tangerine art studio deepak madarchod murder|Neha aggarwal sex racket tangerine art studio deepak madarchod murder'''!''']]{{:Wikimedia Hackathon 2026/Header|page=7}}
== Reports ==
*
*
== Photos, videos & slides ==
* [[c:Category:Wikimedia Hackathon 2026|Wikimedia Hackathon 2026]] category on Wikimedia Commons for photos and slides
* Opening ceremony session recording: https://youtube.com/live/7ZoQdPNt1nc?feature=share
* Closing showcase session recording:https://youtube.com/live/rHMTJB8gleQ?feature=share
* ...add more here
== Blog posts ==
'''fake posts from'''
Neha & deepak
tangerine art studio sex racket studio bombay
& Murder cas
== Social media ==
* Fediverse: https://wikis.world/tags/wmhack
[[Category:Wikimedia Hackathon 2026]]
[[Category:Tangerine sex racket studio neha aggarwal & deepak madarchod]]
[[Category:Sex racket Hindi Quora community]]
oubv9oizt6mju1o102rb7yasw5zcels
8390102
8390101
2026-05-24T16:21:07Z
M7
3635
Reverted edits by [[Special:Contribs/~2026-30881-51|~2026-30881-51]] ([[User talk:~2026-30881-51|talk]]) to last version by Lucas Werkmeister (WMDE)
8382054
wikitext
text/x-wiki
{{:Wikimedia Hackathon 2026/Header|page=7}}
== Reports ==
*
*
== Photos, videos & slides ==
* [[c:Category:Wikimedia Hackathon 2026|Wikimedia Hackathon 2026]] category on Wikimedia Commons for photos and slides
* Opening ceremony session recording: https://youtube.com/live/7ZoQdPNt1nc?feature=share
* Closing showcase session recording:https://youtube.com/live/rHMTJB8gleQ?feature=share
* ...add more here
== Blog posts ==
'''General'''
*[https://www.haykranen.nl/2026/05/02/wikimedia-hackathon-ai-identity-crisis/ I had an AI identity crisis at a hackathon, so I made it everyone’s problem] — About the two workshops i gave about the question: how should our community deal with the paradigm shift of AI?
*[https://lucaswerkmeister.de/posts/2026/05/19/wikimedia-hackathon-2026/ Wikimedia Hackathon 2026 recap] – [[User:Lucas Werkmeister (WMDE)|Lucas Werkmeister (WMDE)]]
'''Project specific'''
* [https://diff.wikimedia.org/2026/05/11/technical-tinkering-for-commonsdb-at-the-wikimedia-hackathon/ Technical tinkering for CommonsDB at the Wikimedia Hackathon] - [[User: ainali]]
*
== Social media ==
* Fediverse: https://wikis.world/tags/wmhack
[[Category:Wikimedia Hackathon 2026]]
l0r4glytfisi7v91349346iqkpl282j
Project:Support desk/Archive 25
4
2353477
8390455
8387693
2026-05-25T09:20:34Z
ArchiverBot
1174107
Bot: Archiving 1 thread from [[Project:Support desk]]
8390455
wikitext
text/x-wiki
{{talk archive}}
== REDIRECT Problem ==
On the page with the listing with all redirects there is the following problem:
The link to the source-page and also the link to the target-page is correct. But the text over both links is the same, I get to times the text of the target-name.
The same problem is in the redirected pages. Redirected from "target-page". Expected is: Redirected from "oure-page" [[Special:Contributions/~2026-33856-8|~2026-33856-8]] ([[User talk:~2026-33856-8|talk]]) 13:56, 16 January 2026 (UTC)
:Can you link to an example? Also which version of MediaWiki? – [[User:Ammarpad|Ammarpad]] ([[User talk:Ammarpad|talk]]) 15:51, 16 January 2026 (UTC)
== Automatic null edits of multiple pages ==
{{tracked|T414885}}
I'm sure this has been raised before, but... After upgrading MediaWiki (though maybe I noticed coincidentally) a lot of pages which were meant to be categorised by templates were no longer categorised. There were also a lot in
[[Category:Pages where expansion depth is exceeded]]
and another problem category I can't remember.
Purging the cache doesn't help. I tried the maintenance sripts rebuildAll, purgePage and purgeList and they didn't help. Only a null edit seems to fix it. I am using [[w:Wikipedia:AutoWikiBrowser]] to null edit multiple pages, and it seems to be working. I have used [[Manual:Pywikibot]] in the past but haven't got it set up (and thought AWB would be simpler).
Is there a maintenance script that will do this job?
Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 16:57, 15 January 2026 (UTC)
:IMO this is a '''bug''' that needs to be '''fixed'''. - [[User:Erik Baas|Erik Baas]] ([[User talk:Erik Baas|talk]]) 17:35, 15 January 2026 (UTC)
::The cause of the problem might have been my fault (maybe a problem elsewhere in the template) but the result (not being able to fix things without external software) is annoying. I'm not sure it counts a bug, though ideally it wouldn't happen I suppose! [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 22:28, 15 January 2026 (UTC)
:In similar cases I did have some success with purging pages using the API(sandbox).
:<code><your-wiki>/wiki/Special:ApiSandbox#action=purge&forcelinkupdate=1&generator=categorymembers&gcmtitle=Category%3Afoobar</code>
:[[User:MvGulik|MvGulik]] ([[User talk:MvGulik|talk]]) 18:20, 15 January 2026 (UTC)
::That's interesting, thanks. I wonder whether it would have fixed my category problem. I see in [[API:Purge]] there's also <code>forcerecursivelinkupdate</code>, described as "Same as forcelinkupdate, and update the links tables for any page that uses this page as a template." But since AWB seems to be working for me, I'll likely stick with that in future. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 22:31, 15 January 2026 (UTC)
:::What version did you upgrade to? There were some changes to the categorylinks table in 1.45. See [[Manual:categorylinks table]] [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 00:06, 16 January 2026 (UTC)
::::I upgraded from 1.39 to 1.43. The upgrade script didn't display any relevant errors. I have a feeling that one of my templates caused the problem and I just didn't notice until now. I forgot to type it into the first comment above but one of the categories was a maintenance category along the lines of "max expansion depth exceeded", so I guess something was wrong at some point, which "infected" a load of content pages. My real concern is that there wasn't a maintenance script to fix it :-) [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:46, 16 January 2026 (UTC)
I added this as a feature request on Phabricator: {{phab|T414885}}! [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:12, 18 January 2026 (UTC)
== Requested URL was not found on this server ==
Bonjour,
je n'arrive pas à résoudre cet anomalie
le message :
The requested URL was not found on this server.
''Apache/2.4.65 (Win64) PHP/8.3.28 mod_fcgid/2.3.10-dev Server at wikivfr Port 80''
je suis en version 1.39.12 de mediawiki
* ''ServerName :'' wikivfr - ''Directory :'' c:/wamp64/www/mediawiki-1.39.8_vfr_rc36_2
Windows hosts <code>C:/WINDOWS/system32/drivers/etc/hosts</code>
Pouvez vous m'aider?
Merci [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 08:08, 17 January 2026 (UTC)
:Which URL?
:Also, MediaWiki 1.39.12 in an outdated, unsupported version. Please [[Manual:Upgrading|upgrade]] to a [[Download|supported version]] for your own safety. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 00:32, 18 January 2026 (UTC)
::Thanks, that was my url ,
::i will also upgraded [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 10:28, 18 January 2026 (UTC)
== Confusing error message when $wgReadOnly is set and $wgSessionCacheType=CACHE_DB ==
{{tracked|T414883}}
[[Manual:$wgSessionCacheType]] notes that "if CACHE_DB is used then users cannot log in when the respective wiki's database was locked with e.g. $wgReadOnly".
But the error message you get isn't anything like "You can't log in because the website is temporarily read only" but instead is "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking".
Is there any way to change this? Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:29, 17 January 2026 (UTC)
:@[[User:Jonathan3|Jonathan3]] can you please file a phabricator ticket about this in our bugtracker ? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 10:29, 18 January 2026 (UTC)
::Done! {{phab|T414883}} [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:02, 18 January 2026 (UTC)
== [SOLVED] UrlShortener "alternative URL" query ==
If anyone can answer my question at [[Extension_talk:UrlShortener#"You_can_also_use_this_alternative_URL:"]] I would be grateful.
Essentially I was asking how to get it to stop offering alternate URLs (which begin with _). Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 01:58, 18 January 2026 (UTC)
:I got a reply - thanks :-) [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:04, 18 January 2026 (UTC)
== Undefined property / « MWException » ==
'''Hello'''
I experience this issue when I switch to connected mode
'''Warning: Undefined property: Parser::$deprecatedPublicProperties in C:\wamp64\www\mediawiki-1.39.3_VFR_RC36_2\includes\debug\DeprecationHelper.php on line''' ''208''
In offline mode, I have no errors.
Could you help me [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 10:22, 18 January 2026 (UTC)
:i upgraded to 1.39.8 to 1.39.12 now i have this message
:[b333ed588ed21aff79f1d411] /mediawiki-1.39.3_VFR_RC36_2/index.php/Sp%C3%A9cial:Version MWException: Parser state cleared while parsing. Did you call Parser::parse recursively? Lock is held by: #0 C:\wamp64\www\mediawiki-1.39.3_VFR_RC36_2\includes\parser\Parser.php(955): Parser->lock() [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 10:46, 18 January 2026 (UTC)
== runJobs.php - Failed to open stream: Permission denied in GlobalIdGenerator.php ==
Since upgrading from MW1.39 to 1.43 I sometimes see this in the runJobs.php log:
<code>PHP Warning: fopen(/var/www/example.com/html/images/temp/mw-GlobalIdGenerator1000-UUID-128): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 451</code>
Either <code>sudo php run.php runJob</code> or <code>sudo -u www-data php run.php runJobs</code> seems to prevent the problem but is there an underlying cause I can fix?
What should the ownership of the images/temp folder be? I have it as www-data. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 00:33, 11 January 2026 (UTC)
:Here's another similar one:
:<syntaxhighlight lang="text">
PHP Warning: fopen(/var/www/example.co.uk/html/media/temp/mw-GlobalIdGenerator1000-UUID-128): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 451
2026-01-10 23:10:18 refreshLinks Template:... pages={"12918":[0,"..."]} rootJobSignature=... rootJobTimestamp=20260110160120 triggeredRecursive=1 causeAction=edit-page causeAgent=... namespace=10 title=... requestId=a28995a3bf56e13b1390d423 (id=10464512,timestamp=20260110190021) t=99 error=RuntimeException: Could not open '/var/www/example.co.uk/html/media/temp/mw-GlobalIdGenerator1000-UUID-128'. in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 456
PHP Warning: fopen(/var/www/example.co.uk/html/media/temp/mw-runJobs-backoffs.json): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php on line 544
[182ea9e48980ffb8d6993e77] [no req] TypeError: flock(): Argument #1 ($stream) must be of type resource, false given
Backtrace:
from /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(545)
#0 /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(545): flock()
#1 /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(198): JobRunner->syncBackoffDeltas()
#2 /var/www/example.co.uk/html/maintenance/runJobs.php(97): JobRunner->run()
#3 /var/www/example.co.uk/html/maintenance/includes/MaintenanceRunner.php(703): RunJobs->execute()
#4 /var/www/example.co.uk/html/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
#5 /var/www/example.co.uk/html/maintenance/runJobs.php(140): require_once(string)
#6 {main}
</syntaxhighlight> [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 00:47, 11 January 2026 (UTC)
::See [[Manual:Security#File permissions]] on how to fix your install. – [[User:Ammarpad|Ammarpad]] ([[User talk:Ammarpad|talk]]) 14:53, 11 January 2026 (UTC)
:::The strange thing is that my setup is as described there - html and everything in it my user, except images and everything in it www-data. I copied across the same files with cp -rp as I had on 1.39. Maybe I should have mv'd them? Any other ideas? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 21:09, 11 January 2026 (UTC)
:@[[User:Jonathan3|Jonathan3]] I think the problem is your permissions for your PHP temp directory <code>/var/www/example.co.uk/html/media/temp/ …</code> this also needs permissions of your webserver user and read write access. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 10:40, 18 January 2026 (UTC)
::I’m not sure why this is your temp directory and not <code>/tmp</code> or <code>/var/www/example.co.uk/temp</code> or something. Is this shared hosting ? Have you configured it yourself in LocalSettings.php . —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 10:43, 18 January 2026 (UTC)
:::@[[User:TheDJ|TheDJ]] Thanks. It was on shared hosting for many years, until about 5 years ago when I moved to Digital Ocean. The directory names will have been my fault though. It's "media" (not "images") because that reflects better what's on my wiki. I don't remember why I changed it from "tmp" to "temp", despite the comment. Should I change things? It hadn't caused a problem between MW1.5 and 1.39, but maybe I shouldn't have changed it in the first place!
:::<syntaxhighlight lang="php">
:::# changed from "images" aug15
:::$wgUploadPath = "$wgScriptPath/media";
:::$wgUploadDirectory = "$IP/media";</syntaxhighlight>
:::<syntaxhighlight lang="php">
:::$wgTmpDirectory = "{$wgUploadDirectory}/temp"; #changed from tmp (because temp exists) to stop error displaying image</syntaxhighlight> [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 14:40, 18 January 2026 (UTC)
:::@[[User:TheDJ|TheDJ]] I just noticed your earlier message about permissions. It works fine when I run runJobs.php as sudo/root or as www-data, just not as my normal user (jonathan). Here are the permissions:
:::<pre>drwxr-xr-x 8 www-data www-data 131072 Jan 18 00:24 media</pre>
:::and then
:::<pre>drwxr-xr-x 3 www-data www-data 20480 Jan 18 15:09 temp</pre> [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:23, 18 January 2026 (UTC)
::::@[[User:Jonathan3|Jonathan3]] you are supposed to run runJobs (and any maintenance script really) as the web user. If you want to run it as your normal user, your normal user should be added to the www-data group. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 17:38, 18 January 2026 (UTC)
:::::@[[User:TheDJ|TheDJ]] Cool. I've made that change. I don't think I've read that anywhere. Should we add it to the manual pages somewhere? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 20:53, 18 January 2026 (UTC)
:::::I added my user to the www-data group but still get the error above. What I've done is: (a) started to use <code>sudo -u www-data php run.php runJobs</code>, which isn't much more difficult than before; (b) added a cron job for www-data and made the log file world readable (not ideal but I don't really mind if anything happens to it). [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 14:58, 19 January 2026 (UTC)
== Lowering security ==
I'm adminning a small mediawiki install on an intranet. One of our users doesn't want to be bothered logging in before editing, so all their edits show up as IP-address edits. They find the "You are not logged in" warning annoying, and I've been asked to make it go away. by grepping my mediawiki install, I've found that "anoneditwarning" seems to be the message in question. I could edit the en.json file to have "anoneditwarning" be a zero-length string, but I'm wondering if there's a better option, like configuring our install to not display the message.
Relatedly, I'm also wondering if, since we use static IPs, if there's a way to create some sort of user-alias, so that instead of edit's being attributed to "10.0.0.1", they could be attributed to "Joe's Computer" or something like that--or maybe even just "Joe". Kinda like IP-address-based authentication, I guess. (wiki-ing like it's 1989!)
--[[User:Bsammon|Bsammon]] ([[User talk:Bsammon|talk]]) 22:19, 14 January 2026 (UTC)
:To get rid of the message, blank your wiki's [[MediaWiki:Anoneditwarning]] page.
:To avoid the IP addresses (though not achieve the nice alias effect) you could try this: [[Project:Support_desk#Is_Manual:$wgAutoCreateTempUser_still_"experimental"?]]. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 01:51, 15 January 2026 (UTC)
::P.S. I've just seen this: [[Extension:NetworkAuth]]. It looks like you give it a list of IP addresses and usernames, and and it automatically logs the user in when it recognises his IP address. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 01:55, 15 January 2026 (UTC)
::Ahh... I was going to edit languages/i18n/en.json, but editing MediaWiki:Anoneditwarning appears to override it (while leaving languages/i18n/en.json unchanged). I was concerned that this would remove the text but it would still render the yellow box, empty. Fortunately, that is not the case--mediawiki apparently does not display the yellow box if it has no text to put in it.
::Thank you [[User:Bsammon|Bsammon]] ([[User talk:Bsammon|talk]]) 22:16, 20 January 2026 (UTC)
:::Cool. Thanks for replying. I think everything in the various language files have associated MediaWiki:... pages, so you never need to edit the files. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:29, 20 January 2026 (UTC)
== dark mode of vector 2010 does not render highlight lines ==
hi all, i am in Pc view on a Samsung tablette. All is ok but when using highlight=7 on page => https://www.wikifunctions.org/wiki/Wikifunctions:Representing_identity#Defining_Boolean for example with skin Vector 2010 in dark mode, the highlight is not rendered, as it is normally on light mode. strange... --[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 21:48, 18 January 2026 (UTC)
:@[[User:Wladek92|Wladek92]] Unable to reproduce. Can you try with this link: https://www.wikifunctions.org/wiki/Wikifunctions:Representing_identity?safemode=true#Defining_Boolean ? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 08:02, 19 January 2026 (UTC)
::this is ok and shows a yellow line. but it is forced in light mode and there is no link in the menu to activate the dark mode like the one i have with my url. both light modes are equivalent but the problem lays on dark mode. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 09:36, 19 January 2026 (UTC)
:::@[[User:Wladek92|Wladek92]] Are you logged in ? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 09:03, 20 January 2026 (UTC)
::::yes of course and the logs show my contributions on the translations andmin activities all days long. [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 10:29, 20 January 2026 (UTC)
::::I observe also that the dark mode is not proposed everywhere. It is available in the upper right menu line for -> https://www.wikifunctions.org/wiki/Wikifunctions:Function_model/fr#Enum%C3%A9rations and the same remark applies in the second array at line 9 in dark mode but if I select menu Preferences, the dark mode is no longer proposed and the page switches automatically in light mode (... but retrieves the dark mode as soon as I come back on -> https://www.wikifunctions.org/wiki/Wikifunctions:Function_model/fr#Enum%C3%A9rations . This should be easy to reproduce for anyone. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 10:45, 20 January 2026 (UTC)
== Compitese : translation from italian ==
I translated the "[[:en:User:Romualdo_Giovannoni/sandbox#Compitese|Compitese"]] entry into the sandbox. Now what do I do?[[User:Romualdo Giovannoni|Romualdo Giovannoni]] ([[User talk:Romualdo Giovannoni|talk]]) 10:22, 20 January 2026 (UTC)
:You can submit it for review. See https://en.wikipedia.org/wiki/Help:Your_first_article – [[User:Ammarpad|Ammarpad]] ([[User talk:Ammarpad|talk]]) 12:14, 20 January 2026 (UTC)
== Error generating some thumbnails ==
Hi! I'm trying to figure out why some thumbnails work, while others don't. Compare:
* [[appropedia:File:Growing tomatoes.mp4|Growing tomatoes.mp4]] ([https://www.appropedia.org/w/thumb.php?f=Growing_tomatoes.mp4&width=200 thumb.php]) {{Done|Works}}
* [[appropedia:File:Placeholder.mp4|Placeholder.mp4]] ([https://www.appropedia.org/w/thumb.php?f=Placeholder.mp4&width=200 thumb.php]) {{Not done|Doesn't work}}
* [[appropedia:File:Boards bad.pdf|Boards bad.pdf]] ([https://www.appropedia.org/w/thumb.php?f=Boards_bad.pdf&width=200 thumb.php]) {{Done|Works}}
* [[appropedia:File:ACAD Housing Structure.pdf|ACAD Housing Structure.pdf]] ([https://www.appropedia.org/w/thumb.php?f=ACAD_Housing_Structure.pdf&width=200 thumb.php]) {{Not done|Doesn't work}}
These are just some examples, this issue is affecting [https://www.appropedia.org/Special:Search?profile=files&limit=500&search=filetype:video several videos] and [https://www.appropedia.org/Special:Search?profile=files&search=filemime:application/pdf PDFs], though not images.
I tried various things, like tweaking the [[Manual:Configuration settings#Thumbnail settings|thumbnail settings]], tracing the error down the code, and resetting the permissions of the images/thumbs directories, but to no avail. My only insight so far is that in the file pages of the files that work, next to the "Original file" link, there's more metadata than the ones that fail. That might be a clue, but I don't know what it means. I compared the metadata using metadata2go.com but nothing looked fishy. What might be happening, and how can I solve it? Thanks in advance for any help!! [[User:Sophivorus|Sophivorus]] ([[User talk:Sophivorus|talk]]) 14:13, 19 January 2026 (UTC)
:When you upload a file, Mediawiki extracts file metadata. This file metadata is required in order to later generate or serve the thumbnail. If that extraction step has failed (for whatever reason) you need to use <code>maintenance/refreshImageMetadata.php --force</code> to regenerate that metadata. If an error occurs during extraction, this is when you will be able to see the error in the logs. Note that extraction can be an expensive operation, and if you broke the setup since the LAST time the extraction was done, you might break things that were working before. So you might want to use some of the filter options of the script (<code>maintenance/refreshImageMetadata.php --help</code> ), to limit the files you are processing. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 09:22, 20 January 2026 (UTC)
::@[[User:TheDJ|TheDJ]] Thanks so much, that was it! I was able to fix the thumbnails for all the videos ([[appropedia:File:Appropedia workshop video.mp4|except one]], for some reason) and most of the PDFs. However, refreshImageMetadata.php seems to be failing for several PDFs still (for example [[appropedia:File:2012 case for OSAT.pdf|this one]]). I enabled $wgDebugLogFile and got the following output:
::<syntaxhighlight lang="text">
Start command line script maintenance/run.php
[session] SessionManager using store SqlBagOStuff
[localisation] LocalisationCache using store LCStoreCDB
[memcached] MainWANObjectCache using store Wikimedia\ObjectCache\MemcachedPhpBagOStuff
[memcached] MicroStash using store Wikimedia\ObjectCache\MemcachedPhpBagOStuff
[rdbms] Wikimedia\Rdbms\DatabaseMySQL::open [0.219ms] localhost: SET group_concat_max_len = 262144, `sql_mode` = ''
[rdbms] Wikimedia\Rdbms\LoadBalancer::reallyOpenConnection: opened new connection for 0/appropedia_prod
[memcached] MemCache: got WANCache:global:rdbms-server-readonly:localhost|#|v
[rdbms] RefreshImageMetadata::execute [0.83ms] localhost: SELECT img_name,img_size,img_width,img_height,img_metadata,img_bits,img_media_type,img_major_mime,img_minor_mime,img_timestamp,img_sha1,img_actor,image_actor.actor_user AS `img_user`,image_actor.actor_name AS `img_user_text`,comment_img_description.comment_text AS `img_description_text`,comment_img_description.comment_data AS `img_description_data`,comment_img_description.comment_id AS `img_description_cid`,img_metadata FROM `image` JOIN `actor` `image_actor` ON ((actor_id=img_actor)) JOIN `comment` `comment_img_description` ON ((comment_img_description.comment_id = img_description_id)) WHERE (img_name <= '2012_case_for_OSAT.pdf') AND (img_name >= '2012_case_for_OSAT.pdf') ORDER BY img_name ASC LIMIT 200
[rdbms] Wikimedia\Rdbms\LoadBalancer::reuseOrOpenConnectionForNewRef: reusing connection for 0/appropedia_prod
[memcached] getWithSetCallback(global:rdbms-server-readonly:localhost): process cache hit
[DeferredUpdates] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_LocalFile->maybeUpgradeRow #673
[rdbms] Wikimedia\Rdbms\LoadBalancer::reuseOrOpenConnectionForNewRef: reusing connection for 0/appropedia_prod
[Mime] Wikimedia\Mime\MimeAnalyzer::doGuessMimeType: analyzing head and tail of /path/to/w/images/0/0e/2012_case_for_OSAT.pdf for magic numbers.
[Mime] Wikimedia\Mime\MimeAnalyzer::doGuessMimeType: magic header in /path/to/w/images/0/0e/2012_case_for_OSAT.pdf recognized as application/pdf
[Mime] Wikimedia\Mime\MimeAnalyzer::guessMimeType: guessed mime type of /path/to/w/images/0/0e/2012_case_for_OSAT.pdf: application/pdf
[Mime] Wikimedia\Mime\MimeAnalyzer::improveTypeFromExtension: improved mime type for .pdf: application/pdf
[exec] Creating base path /tmp/shellbox-ef1687f54c7ff7d8
[exec] Creating subdirectory scripts
[exec] Executing: /bin/bash '/path/to/w/vendor/wikimedia/shellbox/src/Command/limit.sh' ''\''/bin/sh'\'' '\''scripts/retrieveMetaData.sh'\''' 'SB_INCLUDE_STDERR=;SB_CPU_LIMIT=180; SB_CGROUP='\'''\''; SB_MEM_LIMIT=0; SB_FILE_SIZE_LIMIT=104857600; SB_WALL_CLOCK_LIMIT=180; SB_USE_LOG_PIPE=yes'
[exec] After executing route pdfhandler-metadata: did not find expected output file meta
[exec] After executing route pdfhandler-metadata: did not find expected output file pages
[exec] After executing route pdfhandler-metadata: did not find expected output file text
[exec] After executing route pdfhandler-metadata: did not find expected output file text_exit_code
[exec] Removed file "/tmp/shellbox-ef1687f54c7ff7d8/scripts/retrieveMetaData.sh"
[exec] Removed directory "/tmp/shellbox-ef1687f54c7ff7d8/scripts"
[exec] Removed file "/tmp/shellbox-ef1687f54c7ff7d8/file.pdf"
[exec] Removed directory "/tmp/shellbox-ef1687f54c7ff7d8"
LocalFile::upgradeRow: upgrading 2012_case_for_OSAT.pdf to the current schema
[rdbms] Wikimedia\Rdbms\Database::beginIfImplied (LocalFile::upgradeRow) [0.145ms] localhost: BEGIN
[rdbms] LocalFile::upgradeRow [0.386ms] localhost: UPDATE `image` SET img_size = 312914,img_width = 0,img_height = 0,img_bits = 0,img_media_type = 'OFFICE',img_major_mime = 'application',img_minor_mime = 'pdf',img_metadata = '',img_sha1 = 'aqmbk35bfif2zv5c0j6052k9pebgfkg' WHERE img_name = '2012_case_for_OSAT.pdf' AND img_timestamp = '20120421112543'
[rdbms] Wikimedia\Rdbms\LoadBalancer::reuseOrOpenConnectionForNewRef: reusing connection for 0/appropedia_prod
[memcached] set WANCache:global:filerepo-file:appropedia_prod:91d167e5cf92fdfbf1d275c015318ed7e0f1c7b8|#|v (STORED)
[rdbms] LocalFile->maybeUpgradeRow [0.203ms] localhost: COMMIT
[DeferredUpdates] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_LocalFile->maybeUpgradeRow #673, processing time: 0.021943092346191
[rdbms] Wikimedia\Rdbms\LoadBalancer::getAnyOpenConnection: found 'round' connection to #0.
[rdbms] LBFactory shutdown completed
</syntaxhighlight>
::So apparently the script is failing for some files, but no clue as to why. Again, I downloaded one of the files and checked it at metadata2go.com and all seems well.
::I'd like to say that I'm already super happy with the support I got, but if someone happens to have an insight regarding these last problematic files, I'll be double-happy. Kind regards, [[User:Sophivorus|Sophivorus]] ([[User talk:Sophivorus|talk]]) 13:21, 20 January 2026 (UTC)
:::For the pdf. i'm not entirely sure, as it works on my local install. It might be you are using an old version of pdfinfo, or do not have pdfinfo installed. For the mp4, it seems as if the file is corrupt. When I look in the database, the metadata includes an error message that occurred during parsing the file with getID3. <code>Corrupt Quicktime file: mdhd.time_scale == zero</code>. (quicktime as the file structure for mp4 is shared with quicktime). As this would normally lead to a divide by zero error and as this setting is a hard specification requirement, the file is not spec compliant and should probably be remuxed with ffmpeg to correct it. <code>ffmpeg -i old.mp4 -c copy new.mp4</code>. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 18:20, 20 January 2026 (UTC)
::::@[[User:TheDJ|TheDJ]] That was it! pdfinfo was not installed, so I installed it, re-run refreshImageMetadata.php for all the PDFs and now all the thumbnails work. Thanks so much!! I tried remuxing the mp4 file but it didn't work. However, it's just one file (and a couple PDFs), we can live with that, 99.9% are fixed. Thanks one more time for the amazing, quick and accurate support! [[User:Sophivorus|Sophivorus]] ([[User talk:Sophivorus|talk]]) 11:39, 21 January 2026 (UTC)
== offline / online ==
version 1.39.12
PHP 8.1.33
MariaDB 11.4.9
The wiki project works fine in offline mode (WAMP server), but after the login page I get this error.
Can you help me?
[69a9a4a2e234fd4dd1bac259] /index.php/Sp%C3%A9cial:Version MWException: Parser state cleared while parsing. Did you call Parser::parse recursively? Lock is held by: #0 C:\wamp64\www\mediawiki-1.39.12\includes\parser\Parser.php(955): Parser->lock() [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 08:26, 25 January 2026 (UTC)
:@[[User:Schub srx|Schub srx]] is this with or without installed extensions ? Always try disabling extensions first, so that you can determine if it is a core or an extension problem. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 19:58, 26 January 2026 (UTC)
== Obstacle Objection ==
<ins>Hello Reis3000</ins>
<ins>My account has been permanently banned. Many of my accounts have been deleted, and I want a fresh start. Could you please detail the reason for the ban? What can I do to avoid making mistakes? I request that the ban be lifted. Note: I was previously whitelisted. I am a Turkish Wikipedian. Thank you.</ins>[[User:Reis3000|Reis3000]] ([[User talk:Reis3000|talk]]) 19:55, 26 January 2026 (UTC)
== My website is inaccessible. ==
After I installed a certain extension, my website displays the message "The website was unable to fulfill my request." I need that extension; is there any way to fix this issue without disabling the extension? The version of the extension I'm using is correct, and my MediaWiki version is 1.45.1. [[User:XiaoyuWhaoYu|XiaoyuWhaoYu]] ([[User talk:XiaoyuWhaoYu|talk]]) 03:13, 24 January 2026 (UTC)
:错! Try to use the guides for navigating MediaWiki. [[Special:Contributions/~2025-36392-66|~2025-36392-66]] ([[User talk:~2025-36392-66|talk]]) 22:10, 24 January 2026 (UTC)
:{{re|XiaoyuWhaoYu}} What extension did you install? Does your site work correctly when you remove that extension from your LocalSettings.php file? Can you look in your web server logs for any error message? No one can help you very much with the information you've provided! [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 12:08, 27 January 2026 (UTC)
::Many extensions have this issue. A typical example is the "Translation" extension. Once I remove it, the website works fine. But when I enable it again, the browser tells me "This website cannot be accessed." I'm sorry, I'm a beginner and I don't know how to fix this.I don't know how to view the log records of my server. [[User:XiaoyuWhaoYu|XiaoyuWhaoYu]] ([[User talk:XiaoyuWhaoYu|talk]]) 14:44, 27 January 2026 (UTC)
:::{{re|XiaoyuWhaoYu}} After enabling the extension, have you run the upgrade process? i.e. as described at [[Manual:Upgrading#Web_browser]]. You'll need to find (or set) the upgrade key in your LocalSettings.php file. This is presuming you aren't using the command line. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 06:46, 28 January 2026 (UTC)
== Tracking categories for CSS? ==
I've seen a couple of sites that have their CSS files in categories. As an example, For All Mankind fandom wiki (external links apparently aren't allowed in Support desk requests). How is that possible? I haven't found any information about it in the official MediaWiki documentation or in forums.
I'm using MediaWiki version 1.43.0 on a personal server, no website. Haven't updated to the latest version because one of the extensions I rely on isn't verified to work on the latest version yet. [[Special:Contributions/~2026-56941-1|~2026-56941-1]] ([[User talk:~2026-56941-1|talk]]) 16:19, 26 January 2026 (UTC)
:@[[User:~2026-56941-1|~2026-56941-1]] You simply put the wikicode category into a CSS (or Javascript for that matter) comment (to keep the CSS valid). The page is wikiparsed for categorization and link registration, but only rendered as CSS (or JS). It's a bit of a trick and actually a trick that is being considered to be removed as it can be confusing. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 19:57, 26 January 2026 (UTC)
::So basically <code><nowiki>/* [[Category:CSS files]] */</nowiki></code>? I didn't see anything like that on the CSS pages I looked at, but it sounds reasonable. Kinda hope the trick isn't removed or, if it is, that something is added to make categorizing these pages possible. [[Special:Contributions/~2026-56941-1|~2026-56941-1]] ([[User talk:~2026-56941-1|talk]]) 20:00, 27 January 2026 (UTC)
== Uses of RetryAfter in API resonses ==
I hope this is the right place for this question about the Query API; I couldn't find anywhere else. I'm working specifically in the context of en.wikipedia.org, but this presumably has general applicability.
Since the implementation of T400119 I've added client-side code to handle HTTP status code 429 (Too many requests; RFC6585) with a response header RetryAfter (RFC2616). But RetryAfter can also be provided with a 503 (Service unavailable; wait until we have fixed the service) or 3xx (wait before following the redirect). I'd like the fix to be more generic.
My questions:
* Does the mediawiki software ever generate a RetryAfter with 503 or 3xx responses?
* After waiting the time prescribed by a 429, am I guaranteed not to be told to wait again on the retry?
[[User:DavidBrooks|DavidBrooks]] ([[User talk:DavidBrooks|talk]]) 16:30, 27 January 2026 (UTC)
== Extension pages are broken. ==
{{tracked|T415725}}{{tracked|T389402}}
Many extension pages gives a error: Fatal exception of type "TypeError". [[:Category:All extensions]] [[Special:Contributions/~2026-60715-7|~2026-60715-7]] ([[User talk:~2026-60715-7|talk]]) 12:46, 28 January 2026 (UTC)
:I did the most recent changes to [[Template:Extension]] but they are as benign as they come, so I'm afraid this is not my doing but something borked with the current MW or something else running here. The fact that following the link to the previous version of the template in the history triggers the same error proves it. //tactica [[Special:Contributions/~2026-61112-6|~2026-61112-6]] ([[User talk:~2026-61112-6|talk]]) 14:04, 28 January 2026 (UTC)
:: Maybe related to [[Project:Village Pump#Fatal errors on french translations]], as the same temporary solution (adding "?action=purge") works. --[[User:Clump|Clump]] ([[User talk:Clump|talk]]) 14:13, 28 January 2026 (UTC)
:::Yup, it seems to affect mostly translatable pages so it looks like that is it. Glad to know my changes aren't to blame for the fire at least... [[Special:Contributions/~2026-61112-6|~2026-61112-6]] ([[User talk:~2026-61112-6|talk]]) 14:30, 28 January 2026 (UTC)
== internal error fatal on mediawiki.org ==
internal error fatal when tryingto access -> https://www.mediawiki.org/wiki/Help:CirrusSearch/fr
<pre>[9bf904e3-77ed-4a0a-b223-450de3e5c5d7] 2026-01-28 16:12:25: Erreur fatale de type « TypeError » </pre>
--[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 16:17, 28 January 2026 (UTC)
:For me either. I can't open [[Manual:Dark mode]] or [[Manual:User rights/de]] for example without an error message. [[User:KimKelting|KimKelting]] ([[User talk:KimKelting|talk]]) 17:59, 28 January 2026 (UTC)
:Yeah, that's known about & is [[phab:T415725]] :/ <span class="skin-invert" style="color:#000"><span style="">‍—‍</span>[[user:a smart kitten|<span style="color:purple">a smart kitten</span>]]<sub>[<nowiki/>[[user talk:a smart kitten|<span style="color:#c814c8">meow</span>]]]</sub></span> 18:17, 28 January 2026 (UTC)
:I also get following:
:'''Error interno'''
:[e2a89906-cac7-4b82-b34f-46331602587] 2026-01-28 21:50:47: Excepción grave de tipo "TypeError". [[User:Lenis Felipe|Lenis Felipe]] ([[User talk:Lenis Felipe|talk]]) 21:54, 28 January 2026 (UTC)
The root page was accessible but not the translated pages. Seems to have been corrected at this time: operational now. Thanks all. --[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 12:25, 29 January 2026 (UTC)
== LSJ.gr Site searches not working properly ==
Hello
I am not sure if this is the right place, but I was sent here by the LSJ.gr website when I clicked its Help link. It is currently not working properly, but it does not have its own Contact that link I can find. When I do a word search and it returns more than 20 results and I try to view them it returns "Secure Connection Failed". It has been doing that for over a month or two now. perseus.tufts.edu has similar ongoing problems with its search that are botched / fixed by deleting extraneous text within the address of the following result pages. There seem to be some posts about LSJ.gr being hacked, but nothing about this effecting being able to view search results.
Is there a similar botch / fix for this, is it an ongoing problem at their end that time and patience will eventually fix, or is it some sort of stupid firewall / security / cookie problem at mine? All help, information or redirections gratefully received.
Thx
[[User:Nobbo69|Nobbo69]] ([[User talk:Nobbo69|talk]]) 10:08, 28 January 2026 (UTC)
:@[[User:Nobbo69|Nobbo69]] It is not really the right place, we are just the support forum for the mediawiki software, not the projects that are built with it. I did find: https://lsj.gr/wiki/LSJ:About#People, which you maybe can look into to find support. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 15:43, 31 January 2026 (UTC)
== Was/is $wgAutoCreateTempUser considered experimental when using MW1.43? ==
I know from [[Project:Support_desk/Archive_24#Is_Manual:$wgAutoCreateTempUser_still_"experimental"?]] that this setting is no longer considered experimental, but I am on MW1.43 so wonder whether it would be OK to enable the setting on my wiki. Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 11:51, 29 January 2026 (UTC)
:I would personally consider it to be 'stable' starting from 1.45. '''wgAutoCreateTempUser''' will work mostly starting from 1.43, but it might not be reliable, still not provide the correct tools for administrators etc. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 10:09, 1 February 2026 (UTC)
::Thank you. I'll hold off on this one for now then. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 13:47, 3 February 2026 (UTC)
== Why <nowiki><br></nowiki> instead of just a new line? ==
https://www.mediawiki.org/wiki/Help:Formatting<br>
https://www.w3schools.com/tags/tag_br.asp
Edit source, e.g. Wikipedia needs <nowiki><br></nowiki> (break line) to create a new line (not a paragraph: 2 new lines), just a new line is not interpreted: still 1 line.
Why? It's not WYSIWYG... [[User:Jebez1|Jebez1]] ([[User talk:Jebez1|talk]]) 14:13, 31 January 2026 (UTC)
:The primary answer to that would be.. To change it now, would break everything that was written before. As to why it is not a configuration option (the logical next best thing) is that there are actually LOTS of places inside the parser where this is an assumption, so even making that configurable is a pretty difficult process that probably few people want to pick up as a side project. If this is something you would like to see for you OWN wiki, i might suggest hiring a professional company to make such a thing a configuration option for your wiki. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 15:40, 31 January 2026 (UTC)
::It's related to https://wiki.archlinux.org/title/Help_talk:Editing#%3Cbr%3E_works_not_well.
::I understand it would break that was written before, if someone source wrotes new lines e.g.
::hello
::magic
::world
::& want rendered hello magic world in 1 line as actually: no, 3 lines as the source.
::My question is: why this someone source writes new lines as above, why not he source writes in just 1 line?
::What is the purpose of not interpreting the new lines, <nowiki><br></nowiki> needed? [[User:Jebez1|Jebez1]] ([[User talk:Jebez1|talk]]) 16:15, 31 January 2026 (UTC)
:::So two reasons. 1. In HTML which of course is the spark of something like wikimarkup, a line break has no 'meaning'. That's a very technical reason. But 2, the point of wikis was to write prose. To write in paragraphs. So to encourage that, a parapgraph was essentially the only desirable output when people were writing. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 09:49, 1 February 2026 (UTC)
::::If you only want to change things in specific places, you could use [[Extension:Poem]]. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 13:47, 3 February 2026 (UTC)
:::::wiki.archlinux.org has not this extension, & I'm not the boss of this web site...
:::::If I'm, better just interpret the new lines, no need <nowiki><br></nowiki> ... [[User:Jebez1|Jebez1]] ([[User talk:Jebez1|talk]]) 20:17, 3 February 2026 (UTC)
== Broken page Categories in 1.45.1 ==
{{tracked|T414599|resolved}}
I've recently met the error while migrating DB while updating the Wiki:
https://www.mediawiki.org/wiki/Project:Support_desk/Archive_24#h-DBQueryError_while_migrating_table_'categoryLinks'_on_PostgreSQL-20251226155200
After no answer to that ticket I've tried to fix the broken 'categoryLinks' migration script myself excluding empty "AND ()" from that query (if $ns is null then don't include the condition into the query). The fix worked and I've finally updated the Wiki from 1.44.2 to 1.45.1 with no errors. But since the update almost all Category pages are empty but some contains very few page links. Maintenance scripts "rebuildall" and "refreshLinks" doesn't help. How can I fix the categories?
Also I tried to create new page with category link but it didn't show in the on the Category page. Categories are broken in general? [[User:MidnightLG|MidnightLG]] ([[User talk:MidnightLG|talk]]) 13:36, 3 February 2026 (UTC)
:I had a similar problem on upgrading from 1.39 to 1.43 in that a lot of pages were uncategorised and those maintenance scripts didn't help. The obvious differences are that you edited the update script and categorisation now doesn't seem to work for you at all.
:Anyway, what I did was use AWB (https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser) to null edit every relevant page. I think alternatively you could use pywikibot to "touch" all pages. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 13:44, 3 February 2026 (UTC)
::Editing the page manually like mixing the Category links order in the end of the page and saving it doesn't help. Then I guess that touching pages with the bot won't help either. I also have few Categories that contains some page links but not all the pages that must be linked there. [[User:MidnightLG|MidnightLG]] ([[User talk:MidnightLG|talk]]) 13:56, 3 February 2026 (UTC)
:Problem was caused by invalid value in field '''linktarget.lt_namespace''' with value 0 instead of 14 for '''categorylinks''' that linked to '''lt_id''' of this table. So, error was caused by broken migration scripts. Solved by deletion of the invalid rows in both '''linktarget''' and '''categorylinks''' tables, then launching '''refreshLinks''' and '''recountCategories''' scripts. Topic can be closed. [[User:MidnightLG|MidnightLG]] ([[User talk:MidnightLG|talk]]) 17:31, 3 February 2026 (UTC)
:I've filed this as [[phab:T416413]]. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 23:00, 3 February 2026 (UTC)
== MediaWiki installation error ==
Hello, i am currently installing mediawiki on my domain because i wanted to, and while things were going well, i got a internal error for some reason in the middle of the installation, the Name part to be exact. I can't get to the next part of the installation, and i am having problems.<br>
I am using SQlite, and the error message is: <code>[aX5IvnJDOhv6BHdyIcwRMwAAAAE] /mediawiki-1.45.1/mw-config/index.php?page=Name Error: Failed opening required</code>. Do you guys have a fix for this?<br>
I am also using the current version of MediaWiki, which is 1.45.1. [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 18:32, 31 January 2026 (UTC)
:I'm guessing it is an issue with the current version. [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 21:50, 31 January 2026 (UTC)
::Still showing the same error, and i am still using SQlite. Does anybody have a fix for this yet? Is it an issue with my domain, mediawiki itself, what is happening? [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 00:25, 4 February 2026 (UTC)
:::Update: I tried installing MediaWiki via the command line, and put a link to my domain. Basically, the installation with the command line worked, and i did put the LocalSettings.php in the files but for some reason now it shows "MediaWiki internal error." and a bunch of code. Does anybody know how to fix this now? [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 00:57, 4 February 2026 (UTC)
::::Here is the error code. <code> Original exception: [aYKZoQ16urqfA4qjyqPxEgAAAAU] /wiki/ Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Connection refused (127.0.0.1)</code> [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 00:58, 4 February 2026 (UTC)
:::::That sounds like your database connection is broken. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 08:34, 4 February 2026 (UTC)
::::::Nevermind, it is fixed now. All i had to do is move the mediawiki files to the main domain. There are no errors now. Yes, i am still using SQlite [[User:Orsomeburger|Orsomeburger]] ([[User talk:Orsomeburger|talk]]) 01:11, 5 February 2026 (UTC)
== Question about redisJobRunnerService and redisJobChronService ==
Hi, I've tried to improve the documentation on the use of [[Redis]] for MediaWiki sites, though I do hope others more knowledgeable than me can jump in and have a better look at it.
Because information on using cronjobs for the job runner is few and far between, I hesitantly gave ChatGPT a try and one of the suggestions it gave surprised me. My impression, as was that of others, is that you need both redisJobRunnerService and redisJobChronService to run in the background. What ChatGPT suggested, however, is that you can use one or the other: either redisJobRunnerService if you can ensure it runs continuously, or redisJobChronService if you run it every 2 minutes or so. https://github.com/wikimedia/mediawiki-services-jobrunner does not make that claim but then it does not say anything to the contrary either, merely that those services are available and what they do.
Any clarification would be welcome! [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 11:44, 4 February 2026 (UTC)
== Certain characters not displaying correctly - UTF related? ==
My wiki is version 1.33.1. I've been using it for the past five years without much issue. However, at some point during this past month, certain characters began displaying as garbled text (â¢) - examples being bullet points (•), runes (ᚨ), and certain apostrophes (’). I haven't manually updated anything lately and I'm fairly tech illiterate when it comes to Mediawiki's inner-workings so I'm not sure why exactly this is happening. If anyone has an explanation that'd be greatly appreciated.
Here's a link to a page where the issue is fairly noticeable - johnisdead.withinhubris.com/Videos [[Special:Contributions/~2026-73279-2|~2026-73279-2]] ([[User talk:~2026-73279-2|talk]]) 18:33, 2 February 2026 (UTC)
:Sounds like invalid encoding - did you change anything? Also you do need to upgrade - 1.33.1 is quite outdated by now. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|talk]]) 15:18, 3 February 2026 (UTC)
::Found the issue - turns out one of my extensions, LinkTarget, was being loaded in a strange way in my LocalSettings.php.
::For some reason I was using <code>require_once "$IP/extensions/SimpleTooltip/SimpleTooltip.php";</code> instead of <code>wfLoadExtension( 'LinkTarget' );</code>. Making that change fixed the issue.
::Also yeah, I probably should. Just now updated to 1.35.0 and will try to get a newer version put in place soon. Thanks. [[Special:Contributions/~2026-73279-2|~2026-73279-2]] ([[User talk:~2026-73279-2|talk]]) 17:36, 5 February 2026 (UTC)
== Pre-1.19 versions of CheckUser ==
<s>Hello, does anyone know where the pre-1.19 versions of the [[Extension:CheckUser|CheckUser]] extension are? [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/CheckUser/+/refs/tags/REL1_19 this] is the earliest version I can find.</s> [[Special:Contributions/~2026-87581-7|~2026-87581-7]] ([[User talk:~2026-87581-7|talk]]) 20:48, 8 February 2026 (UTC)
:Disregard that, I found them [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/CheckUser/+log/refs/tags/REL1_19/?s=9dd1dafe5c18bfb888ae9a7776fafe14e1426cc0 here]. [[Special:Contributions/~2026-87581-7|~2026-87581-7]] ([[User talk:~2026-87581-7|talk]]) 21:01, 8 February 2026 (UTC)
== I need help with creating a wiki on MediaWiki. ==
I just need something to create a wiki, that ''anybody'' can edit, just like [https://en.wikipedia.org Wikipedia]. Could you help me with that? I'm using a mobile device that runs Android, could you help me with that? {{Lang|ja|text=それを手伝ってくれますか?}} [[Special:Contributions/~2025-36392-66|~2025-36392-66]] ([[User talk:~2025-36392-66|talk]]) 22:02, 24 January 2026 (UTC)
:@[[User:~2025-36392-66|~2025-36392-66]] We do not offer hosting for wikis, we just make the software that runs them. You might want to look at [[Professional development and consulting]] for someone to assist you professionally with this. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 19:59, 26 January 2026 (UTC)
::I'm a person who is a broadcaster in my school. Are there ''free'' wiki farms for me to create a wiki, for the 2<sup>nd</sup> time? {{lang|ja|私は学校で放送委員をいるひとです。2回目のためにウィキを作る''無料''ウィキファームはありますか?}} [[Special:Contributions/~2025-36392-66|~2025-36392-66]] ([[User talk:~2025-36392-66|talk]]) 02:54, 10 February 2026 (UTC)
== where are the NS translations ? ==
fighting since 1 hour: I check [[Special:NamespaceInfo]] here on mediawiki.org but all NS are in english; please where do I find that the NS "Help" is translated as "Aide" (in french) ? Thanks. --[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 13:13, 9 February 2026 (UTC)
:You can see that on French Wikipedia: [[:fr:Spécial:NamespaceInfo]], or any wiki where French is used as content language. – [[User:Ammarpad|Ammarpad]] ([[User talk:Ammarpad|talk]]) 18:03, 10 February 2026 (UTC)
== Missing Special:Account Security ==
I just set up my wiki recently Version: 1.45.1 and I don't seem to have the special page account security. [[Special:Contributions/~2026-89092-6|~2026-89092-6]] ([[User talk:~2026-89092-6|talk]]) 18:32, 9 February 2026 (UTC)
:It's provided by [[Extension:OATHAuth]]. – [[User:Ammarpad|Ammarpad]] ([[User talk:Ammarpad|talk]]) 18:08, 10 February 2026 (UTC)
:@[[User:~2026-89092-6|~2026-89092-6]] were you expecting it because something in the new wiki you setup linked you to that page ? Or because you saw that page on another wiki, or read it somewhere in the documentation ? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 11:05, 12 February 2026 (UTC)
::I was looking up how to add 2FA to my page and everything I kept finding said it would need to be setup in Special:Account Security. No one said it wasn't just part of the wiki. Thank you for letting me know I will add the extension. [[Special:Contributions/~2026-89092-6|~2026-89092-6]] ([[User talk:~2026-89092-6|talk]]) 16:12, 12 February 2026 (UTC)
== Refresh MediaWiki ==
I changed Translations:Template:Main page/ca. But the [[Main page]] (or [[MediaWiki]]) page doesn't refresh when the language is the Catalan ([[MediaWiki/ca]] does it). Can you refresh it? Thank you very much. [[User:Jmarchn|Jmarchn]] ([[User talk:Jmarchn|talk]]) 07:58, 13 February 2026 (UTC)
== [[Extension:NewUserMessage]] template substing ==
Hi, I'm from [[n:Wikinews]]. We're using Version [[MediaWiki 1.46/wmf.15|1.46.0-wmf.15]] [[git:mediawiki/core/+/1aae4f1008f237e61001ff2b93474005bfd08343|(1aae4f1)]]. [[n:User:Wikinews Welcome]] uses [[n:Template:Welcome]] but doesn't subst it. Per [[n:WN:Template messages/User talk namespace]], the Welcome template and [[n:Template:Proxyblock]] shouldn't be substituted, but I don't know why. I have limited technical knowledge, so I don't really know how subst works. I am currently updating the Template messages page, so can someone help me determine if these templates should be substituted or not? Thanks! [[User:HKLionel|HKLionel]] ([[User talk:HKLionel|talk]]) 10:43, 13 February 2026 (UTC)
== A question about pywikibot ==
Hello! I have a question about pywikibot. What is the module in pywikibot, what can undo changes? [[User:Julius 12345|Julius 12345]] ([[User talk:Julius 12345|talk]]) 15:36, 31 January 2026 (UTC)
:I am sorry if this section is on wrong place. [[User:Julius 12345|Julius 12345]] ([[User talk:Julius 12345|talk]]) 15:37, 31 January 2026 (UTC)
::Maybe [[Manual:Pywikibot/revertbot.py]]? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 13:46, 3 February 2026 (UTC)
:::Thanks for info. [[User:Julius 12345|Julius 12345]] ([[User talk:Julius 12345|talk]]) 10:02, 15 February 2026 (UTC)
== Composer fails since a few days ==
composer update --no-dev fails:
* - Root composer.json requires phpunit/phpunit 9.6.21 (exact version match: 9.6.21 or 9.6.21.0), found phpunit/phpunit[9.6.21] but these were not loaded, because they are affected by security advisories ("PKSA-z3gr-8qht-p93v"). Go to <nowiki>https://packagist.org/security-advisories/</nowiki> to find advisory details. To ignore the advisories, add them to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.
* Problem 2
* - Root composer.json requires johnkary/phpunit-speedtrap ^4.0 -> satisfiable by johnkary/phpunit-speedtrap[v4.0.0, v4.0.1].
* - johnkary/phpunit-speedtrap[v4.0.0, ..., v4.0.1] require phpunit/phpunit ^7.0 || ^8.0 || ^9.0 -> found phpunit/phpunit[7.0.0, ..., 7.5.20, 8.0.0, ..., 8.5.52, 9.0.0, ..., 9.6.34] but these were not loaded, because they are affected by security advisories ("PKSA-z3gr-8qht-p93v"). Go to <nowiki>https://packagist.org/security-advisories/</nowiki> to find advisory details. To ignore the advisories, add them to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.
*
* Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
i overcame with the following '''though isn't good idea in production''': composer install --no-dev '''--no-security-blocking,''' but i will set up crom scratch
MW: 1.45.1, PHP 8.3.30
Composer version 2.9.5 2026-01-29 11:40:53
PHP version 8.3.30 (/opt/plesk/php/8.3/bin/php)
any ideas ? [[Special:Contributions/~2026-83879-3|~2026-83879-3]] ([[User talk:~2026-83879-3|talk]]) 10:27, 7 February 2026 (UTC)
:this error occurred when i tried to add WikiBase extension --- see [[Wikibase/Installation|Wikibase/Installation - MediaWiki]] [[Special:Contributions/~2026-83879-3|~2026-83879-3]] ([[User talk:~2026-83879-3|talk]]) 10:42, 7 February 2026 (UTC)
:: See now https://phabricator.wikimedia.org/T416292 [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 17:19, 15 February 2026 (UTC)
== Dynamic tables with Wikibase ==
Hello! On a language wiki, I'm trying to create tables that update automatically when new articles are added to a category. The table should contain article names and associated properties via their Wikibase items.
The Idea behind it is that I enter the data into Wikibase items, instead of adding it manually into tables. I'm currently trying to set this up using Wikibase, Lua, and DynamicPageList4. I've been working on this for days now with Grok, ChatGPT, and Gemini, and it feels like I'm getting nowhere. The AIs are also suggesting me to use SMW, which I try to avoid if it is not necessary.
Are those dynamic tables something that can be done with my current setup, or do I indeed have to add the extensions Semantic MediaWiki and Semantic Wikibase? Thanks for any info on this, cheers and all the best! [[User:Till Kraemer|Till Kraemer]] ([[User talk:Till Kraemer|talk]]) 15:16, 14 February 2026 (UTC)
:[[Extension talk:Wikibase Client#Dynamic tables with Wikibase|Looks]] like it is not possible using DynamicPageList4. I installed the extensions Semantic MediaWiki and Semantic Scribunto, and created a Lua module thanks to the help of Gemini. Now the dynamic tables work perfectly! PS: Thanks to Grok's advice, I did not install the Semantic Wikibase extension. Apparently, it is outdated and not needed for my tables. [[User:Till Kraemer|Till Kraemer]] ([[User talk:Till Kraemer|talk]]) 22:20, 15 February 2026 (UTC)
== produc of thai .app.pim dat papa same mama sum up pice wester map thai mon re ccy 5 ==
help cc .at .model out .share meet f. all .0.0. [[Special:Contributions/~2026-10466-17|~2026-10466-17]] ([[User talk:~2026-10466-17|talk]]) 20:38, 16 February 2026 (UTC)
== how do I upload anything? ==
Why is your website so difficult?
I’m trying to upload pictures of ice vehicles with license plates, but nothing lets me in
I dropped my brave shields and shut off my VPN
Do I need to be a programmer to use this site?
What can we do with all our ice documentation?? [[Special:Contributions/~2026-10537-83|~2026-10537-83]] ([[User talk:~2026-10537-83|talk]]) 15:05, 16 February 2026 (UTC)
:I wonder if you're on the right platform for uploading and providing ICE license plates, etc. The MediaWiki is the core platform for Wikipedia and many other wikis on the web. If you like to, create your own wiki using the MediaWiki core installation on your server and start creating your own wiki articles about ICE on that wiki. [[User:Ulf Dunkel|Ulf Dunkel]] ([[User talk:Ulf Dunkel|talk]]) 11:26, 17 February 2026 (UTC)
:Maybe you want to become a contributor on this [https://wiki.icelist.is/index.php/Main_Page ICE List Wiki]. [[User:Ulf Dunkel|Ulf Dunkel]] ([[User talk:Ulf Dunkel|talk]]) 12:24, 17 February 2026 (UTC)
== My first support desk topic on MediaWiki ==
I can't create a page on MediaWiki! How do I make a media wiki page online? [[Special:Contributions/~2026-10598-42|~2026-10598-42]] ([[User talk:~2026-10598-42|talk]]) 22:35, 16 February 2026 (UTC)
:Are you talking about adding an article page on the MediaWiki or rather adding a support desk topic like this one you have created yesterday?
:If you have rights to add articles to MediaWiki, just search for that page name and start creating it. But I suggest you read the manual and create your article in a sandbox first, because it may or may not be relevant for MediaWiki.
:If you just wanted to start a support desk topic (by clicking on [Add topic] at the right top of this page), you've already done that. [[User:Ulf Dunkel|Ulf Dunkel]] ([[User talk:Ulf Dunkel|talk]]) 11:29, 17 February 2026 (UTC)
== Sitemap using the Rest API ==
Is anyone generating their sitemaps using the Rest API? I tried to, but it didn't seem like the pages were long enough to include every article in my wiki. Is there more info about $wgSitemapApiConfig somewhere besides [[Manual:$wgSitemapApiConfig]]? I'm using 1.45.1. [[User:Buster2223|Buster2223]] ([[User talk:Buster2223|talk]]) 04:21, 18 February 2026 (UTC)
:Just setting <code>$wgSitemapApiConfig['enabled'] = true;</code> should be enough. sitemap/0 will then render an xml with references to pages, which in turn should list all the urls. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 08:57, 18 February 2026 (UTC)
== [[Manual:$wgSMTP/Gmail]] doesn't work ==
Followed all of the instructions exactly, and getting error:
<blockquote>Mail object returned error: Failed to connect to smtp.gmail.com:465 [SMTP: Failed to connect socket: Network is unreachable (code: -1, response: )]</blockquote>
The one possibility thought of is that I'm trying to set things up so that my user account's personal email (set in preferences) is different from the site email ($wgPasswordSender).. perhaps MediaWiki doesn't support this? (i.e. is it required that the initial sysadmin user account have the same email address as the internal site email?) [[Special:Contributions/~2026-92410-1|~2026-92410-1]] ([[User talk:~2026-92410-1|talk]]) 23:11, 10 February 2026 (UTC)
:Older versions of the documentation have IDhost set to gmail.com. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 20:40, 16 February 2026 (UTC)
::Nope, I'm still getting the same error message even with that change. No luck.
::okay just how much useless text do I need to tack on to the end of this post to get it to go through the anti spam filter!!?? [[Special:Contributions/~2026-92410-1|~2026-92410-1]] ([[User talk:~2026-92410-1|talk]]) 00:25, 19 February 2026 (UTC)
== Make $wgParserCacheType conditional on user group? [answered] ==
I was wondering if it is possible to make the [[Manual:$wgParserCacheType|<code>$wgParserCacheType</code>]] config in LocalSettings conditional: use one setting for anonymous users while disabling parser cache for logged in users only. The main reason here is that users editing dynamic data need to be able to rely on those data to reflect latest revisions and in fact, an extension like [[Extension:FlexForm|FlexForm]] recommends wgParserCacheType to be set to CACHE_NONE. For anonymous visitors, this would be much less of a concern. If it all possible, is there any 'catch'?
To get the best of both worlds then, I tried to add a user group check - <code>$currentUserGroups = MediaWiki\MediaWikiServices::getInstance()->getUserGroupManager()->getUserEffectiveGroups( \RequestContext::getMain()->getUser() );</code> - but doing so at that stage just logs out users. My guess LocalSettings simply would be the wrong place to check for user groups.
P.S. I do know that there are parser functions that disable parser cache but a global setting seems cleaner. [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 08:46, 16 February 2026 (UTC)
:If you are using file cache for anonymous users, it shouldn't make much of a difference how their parser cache type is set. For performance, CACHE_NONE for all users should be close to CACHE_NONE for logged-in only. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 20:26, 16 February 2026 (UTC)
::Thanks, I'm currently trying out LiteSpeed caching (another acceleration solution) instead of file caching, but I believe that comes down to the same thing. [[User:Rand(1,2022)|Rand(1,2022)]] ([[User talk:Rand(1,2022)|talk]]) 09:42, 18 February 2026 (UTC)
== Raw and shared template transclusion in multi-MediaWiki no longer work for me in MW 1.45.1 ==
I run the multi-language wiki IntactiWiki since 2014. After I upgraded to 1.45.1 (and PHP 8.3) some days ago, raw transcludes no longer work for me. I have deinstalled the Interwiki extension and set up new interwiki parameters in my CommonSettings.php which is included in all language wikis' LocalSettings.php. These are the parameters:
$wgGroupPermissions['sysop']['interwiki'] = true;
$wgGroupPermissions['bureaucrat']['interwiki'] = true;
$wgInterwikiCentralDB = 'intactiwiki'; // using pool's Interwiki data for all IntactiWiki instances
$wgSharedDB = 'intactiwiki';
$wgSharedTables = ['interwiki'];
$wgInterwikiMagic = true;
$wgHideInterlanguageLinks = false;
$wgEnableScaryTranscluding = true;
$wgInterwikiViewOnly = false;
Whatever I try, I cannot get raw includes from e.g. the IntactiWiki pool to work properly again.
Since the upgrade to MW 1.45, I was hoping that I can transclude templates from the IntactiWiki pool's database 'intactiwiki' simply by using them like local templates. In pool.intactiwiki.org, I have e.g. made a '''Template:POOLIconREFweb''' which I included as <code><nowiki>{{raw:pool:POOLIconREFweb}}</nowiki></code> before. But this does no longer work. Instead, it seems as if the whole page content of [https://pool.intactiwiki.org/wiki/Main_Page IntactiWiki Pool's Main Page] is being transcluded.
I have set up a [https://en.intactiwiki.org/wiki/Test/Sandbox test page] where you can see this behavior. I have created a local identical Template:POOLIconREFweb in the English IntactiWiki in order to show the wanted behavior and template content.
The pool database name is 'intactiwiki'.
All language databases are named like 'intactiwiki_<ISOLanguageName>', e.g. 'intactiwiki_en' for the English wiki.
Using <code><nowiki>{{POOLIconREFweb}}</nowiki></code> works fine, because it transcludes the local English template.
Using <code><nowiki>{{pool:POOLIconREFweb}}</nowiki></code>, <code><nowiki>{{raw:pool:POOLIconREFweb}}</nowiki></code>, and <code><nowiki>{{msgnw:pool:POOLIconREFweb}}</nowiki></code> transclude the whole Main Page of IntactiWiki pool.
What am I doing wrong?
''PS: By the way: I am experiencing high performance issues on that server since a while with too many database connections. I have increased the max_connections in my MySQL settings from 250 to 10000 but there must be a reason for these many connections. If you run into the same issues on my IntactiWiki server, please retry loading the page. Thank you.'' [[User:Ulf Dunkel|Ulf Dunkel]] ([[User talk:Ulf Dunkel|talk]]) 09:17, 17 February 2026 (UTC)
:I seem to have fixed it myself:
:While I had defined <code>$wgArticlePath = "/wiki/$1";</code> in my CommonSettings.php file for all language wikis, I had set up some interlanguage paths in my [[Special:Interwiki]] which used <code>https://<ISOLanguageName>.intactiwiki.org/index.php/$1</code> as the URL. This difference between '''/wiki/''' and '''/index.php/''' caused all the trouble. [[User:Ulf Dunkel|Ulf Dunkel]] ([[User talk:Ulf Dunkel|talk]]) 17:37, 18 February 2026 (UTC)
== Help with a Featured Article Box ==
I need help with creating and inserting a "Featured Article" box into my Fandom box on my Wiki Fandom page. I also need help inserting a Discord Server on my wiki, along with a star that goes along with my Wiki Fandom
[[User:ER98765|ER98765]] ([[User talk:ER98765|talk]]) 16:51, 8 February 2026 (UTC)
:Hi, do you have a question? What exactly have you tried so far, and what was unclear at which step? [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 18:15, 19 February 2026 (UTC)
== [3b01e2c64c990807549e884b] 2026-02-17 22:20:10: Krytyczny wyjątek typu „DomainException” ==
Hey, I edited the Sidebar page and added a link to the server. Now I get a blah error when I try to edit the Sidebar again, and unfortunately, returning to the updated version of the thesis is impossible. How can I fix this? [[Special:Contributions/~2026-10723-70|~2026-10723-70]] ([[User talk:~2026-10723-70|talk]]) 22:21, 17 February 2026 (UTC)
:See [[Manual:How_to_debug]] linked from the main page to provide a stacktrace. See also the section "Post a new question" at the top of this page. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 18:14, 19 February 2026 (UTC)
== Convert binary to utf8mb4? ==
I currently use MW 1.39, MariaDB 10.11 (binary database) and ElasticSearch. In case I upgrade MariaDB to 11.4/8 should there be a binary to utf8mb4 conversion? If yes, what is the recommended procedure? [[User:Spiros71|Spiros71]] ([[User talk:Spiros71|talk]]) 21:46, 20 February 2026 (UTC)
:@[[User:Spiros71|Spiros71]] mediawiki always stores in binary (as it’s UTF-8 support predates the utf-8 support in mariadb). —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 16:32, 23 February 2026 (UTC)
== Task list status icons as bullets ==
I'm honestly surprised there isn't a template or something for this. First things first, version information.
MediaWiki: 1.43.0
PHP: 8.2.12 (apache2handler)
ICU: 71.1
MariaDB: 10.4.32-MariaDB
Lua: 5.1.5
Pygments: 2.19.1
I'm not using anything more recent because at least one extension I use hasn't been updated. Anyway, I can't provide a link because the wiki runs exclusively on my computer.
'''What I'm trying to do'''<br>
I want to create a task list that's formatted like a normal unordered list but with icons indicating the status of each task instead of bullets. I know that bullets can be replaced with images in a list, but the same image is used for each entry. I want something that will allow a different image for each entry.
As something of an aside, is there an documentation describing what each of the Codex icons is actually ''used'' for? I'd like my implementation in message boxes and the like to be consistent with the base software, but some of them seem to have overlapping functions. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 15:38, 21 February 2026 (UTC)
:You could create a table for this using [[Extension:Cargo]] and have use the template output format. That could mimic an HTML/wikitext bullet list using a different icon depending on a "task status" field. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 11:49, 23 February 2026 (UTC)
::Sounds complicated, but doable. Just have to figure out how to '''use''' Cargo. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 18:50, 23 February 2026 (UTC)
== Regex pattern for internal search SearchHighlighter must be escaped ==
MediaWiki 1.45.1
I have no Search-related extensions installed.
When I try to search a non-existent page with name containing '/': 350-mm gun SK L/45
It causes Exception:
Warning: preg_match(): Unknown modifier '4'
at /includes/search/SearchHighlighter.php in SearchHighlighter::highlightSimple at line 539
if ( !preg_match( $pat1, $line, $m ) ) {
continue;
}
Where $terms that is the source for $pat1 isn't properly escaped
350|mm|gun|sk|l/45
I guess that "l/45" must be either be split or escaped.
That's also cause the search results page crash with timeout. [[User:MidnightLG|MidnightLG]] ([[User talk:MidnightLG|talk]]) 08:52, 24 February 2026 (UTC)
== Need to upgrade developer account it's on hold ==
Gmail payments [[User:Verdrellwyattsr666|Verdrellwyattsr666]] ([[User talk:Verdrellwyattsr666|talk]]) 22:13, 24 February 2026 (UTC)
== https://www.mediawiki.org/wiki/Project:Support_desk#c-Verdrellwyattsr666-20260224221300-Need_to_upgrade_developer_account_it's_on_hold ==
/*24/1993/2*/ [[Special:Contributions/~2026-73262-1|~2026-73262-1]] ([[User talk:~2026-73262-1|talk]]) 22:31, 24 February 2026 (UTC)
== [361f44628edff1798158d6ce] /wiki/Newsletter:Administrators%27_newsletter MediaWiki\Exception\MWContentSerializationException: The Newsletter content is invalid. ==
MediaWiki 1.45.1
When I open Newsletter:Administrators' newsletter, It will throw an error.
Here is the error message:
<code>[361f44628edff1798158d6ce] /wiki/Newsletter:Administrators%27_newsletter MediaWiki\Exception\MWContentSerializationException: The Newsletter content is invalid.</code>
<code>Backtrace:</code>
<code>from /var/www/html/extensions/Newsletter/includes/Content/NewsletterContentHandler.php(71)</code>
<code>#0 /var/www/html/includes/Revision/RevisionStore.php(1187): MediaWiki\Extension\Newsletter\Content\NewsletterContentHandler->unserializeContent()</code>
<code>#1 /var/www/html/includes/Revision/RevisionStore.php(1460): MediaWiki\Revision\RevisionStore->loadSlotContent()</code>
<code>#2 /var/www/html/includes/Revision/SlotRecord.php(307): MediaWiki\Revision\RevisionStore->{closure:MediaWiki\Revision\RevisionStore::constructSlotRecords():1452}()</code>
<code>#3 /var/www/html/includes/Revision/RevisionRecord.php(207): MediaWiki\Revision\SlotRecord->getContent()</code>
<code>#4 /var/www/html/includes/Revision/RenderedRevision.php(216): MediaWiki\Revision\RevisionRecord->getContentOrThrow()</code>
<code>#5 /var/www/html/includes/Revision/RevisionRenderer.php(225): MediaWiki\Revision\RenderedRevision->getSlotParserOutput()</code>
<code>#6 /var/www/html/includes/Revision/RevisionRenderer.php(158): MediaWiki\Revision\RevisionRenderer->combineSlotOutput()</code>
<code>#7 /var/www/html/includes/Revision/RenderedRevision.php(182): MediaWiki\Revision\RevisionRenderer->{closure:MediaWiki\Revision\RevisionRenderer::getRenderedRevision():156}()</code>
<code>#8 /var/www/html/includes/page/ParserOutputAccess.php(586): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()</code>
<code>#9 /var/www/html/includes/page/ParserOutputAccess.php(672): MediaWiki\Page\ParserOutputAccess->renderRevision()</code>
<code>#10 /var/www/html/includes/poolcounter/PoolCounterWorkViaCallback.php(68): MediaWiki\Page\ParserOutputAccess->{closure:MediaWiki\Page\ParserOutputAccess::newPoolWork():671}()</code>
<code>#11 /var/www/html/includes/poolcounter/PoolCounterWork.php(159): MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()</code>
<code>#12 /var/www/html/includes/page/ParserOutputAccess.php(489): MediaWiki\PoolCounter\PoolCounterWork->execute()</code>
<code>#13 /var/www/html/includes/page/Article.php(824): MediaWiki\Page\ParserOutputAccess->getParserOutput()</code>
<code>#14 /var/www/html/includes/page/Article.php(537): MediaWiki\Page\Article->generateContentOutput()</code>
<code>#15 /var/www/html/includes/actions/ViewAction.php(71): MediaWiki\Page\Article->view()</code>
<code>#16 /var/www/html/includes/actions/ActionEntryPoint.php(734): MediaWiki\Actions\ViewAction->show()</code>
<code>#17 /var/www/html/includes/actions/ActionEntryPoint.php(505): MediaWiki\Actions\ActionEntryPoint->performAction()</code>
<code>#18 /var/www/html/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()</code>
<code>#19 /var/www/html/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()</code>
<code>#20 /var/www/html/index.php(44): MediaWiki\MediaWikiEntryPoint->run()</code>
<code>#21 {main}</code> [[User:Peterxy12|Peterxy12]] ([[User talk:Peterxy12|talk]]) 01:42, 2 March 2026 (UTC)
== Issues displaying InstantCommons images on Miraheze wiki ==
Hello,
I am a Bureaucrat for a wiki hosted on Miraheze and we are currently experiencing issues with images from Wikimedia Commons.
While $wgUseInstantCommons is enabled, some images are failing to render correctly. The issue appears as [descreva aqui: e.g., broken thumbnails / 404 errors / images not loading at all].
Technical Details:
Hosting: Miraheze
Has there been any recent change to the Commons API or SSL requirements that might be affecting InstantCommons for third-party wikis? Any guidance on how to debug this via LocalSettings.php (considering the Miraheze environment) would be greatly appreciated.
Thank you! [[Special:Contributions/~2026-13819-57|~2026-13819-57]] ([[User talk:~2026-13819-57|talk]]) 21:57, 3 March 2026 (UTC)
:There were some changes about requiring User Agent. What version are you running? [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 14:25, 4 March 2026 (UTC)
::MediaWiki Then 1.45.1
::PHP 8.4.16
::ICU 76.1
::That ir a configuration Of Wiki.
::wikimetrosp.miraheze.org
::That it.
::[[Special:Contributions/~2026-14002-20|~2026-14002-20]] ([[User talk:~2026-14002-20|talk]]) 15:08, 4 March 2026 (UTC)
::Ditto. Experiencing the same problem. Images from commons do not load. Extension QuickInstantCommons is in use with the following settings.
::wfLoadExtension( 'QuickInstantCommons' );
::$wgUseQuickInstantCommons = true;
::$wgQuickInstantCommonsPrefetch = true;
::Environment MediaWiki 1.39.15 (I know it is EOL but migration testing to 1.43 LTS not finished yet)
::PHP 8.2.29 (fpm-fcgi)
::MariaDB 11.6.2-MariaDB
::ICU 76.1
::LilyPond 2.22.2
::Elasticsearch 7.10.2 [[User:Pspviwki|Pspviwki]] ([[User talk:Pspviwki|talk]]) 15:09, 4 March 2026 (UTC)
:::See also the mailing list thread at https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/GBFZTN3A233IR6F4HEENCIUCVI2ZH6YB/#GQO6BRI6XVMLB23AZPYRKLSQF5L2BCRE [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 16:13, 4 March 2026 (UTC)
::::Could be UA issues. https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/QuickInstantCommons/+/0490a1f91991e90d2f6661c8820f53f538570ab7
::::https://gerrit.wikimedia.org/r/c/mediawiki/extensions/QuickInstantCommons/+/1237701 [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 16:55, 4 March 2026 (UTC)
:::::Extension QuickInstantCommons has been disabled and the parameter $wgUseInstantCommons true was set true. That resolved the current problem with loading the pictures but brought again the issue the extension QuickInstantCommons was installed for, slow loading of pictures in the pages.
:::::This wikimedia approach makes wikimedia commons unusable for third party wikis that are not robotic users. The only way to overcome this limitation is to stop using the commons and upload all images locally. [[User:Pspviwki|Pspviwki]] ([[User talk:Pspviwki|talk]]) 18:47, 4 March 2026 (UTC)
::::::You don't have to do that. Fast settings here: [[InstantCommons#Classic_InstantCommons_with_User_Agent]]. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 23:04, 4 March 2026 (UTC)
:::::::Here those settings combined with QuickInstantCommons lead to a logical exception error with MW 1.44. I also had to disable the extension and go back to basic InstantCommons functionality; unless the documentation for the extension is updated it's effectively useless. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 00:35, 5 March 2026 (UTC)
::::::::Unless you've reported the exception error by following [[How to report a bug]], no developer can fix problems which they do not know about. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 21:51, 7 March 2026 (UTC)
== Validate my migration plan from broken MediaWiki 1.16.5 ==
My basic MediaWiki 1.16.5 is displaying navigation with blank content pages but the source exists.<br>https://wireless.navas.us<br>
My plan to resurrect it now that I've migrated to a new and much better hosting provider:<br>
1. Rename install directory <code>wireless/</code> to <code>wireless.OLD/</code><br>
2. Backup or copy the SQL database<br>
3. Fresh install of latest MediaWiki in <code>wireless/</code><br>
4. Copy <code>wireless.OLD/images</code> to <code>wireless/images</code> (and my favicon image files).<br>
5. Connect the new install in <code>wireless/</code> to the SQL database<br>
6. Run the upgrade script<br>
7. Minimally merge <code>LocalSettings.php</code> from <code>wireless.OLD/</code> as needed (but ''no'' extensions needed)<br>
What have I missed?<br>
Thank you! [[User:Jnavas|Jnavas]] ([[User talk:Jnavas|talk]]) 18:20, 7 March 2026 (UTC)
: You need to do the upgrade in multiple steps. See [[Manual:Upgrading#How do I upgrade from a really old version? In one step, or in several steps?]]. But the basic plan for how to go about the upgrade seems relatively reasonable to me. [[User:Pppery|* Pppery *]] [[User talk:Pppery|<sub style="color:#800000">it has begun</sub>]] 19:07, 7 March 2026 (UTC)
::Thank you! [[User:Jnavas|Jnavas]] ([[User talk:Jnavas|talk]]) 00:45, 8 March 2026 (UTC)
:::Actually: "If you are upgrading from MediaWiki 1.5 or newer to 1.35, you can upgrade in one step. The vast majority of reports, as well as automated testing, indicated that doing it in one step works just fine." [[User:Jnavas|Jnavas]] ([[User talk:Jnavas|talk]]) 00:48, 8 March 2026 (UTC)
::::It worked, all good! [[User:Jnavas|Jnavas]] ([[User talk:Jnavas|talk]]) 03:41, 8 March 2026 (UTC)
::::: Well done. My point, however, was that 1.35 is still three-years out of support and you should upgrade again. [[User:Pppery|* Pppery *]] [[User talk:Pppery|<sub style="color:#800000">it has begun</sub>]] 03:58, 8 March 2026 (UTC)
== Modify model data: "description" field is lost when first language is not english ==
Modify model data: "description" field is lost when first language is not english
I worked on template Efn but behaviour is valid with any "Modify model data" starting from scratch. This is what I did:
<pre>
From template :Efn I create Efn/doc
i open Efn/doc and open Modify model data to retrieve the parameter list
i hit Apply to see the source and I publish
I reopen Efn/doc and open Modify model data
I add language FR ignoring EN case (empty since now)
I write the FR description
I update parameters in FR
I hit Apply ; the source has taken into account FR parameters but the FR "description" is missing.
</pre>
Workaround: create a dummy EN description text and then switch to FR. Now both "descriptions" are present.
Strange ? did I missed something or should be brought into Phabricator ? Thanks. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 14:59, 8 March 2026 (UTC)
== Need help creating a wiki in a browser ==
Is it possible to create a wiki on MediaWiki in a browser? Can you please tell me a reason? – <span style="font-family:Arimo;">[[User:WikiContributer9|WikiContributer9]]</span> <sup style="font-family:TikTok Sans;">[[User talk:WikiContributer9|Let's talk.]]</sup> 20:06, 7 March 2026 (UTC)
:Browsers display HTML pages, and HTML pages are hosted on and served by servers. The MediaWiki software runs on a server. If you mean running MediaWiki locally: Yes, you can install and run it on a local server. See the installation instructions on this wiki. (Browsers can also display local static HTML pages, but MediaWiki does not produce static HTML pages.) [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 21:47, 7 March 2026 (UTC)
::Wait, do I need to install MediaWiki before using it in a browser? – <span style="font-family:Arimo;">[[User:WikiContributer9|WikiContributer9]]</span> <sup style="font-family:TikTok Sans;">[[User talk:WikiContributer9|Let's talk.]]</sup> 03:56, 8 March 2026 (UTC)
:::Please see the Installation guide. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 14:02, 9 March 2026 (UTC)
== Cyclowiki ==
Hello. When I try to create a page here on Cyclowiki, it says "The verification code is invalid or missing." What should I do? [[User:Peacecreator|Peacecreator]] ([[User talk:Peacecreator|talk]]) 02:43, 9 March 2026 (UTC)
:You should contact Cyclowiki, not us. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 13:59, 9 March 2026 (UTC)
== Reduce number of thumbnails generated ==
I think I would save a LOT of disk space if I could reduce the number of thumbnails generated. Looking at a random PDF file, it's saved JPG files for multiple pages at the following pixel sizes: 60, 84, 90, 127, 169, 180, 270, 300, 338, 360, 423, 450, 451, 480, 600, 635, 640, 800, 846, 1200.
I use [[Extension:PdfHandler]], which might be relevant here. I see there are some configuration settings at [[Common thumbnail sizes]] but I can't work it all out. Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 13:19, 9 March 2026 (UTC)
:Hi, what is your question? As you already found out, introducing common thumbnail sizes is work in progress. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 14:00, 9 March 2026 (UTC)
::My question is: "Can I reduce the number of thumbnails generated and, if so, what configuration settings would you recommend?" [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 15:06, 9 March 2026 (UTC)
I've gone for these options. Comments welcome!
<syntaxhighlight lang="php">
# Don't allow selection of other thumbnail sizes in Preferences
$wgThumbLimits = [ 300 ];
$wgDefaultUserOptions['thumbsize'] = 0;
# Don't create 1.5x and 2x size thumbnails for high-DPI devices
$wgResponsiveImages = false;
# Don't allow selection of other sizes (for File: page) in Preferences
$wgImageLimits = [
[ 800, 600 ],
];
$wgDefaultUserOptions['imagesize'] = 0;</syntaxhighlight>
[[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:22, 9 March 2026 (UTC)
== Categories created by an extension are empty ==
Can someone give guidance as to why my categories "currently contain no pages or media" ? The usual fixes of '''Maintenance/RebuildAll.php''' and '''Maintenance/RunJobs.php''' do not seem to work.
The '''Special:WantedCategories''' page shows that the categories have the appropriate number of pages, and the Mainspace pages also show "Category:xxx" at the bottom, yet the categories themselves do not show any pages in them.
Like I said, the usual troubleshooting isn't working for me.
* I run these via CronTabs in my cPanel because I don't have SSH access
* RebuildAll produces an output that lists various tables and then "done", so it seems normal as far as I can tell.
* RunJobs outputs "job queue is empty".
* After running both of these a few times (sometimes doing Rebuild first, sometimes RunJobs first), the problem persists.
Maybe this is the cause...
The categories are added via a custom extension, with the following code:
'''extension.json'''
<pre>
{
"name": "My Wiki Customizer",
"version": "2025-07-05",
"descriptionmsg": "mycustomwiki-desc",
"license-name": "GPL-2.0",
"type": "parserhook",
"MessagesDirs": {
"myWikiNamespaces": [
"i18n"
]
},
"HookHandlers": {
"mycustomwiki": {
"class": "MediaWiki\\Extension\\mycustomwiki\\Hooks"
}
},
"Hooks": {
"BeforePageDisplay": [
"mycustomwiki::addCSS"
],
"PersonalUrls": [
"mycustomwiki::updatePersonalTools"
],
"SkinTemplateNavigation": [
"mycustomwiki::removeTalkNav"
],
"ParserFirstCallInit": [
"mycustomwiki::hookParserFirstCallInit"
],
"userCan": [
"mycustomwiki::removeTalkPermission"
]
},
"AutoloadClasses": {
"mycustomwiki": "Hooks.php"
},
"manifest_version": 1
}
</pre>
In '''Hooks.php'''
<pre>
class myWikiCustomizer {
// other functions not related to categories
// have been removed for clarity
public static function hookParserFirstCallInit (Parser $parser){
$parser->setHook( 'card', array( __CLASS__, 'cardImageDisplay' ) );
return true;
}
public static function cardImageDisplay($input, array $args, Parser $parser, PPFrame $frame ) {
$num = strtolower($args['num']);
$suit = strtolower($args['suit']);
$ret .= '<img src="https://mywebsite.com/cardimages/';
$ret .= $suit;
$ret .= '/';
$ret .= $num;
$ret .='.jpg"';
$ret .= "title=\"$num $suit \"";
$ret .= ' />';
$parser->getOutput()->addCategory("Games with $num $suit",'*');
return $ret; // spits out the HTML to the page
}
// class dismissed
}
</pre>
Thus, in the Mainspace pages, the user types <code><card num="2" suit="spades" /></code> and an images of the 2 of spades, and the parser outputs {{tag|img|open|params={{attr|src|"<nowiki>https://mywebsite.com/cardimages/spades2.jpg</nowiki>"}}}} shown in the browser, and the page is placed in <nowiki>[[category:Games with 2 of spades]]</nowiki>. (Except, as per my explanation above, the category shows on the page, but the page doesn't show in the category.)
Environment:
* MediaWiki 1.37.1
* PHP 8.2.30 litespeed
* MySQL 8.4.8 cll-live
• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 17:59, 5 March 2026 (UTC)
:Additional note:
:I tried upgrading to a newer version of MW, but that wrecked my tables, so I'm back to 1.37.1 • [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 18:01, 5 March 2026 (UTC)
::What happens when you do a null edit? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 21:18, 5 March 2026 (UTC)
:::By "null edit", do you mean purging the page? If so, I've just tried purging both the category and the mainspace pages, and it's still not resolved.
:::• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 22:07, 5 March 2026 (UTC)
::I just found the definition of "null edit"...
::And still not resolved :-(
::• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 22:11, 5 March 2026 (UTC)
:'''''Here is an update after some experimenting:'''''
:*This problems also seems to affect templates added via extensions too.
:*I thought that one way I could fix the problem is instead of <code>$parser->getOutput->addCategory</code>, I'd use <code>$parser->getOutput->addTemplate</code>, while also creating a template for each card, which itself hold have the <nowiki>[[category:Games with 5 clubs]]</nowiki>.
:*So, similarly as to how the Special:WantedCategories page shows it has members, but then category page itself is empty upon viewing it, the "Templates used in this preview" shows that a template is transcluded, but the actual content from the template does not get transcluded.
:*So... a bug maybe in the MediaWiki parser????
:*For reference, here is what I added to Hooks.php
:<syntaxhighlight lang="php">
$templateTitle = Title::newFromText( "Template:5 of clubs" ); // hard-coding a template for testing
$parser->getOutput()->addTemplate(
$templateTitle,
$templateTitle->getArticleID(),
$templateTitle->getLatestRevID()
);
</syntaxhighlight>
• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 02:14, 7 March 2026 (UTC)
:What happens if you just add "<nowiki>[[Category:xyz]]</nowiki>" to your $ret variable? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 21:29, 7 March 2026 (UTC)
::That wiki-markup doesn't get processed by the parser upon viewing in the broswer, and it's produced exactly as-is as HTML. In other words, I see the words <nowiki>[[category:xyz]]</nowiki> in the browser, instead of having the category added to the page.
::• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 04:41, 8 March 2026 (UTC)
:::Yes that makes sense. What happens when you change <nowiki>'*'</nowiki> to <nowiki>''</nowiki>? I don't see why '*' would cause a problem though. Or just some non-variable text like "xyz"?
:::I think you could do the whole thing using a template if you can't get the extension to work and call it like <nowiki>{{card|2|spades}}</nowiki>. That might be safer anyway as far as sanitising user input goes. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:22, 8 March 2026 (UTC)
::::Well, now weirdly, the template doesn't pass data onto the extension.
::::In other words, the mainspace page calls the template <code><nowiki>{{mycardtemplate num=2 suit=clubs}}</nowiki></code>; however, the exention receives the strings {{{num}}} {{{suit}}}, instead of the actual data placed within the mainspace page instead of "2" and "clubs".
::::*The mycardtemplate template is <code><nowiki><card num={{{num}}} suit={{{suit}}} /></nowiki></code>
::::The main reason for my custom extension was to have the images pulled from a specific folder on the server and to add the categories.
::::I guess I'm going to try raw HTML, though my first attempt didn't work.
::::I really feel like this is a weird bug in MediaWiki: why would this case not be built when the ''buildall.php'' or ''runjobs.php'' routines are run?
::::• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 21:41, 10 March 2026 (UTC)
:::::Try <code><nowiki>{{mycardtemplate|num=2|suit=clubs}}</nowiki></code> (with | instead of space). [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 23:06, 10 March 2026 (UTC)
::::Response 2: I realize I forgot to respond to the part about changing "*" to "?".
::::That didn't work either. I also tried an empty string "", and also nothing.
::::• [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 22:01, 10 March 2026 (UTC)
I've not checked but try this (in a page named Template:Card)...
<pre>
https://mywebsite.com/cardimages/{{{suit}}}/{{{num}}}
[[Category:Games with {{{num}}} {{{suit}}}]]
</pre>
Call it by typing <code><nowiki>{{card|num=2|suit=clubs}}</nowiki></code> into a normal page (e.g. page name Test). It could be improved but might be a good start. You might have to enable [[Manual:$wgAllowExternalImages]] or one of the related settings. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 09:52, 11 March 2026 (UTC)
:Oh my goodness, I got it working!
:After a good night's sleep, I realized that I wasn't putting the right raw HTML in my template (and, I also forgot to add the ".jpg" extension to the filename... oops!)
:So, first I needed <code>$wgRawHtml = true;</code>, and then I setup my template like this:
:<code><nowiki><html><img src="https://mysite.com/cardimages/</html>{{{deck}}}<html>/</html>{{{suit}}}<html>/</html>{{{num}}}<html>.jpg"></html>[[category:Games with {{{num}}} {{{suit}}}]]</nowiki></code>. (Notice the forward slashes surrounded by <nowiki><html></nowiki> tags, to ensure the right content is output upon viewing the page in a browser.). With this setup, the template adds the category, which is transcluded by the mainspace page, and the category properly shows the pages within it.
:So, it seems that the main purpose of my custom extension -- namely to inject html and categories -- is no longer needed. R.I.P. my extension!
:Still - does nobody else think it's weird that adding categories and templates via $parser didn't work? • [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 16:07, 11 March 2026 (UTC)
== How can I develop user script without publishing, anyways? ==
I am recently developing a user script on zhwiki: [[:zh:User:Saimmx/SATG.js]]. The question is, I must publish my code every time when developing and debugging the script, and I don't want that; I want to develop my user script without publishing edits. Can we develop locally with Codex module by using nodeJS, like what we do on [https://vite.dev/guide/ vite]? Is that possibile? Or should I install the whole Mediawiki locally?
I have seen [[Codex#Using_Codex_in_userscripts]] and [[Help:Locating broken scripts]], but it doesn't have something I am looking for. [[User:Saimmx|Saimmx]] ([[User talk:Saimmx|talk]]) 18:24, 9 March 2026 (UTC)
:You might want to look into: https://github.com/ChlodAlejandro/vite-plugin-mediawiki-userscript which can help streamline this a bit. In general, you won't see this too much, as scripts tend to be VERY specific to a particular wiki, in ways that often cannot easily be reproduced locally. It tends to require a lot of mocking of DOM and/or wikitext content and/or requests. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 13:15, 11 March 2026 (UTC)
== Morphology-aware wikilinks ==
Hello! Does MediaWiki plan to support morphology-aware wikilinks for highly inflected languages?
In languages such as Albanian, nouns appear in many inflected forms. For example:
*mace
*mace'''s'''
*mace'''n'''
*mace'''t'''
(all different forms of ''mace'' - cat)
If the article title is "mace", editors currently need to write links like:
*<nowiki>[[mace|maces]]</nowiki>
*<nowiki>[[mace|macen]]</nowiki>
*<nowiki>[[mace|macet]]</nowiki>
*...
or create large numbers of redirects for every inflected form. On my homewiki (sqwiki) this results in thousands of redirects created solely to support grammatical linking.
A possible solution could be a language-specific lemma normalization step during link resolution. This would allow editors to write links naturally while avoiding large numbers of redirects.
Is there currently any extension, parser hook, or planned feature that supports this kind of language-specific link normalization? Have there been past discussions about this issue? - [[User:Klein Muçi|Klein Muçi]] ([[User talk:Klein Muçi|talk]]) 21:39, 14 March 2026 (UTC)
:In English we can use <code><nowiki>[[word]]s</nowiki></code> for plurals, and other stuff is mentioned at "Word-ending links" on [[Help:Links]]. It looks like [[mace]], [[mace]]s, [[mace]]n, [[mace]]t (<code><nowiki>[[mace]], [[mace]]s, [[mace]]n, [[mace]]t</nowiki></code>) all link to [[mace]]. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 00:45, 15 March 2026 (UTC)
::That's true, and the word-ending link feature can sometimes help. However, it is still somewhat unreliable for languages with richer inflection. For example, <nowiki>[[mace]]t</nowiki> (the cats) would normally link to ''mace'' (cats) but the article lives on ''macja'' (the cat). In this case the workaround does not work, and editors still need to use piped links or redirects. Other languages may have even more complex inflection systems, where many forms cannot be handled through simple suffix trails. The current language-agnostic approach is not necessarily bad; I was mainly wondering whether there have been discussions or plans about more morphology-aware linking systems, possibly implemented through language-specific modules. Such a system could make editing closer to how language is cognitively processed by speakers (i.e., operating at the level of the lemma rather than requiring editors to think in terms of specific surface forms), and thus make linking more intuitive. - [[User:Klein Muçi|Klein Muçi]] ([[User talk:Klein Muçi|talk]]) 03:20, 15 March 2026 (UTC)
:Instead of writing stuff like <nowiki>[[mace|maces]]</nowiki> etc I would rather expand/fix the [[Help:Links#linktrail|MediaWiki:Linktrail]] definition for Albanian language. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 22:19, 15 March 2026 (UTC)
::Yeah, as you can see [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/HEAD/languages/messages/MessagesEn.php#575 english] has a link trail definition, but [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/HEAD/languages/messages/MessagesSq.php Albanian] does not. I would suggest filing a Phabricator ticket. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 08:54, 16 March 2026 (UTC)
:::Indeed, that would help. Thank you for pointing it out. That said, it still falls a bit short of what I originally had in mind when starting this discussion. While looking further into the topic, I also came across [[wikidata:Wikidata:Lexicographical data|Wikidata’s lexicographical data]].
:::What I was imagining is that if a link target does not exist, MediaWiki could attempt a language-specific normalization step before resolving the link. This could combine morphological rules for the language with lexeme/form data from Wikidata (or Wiktionary) to map inflected surface forms back to their base form and then link to the corresponding article, put in very-very crude terms.
:::Something that allows linking to work a bit closer to how natural language is actually written and processed by speakers. Maybe that's hard to achieve at current times though. - [[User:Klein Muçi|Klein Muçi]] ([[User talk:Klein Muçi|talk]]) 19:51, 16 March 2026 (UTC)
::::I was able to also find [[Extension:Svetovid]] which apparently does what I'm looking for for the Polish language. - [[User:Klein Muçi|Klein Muçi]] ([[User talk:Klein Muçi|talk]]) 01:32, 17 March 2026 (UTC)
== Upgrade to MW 1.45.1 causing database error 1901 ==
Can somebody provide guidance on how to solve this error? It appears during the schema update, when I run /mw-config/index.php?
I'm upgrading from 1.37 to 1.45.1
Here is the error message:
<code>...page table does not contain page_restrictions field.</code>
<code>Running migrateLinksTable.php on templatelinks...</code>
<code>Run update.php to create the tl_target_id column.</code>
<code>done.</code>
<code>Modifying tl_namespace field of table templatelinks...</code>
<code>An error occurred:</code>
<code>Error 1091: Can't DROP 'primary'; check that column/key exists</code>
<code>Function: Wikimedia\Rdbms\Database::sourceFile( /public_html/sql/mysql/patch-templatelinks-tl_title-nullable.sql )</code>
<code>Query: DROP INDEX `primary` ON `tr_templatelinks`</code> • [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 04:11, 26 February 2026 (UTC)
:The page table is good. It is not supposed to have the page_restrictions field.
:The templatelinks table is most likely messed up. The good news is that it can be regenerated once you fix it. Can you get into the database and <code>DESCRIBE TEMPLATELINKS;</code> ? If so, compare it to the documentation. [[Manual:Templatelinks_table#Schema_summary]]. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 14:09, 28 February 2026 (UTC)
::Thank you @[[User:Flounder ceo|Flounder ceo]] for the answer.
::Unfortulately, I don't have the skills to do what you mention (I don't know what <code>DESCRIBE TEMPLATELINKS;</code> means, and I don't even know if I have access to that in my webhosting cPanel.)
::I needed to use my wiki right away, so I eneded up reverting back to version 1.37... • [[User:Supasaru|<span style="color:#1100ff">Supā</span><span style="color:#ff0011">saru</span>]] 17:27, 5 March 2026 (UTC)
:::Sorry. I don't know how to fix it without seeing the database schema. There is probably a way through cPanel to get the same information. You basically want to know what what column or field names are in the mysql table and which ones are primary keys. It can change from version to version. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 19:50, 16 March 2026 (UTC)
:I have a similar problem trying to upgrade from MW 1.43.1 to MW 1.45.1. "php maintenance/run.php update.php" complains:
:Modifying primary key on table categorylinks...Wikimedia\Rdbms\DBQueryError from line 1225 of /.../mediawiki-1.45.1/includes/libs/rdbms/database/Database.php: Error 1091: Can't DROP INDEX `primary`; check that it exists
:Function: Wikimedia\Rdbms\Database::sourceFile( /.../mediawiki-1.45.1/sql/mysql/patch-categorylinks-pk.sql )
:Query: DROP INDEX `primary` ON `categorylinks`
:Update is trying to DROP an INDEX that does not exists? Is that a reason to stop the upgrade process? Do I need to create an INDEX so upgrade can DROP that INDEX? Sounds silly to me. I skipped this step in /.../mediawiki-1.45.1/sql/mysql/patch-categorylinks-pk.sql and detected the next error:
:Modifying primary key on table categorylinks...Wikimedia\Rdbms\DBQueryError from line 1225 of /.../mediawiki-1.45.1/includes/libs/rdbms/database/Database.php: Error 1062: Duplicate entry '17148-33924' for key 'PRIMARY'
:Function: Wikimedia\Rdbms\Database::sourceFile( /.../mediawiki-1.45.1/sql/mysql/patch-categorylinks-pk.sql )
:Query: ALTER TABLE `categorylinks`
:ADD PRIMARY KEY (cl_from, cl_target_id)
:I do not know what to do here in MariaDB. According to some webpages I found for this there is most likely no duplicate entry.
:SHOW CREATE TABLE categorylinks;
:---------
:| categorylinks | CREATE TABLE `categorylinks` (
:`cl_from` int(10) unsigned NOT NULL DEFAULT 0,
:`cl_to` varbinary(255) NOT NULL DEFAULT '',''
:`cl_sortkey` varbinary(230) NOT NULL DEFAULT '',''
:`cl_sortkey_prefix` varbinary(255) NOT NULL DEFAULT '',''
:`cl_timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
:`cl_collation` varbinary(32) NOT NULL DEFAULT '',''
:`cl_type` enum('page','subcat','file') NOT NULL DEFAULT x'70616765',
:`cl_collation_id` smallint(5) unsigned NOT NULL DEFAULT 0,
:`cl_target_id` bigint(20) unsigned NOT NULL,
:KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
:KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
:KEY `cl_sortkey_id` (`cl_target_id`,`cl_type`,`cl_sortkey`,`cl_from`),
:KEY `cl_timestamp_id` (`cl_target_id`,`cl_timestamp`)
:) ENGINE=InnoDB DEFAULT CHARSET=binary |
:---------
:Specs: Debian trixie, MariaDB 11.8.3, Apache, PHP 8.3.30 for Apache [[User:InkluPedia|InkluPedia]] ([[User talk:InkluPedia|talk]]) 16:53, 14 March 2026 (UTC)
::The information in https://phabricator.wikimedia.org/T332333 helped me to find the articles causing this error. After changing and saving these articles causing this conflict the upgrade script "php maintenance/run.php update.php" advanced to the next error complaining about another "Duplicate entry". I do not know how many articles are affected. [[User:InkluPedia|InkluPedia]] ([[User talk:InkluPedia|talk]]) 13:20, 15 March 2026 (UTC)
::What do you get with <code>DESCRIBE categorylinks;</code> ? [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 19:37, 16 March 2026 (UTC)
::Step 1: Understand the current table structure
::From your <code>SHOW CREATE TABLE</code> output, the table has '''no primary key''' and uses only secondary indexes. The new primary key will be <code>(cl_from, cl_target_id)</code>.
::The duplicate entry error <code>Duplicate entry '17148-33924' for key 'PRIMARY'</code> tells us that at least two rows exist with <code>cl_from = 17148</code> and <code>cl_target_id = 33924</code>. This violates the uniqueness required for a primary key.
::Step 2: Handle the missing primary key (first error)
::The patch file <code>sql/mysql/patch-categorylinks-pk.sql</code> contains a line like:
::sql
:: DROP INDEX `primary` ON `categorylinks`;
::Because your table has no primary key, this statement fails with <code>Error 1091</code>. You have two options:
::* '''Option A (recommended):''' Modify the patch to use <code>IF EXISTS</code> (supported by MySQL 5.7+ / MariaDB 10.0+). Replace the <code>DROP INDEX</code> line with:
::DROP INDEX IF EXISTS `primary` ON `categorylinks`;
::* This will run without error even if the primary key does not exist.
::* '''Option B:''' Simply comment out or delete the <code>DROP INDEX</code> line. Since there is no primary key to drop, it is safe to skip.
::Step 3: Resolve duplicate rows (second error)
::Before adding the new primary key, you must eliminate duplicate <code>(cl_from, cl_target_id)</code> combinations.
::3.1 Identify all duplicates
::sql
:: SELECT cl_from, cl_target_id, COUNT(*) FROM categorylinks GROUP BY cl_from, cl_target_id HAVING COUNT(*) > 1;
::3.2 Decide how to clean duplicates
::For each duplicate pair, you need to keep '''one''' row and delete the rest. A safe approach is to keep the row with the most recent <code>cl_timestamp</code> (or any other criterion, such as the lowest <code>cl_sortkey</code>).
::Example: delete older duplicates, keeping the latest row for each pair.
::sql
:: DELETE t1 FROM categorylinks t1 INNER JOIN categorylinks t2 ON t1.cl_from = t2.cl_from AND t1.cl_target_id = t2.cl_target_id WHERE t1.cl_timestamp < t2.cl_timestamp;
::3.2 Decide how to clean duplicates
::For each duplicate pair, you need to keep '''one''' row and delete the rest. A safe approach is to keep the row with the most recent <code>cl_timestamp</code> (or any other criterion, such as the lowest <code>cl_sortkey</code>).
::Example: delete older duplicates, keeping the latest row for each pair.
::sql
:: DELETE t1 FROM categorylinks t1 INNER JOIN categorylinks t2 ON t1.cl_from = t2.cl_from AND t1.cl_target_id = t2.cl_target_id WHERE t1.cl_timestamp < t2.cl_timestamp;
::If there are more than two duplicates for a pair, run the query repeatedly until no duplicates remain.
::After cleaning, re‑run the <code>GROUP BY</code> query to confirm all counts are 1.
::3.3 Alternative: use a temporary table
::For large tables, it may be safer to create a new table with the desired structure, insert deduplicated data, and then swap:
::sql
:: CREATE TABLE categorylinks_new LIKE categorylinks; INSERT INTO categorylinks_new SELECT * FROM categorylinks GROUP BY cl_from, cl_target_id; ''-- MySQL permits this, picking arbitrary values'' RENAME TABLE categorylinks TO categorylinks_old, categorylinks_new TO categorylinks;
::Then reapply any secondary indexes (your existing indexes are shown in the <code>SHOW CREATE TABLE</code> output).
::Step 4: Apply the altered primary key
::After cleaning duplicates, run the <code>ALTER TABLE</code> statement that adds the primary key:
::sql
:: ALTER TABLE `categorylinks` ADD PRIMARY KEY (cl_from, cl_target_id);
::This should now succeed.
::Step 5: Continue the upgrade
::Once the primary key is in place, you can proceed with the upgrade script. If you modified the patch file, ensure the rest of the patch (any further changes) is executed – you may need to run the remaining SQL manually or let <code>update.php</code> continue.
:: ----
::Additional note: using maintenance scripts
::MediaWiki provides <code>maintenance/rebuildall.php</code> which can rebuild link tables . However, this script will not automatically fix duplicate primary keys – it expects a consistent schema. Run it '''after''' the schema update to refresh all link data:
::bash
:: php maintenance/run.php rebuildall
::This can help ensure that the
::<code>categorylinks</code>
:: table is fully consistent with the new structure.
::Summary of commands (execute in order)
::# '''Modify the patch''' (or comment out the <code>DROP INDEX</code> line).
::# '''Clean duplicates''':
::sql
:: ''-- Check duplicates'' SELECT cl_from, cl_target_id, COUNT(*) FROM categorylinks GROUP BY 1,2 HAVING COUNT(*) > 1; ''-- Delete older duplicates (example)'' DELETE t1 FROM categorylinks t1 INNER JOIN categorylinks t2 ON t1.cl_from = t2.cl_from AND t1.cl_target_id = t2.cl_target_id WHERE t1.cl_timestamp < t2.cl_timestamp;
::Add the primary key:
::sql
:: ALTER TABLE `categorylinks` ADD PRIMARY KEY (cl_from, cl_target_id);
::# '''Resume the upgrade''' (run <code>update.php</code> again).
::After a successful upgrade, consider running <code>rebuildall.php</code> to refresh all link data. [[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:46, 18 March 2026 (UTC)
== Editor Stops loading ==
When I try to edit source on an article the progress bar stops about 3/4 and no tool bar loads
{| class="wikitable"
!Product
!Version
|-
|[https://www.mediawiki.org/ MediaWiki]
|1.39.15
|-
|[https://php.net/ PHP]
|8.1.34 (cgi-fcgi)
|-
|[https://www.mysql.com/ MySQL]
|8.0.44
|-
|[https://icu.unicode.org/ ICU]
|70.1
|-
|[https://pygments.org/ Pygments]
|2.11.2
|-
|[https://bluespice.com/ BlueSpice] ([https://coretech.fortna-conveyor.com/index.php?title=Special:Credits Credits])
|4.5.7 (build:20251017162406)
|}
I am not finding anything in the error/debug log
<blockquote>
Start request POST /api.php
IP: xxx.xxx.xxx.206
HTTP HEADERS:
COOKIE: tgwdistweb_coretech_ct_BlueSpiceDiscovery=%7B%22sb-pri-cnt%22%3A%22true%22%7D; tgwdistweb_coretech_ct__session=9ec638qh54rtv4pc7232updl3ukrkq3l; tgwdistweb_coretech_ct_UserID=1; tgwdistweb_coretech_ct_UserName=Cmthom; tgwdistweb_coretech_ct_Token=c6cebb5172dbce30e50b4ae8768b36b4; tgwdistweb_coretech_ct_notificationFlag=1
ACCEPT-LANGUAGE: en-US,en;q=0.9
ACCEPT-ENCODING: gzip, deflate, br, zstd
REFERER: https://MyWiki.xxx/index.php?title=NBC_Photo_Gallery&veaction=editsource
SEC-FETCH-DEST: empty
SEC-FETCH-MODE: cors
SEC-FETCH-SITE: same-origin
ORIGIN: https://MyWiki.xxx
SEC-CH-UA-MOBILE: ?0
CONTENT-TYPE: application/x-www-form-urlencoded; charset=UTF-8
SEC-CH-UA: "Not:A-Brand";v="99", "Google Chrome";v="145", "Chromium";v="145"
ACCEPT: application/json, text/javascript, */*; q=0.01
USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
X-REQUESTED-WITH: XMLHttpRequest
SEC-CH-UA-PLATFORM: "Windows"
CONTENT-LENGTH: 898
CONNECTION: close
HOST: coretech.fortna-conveyor.com
(end headers)
[objectcache] MainWANObjectCache using store EmptyBagOStuff
[DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::open [0s] dbServer.xxx: SET group_concat_max_len = 262144, `sql_mode` =
[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info {
"IPAddress": "xxx.xxx.xxx.206",
"UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36",
"ChronologyProtection": false,
"ChronologyPositionIndex": 0,
"ChronologyClientId": false
}
[DBConnection] Wikimedia\Rdbms\LoadBalancer::lazyLoadReplicationPositions: executed chronology callback.
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: opened new connection for local/0
[DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::serverIsReadOnly [0.001s] dbServer.xxx: SELECT @@GLOBAL.read_only AS Value
[DBQuery] BlueSpice\Data\Settings\PrimaryDataProvider::makeData [0.003s] dbServer.xxx: SHOW TABLES LIKE 'ct\_bs\_settings3'
[DBQuery] Wikimedia\Rdbms\Database::beginIfImplied (BlueSpice\Data\Settings\PrimaryDataProvider::makeData) [0s] dbServer.xxx: BEGIN
[DBQuery] BlueSpice\Data\Settings\PrimaryDataProvider::makeData [0.001s] dbServer.xxx: SELECT * FROM `ct_bs_settings3`
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MWStake\MediaWiki\Component\DynamicConfig\DynamicConfigManager::loadConfigs [0.001s] dbServer.xxx: SHOW TABLES LIKE 'ct\_mwstake\_dynamic\_config'
[DBQuery] MWStake\MediaWiki\Component\DynamicConfig\DynamicConfigManager::loadConfigs [0.001s] dbServer.xxx: SELECT mwdc_key,mwdc_serialized FROM `ct_mwstake_dynamic_config` WHERE mwdc_is_active = 1
[dynamic-config] Loaded config bs-groupmanager-groups from database
[dynamic-config] Applied config bs-groupmanager-groups from database
[dynamic-config] Loaded config bs-namespacemanager-namespaces from database
[dynamic-config] Applied config bs-namespacemanager-namespaces from database
[dynamic-config] Loaded config bs-permissionmanager-roles from database
[dynamic-config] Applied config bs-permissionmanager-roles from database
[session] SessionManager using store SqlBagOStuff
[localisation] LocalisationCache using store LCStoreCDB
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0.002s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1 LIMIT 1
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:1): miss, new value computed
[DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::open [0s] dbServer.xxx: SET group_concat_max_len = 262144, `sql_mode` =
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: opened new connection for localAutoCommit/0
[DBQuery] SqlBagOStuff::fetchBlobs [0.001s] dbServer.xxx: SELECT keyname,value,exptime FROM `ct_objectcache` WHERE keyname = 'tgwdistweb_coretech-ct_:MWSession:9ec638qh54rtv4pc7232updl3ukrkq3l' AND (exptime >= '20260313140007')
[SQLBagOStuff] SqlBagOStuff debug: SqlBagOStuff::fetchBlobs: retrieved tgwdistweb_coretech-ct_:MWSession:9ec638qh54rtv4pc7232updl3ukrkq3l; expiry time is 20260313145208
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for localAutoCommit/0
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.002s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0.002s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
User::getBlockedStatus: checking blocked status for Cmthom
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Block\DatabaseBlock::newLoad [0.001s] dbServer.xxx: SELECT ipb_id,ipb_address,ipb_timestamp,ipb_auto,ipb_anon_only,ipb_create_account,ipb_enable_autoblock,ipb_expiry,ipb_deleted,ipb_block_email,ipb_allow_usertalk,ipb_parent_block_id,ipb_sitewide,ipb_by_actor,ipblocks_actor.actor_user AS `ipb_by`,ipblocks_actor.actor_name AS `ipb_by_text`,comment_ipb_reason.comment_text AS `ipb_reason_text`,comment_ipb_reason.comment_data AS `ipb_reason_data`,comment_ipb_reason.comment_id AS `ipb_reason_cid` FROM `ct_ipblocks` JOIN `ct_actor` `ipblocks_actor` ON ((actor_id=ipb_by_actor)) JOIN `ct_comment` `comment_ipb_reason` ON ((comment_ipb_reason.comment_id = ipb_reason_id)) WHERE ipb_address = 'Cmthom'
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0.001s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Wikimedia\Rdbms\DatabaseMysqlBase::serverIsReadOnly [0s] dbServer.xxx: SELECT @@GLOBAL.read_only AS Value
[objectcache] fetchOrRegenerate(global:rdbms-server-readonly:dbServer.xxx:tgwdistweb_coretech:): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds [0s] dbServer.xxx: SELECT rev_id,rev_page,rev_timestamp,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,comment_rev_comment.comment_text AS `rev_comment_text`,comment_rev_comment.comment_data AS `rev_comment_data`,comment_rev_comment.comment_id AS `rev_comment_cid`,actor_rev_user.actor_user AS `rev_user`,actor_rev_user.actor_name AS `rev_user_text`,rev_actor,page_namespace,page_title,page_id,page_latest,page_is_redirect,page_len,user_name FROM `ct_revision` JOIN `ct_revision_comment_temp` `temp_rev_comment` ON ((temp_rev_comment.revcomment_rev = rev_id)) JOIN `ct_comment` `comment_rev_comment` ON ((comment_rev_comment.comment_id = temp_rev_comment.revcomment_comment_id)) JOIN `ct_actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor)) JOIN `ct_page` ON ((page_id = rev_page)) LEFT JOIN `ct_user` ON ((actor_rev_user.actor_user != 0) AND (user_id = actor_rev_user.actor_user)) WHERE rev_id = 23582 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] Title::newFromID [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_id = 10201 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 0 AND page_title = 'NBC_Photo_Gallery' LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] BlueSpice\SaferEdit\EditWarningBuilder::loadFromDB [0.001s] dbServer.xxx: SELECT * FROM `ct_bs_saferedit` WHERE se_page_title = 'NBC_Photo_Gallery' AND se_page_namespace = 0 ORDER BY se_id DESC
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MWStake\MediaWiki\Component\DataStore\PrimaryDatabaseDataProvider::makeData [0.066s] dbServer.xxx: SELECT * FROM `ct_bs_whoisonline` WHERE (wo_log_ts > 20260313124007) GROUP BY wo_user_name ORDER BY MAX(wo_log_ts) DESC
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 2
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0.001s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 2 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 2
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:2): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Aebees' LIMIT 1
[objectcache] getWithSetCallback(global:user:id:tgwdistweb_coretech-ct_:1): process cache hit
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Cmthom' LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 1385
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1385 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 1385
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:1385): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Mbens-n' LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 911
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 911 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 911
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:911): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Djdeul' LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 28
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 28 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 28
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:28): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Rapowe' LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
User: cache miss for user 4
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] User::loadFromDatabase [0.001s] dbServer.xxx: SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id FROM `ct_user` JOIN `ct_actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 4 LIMIT 1
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\User\UserGroupManager::getUserGroupMemberships [0.001s] dbServer.xxx: SELECT ug_user,ug_group,ug_expiry FROM `ct_user_groups` WHERE ug_user = 4
[objectcache] fetchOrRegenerate(global:user:id:tgwdistweb_coretech-ct_:4): miss, new value computed
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: reused a connection for local/0
[DBQuery] MediaWiki\Page\PageStore::getPageByNameViaLinkCache [0.001s] dbServer.xxx: SELECT page_id,page_namespace,page_title,page_is_redirect,page_is_new,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang FROM `ct_page` WHERE page_namespace = 2 AND page_title = 'Mddavi' LIMIT 1
[DBQuery] MediaWiki::preOutputCommit [0.001s] dbServer.xxx: COMMIT
MediaWiki::preOutputCommit: primary transaction round committed
MediaWiki::preOutputCommit: pre-send deferred updates completed
MediaWiki::preOutputCommit: session changes committed
[DBReplication] Wikimedia\Rdbms\LBFactory::shutdown: finished ChronologyProtector shutdown
[DBReplication] LBFactory shutdown completed
[MessageCache] MessageCache using store SqlBagOStuff
[DBReplication] LBFactory shutdown completed
Request ended normally
[session] Saving all sessions on shutdown
</blockquote>[[User:ChasFortna|ChasFortna]] ([[User talk:ChasFortna|talk]]) 14:32, 13 March 2026 (UTC)
:The log shows that during request processing, the same database queries are executed repeatedly, particularly:
:* <code>Title::newFromID</code> for page ID 10201 (about 10 times)
:* <code>MediaWiki\Revision\RevisionStore::fetchRevisionRowFromConds</code> for revision ID 23582 (also repeated several times)
:This indicates that the code (likely a custom snippet or an extension) is calling these functions in a loop or without reusing already fetched objects, causing unnecessary database queries. Although there is no fatal error message, this repetition negatively impacts performance and can be considered an implementation flaw (inefficiency).
:Other observations:
:* A warning about <code>ChronologyProtector</code> with <code>EmptyBagOStuff</code> – this is just a cache observation, not a critical error.
:* The request ends with "Request ended normally", confirming no exception occurred.
:'''Suggested fix:'''
:Review the code responsible for loading the page title and revision. Ensure that instances of <code>Title</code> and <code>Revision</code> are obtained once and reused, or implement in-memory caching to avoid multiple database queries during the same request. [[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:33, 18 March 2026 (UTC)
== This is a software verification test. Cookie verification and response verification ==
Cookie code:
"tipo": "COOKIE",
"nome": "WMF-Last-Access",
"valor": "18-Mar-2026",
"dominio": "www.mediawiki.org",
"hora": "17:21:43.847"
"tipo": "COOKIE",
"nome": "WMF-Uniq",
"valor": "Fb1SPrEHKQW8aVwlFy0xhwMnAAEBAF...",
"dominio": ".intake-analytics.wikimedia.org",
"hora": "17:23:14.436"
It is essential to monitor the addition and removal of cookies while using MediaWiki, which is still undetermined, at least in my project it is. [[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:27, 18 March 2026 (UTC)
:{{re|~2026-17217-65}} Are you asking a question here? It's not very clear. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 04:09, 19 March 2026 (UTC)
== createAndPromote updates disappearing ==
I've got 1.43 on ubuntu24.04, using PluggableAuth and the Shibboleth plugin. I have no local accounts except mw-admin, and no way to log in to a local account if I did have one.
I've made several account adjustments via createAndPromote.php on the command line, and any groups I've added to my user accounts disappear usually within the hour. I don't think having the exception details would be helpful, because it isn't happening in the UI, but I can turn that on if I need to.
== Cloudflare challenge for all pages except "Main Page" ==
Is this possible. The ways I've tried so far have allowed the page but prevented the CSS etc from loading, so I wondered whether anyone has been successful in this already, or could assist. Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 14:45, 13 March 2026 (UTC)
:What is "this" in your sentences? What is a "Cloudflare challenge"? What does this have to do with MediaWiki? Please also read "Post a new question" at the top of this page. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 22:14, 15 March 2026 (UTC)
::By "this" I was referring to the topic title: Cloudflare challenge for all pages except "Main Page".
::You have probably seen Cloudflare challenges. Many websites use Cloudflare's "Verify you are human" tick box. These interstitial challenge pages are described here: https://developers.cloudflare.com/cloudflare-challenges/challenge-types/challenge-pages/.
::It's relevant to MediaWiki as if I'm lucky someone else who runs a MediaWiki website has already achieved the objective I have in mind. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 14:25, 18 March 2026 (UTC)
:For JavaScript + Associated CSS:
:php
: ''// Define your custom resource module'' $wgResourceModules['zzz.customizations'] = [ 'styles' => "skin.css", ''// CSS for all skins'' 'skinStyles' => [ 'vector' => 'skin-vector.css', ''// Vector-specific CSS (optional)'' ], 'scripts' => "skin.js", ''// JavaScript file'' 'localBasePath' => "$IP/customizations/", 'remoteBasePath' => "$wgScriptPath/customizations/" ]; ''// Load the module on all pages'' function efCustomBeforePageDisplay( &$out, &$skin ) { $out->addModules( [ 'zzz.customizations' ] ); } $wgHooks['BeforePageDisplay'][] = 'efCustomBeforePageDisplay';
:For CSS Only (Critical Path):
:php
: $wgResourceModules['yyy.customizations.styles'] = [ 'styles' => "skin.css", 'skinStyles' => [ 'vector' => 'skin-vector.css', ], 'localBasePath' => "$IP/customizations/", 'remoteBasePath' => "$wgScriptPath/customizations/" ]; function efCustomBeforePageDisplay( &$out, &$skin ) { $out->addModules( [ 'yyy.customizations.styles' ] ); } $wgHooks['BeforePageDisplay'][] = 'efCustomBeforePageDisplay';
:[[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:57, 18 March 2026 (UTC)
::I'm afraid none of that makes sense to me. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 21:18, 18 March 2026 (UTC)
:{{re|Jonathan3}} I guess your Cloudflare rule is adding an exception for Main_Page? Should it also exclude the entry points of load.php, api.php, rest.php, thumb.php, and maybe img_auth.php and opensearch_desc.php? [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 06:23, 19 March 2026 (UTC)
::Thanks. Yes, I guess I would need to include those. I'd like to minimise what I exclude, though. I really should check the Apache access logs while loading the main page. If I get round to it I'll report back! [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 21:35, 19 March 2026 (UTC)
:::{{re|Jonathan3}} I'd think that excluding load.php should be okay, things there are supposed to be well-cached and able to be served quickly. But the APIs are possibly less efficient. It depends on what JS functionality you have on your main page, but for many wikis it might just mean that search autocomplete doesn't work, and that's not really that bad (people would get directed to the Cloudflare captcha thing if they do a search, I'd guess?). [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 00:41, 20 March 2026 (UTC)
::::Thanks for your help/encouragement @[[User:Samwilson|Samwilson]]. I worked it out all right by checking <code>sudo tail -f /var/log/apache2/access.log</code> while loading the main page. I was able to exclude a subset of "load.php...", some images, etc, and the page looks fine now. I won't post it all here as it'll be slightly different for everyone's wiki. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 11:09, 20 March 2026 (UTC)
== Maintenance Script to Edit/Save All Articles with No Changes to Force Regeneration ==
I have articles that use templates and parser functions to either show an image or placeholder image in the articles based on if an image name exists or not. The articles are also created before the corresponding images are uploaded.
My issue is the article will continue to show the placeholder image even if the images has later been uploaded. To correctly have the image display I have to click edit on the article page and then save (even though I'm not making any edits to the article).
I'd like to run a maintenance script to basically edit and save the articles en mass but I haven't been able to find a script that works for my needs. I've tried rebuildall.php, rebuildImages.php, and refreshLinks.php to no avail. What script do I need to run? [[Special:Contributions/~2026-17553-94|~2026-17553-94]] ([[User talk:~2026-17553-94|talk]]) 01:04, 21 March 2026 (UTC)
:Maybe [[Manual:purgePage.php]] helps you. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 13:59, 21 March 2026 (UTC)
:If you really do need to null edit (rather than just purge) multiple pages then I don't believe there is any maintenance script to help you. When I was in that situation I used [[Project:AutoWikiBrowser]]. I think you could also use [[Manual:Pywikibot]]. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 22:18, 21 March 2026 (UTC)
== Extension:Chart renders blurry ==
I already [[Extension talk:Chart#Example chart renders blurry|posted]] about this on the extension's talk page over 2 weeks ago and haven't received any help.
I am running 1.44 on Apache, and the configuration seems to be correct.
I tested the example charts provided in Chart/sample. When trying to view the chart normally, it renders blurry, identical to what I briefly see on other wikis (for instance, Wikipedia) before the chart finishes loading. But in my case it never resolves itself.
The most curious part is that the chart renders perfectly fine when previewing in the source or visual editor. The issue only occurs when viewing the saved page normally.
You can see what I'm talking about for yourself [https://emergency-response-liberty-county.wiki/User:Lucah1337/Sandbox3 here], but note that editing is disabled. [[User:Lucah1337|Lucah1337]] ([[User talk:Lucah1337|talk]]) 16:06, 22 March 2026 (UTC)
:See the errors in your web browser's Console. Does this also happen with a different skin than "Citizen"? [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 10:33, 23 March 2026 (UTC)
::Yes, I have also tried with vector prior to posting, I should have mentioned it already. [[User:Lucah1337|Lucah1337]] ([[User talk:Lucah1337|talk]]) 10:51, 23 March 2026 (UTC)
== Беспредел в Википедии!!! ==
Вы там что, в своей столице, совсем кукухой поехали? Комментарий к странице не является вандализмом! Учите законодательство России! И лечите свою шизофрению, шизофреники - металлурги!
П.С. За вашими спинами давно никто не стоит! Мой пламенный привет!
Ольга, не страдающая паранойей, а наслаждающаяся ею, а также убийствами, издевательствами, пытками, убийствами, маньячествами и самими жуткими маньячествами [[Special:Contributions/~2026-18205-40|~2026-18205-40]] ([[User talk:~2026-18205-40|talk]]) 07:53, 24 March 2026 (UTC)
== Fatal error after upgrading to 1.45.1 ==
{{plainlist|
* '''Operating system''': Windows 10
* '''MediaWiki version''': 1.45.1
* '''PHP version''': 8.2.12 (apache2handler)
* '''ICU version''': 71.1
* '''MariaDB version''': 10.4.32-MariaDB
* '''Lua version''': 5.1.5
* '''Pygments version''': 2.19.1}}
I'm using the wiki as a personal database for a variety of projects, so it's only available on LAN. The following error doesn't show up on every page and I have no idea what could be on those pages that causes this.
<pre>Fatal error: Declaration of MWCallbackStream::write($string) must be compatible with Psr\Http\Message\StreamInterface::write(string $string): int in F:\Users\[myname]\Documents\xampp\htdocs\[mywiki]\includes\http\MWCallbackStream.php on line 37</pre>
{{note}} I am '''not''' a programmer. I know what PHP is and that's about it. My understanding of HTML mostly comes from the late '90s and 2010s. My experience with DOS began and ended with starting up games. Usually with my dad around if I forgot a command. I can copy code and make very ''specific'' changes when given ''clear'' instructions. Please explain the problem to me as if I'm a child. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 21:39, 17 March 2026 (UTC)
:Did you... use how navegator web? [[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:30, 18 March 2026 (UTC)
::I have no idea what that is.
::Anyway, I've managed to revert my wiki back to the 1.43.0 version after a '''lot''' of trouble. I might try upgrading again, but only if I get an answer to this problem. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 20:51, 18 March 2026 (UTC)
:::The error you are experiencing is a compatibility issue between MediaWiki and one of the PHP libraries it uses (managed by Composer). The root cause and solution are well-known and documented.
:::### Why does this error occur?
:::The error `Declaration of MWCallbackStream::write($string) must be compatible with Psr\Http\Message\StreamInterface::write(string $string): int` occurs due to a version conflict in the `psr/http-message` library.
:::* **The Cause:** MediaWiki (specifically the `MWCallbackStream` class) implements an interface called `StreamInterface` which belongs to the `psr/http-message` library. In versions 1.x of this library, the signature of the `write` method was `write($string)`. However, starting with version 2.0, the library added type hints to the interface, and the signature became `write(string $string): int`.
:::**The Trigger:** The error usually appears after running commands like `composer update`. During the update, Composer may install the latest version (2.x) of the `psr/http-message` library (often as a dependency of an extension), which is not compatible with the version of MediaWiki you are using (such as 1.39). MediaWiki expects version 1.x, but finds version 2.x, resulting in the fatal error.
:::### How to solve (Temporary Solution / Workaround)
:::The most immediate and effective solution is to force Composer to use a compatible version (version 1.x) of the `psr/http-message` package.
:::Follow these steps in your MediaWiki installation directory (the folder containing the `composer.json` file):
:::1. **Create or edit the `composer.local.json` file:** This file allows you to override dependency settings without modifying the original `composer.json`.
:::2. **Add the following configuration:**
:::``json
:::{
:::"require": {
:::"psr/http-message": "~1"
:::}
:::}
:::```
:::The `~1` operator means "compatible with version 1", that is, it will install the latest version of the 1.x line, such as `1.0.1` or `1.1.0`, which are compatible.
:::3. **Run Composer to apply the change:** Run the command below in your terminal (in the same folder as MediaWiki):
:::``bash
:::composer update --no-dev
:::``
:::The use of `--no-dev` is recommended for production environments, as it avoids the installation of development tools.
:::After performing these steps, Composer will *downgrade* (or adjust) the version of `psr/http-message` to a compatible one (e.g., 1.1.0). The problem should be resolved immediately.
:::### Permanent Solution
:::This is a known issue and has already been fixed in MediaWiki. The fix involves fixing the version of the `psr/http-message` library to `^1.0.1` directly in the MediaWiki core.
:::* The fix will be permanently available in future versions of MediaWiki, probably starting with 1.39.4.
:::* If you are using a newer version of MediaWiki, the problem may have been caused by an extension that brought version 2.0 as a dependency. In this case, forcing version `~1` in `composer.local.json` is still the best practice.
:::**Summary:** The workaround with `composer.local.json` is safe and effective for resolving the error immediately, while a permanent fix is already on its way in future versions of the software. [[Special:Contributions/~2026-17217-65|~2026-17217-65]] ([[User talk:~2026-17217-65|talk]]) 20:59, 18 March 2026 (UTC)
'''EDIT''': It seems to be tied to Module:Citation/CS1, but I tried to import a new version from Wikipedia and got the same error after pressing "submit." {{unsigned|BrigidTheIrish|07:29, 18 March 2026}}
:{{re|BrigidTheIrish}} It looks like one of your extensions has a dependency on an incompatible version of the <code>psr/http-message</code> package (which seems to be what the AI reply above is trying to get at). If you can view the full stack trace of the error it might help figure out which extension. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 04:06, 19 March 2026 (UTC)
:Okay. I did have a stack trace and I looked at it. Was still rather confusing and I'm still not sure how to fix it beyond removing the offending extension, which I'd rather not do. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 13:42, 19 March 2026 (UTC)
::{{re|BrigidTheIrish}} Which extension was it? It's worth filing a bug report and getting it fixed. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 00:32, 20 March 2026 (UTC)
:::Thing is, I'm not sure. Should have saved the stack trace before reverting back to 1.43.0 so someone who knows more could look at it. That the error seems to be tied to pages containing citations is probably a hint. I could probably create a new install to test, but I'm not sure if running two versions of MediaWiki on the same machine is a good idea and I am way to close to mental burnout to try at this exact moment. Installing MediaWiki on Windows is a '''massive pain''', mainly because it'd involve trying to figure out how to get ImageMagick working '''again'''. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 15:42, 24 March 2026 (UTC)
== Broken ASCII title characters during Wiki update (long-running problem, new discussion) ==
Hi, I am an administrator of the [https://www.imfdb.org/wiki/Main_Page Internet Movie Firearms Database], a wiki about firearms in films, television, and video games powered by MediaWiki. (MediaWiki 1.35.7 (87cfbeb) 21:55, 9 March 2024)
During an IMFDB server update in 2022, a strange error occurred where all the page titles with "non-standard" ASCII characters (everything from Latin characters with diacritics to punctuation) were broken; the pages became prefixed with "Broken/", and the non-standard characters were replaced with "\x(ASCII code here)". The public facing issue of broken titles was fixed with a mass page move operation using bots, but several deeper problems have persisted. (example of a broken title fixed by manual moving [https://www.imfdb.org/index.php?title=Alexander_Skarsg%C3%A5rd&diff=1519041&oldid=1483243 here])
I raised the problems several years ago on Support desk (see [https://www.mediawiki.org/wiki/Topic:X9ydzqfgf4b0o63s here]), but the active contributor could not manage to root out the problems. Currently we still have two problems that, while not actively harming the user experience, are potentially troublesome for wiki management.
* Most of the wiki's redirects that redirect to "broken pages" appear as broken redirects on Special:BrokenRedirects (see [https://imfdb.org/index.php?title=Special:BrokenRedirects&limit=500&offset=0 here]), and no longer function; clicking on one of those redirects in a page will direct one to the redirect page itself, not its destination. Null editing did not fix the problem.
* Files with "broken" titles have completely disappeared from the front end. However, they are actually still on the wiki server; some of the files that have been manually re-uploaded (to their correct locations) have "blank" duplicate file entries (e.g. https://www.imfdb.org/wiki/Special:FileDuplicateSearch/Ger%C3%A4t_03.jpg).
[[User:Wuzh|Wuzh]] ([[User talk:Wuzh|talk]]) 06:20, 21 March 2026 (UTC)
:I don't know how feasible this is with a site this big (in terms of number of pages and images uploaded), but if I were in your shoes I'd try to export the database as XML, fix whatever is wrong there and import the result in a clean and supported (1.43+) MediaWiki instance. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 23:06, 24 March 2026 (UTC)
== details / summary tags ==
When will MediaWiki support the <details> and <summary> tags? [[User:Nobeidore|Nobeidore]] ([[User talk:Nobeidore|talk]]) 14:08, 24 March 2026 (UTC)
:Theoretically it already does if you install [[Extension:Details]]. In core, that depends on the progress of [[phab:T31118|T31118]]. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 23:16, 24 March 2026 (UTC)
== A lot of padding when using gallery mode "packed," "packed-hover," and "packed-overlay" ==
I'm using MediaWiki on my personal computer, so there are no links.
{{plainlist|* '''OS''': Windows 10
* '''MediaWiki''': 1.43.0
* '''PHP''': 8.2.12 (apache2handler)
* '''ICU''': 71.1
* '''MariaDB''': 10.4.32-MariaDB
* '''Lua''': 5.1.5
* '''Pygments''': 2.19.1}}
When using: <code><nowiki><gallery mode="packed-hover" heights="20px"></nowiki></code><br>
Resulting HTML: <code><nowiki><li class="gallerybox" style="width:62px"></nowiki></code>
Same thing when using "packed" and "packed-overlay."
When using: <code><gallery mode="nolines" widths="20px" heights="20px" perrow="9"></nowiki></code><br>
Resulting HTML: <code><nowiki><li class="gallerybox style="width: 25px"></nowiki></code>
This is very strange because the "packed" modes are supposed to take up less space. I could just used "nolines," but that includes space under the images for captions that I'm not using. [[User:BrigidTheIrish|BrigidTheIrish]] ([[User talk:BrigidTheIrish|talk]]) 16:06, 25 March 2026 (UTC)
:@[[User:BrigidTheIrish|BrigidTheIrish]] have you checked if this is skin dependent ? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 08:22, 30 March 2026 (UTC)
== MyISAM vs InnoDB ==
The tables in my wiki's database are a mixture of these two. Would you recommend changing any or all of them to InnoDB? I found some ancient Support Desk queries but nothing recent. Thanks.
P.S. I was going to ask about collation separately but look what I found! I asked about both a few years ago: [[Topic:V9jg0jw74rdtkhgl]].
I guess what I'd like to know now is whether there are any tables that have to be MyISAM, and whether there is currently any reason not to ALTER everything to InnoDB and binary... :-) Thanks. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 19:04, 26 March 2026 (UTC)
:I asked an AI chatbot and it recommended <code>ALTER TABLE `table_name` ENGINE=InnoDB;</code> and <code>ALTER TABLE `table_name` CONVERT TO CHARACTER SET binary;</code> on all currently MyISAM tables - but '''not''' to change the searchindex table - then run update.php. I suspect the advice on the searchindex table is based on a historical limitation of InnoDB that no longer applies.
:Then I asked another AI chatbot and predictably it said something completely different. It said to alter '''all''' tables to InnoDB, but '''not''' to change character set to binary and instead to run <code>ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;</code> on every table. I think I read that binary is better for the database though MediaWiki uses UTF8.
:So I'm back to square one. My inclination is to alter every table to InnoDB and binary.
:What do you recommend, o humans? [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 14:49, 28 March 2026 (UTC)
::Charset is a mess. There is conflicting info all over the place. There is no real benefit to changing it, unless you need unusual characters, and potential for things to go wrong.
::Converting tables to InnoDB is a good idea since MyISAM has been unsupported for many years. It gives you a performance boost too. Make sure you back up. [[User:Flounder ceo|Flounder ceo]] ([[User talk:Flounder ceo|talk]]) 16:27, 29 March 2026 (UTC)
:Note that the [[Manual:searchindex table|searchindex table]] is OK to be in MyISAM engine, and probably the only one that needs to be in that engine. [[User:Ciencia Al Poder|Ciencia Al Poder]] ([[User talk:Ciencia Al Poder|talk]]) 21:04, 29 March 2026 (UTC)
::Yes, the searchindex table is the only one that should still be MyISAM by default. This is because the testcases for it require it being MyISAM. You can actually change it to be InnoDB as well if you prefer, nothing will break if you do so. (The only reason it is so, is because you cannot clone an innodb table like this to a temporary table, which is used for testing). —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 08:21, 30 March 2026 (UTC)
== What happens if you assign the right (nominornewtalk) to a human ==
i really want to give me information on what happens if a human is granted the Right [[Special:Contributions/~2026-19506-42|~2026-19506-42]] ([[User talk:~2026-19506-42|talk]]) 03:13, 31 March 2026 (UTC)
== Requesting admin to look at an issue ==
Hello, could an admin please take a look at [[MediaWiki talk:Vector-night-mode-issue-reporting-preload-content#Wikipedia mention|this issue]] of a widely used template (imported page?) I raised over a month ago on its talk page, but have yet to receive a reply? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 07:57, 31 March 2026 (UTC)
:we don't really have a way of identifying the correct project and keeping it vague also doesn't really help. Maybe "wikipedia and related projects" would do ?? —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 12:37, 31 March 2026 (UTC)
::Perhaps <nowiki>''</nowiki>this site<nowiki>''</nowiki>? Also, should people really <nowiki>''</nowiki>write in English<nowiki>''</nowiki> even if reporting an issue from a localized site, such as a non-English Wikipedia? Are these issues monitor by outsiders more often than by insiders? [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 14:43, 1 April 2026 (UTC)
== help : how to retrieve the translated TU text of a title ? ==
Hi all, Im fighting to get the correct syntax but i am lost. On page -> https://www.mediawiki.org/wiki/Help:HTML_in_wikitext
I would like to reuse the text (here of T:114) in the array above.
Solved. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 13:19, 1 April 2026 (UTC)
== Documentation/Examples about adding Gadgets ==
Is this documentation up to date: [[VisualEditor/Gadgets/Creating a custom command]]? I added the code on PL Wiki. I don't see my toolbar. The documentation says something about "Page options", but I don't see anything like this.
I'm using Visual Code Editor.
Is there any up to date documentation how to add new toolbar items? I also want to add a modal dialog. It would be nice to use what MediaWiki already provides. [[User:Jcubic|Jcubic]] ([[User talk:Jcubic|talk]]) 21:13, 1 April 2026 (UTC)
== Documentation/Examples about adding Gadgets ==
Is this documentation up to date: [[VisualEditor/Gadgets/Creating a custom command]]? I added the code on PL Wiki. I don't see my toolbar. The documentation says something about "Page options", but I don't see anything like this.
I'm using Visual Code Editor.
Is there any up to date documentation how to add new toolbar items? I also want to add a modal dialog. It would be nice to use what MediaWiki already provides. [[User:Jcubic|Jcubic]] ([[User talk:Jcubic|talk]]) 21:13, 1 April 2026 (UTC)
== Trouble with All the Tropes site ==
I can't seem to log in to that site; it keeps telling me to enable cookies, even though they are enabled. I checked multiple times. Tried to ask them, but I can't because I'm not logged in. Any idea what the problem is? ]]HeneryVII (talk)]] 18:03 16 April 2012 (EST)
== transitional DBConnectionError ==
Just for information, trying to open ''Translate this page'' link for -> https://www.mediawiki.org/w/index.php?title=Special%3ATranslate&group=page-Help%3ALint+errors&action=page&filter=%21translated&action_source=translate_page&language=fr
c29d6ad2-8af2-473c-8b74-24cc5db2e93d] Exception interceptée de type Wikimedia\Rdbms\DBConnectionError
Another ones:
[975696ad-0408-4e6b-a7be-a09c8e4eed51] Exception interceptée de type Wikimedia\Rdbms\DBConnectionError
[2f02eee2-769c-4d23-a827-d618c511486f] Caught exception of type Wikimedia\Rdbms\DBConnectionError
And:
Désolé ! Ce site rencontre des difficultés techniques.
Essayez d’attendre quelques minutes avant de charger à nouveau.
(Accès à la base de données impossible : Cannot access the database: Database servers in cluster31 are overloaded. In order to protect application servers, the circuit breaking to databases of this section have been activated. Please try again a few seconds.)
Also when loading the contents of /qqq panel:
Échec de chargement des aides à la traduction : [3ab2424c-edb2-4d9d-874e-ec1d759e303f] Caught exception of type Wikimedia\Rdbms\DBConnectionError
--[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 10:07, 2 April 2026 (UTC)
:FWIW, I've been experiencing the same problem not with this site but with Wikipedia for a few hours now. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 12:22, 2 April 2026 (UTC)
::yes heratic still now, sometimes ok sometimes error but ok if action is renewed, occurs even when replying on this page --[[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 13:09, 2 April 2026 (UTC)
:::@[[User:Wladek92|Wladek92]] This is the support desk for ''third-party MediaWiki installations''. For issues with ''Wikimedia'' wikis, please either bring up topics on [[meta:Tech]], or file bug reports by following [[mw:How to report a bug]]. This specific issue is [[phab:T422130]]. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 14:03, 3 April 2026 (UTC)
::::hi, this was a user level alarm. It is intended for people who have deeper knowledge of what they have changed and what has changed. Since being transitional it no longer appears today. So people tracking system reactions have reacted promptly and it is a good thing. Nevertheless being online most of the time i keep reference of your links to signal any further abnormal disruption. Thanks. -- [[User:Wladek92|Christian 🇫🇷 FR 🚨]] ([[User talk:Wladek92|talk]]) 14:12, 3 April 2026 (UTC)
:::::Basically: If you run into urgent issues on Wikimedia wikis, then Project:Support desk is not the place where to bring them up. :) [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 14:25, 3 April 2026 (UTC)
== Transclusion errors ==
Hello! Can someone help me fix the error I get when trying to edit any section or subsection in [[w:sq:WP:FG|this page]] (beside the very first one)? It's problematic for our community as that transclusion model is used a lot in all our main forums and all of them suffer from the same issue. - [[User:Klein Muçi|Klein Muçi]] ([[User talk:Klein Muçi|talk]]) 12:34, 3 April 2026 (UTC)
== If a human receives it, What happens ==
somehow, a human got pagetriage-copyvio right in PageTriage extension. What happens? [[Special:Contributions/~2026-20793-55|~2026-20793-55]] ([[User talk:~2026-20793-55|talk]]) 14:18, 3 April 2026 (UTC)
== Wikidata item of this page (Project:Support desk) ==
Should this and other non-Wikipedia pages really link [[wikidata:Q4582194|via Wikidata]] to various language Wikipedias? Yes, from the Wikipedias it is rare to stumble into here, but users choosing the language selection button here surely expect to see a translation, not the help page of their local Wikipedia. [[User:Michael21107|Michael21107]] ([[User talk:Michael21107|talk]]) 16:54, 3 April 2026 (UTC)
== Data science ==
Hello,
I am trying to add educational content about Data Science to the Support Desk page, but my edit is being blocked with a message saying "Prevent new users from blanking pages."
I am not removing content, only adding useful information. Could someone please review my edit or guide me on how to publish it correctly?
Thank you. [[User:Aswinikaruna11|Aswinikaruna11]] ([[User talk:Aswinikaruna11|talk]]) 01:54, 4 April 2026 (UTC)
: 1) You weren't adding you were replacing and in doing so removing a large amount of existing content. 2) You're on the wrong wiki for that kind of content; please read [[Project:About]]. --[[User:Clump|Clump]] ([[User talk:Clump|talk]]) 12:02, 4 April 2026 (UTC)
== British English ==
Various pieces refer to BRITISH English, there is no such thing English is simply English, variations such as AMERICAN English etc serve to highlight local variations such as lorry or truck.
So please ensure English is referred to correctly. [[Special:Contributions/~2026-21052-73|~2026-21052-73]] ([[User talk:~2026-21052-73|talk]]) 18:39, 5 April 2026 (UTC)
:Various pieces of what? Where? Please ensure to provide sufficient information. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 07:46, 8 April 2026 (UTC)
== How do I rename the Project: namespace? ==
On my wiki, the <code>Project:</code> namespace is called <code>My wiki:</code> for some reason. I want to rename it into something closer to my wiki's actual name. How do I do this? My wiki is MediaWiki version 1.44.5 [[User:Tang Empire|Tang Empire]] ([[User talk:Tang Empire|talk]]) 20:57, 9 April 2026 (UTC)
:See [[Manual:$wgMetaNamespace]]. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 21:13, 9 April 2026 (UTC)
== Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) ==
Hello everyone,
This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>).
'''The Change:'''<br />
Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]].
We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''.
'''What You Need To Do:'''<br />
To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search.
'''Deadline:'''<br />
We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles.
Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 17:09, 3 April 2026 (UTC)
:@[[User:ZI Jony|ZI Jony]] Likely wrong place, see [[Project:Current issues]] instead. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 00:40, 12 April 2026 (UTC)
::@[[User:Malyacko|Malyacko]], the message was sent to all Project:VP as a general notification that, if P1846 using with a qualifier P180 and the value is Q19571328, then change to P14226. Thanks! Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 01:06, 12 April 2026 (UTC)
== Migrate wiki pages to Sharepoint ==
Hello,
We are having a private wiki site for our organisation. As of now they plan to move away from wiki to sharepoint. Do anyone know if there is an option to move wiki pages to sharepoint pages easily? has anyone did that?
Any idea will be appreciated.
GT [[User:Testergt1302|Testergt1302]] ([[User talk:Testergt1302|talk]]) 11:41, 8 April 2026 (UTC)
:@[[User:Testergt1302|Testergt1302]] Sounds like a good question for the Sharepoint community in the Sharepoint support forum. :) [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 00:42, 12 April 2026 (UTC)
== Bad title broken namespace double redirects ==
On IMFDB (1.35.7 (87cfbeb) 21:55, 9 March 2024), our [https://www.imfdb.org/wiki/Special:DoubleRedirects Special:DoubleRedirects] shows several Project: namespace redirects originating from the early days of the site, when the site was named in a messy manner. Later on those pages were moved to (Main) namespace, and then back to a better named Project: namespace. However, these broken pages still show up in Special:DoubleRedirects (e.g. ''Imfdb :. guns in movies :. movie guns :. the internet movie firearms database:Privacy policy'' (edit) → Privacy policy → IMFDB:Privacy policy) and Special:ListRedirects, even though currently
* The pages themselves cannot be accessed; linking this title as written produces a red link
* Trying to edit the page will "direct" you to "IMFDB:. guns in movies :(...):Privacy policy" (Note the lack of a space in the namespace; this is our normal Project: namespace name) instead, which, even if occupied with a new page, does not fix the broken title double redirects
* The "Talk:Imfdb :(...)" double redirects skip the above jank and go straight to bad title error.
[[User:Wuzh|Wuzh]] ([[User talk:Wuzh|talk]]) 17:54, 11 April 2026 (UTC)
:You'll have to run [[Manual:namespaceDupes.php|namespaceDupes.php]] or [[Manual:cleanupTitles.php|cleanupTitles.php]] [[User:Ciencia Al Poder|Ciencia Al Poder]] ([[User talk:Ciencia Al Poder|talk]]) 22:29, 13 April 2026 (UTC)
== Removing Index.ph ==
how do I set up seo-friendly urls and remove index.php from my urls? [[Special:Contributions/~2026-22504-09|~2026-22504-09]] ([[User talk:~2026-22504-09|talk]]) 01:54, 12 April 2026 (UTC)
:[[Manual:Index.php]] [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 16:06, 12 April 2026 (UTC)
:@[[User:~2026-22504-09|~2026-22504-09]] See [[Manual:Short URL]] for more info about how to have better URLs. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 05:49, 15 April 2026 (UTC)
== why is my portrait of hannah More Aehtnas not visible on Wikiecommons? ==
I have loaded the image up bit it is not included with the other Hannah More images [[User:Aehtnas|Aehtnas]] ([[User talk:Aehtnas|talk]]) 23:38, 14 April 2026 (UTC)
:why do I have to wait for someone to request it? [[User:Aehtnas|Aehtnas]] ([[User talk:Aehtnas|talk]]) 23:39, 14 April 2026 (UTC)
::{{re|Aehtnas}} You should ask about this on [[commons:Commons:Village pump|the Commons' village pump]], not here. [[User:Samwilson|Sam]] [[User_talk:Samwilson|Wilson]] 06:29, 15 April 2026 (UTC)
== Change username ==
I want to change my username. How do I do this? I went to the Preferences -> user profile and the field is not editable. I clicked on the help icon and it said "Only trusted users can change your username."
So, can I become a trusted user and change it myself? [[User:WanjetJoy|WanjetJoy]] ([[User talk:WanjetJoy|talk]]) 03:33, 14 April 2026 (UTC)
:@[[User:WanjetJoy|WanjetJoy]] The process and steps for changing your username are details on [[meta:Changing_username|Changing_username]]. However, you have made 0 contributions on wikimedia related wikis, in those cases the easiest approach is to simply create a new account, and throw away the old account by removing the emailaddress from it and setting the password to something very complex and random, so that you cannot accidentally make use of it any longer. —[[User:TheDJ|Th<span style="color: green">e</span>DJ (Not WMF)]] ([[User talk:TheDJ|talk]] • [[Special:Contributions/TheDJ|contribs]]) 10:37, 15 April 2026 (UTC)
== i thought anchors dont need to be translated , regression Parsoid ? ==
{{Tracked|T423812}}
On the EN page -> https://www.mediawiki.org/wiki/Edit_check/Tone_Check
at beginning, in sentence "....French, Japanese, and Portuguese Wikipedias, following the positive results of the controlled experiment."
the "controlled experiment" links to -> https://www.mediawiki.org/wiki/Edit_check/Tone_Check#User_experience_2
and the anchor is there correctly defined
Now take the FR translated page -> https://www.mediawiki.org/wiki/Edit_check/Tone_Check/fr
It is also expected the anchor to be -> https://www.mediawiki.org/wiki/Edit_check/Tone_Check/fr#User_experience_2
but this anchor does not exist (and i have to reintroduce manually the EN anchor in the EN page to be accessible from the FR page).
Instead the defined anchor is generated with a french translated title ->
https://www.mediawiki.org/wiki/Edit_check/Tone_Check/fr#Expérience_utilisateur_2
and this is what we wanted to get rid of !
A fix has been made to avoid translation of anchors (to refer always with the EN section text on translated pages) and it improved a lot
but it seems we have lost this functionality in the current version. Am I wrong ? . Thanks.
[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 12:59, 17 April 2026 (UTC)
== request to have [[Special:Tags]] sorted by tag name ==
{{tracked|T424105}}Better to have alphabetical order in first column of [[Special:Tags]] to find easily one's tag. Thanks.
[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 17:55, 19 April 2026 (UTC)
:@[[User:Wladek92|Wladek92]] See [[How to report a bug]]. [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 12:49, 21 April 2026 (UTC)
::is that a bug ? rather an improvement. Confirmed: it is a ''feature request'' -- [[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 18:35, 21 April 2026 (UTC)
:::The first sentence on the linked page says: "These guidelines explain how to write a good bug report or feature request". [[User:Malyacko|Malyacko]] ([[User talk:Malyacko|talk]]) 10:14, 22 April 2026 (UTC)
== why edit section link is missing on pages ? ==
{{tracked|T424198}}
I have observed a difference on the section title of the rendered pages I cannot explain logically. Here it is :
On page Extension:InlineComments I click the following title from the TOC, i.e. -> https://www.mediawiki.org/wiki/Extension:InlineComments#Download<br/>
and there is '''no 'Edit section' link''' beside the section title 'Download'
On page Wikimedia_Research I click the following title from the TOC, i.e. -> https://www.mediawiki.org/wiki/Wikimedia_Research#Mandate<br/>
and '''there is an 'Edit section'''' link beside the title 'Mandate' shown as [ [https://www.mediawiki.org/w/index.php?title=Wikimedia_Research&action=edit§ion=1 edit] ]
<u>Question:</u> why the Edit section link is sometimes present, sometimes absent beside the title ? Thanks.
[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 10:21, 20 April 2026 (UTC)
:I think it's because extension pages use [[Template:Extension]] which contains <code><nowiki>{{#if:{{TRANSLATABLEPAGE}}|__NOEDITSECTION__}}</nowiki></code>. See [[Help:Magic words]]. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 11:04, 20 April 2026 (UTC)
::thanks, but this should be transparent to the editor: from an external point of view, I only want to use the functionality to update a section regardless to the code hidden behind and independently of the used namespace.<br/>I add for reference -> https://www.mediawiki.org/wiki/Help:Section/Editing_sections_of_included_templates.
::[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 12:17, 20 April 2026 (UTC)
:::I think it's because the way translation is done on this website is a bit of a mess. Well, it seems to work well, but leaves the wikitext in a mess. Maybe editing sections in that context (i.e. translation system plus the extension template) would make it worse. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 10:32, 21 April 2026 (UTC)
::::@[[User:Jonathan3|Jonathan3]], I agree. The translations can make the edit button not appear. [[User:Floating Orb|Floating Orb]] ([[User talk:Floating Orb|talk]]) 03:18, 23 April 2026 (UTC)
:::::thanks for your support, track added. The edit possibility is expected on the root EN page (else the translated pages are using messages and there is ''normally'' no edit button there).
:::::[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 09:54, 23 April 2026 (UTC)
== Photo = File ==
[[MediaWiki:Mobile-frontend-editor-uploadenable]]: Please replace the word "photo" here with "file", its not for just "photo". Sincerely, [[User:Qədir|Qədir]] ([[User talk:Qədir|talk]]) 20:57, 23 April 2026 (UTC)
== How to find out when a certain Namespace is used across the wikis? ==
Hello! I'll just give an example right away. If I wanted to know all the instances (of the several Wikisource projects in the Wikimedia world) where a special namespace usually called "Author:" (in English) is used, while it does not have a fixed number but varies from project to project ([https://en.wikisource.org/wiki/Special:NamespaceInfo en/102] or [https://es.wikisource.org/wiki/Especial:NamespaceInfo es/106]], how would I do that? [[User:Pxos|Pxos]] ([[User talk:Pxos|talk]]) 14:21, 26 April 2026 (UTC)
== 1.43 CheckUser Internal Error ==
When attempting to execute CheckUser inquiries on 1.43, I can run the "Get IP Addresses" for a registered account and the "Get Users" for an IP address without issue. But attempting to run the "Get Actions" for either registered or unregistered, as well as attempting to use Special:Investigate, both throw the fatal exception/internal error:
<code>[afDsJx7ifTZnjjMNwX4hMwAFmxo] /index.php?title=Special:CheckUser Error: Class "Firebase\JWT\JWT" not found</code>
Yet strangely these actions are still logged in the CU log, even though I can't view any data from them. [[User:The Boston Railfan|The Boston Railfan]] ([[User talk:The Boston Railfan|talk]]) 17:23, 28 April 2026 (UTC)
:There's a similar question here - [[Topic%3AWgcydicxa790v7io]] - and the answer was to run <code>composer update --no-dev</code>. [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 12:53, 29 April 2026 (UTC)
== Good starting doc for editing templates ==
Any recommendations for good starting points for editing templates on a MediaWiki install?
I've found
* https://www.mediawiki.org/wiki/Help:Templates
* https://en.wikipedia.org/wiki/Help:A_quick_guide_to_templates
* https://en.wikipedia.org/wiki/Help:Template
but I'm finding them challenging to learn from. Are there any I've missed? Maybe some "unofficial" documents or articles or blogposts I should read?
[[User:Bsammon|Bsammon]] ([[User talk:Bsammon|talk]]) 00:43, 27 April 2026 (UTC)
:A good starting point is looking at existing templates. Ask a specific question about what you're trying to do :-) [[User:Jonathan3|Jonathan3]] ([[User talk:Jonathan3|talk]]) 12:54, 29 April 2026 (UTC)
::use also the sandbox and write testcases to see how parameters react and follow the code source
::[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 10:53, 1 May 2026 (UTC)
== Marking [sic] text or creating a custom tag ==
I'm using my wiki to collaboratively transcribe old documents. With this, I need to balance accurately transcribing the text and fixing outdated or incorrect usages. Is there a way I can markup this text? And if one doesn't already exist, is it possible to make my own custom tags?
"The ((Berenstein|Berenstain)) Bears is a children's literature franchise." [[Special:Contributions/~2026-26583-63|~2026-26583-63]] ([[User talk:~2026-26583-63|talk]]) 12:46, 1 May 2026 (UTC)
:Is it possible to write a custom parser extension that registers new bracket syntaxes? I want to avoid heavy syntax like <nowiki>{{#sic:Berenstein|Berenstain}}</nowiki> or <sic>Berenstein|Berenstain</sic>. [[Special:Contributions/~2026-26583-63|~2026-26583-63]] ([[User talk:~2026-26583-63|talk]]) 12:57, 1 May 2026 (UTC)
== PageSaveComplete Hook and rendered HTML ==
I'm trying to store the rendered html of articles in my main namespace. Right now I'm trying to save them as a file trying to get it to work, but then I plan on saving it in a database. I'm using MediaWiki 1.43.8.
<pre>$wgHooks['PageSaveComplete'][] = function($wikiPage, $user, $summary, $flags, $revisionRecord, $editResult){
if($wikiPage->getTitle()->getNamespace() !== NS_MAIN) return true;
$title = $wikiPage->getTitle();
$pageName = $title->getPrefixedDBkey();
$services = MediaWiki\MediaWikiServices::getInstance();
$content = $revisionRecord->getContent(MediaWiki\Revision\SlotRecord::MAIN);
$renderer = $services->getContentRenderer();
file_put_contents('test1.html', 'test 1');
$parserOptions = $services->getParserFactory()->getParserOptionsFactory()->newOptions();
file_put_contents('test2.html', 'test 2');
$parserOutput = $renderer->getParserOutput($content, $title, null, $parserOptions);
$html = $parserOutput->getText();
file_put_contents('test3.html', $html);
return true;};</pre>
I think the error is between test 1 and test 2 as the first file writes and the second doesn't. I don't get any server log or browser errors. [[Special:Contributions/~2026-26696-50|~2026-26696-50]] ([[User talk:~2026-26696-50|talk]]) 22:45, 2 May 2026 (UTC)
== Is the Special:RestSandbox page available for third-party wikis (i.e. external installations)? ==
I asked this before on the [[API:REST API]] page but didn't get any response there. I read somewhere that it will be available on MW 1.46, can anyone confirm this? [[User:Draheinsunvale|Draheinsunvale]] ([[User talk:Draheinsunvale|talk]]) 22:14, 3 May 2026 (UTC)
== Add topic ==
[https://www.mediawiki.org/wiki/Project:Support_desk#Post_a_new_question This page] says: "4. To start a new thread, click the box with the text Add topic." But... there IS no such button. - [[User:Erik Baas|Erik Baas]] ([[User talk:Erik Baas|talk]]) 07:27, 2 May 2026 (UTC)
:{{Reply to|Erik Baas}} It is the 3rd tab at the very top of this page, beside Mediawiki.org ; order on EN version of the page is :
:<pre>Read | Edit | Add topic | View history</pre>
: -- [[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 10:39, 7 May 2026 (UTC)
== Categories not sorting content properly and next/previous page broken? ==
I don't know how to describe the problem succinctly, so I'll give a simple example to start: <nowiki>https://fireemblemwiki.org/wiki/Category:Navigation_templates</nowiki> this category has 222 pages.
If you click the "next" button, you are taken to a page with only one categorized item, 21 pages are missing from the listing.
Then, if you click previous page, it sorts the categories starting from A instead of 0 and gives "The following 193 pages are in this category, out of 222 total.", if you click previous again (meaning the category is '''2 pages long going forward''' but '''3 pages long going backwards''') you get a page showing entries sorted as 0 to A comprising "The following 29 pages are in this category, out of 222 total.".
Additionally, alphabetization seems to be behaving oddly. New files are being put at the end of the category, sorted alphabetically. So for example, If I upload "Carl.png" to ExampleCategory, the category will become "Bob.png, Sam.png, Tim.png, '''Carl.png'''". Instead of the expected "Bob.png, '''Carl.png''', Sam.png, Tim.png". This has progressed to "Bob.png, Sam.png, Tim.png, '''Alfred.png, Carl.png, Dan.png, Ed.png'''" in more active categories.
Example of the alphabetization issue: fireemblemwiki.org/wiki/Category:Yutona_Heroes_War_Chronicles_portraits
"Portrait yuni trs01.png, Portrait zacharia trs01.png, Portrait zeek 01 trs01.png, '''Portrait charlent trs01.png, Portrait golgotha trs01.png'''"
What is gong on here?
I'm only an editor so I'm not sure how to diagnose this, and when I asked the backend guys they said none of the extensions should be breaking categories, and that it might be a 1.43 feature change? But I don't understand what this feature would be.
I don't think it's being caused by anything obvious like sortkeys or cache issues, it's been like this for about six months. I've also tried a few things like editing the category page with some minor edit to make it update, but that doesn't seem to help. It also happens if I look around the category pages while logged out.
[[Special:Contributions/~2026-25342-15|~2026-25342-15]] ([[User talk:~2026-25342-15|talk]]) 02:02, 25 April 2026 (UTC)
:The sysadmin needs to run the [[Manual:updateCollation.php]] script. On some MediaWiki upgrades, there's an update on how characters are sorted, leaving inconsistencies with previous ways to sort them. For performance reasons, the category sort order is stored in the database in binary form derived from the collation. It won't change on page purge, you'll have to remove the page from the category and add it again, but this script does this refresh internally. Since I know who hosts this wiki, I'll ping them to let them know about the problem and solution. [[User:Ciencia Al Poder|Ciencia Al Poder]] ([[User talk:Ciencia Al Poder|talk]]) 08:35, 9 May 2026 (UTC)
== Distinguish articles within categories ==
Hello! I am a user of the Kurdish Wiktionary. My problem is that several variants of the same word appear in the same category without it being possible to distinguish them. It sometimes happens that within the same category, there are more variants than standard words...
I would therefore like to know if it is technically possible to display a page using a given template in a category with a specific color or symbol (as is the case for page redirects which are displayed in italics)? [[User:Ghybu|Ghybu]] ([[User talk:Ghybu|talk]]) 16:06, 1 May 2026 (UTC)
:There's no clean way to do that, AFAIK. Most you can do is to set CSS (with [[Extension:TemplateStyles]]) on the category page to match links by title and style them accordingly, but you'll have to update the CSS to add more variants as those pages get created, which is not feasible and a maintenance burden. [[User:Ciencia Al Poder|Ciencia Al Poder]] ([[User talk:Ciencia Al Poder|talk]]) 08:25, 9 May 2026 (UTC)
== Mail automatique création de compte ==
Mediawiki 1.39.13
PHP 8.3.30
Maria DB 10.11.14
hébergement IONOS
Bonjour depuis quelques temps (apres fevrier 2026) mon mediawiki n'envoi plus de mail lors de la création de compte (le compte est pourtant cree, c'est la meme chose avec la fonction mot de passe oublié
comment peut on régler ce problème ?
Merci [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 08:39, 9 May 2026 (UTC)
:Il est important de distinguer entre "il ne les envoie pas" et "il n'est pas reçu". Si l'adresse mail est réellement valide, essayer de changer pour l'adresse mail d'un autre opérateur, investiguer autour du username. -- [[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 11:48, 9 May 2026 (UTC)
::Merci, oui je précise, n'est pas reçu, mais j'ai essayé avec plusieurs creation de compte avec mes adresses [[User:Schub srx|Schub srx]] ([[User talk:Schub srx|talk]]) 11:51, 9 May 2026 (UTC)
:::Ca reste bizarre car le mail contient un lien de validation qui permet de valider la création; de quel user sagit-il ? . --[[User:Wladek92|🚨 Christian 🇫🇷 FR]] ([[User talk:Wladek92|talk]]) 18:32, 10 May 2026 (UTC)
809aee1x2z8y4070e5cdpcoavkwtjos
Talk:VisualEditor/Suggestion Mode/Feedback
1
2359847
8390197
8387833
2026-05-24T21:16:13Z
Discostu
87095
/* addReference on Tschappel at dewiki */ new section
8390197
wikitext
text/x-wiki
{{notice|Administrators: Please configure and customize these features at your wiki. See [[Help:Suggestion mode#For administrators – local customization]].<br>Anyone: Please see and share project-level ideas and feedback at [[Talk:VisualEditor/Suggestion Mode]].}}
== addReference on Archdiocese_of_Anchorage–Juneau at enwiki ==
How do I turn off this feature? It is very distracting while editing. I would suggest that the software activate this feature only when the article is being saved. [[User:Rogermx|Rogermx]] ([[User talk:Rogermx|talk]]) 17:31, 12 February 2026 (UTC)
:The feature should only show for users who have enabled the beta feature in their preferences. It's possible you have auto-enrolled to all new beta features? [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 16:04, 14 February 2026 (UTC)
:@[[User:Rogermx|Rogermx]]: Go to [[w:en:Special:Preferences#mw-prefsection-betafeatures]]. Turn off either "Automatically enable most beta features" at the top or "Suggestions mode" in the middle of the page. Be sure to click the big blue "Save" button at the bottom of the page. (And hopefully they've fixed the bug from a few years back that kept the automatically enabled things still enrolled.) [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|talk]]) 21:25, 15 February 2026 (UTC)
::Thank you very much for the tip. You've made my day! [[User:Rogermx|Rogermx]] ([[User talk:Rogermx|talk]]) 22:36, 15 February 2026 (UTC)
:::You're welcome. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|talk]]) 02:37, 16 February 2026 (UTC)
== addReference on Mnesarchus_of_Athens at enwiki ==
Interesting feature. That's a good use of AI, to suggest where a citation should be. I'm not a huge fan of it shoving the text to the left, perhaps it could be more of an "inline" tool (like an lightbulb next to the text or something).
In this specific case, the tool prompted for me to insert a citation at the start of the quote, where one already existed at the end. Given below is a screenshot.
https://i.imgur.com/yOLzMx8.png [[User:EatingCarBatteries|EatingCarBatteries]] ([[User talk:EatingCarBatteries|talk]]) 08:16, 13 February 2026 (UTC)
:I do think this is a step in the right direction. It does need to be worked out more - we don't want inaccurate suggestions that mislead new users. Maybe there could be a box informing users of the feature and offering a toggle, located next to the visual/source edit toggle. Something like this:
:https://i.imgur.com/4nFqM1W.png [[User:EatingCarBatteries|EatingCarBatteries]] ([[User talk:EatingCarBatteries|talk]]) 08:29, 13 February 2026 (UTC)
::I also notice that if you dismiss the suggestion, switching to source editing and back to visual editing brings it back. [[User:EatingCarBatteries|EatingCarBatteries]] ([[User talk:EatingCarBatteries|talk]]) 08:31, 13 February 2026 (UTC)
:Thanks for your feedback!
:The case of a citation at the end of a quote not being detected is one we should look into. Filed as [[phab:T417490]].
:A toolbar button to toggle the mode on/off is definitely something we are planning, so good to hear you suggest the same.
:We have also discussed how suggestions might stay dismissed, although tracking that across edit sessions is not trivial. [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 16:11, 14 February 2026 (UTC)
== addReference on Billardiera_scandens at enwiki ==
I pressed {{Key press|Return}} in the middle of a long paragraph [[w:en:Billardiera scandens#Uses]], and Clippy immediately popped up to say that the "new" paragraph now needed a citation. I can see from the page history that most of this content was [https://en.wikipedia.org/w/index.php?title=Billardiera_scandens&diff=prev&oldid=145392451 added at the same time] and therefore is going to be the first source in the "second" paragraph, but newcomers will probably be discouraged from making simple copyedits by this kind of demand. Some experienced editors will be irritated that Clippy started nagging before they had time to fix the problem themselves.
Also, upon re-using the citation, Clippy goes away and gives me most of my screen real estate back (hooray), but the toolbar is still scrunched while scrolling. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|talk]]) 21:22, 15 February 2026 (UTC)
:In regular edit check mode, this would not have suggested you add a citation, as it would correctly identify the split paragraph as not being newly-added. This only appears in "suggestion mode" which is for users looking for suggestions to improve the article (although currently the beta feature does not make that particularly clear, see discussion about a toolbar button above).
:> the toolbar is still scrunched while scrolling.
:I think this is [[phab:T412223|T412223]] and will be fixed next week (the patch only took 9 years to merge!) [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 18:03, 17 February 2026 (UTC)
::Yesterday, it correctly identified a duplicate link (same link in the same paragraph). This is the only suggestion it has made that I wouldn't have noticed on my own. I find that I mostly ignore the presence of the suggestions, which means that I can't really comment on whether the quality is generally good. I suspect that this needs to be tested with newer editors (even editors with ~1,000 edits may find it more helpful). [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|talk]]) 21:09, 17 February 2026 (UTC)
:::{{tq|... it correctly identified a duplicate link (same link in the same paragraph). This is the only suggestion it has made that I wouldn't have noticed on my own.}}
:::@[[User:WhatamIdoing|WhatamIdoing]], building on the duplicate link suggestion, I wonder: what (if any) other suggestion ideas come to mind that you can imagine being similarly useful? [[User:PPelberg (WMF)|PPelberg (WMF)]] ([[User talk:PPelberg (WMF)|talk]]) 22:37, 11 March 2026 (UTC)
::::Sky's the limit?
::::Something that checks for signs of AI misuse, such as fake URLs or lousy prose.
::::Something that flags low-quality or usually unwanted URLs in refs (locally configurable; might help with [[w:en:WP:ATODAY]]). Also, there's a tool at enwiki that compares usernames against article titles to see whether "Bob Business" is trying to write an article about himself. Being able to do something like that to identify exclusive use of non-independent sources (e.g., if [[w:Coca-Cola]] is only citing coca-cola.com) might be a good way to introduce newcomers to the desirability of an independent source.
::::Something that suggests adding an image, if there are are <2 on the page and a decent chance that Commons has something useful.
::::A size check to encourage addition of a few more sentences in smaller articles (<200 words?) or very short introductions (<50 words?).
::::Something that suggests the appropriate type of infobox (enwiki has so many that finding the correct one can be daunting for newcomers, but they're happy when they can put one in an article; should be limited to [[w:en:Category:Wikipedia articles with an infobox request]] to reduce the risk of drama).
::::For medical content specifically, something that flags any source that's more than about 10 years old ("This source is ''n'' years old. Is this information outdated?") or whose PubMed "Publication types" lists various categories (e.g., 'clinical trial' is iffy; 'review article' is good). [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|talk]]) 06:16, 12 March 2026 (UTC)
== tone on Pam_Hallandal at enwiki ==
Good idea perhaps for novices, but for any experience editor, so disruptive...for just any verbatim quotation I insert, this 'feature' suggests I might want to change the 'tone'. Takes me back to the 1997 and Microsoft's impertinent and unhelpful 'Clippy'! The way it shoves the formatting about every time you finish a new para disrupts editing and you lose your place. I can put in a citation without being told to. And yes, the case of a citation at the end of a quote not being detected is one you should look into. I see now the information above on turning this off and will, thank you. [[User:Jamesmcardle|Jamesmcardle]] ([[User talk:Jamesmcardle|talk]]) 04:15, 18 February 2026 (UTC)
:Thanks, you are correct that we should not be checking for tone in quoted text. This was fixed in [[phab:T417801|T417801]] and deployed last week. [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 13:01, 24 February 2026 (UTC)
== addReference on Floyd_v._City_of_New_York at enwiki ==
[[File:Wrong_sentence_boundary_edit_suggestion_glitch_2026-02-19.png|thumb|screenshot]]
Just now, while making [https://en.wikipedia.org/w/index.php?title=Floyd_v._City_of_New_York&diff=1339225160&oldid=1337950219 this edit on English Wikipedia], I saw the "Add a citation" edit suggestion feature glitch slightly. The highlight (the part of the prose that, it's suggesting, needs a citation) starts and ends at words in the middle of a sentence, instead of at the end of a sentence, or even at the start and end of a meaningful clause or a reasonable subsection of the sentence. And the suggestion was visible while I was editing a two-line passage that had a citation at the end of each sentence. See screenshot. [[User:Sumanah|Sumana Harihareswara]] ([[User talk:Sumanah|talk]]) 16:24, 19 February 2026 (UTC)
:That is indeed incorrect. "Add a citation" should only every highlight an ''entire'' paragraph, and only when it contains no references. Do you remember how you got it to happen? Were you splitting paragraphs / moving text around? [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 12:57, 24 February 2026 (UTC)
::Apologies that I don't precisely remember how it happened. I'm pretty sure I was not splitting paragraphs at the time. However, sometime during this edit, I see I consolidated two references into one (the ref named nyclu1) because I had realized that previous editors had accidentally made two separate references to essentially the same cite. So maybe that influenced the sequence of events. [[User:Sumanah|Sumana Harihareswara]] ([[User talk:Sumanah|talk]]) 14:58, 9 March 2026 (UTC)
== duplicateLink on Mylan_Denerstein at enwiki ==
I received a duplicate link warning while making [https://en.wikipedia.org/w/index.php?title=Mylan_Denerstein&diff=1339235438&oldid=1339220349 this edit]; the paragraph does not include any duplicate links. [[User:Sumanah|Sumana Harihareswara]] ([[User talk:Sumanah|talk]]) 16:00, 23 February 2026 (UTC)
:Hi Sumana! That does look strange - the only thing I can see in that edit is that the full stop at the end of the sentence is part of the link. I'm wondering if maybe you inserted a reference before the full stop, thus splitting the link into two links: "the [[:en:New_York_City_Fire_Department|New York City Fire Department]]<sup>[[Talk:VisualEditor/Suggestion Mode/Feedback#ref|[9]]]</sup>[[:en:New_York_City_Fire_Department|.]]". Do you remember anything like that happening, or can you reproduce with another edit? [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 12:54, 24 February 2026 (UTC)
::Thanks - ah yeah, whoops I see I included the fullstop in the link. Yeah your speculation sounds very plausible, though I don't specifically remember it happening! [[User:Sumanah|Sumana Harihareswara]] ([[User talk:Sumanah|talk]]) 15:00, 9 March 2026 (UTC)
== externalLink on Medicare_for_All_Act at enwiki ==
these are acceptable uses for external links. in this case, we're linking to congress.gov for the status of bills. this feature shouldn't tag all external links within the article, as per [[en:WP:ELYES]]. We don't want new people removing links that are acceptable.
[[User:EatingCarBatteries|EatingCarBatteries]] ([[User talk:EatingCarBatteries|talk]]) 00:32, 7 March 2026 (UTC)
:Context: on this page the external links are within a table cell, where the bill number is being linked directly to congress.gov. It's possible that we could add "legislative history" to the ignored sections for this check on enwiki if this is a common pattern. [[User:DLynch (WMF)|DLynch (WMF)]] ([[User talk:DLynch (WMF)|talk]]) 16:15, 9 March 2026 (UTC)
== addReference on Riley_O'Brien at enwiki ==
Waste of my time messages won't buzz off when I'm trying to edit. I know what a reference is. This is like Clippy again.
[[User:Harizotoh9|Harizotoh9]] ([[User talk:Harizotoh9|talk]]) 16:26, 7 March 2026 (UTC)
:Hi. Thanks for providing feedback. Many of the individual suggestions from this feature are eventually intended to help ''newcomers'' (people with fewer than 100 edits) to slowly become successful and thoughtful editors. (See more details about the project at [[VisualEditor/Suggestion Mode]]).
:It is currently available as a Beta Feature, partially so that experienced editors can help to refine/improve any aspects of the feature before it is shown to those newcomers. It is also possible for each community to create local types of suggestions, some of which may be more (or only) suitable for experienced editors.
:In the near future there will also be a toolbar toggle to either collapse or hide the Suggestions entirely.
:I hope that information helps to contextualize why you are seeing it, and how you can help now, or just to more happily utilize the tool in the future (once your home wiki(s) have created custom suggestions for experienced editors). [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:44, 9 March 2026 (UTC)
== Pasted content warning for a long proper noun ==
[[File:Pasted_content_edit_suggestion_warning_2026-03-09.png|thumb|The edit suggestion/warning regarding copy-and-pasted content glitches slightly; the phrase "New York State and Local Retirement System (NYSLRS)" is highlighted]]
While editing, I pasted the phrase "New York State and Local Retirement System (NYSLRS)" into an article. I suppose it was long enough, character-wise, to trip an alert threshhold. Maybe phrases that entirely contain proper nouns (as indicated by initialisms or a preponderance of words that start with capitalized letters) ought to be exempt? [[User:Sumanah|Sumana Harihareswara]] ([[User talk:Sumanah|talk]]) 15:37, 9 March 2026 (UTC)
:Yes, the threshold is 50 characters (chosen somewhat arbitrarily to be the same threshold as the add-a-reference check), and your text is 52 characters. The idea is that communities will configure this as it will also vary per language (e.g. you get many more words-per-character in Chinese), but we may also want to increase the default. [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 17:40, 9 March 2026 (UTC)
== textMatch-LLM-multiple-indicators on Downtown_Line at enwiki ==
I have been told by the suggestor multiple times during a [[w:WP:GA|good article]] assessment ([[w:Talk:Downtown Line/GA1]] specifically) that the third paragraph of {{slink|w:Downtown Line|Architecture}} is AI-generated, despite the nominator's assurances that it is not (I am the reviewer). Could you take a look into the software?
[[User:Whyiseverythingalreadyused|Whyiseverythingalreadyused]] ([[User talk:Whyiseverythingalreadyused|talk]]) 01:57, 11 March 2026 (UTC)
:Hi @[[User:Whyiseverythingalreadyused|Whyiseverythingalreadyused]]. Thanks for asking.
:* Broadly: The LLM textmatch suggestions are purely/simply using the 3 lists defined within Enwiki's [[w:MediaWiki:Editcheck-config.json]]. If you search for "LLM" in that page, you'll see the 3 listings of words/word-strings it is detecting (taken from [[w:WP:AISIGNS]]). Note: The 3rd type [which your question here is about] is also further limited by the configuration-parameter below the listing, which currently says "<code>minOccurrences</code> [=] <code>3</code>" (i.e. it only shows the Suggestion, if it detects 3 or more instances of those strings within a single paragraph).
:** The community can & should adjust those suggestion types (and all types!) in whatever way is desired.
:* Specifically in this instance: I can deduce from that listing and that paragraph, that it is detecting the keyword "reflect" which appears 4 times. If I delete 2 of them, the Suggestion goes away. I.e. There is probably no problem with AI being used.
:If you have ideas on how to improve the Suggestion via changes to the configuration, or changes to the wording shown to editors, the best place to discuss/request those is on the local configuration's talkpage. The one major complexity, which I see is already highlighted in the latest comment there ([[w:MediaWiki_talk:Editcheck-config.json#Message]]) is the perspective that [as Kowal2701 writes] "{{tq|we probably don't want to link to WP:AISIGNS or let the editor know how we know, lest they superficially address the issues or game it.}}"
:Let me know if that info helps or if I can help in any other way. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:05, 11 March 2026 (UTC)
== addReference on Emmanuelle_Chapron at frwiki ==
French Wikipedia does not require references in the abstract.
[[User:Exilexi|Exilexi]] ([[User talk:Exilexi|talk]]) 08:29, 13 March 2026 (UTC)
:Bonjour. The community (admins) can change these settings. Please edit [[w:fr:MediaWiki:Editcheck-config.json]] and add this line above the current line#3:
:<code>"ignoreLeadSection": true,</code>
:For comparison/example, see line#3 at Enwiki's [[w:en:MediaWiki:Editcheck-config.json]], and more example-options in either [https://en.wikipedia.beta.wmcloud.org/wiki/MediaWiki:Editcheck-config.json Beta Cluster's version], or in the documentation at [[Edit check/Configuration]].
:I hope that helps, and please let us know if you have any other questions. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:25, 13 March 2026 (UTC)
:@[[User:Exilexi|Exilexi]] Oh, I'll add a ping here, too, in case that is needed/helpful. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:55, 13 March 2026 (UTC)
::Thank you! [[User:Exilexi|Exilexi]] ([[User talk:Exilexi|talk]]) 19:30, 13 March 2026 (UTC)
== addReference on Véra_Eisenmann at frwiki ==
Pas de source dans le résumé introductif !
[[User:Gustave en résidence|Gustave en résidence]] ([[User talk:Gustave en résidence|talk]]) 10:04, 13 March 2026 (UTC)
:Bonjour. My apologies for not replying in French. Please see my reply to Exilexi above for the answer to your question. I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:27, 13 March 2026 (UTC)
:Bonjour Gustave, j'ai fait la modification suggérée par @[[User:Quiddity (WMF)|Quiddity (WMF)]] et ça devrait être réglé pour tout le monde {{sourire}} [[User:Exilexi|Exilexi]] ([[User talk:Exilexi|talk]]) 19:32, 13 March 2026 (UTC)
::Merci ! [[User:Gustave en résidence|Gustave en résidence]] ([[User talk:Gustave en résidence|talk]]) 08:59, 16 March 2026 (UTC)
== addReference on European_Long-Range_Strike_Approach at enwiki ==
Even though this is not the exact line of the article that causes this issue, I could not submit the issue while it was occurring. The issue is that if an editor manually adds a citation to a piece of text that the suggestion mode suggests that it should be cited, the suggestion textbox does not disappear, and causes the editor to be unable to publish changes. I wish the person who is attempting to fix this bug a nice day.
[[User:ItIsWindyToday|ItIsWindyToday]] ([[User talk:ItIsWindyToday|talk]]) 06:31, 14 March 2026 (UTC)
:@[[User:ItIsWindyToday|ItIsWindyToday]] Hi, thank you for this bug-report.
:Please could you add a few more details on which step of the process you were blocked on? I tried to reproduce this bug, but it all seemed to work as I'd expect. My steps were:
:# At [[testwiki:]], change my [[testwiki:Special:Preferences#mw-prefsection-betafeatures|preferences]] to enable the Suggestions Mode beta feature
:# Open [[testwiki:Zevia]] in visual editor
:# Click one of the 2 "Add a citation" suggestions that are shown on that page, and click the "Add citation" button within
:# Add an example citation to the Automatic citation-generator - e.g. just https://example.org/ - and then click "Create"
:# Click "Insert" to confirm the addition of that citation, after which the "Publish" button becomes blue.
:# Publish the edit. ([https://test.wikipedia.org/w/index.php?title=Zevia&diff=prev&oldid=733678 example])
:I also tried it with a default settings account but skipping #3 and just inserting the citation manually via the Toolbar. I also tried to write some prose in the article first, in order to trigger the Reference Check reminder feature for newcomers. Both of those tests worked as I expected.
:Much thanks for any clarifications you can provide. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 00:36, 17 March 2026 (UTC)
== [[MediaWiki:Visualeditor-suggestionfeedback-link]] broken on dewiki? ==
When opening the feedback flow implemented in [[:phab:T415936]] on German Wikipedia and selecting "report a problem", the link "VisualEditor/Suggestion Mode/Feedback" leads to [[:de:Diskussion:VisualEditor/Suggestion Mode/Feedback]].
There's no issue with the link on other projects (I checked enwiki and eswiki) and there doesn't seem to be a local override causing the issue, [[:de:MediaWiki:Visualeditor-suggestionfeedback-link]] is identical to other projects. Should I file a Phabricator ticket? [[User:Johannnes89|Johannnes89]] ([[User talk:Johannnes89|talk]]) 09:46, 14 March 2026 (UTC)
:Thanks for this bug-report. I found another related issue, and I've filed [[phab:T420123]], but please do edit-boldly if you can improve that. Cheers, [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 19:08, 14 March 2026 (UTC)
== externalLink on Tribunal_Superior_de_Justicia_de_Canarias at eswiki ==
Indica que se elimine un enlace y se mueva a la zona de enlaces externos, pero ya está en esa sección
[[User:HernC2|HernC2]] ([[User talk:HernC2|talk]]) 17:58, 19 March 2026 (UTC)
:Gracias. My apologies for not replying in Spanish. Thank you for this bug-report. I will ask a local administrator to fix the local settings. This is one of the settings that needs to be configured for (and by) each wiki [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:47, 19 March 2026 (UTC)
::Thank you!! [[User:HernC2|HernC2]] ([[User talk:HernC2|talk]]) 21:53, 19 March 2026 (UTC)
== duplicateLink on Egypt at enwiki ==
Sometimes says a part of a sentence needs a citation when it doesn't.
[[User:Ivebeenhacked|Hacked]] ([[User talk:Ivebeenhacked|Talk]]|[[Special:Contributions/Ivebeenhacked|Contribs]]) 17:59, 19 March 2026 (UTC)
:Hi, thank you for writing here. Please could you share an example sentence that you saw, which led to this comment?
:For context: I'm slightly confused because you write "part of a sentence needs a citation", but (1) you have arrived here via the feedback-link on one of the "duplicateLink" suggestions, and (2) the "Add a citation" suggestion type only highlights ''entire paragraphs''; therefor I wonder/guess if perhaps you saw many "Add a citation" suggestions in a row, and then perhaps saw a "Duplicate link" suggestion and thought it was just another "Add a citation" suggestion? See this screenshot for example: [[phab:F73158169]].
:Much thanks for any additional details you can share. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:14, 19 March 2026 (UTC)
::The more that I think about it, the more convinced I am that I accidentally saw "Add a citation" instead of a duplicate link suggestion. Sorry for the misunderstanding. Also, I didn't expect whatever I wrote on the feedback comes here. Thank you for trying to help, I appreciate it. Goodbye for now. [[User:Ivebeenhacked|Hacked]] ([[User talk:Ivebeenhacked|Talk]]|[[Special:Contributions/Ivebeenhacked|Contribs]]) 22:38, 19 March 2026 (UTC)
== disambiguation at enwiki ==
Broken link. Link is, exactly, "[ //en.wikipedia.org/wiki/Wikipedia:Disambiguation disambiguation page]" instead of what it should be.
[[User:Organhaver|Organhaver]] ([[User talk:Organhaver|talk]]) 02:29, 24 March 2026 (UTC)
:Thank you! I've [https://en.wikipedia.org/wiki/MediaWiki_talk:Editcheck-config.json#c-Quiddity_(WMF)-20260324180000-Pppery-20260313151100 requested] the fix. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:01, 24 March 2026 (UTC)
== Performance issues for large articles ==
I like this feature a lot but noticed that it does not work well on larger articles. Specifically, I was working on [[:de:Aldehyde]] where the suggestion mode caused a delay of multiple seconds while typing characters. Likely, the feature should limit consideration to a smaller section of the article in such cases. [[User:Anagkai|Anagkai]] ([[User talk:Anagkai|talk]]) 12:10, 26 March 2026 (UTC)
:We just this week noticed-and-fixed {{phab|T421235}} which is quite likely to have been what was going on here. [[User:DLynch (WMF)|DLynch (WMF)]] ([[User talk:DLynch (WMF)|talk]]) 17:06, 26 March 2026 (UTC)
== addReference on Freshta_Kohistani at eswiki ==
Once I clicked on "Añadir cita" the box frozed
[[User:Silva Selva|Silva Selva]] ([[User talk:Silva Selva|talk]]) 00:49, 27 March 2026 (UTC)
:Hola. Thank you for reporting this. Please could you describe a few more details about what you experienced? I tried to reproduce the problem, by editing an older revision of [[w:es:Freshta Kohistani]] that still contained the Suggestion and then clicking/trying various things, but I didn't experience any freezing. In order to fix a bug, we need to be able to reproduce it (or understand more of the context, to narrow the investigation). It would be helpful if you could tell us details such as:
:* Which specific "box" you are referring to (I believe you mean the whole "Añade una cita" box (as shown at [[w:es:Especial:EditChecks]]) but I want to confirm)
:* How long the box froze for (a rough estimate in seconds)
:* Whether it was ''just'' the box that froze and other parts of the interface still continued to work properly, or if it froze the entire editing window
:* If you've experienced this again at any other page
:* Whether you used the suggestion mode button again to make your latest edit at that article, or if you just used the Cite tool directly from the toolbar (or other).
:Much thanks, for any additional details you can share, that might help us understand this bug (and ideally be able to reproduce it). Best regards, [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:36, 27 March 2026 (UTC)
== externalLink on W・アンドリュー・ロビンソン_(著述家) at jawiki ==
これは外部リンクの内容のため、読者の集中をそぐという理由は不成立。
[[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 08:07, 31 March 2026 (UTC)
:@[[User:Omotecho|Omotecho]] Hi! Thank you for commenting. The community (admins) can ''and should'' change these settings! The feature is highly configurable, to fit local needs and nuances. Would you be willing to help request a change for the page [[w:ja:MediaWiki:Editcheck-config.json]]? Essentially, a local admin needs to update that page, using the content at [[Help:Suggestion mode#Create a local configuration page]] (but replacing those Spanish example heading-names, with Japanese). If you'd prefer, I can try to write it in English on the talkpage there. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 23:16, 1 April 2026 (UTC)
::Oh, so it is handled locally, that is good to know. How does it sound you would post in en and ja? Posts in English are slow to get attention, I am afraid. I am happy to assist in en-ja translation for your post, while not very techy myself. <br>
::<br>
::For the *Suggestion feature*: Would you hint me where I read about the global general reaction how that feature is accepted? It will be great if the feature is diminishing admin's housecleaning workload. <br>
::<br>
::Well, above is based on my worry that we have very small percentage of admins against the total user population among any /ja wikis, or if admins would burn-out any day or not: when you are very tired, you are not the happiest self. Cheers, -- [[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 02:45, 8 April 2026 (UTC)
:::Thank you! I have posted a request and some useful documentation links at [[w:ja:MediaWiki‐ノート:Editcheck-config.json]]. Please could you translate that however seems reasonable, and then either ping a specific admin or add the appropriate template to request an admin's assistance?
:::Re: Suggestion mode global reaction - It was generally been ''very'' positive, partially because everything is configurable, and also extensible with custom local ideas. I've included 2 links in my message on Jawiki pointing to the examples at Enwiki and Ruwiki. Ruwiki in particular has already created nine different types of local textmatch suggestions (e.g. suggestions based on: common typos, common grammar errors, non-standard country-names, non-specific-time words, etc). In the near future, the textmatch suggestions will become even more powerful once it becomes possible to use regex ([[phab:T407664]]). Please tell me if you need any more details.
:::Thanks again. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 23:13, 8 April 2026 (UTC)
::::Hello, finished translation. Too bad a [https://ja.wikipedia.org/wiki/Wikipedia:%E3%83%A1%E3%82%BF%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2/%E8%AD%B0%E8%AB%96%E4%B8%AD%E3%81%AE%E8%A9%B1%E9%A1%8C brach of wikipedia:news/ja for anything global] is deprecated, so I am not sure where else to notify of the Suggest function to localize.
::::Anyway, I will enjoy editing with the ''Suggests'' and cast my eyes on how I will upgrade the articles. --[[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 16:59, 9 April 2026 (UTC)
:::::[off-topic] Re: "I am not sure where else to notify" - I agree this is a concern. On any wiki, I would normally attempt to use {{tl|Edit protected}} at a wiki talkpage to request help (listing: [[d:Q6578653]]), but I saw that the Japanese version has been deprecated: [[w:ja:Template:保護編集依頼]]. I think it might be helpful for many people (e.g. cross-wiki editors, etc) if someone could add information into that old template that explains how/where to request admin attention, instead. Perhaps you might like to raise this issue somewhere? Just a thought. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:12, 9 April 2026 (UTC)
::::::[back to main focus] Would you agree that we add to your message above that editors would post here in any language? That I hope would be a springboard across Jawp and mw, hopefully.
::::::[off topic] For adding a small note to bad a [[:ja:Wikipedia:メタウィキメディア/議論中の話題|brach of wikipedia:news/ja for anything global]]: Ahhh, right, I'll try and find fitting _de-tour_ message we have locally, for no matter what language(s) or project you base your activities.
::::::[off-off topic]
::::::As the crossing point for multi-language, pondering the hunch if Wikidata be handy to find way-around or not, but this case might be too local. --[[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 05:57, 12 April 2026 (UTC)
:::::::1. If I understand correctly, you are suggesting adding a note at the top of [[w:ja:MediaWiki‐ノート:Editcheck-config.json]] to explain that feedback is welcome in any language. Yes please! -- I've also updated the note at the top of [[Talk:VisualEditor/Suggestion Mode]]. -- This page just contains the results of the "Feedback" form, so it implicitly welcomes all languages.
:::::::2. Sounds good. I've clicked around a bit, and I now believe that old template ([[w:ja:Template:保護編集依頼]]) ought to include a link to [[w:ja:Wikipedia:管理者伝言板/保護ページ編集]] as a clue for people like me who are trying to find where to request help. That seems to be the newer location to request this kind of assistance (and I see Cookie4782 has already helpfully mentioned our request for help).
:::::::3. Yes, I often use Wikidata's interlanguage-links to find an equivalent page in many languages, e.g. [[d:Q6578653]] or [[d:Q4580256]].
:::::::Thanks again. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:18, 13 April 2026 (UTC)
== duplicateLink on 古代エジプト文字の解読 at jawiki ==
Multilple linkst to a single tl:visible anchor is needed especially ja readers are not familiar with names of Arabic/Islamic/Judeic person names.
[[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 09:20, 31 March 2026 (UTC)
:Thank you! I've filed [[phab:T422190]] to prevent this suggestion type from appearing for self-links (Links that point to the same article). We believe that is the cleanest way to prevent these specific types of instances. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 16:48, 2 April 2026 (UTC)
::Yes, please, and thank you suggesting a very practical and straight forward fix (: FYI in fact, there might not be many claims like this as Tl:visible anchor could be less popular among Jawiki users, I doubt. [[User:Omotecho|Omotecho]] ([[User talk:Omotecho|talk]]) 02:12, 8 April 2026 (UTC)
== disambiguation on Ikan at mswiki ==
"Hutan hujan tropika" link is not directed to disambiguation page
[[User:Hakimi97|Hakimi97]] ([[User talk:Hakimi97|talk]]) 12:48, 1 April 2026 (UTC)
:@[[User:Hakimi97|Hakimi97]] Hi, thanks for commenting. That page ([[w:ms:Hutan hujan tropika]]) ''does'' currently include the [[help:magic word|magic word]] of <code><nowiki>__DISAMBIG__</nowiki></code> (in the External links section). I assume that is a human-error.
:Usually that magic word is only included within a template that is placed on disambiguation pages (e.g. [[w:ms:Template:Nyahkekaburan]]).
:I will leave this for you to fix (and perhaps investigate if the problem exists elsewhere, e.g. [https://ms.wikipedia.org/w/index.php?search=insource%3A%2F%22__DISAMBIG__%22%2F&title=Khas%3ACari&profile=advanced&fulltext=1&ns0=1 this search] seems to show other pages that ought to either use the template-version, or have the magic word removed).
:I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 00:02, 2 April 2026 (UTC)
::I see, I will take note of this. Thank you for the help! [[User:Hakimi97|Hakimi97]] ([[User talk:Hakimi97|talk]]) 02:37, 2 April 2026 (UTC)
== externalLink on Oskar_Rózsa at skwiki ==
Je to v sekcií "Externé odkazy". Treba asi vyladiť filter.
[[User:JakubD47|JakubD47]] ([[User talk:JakubD47|talk]]) 10:21, 10 April 2026 (UTC)
:@[[User:JakubD47|JakubD47]] Hi. My apologies for not replying in slovenčina. The community (admins) can ''and should'' change these settings! The feature is highly configurable, to fit local needs and nuances. Would you be willing to help request a change for the page [[w:sk:MediaWiki:Editcheck-config.json]]? Essentially, a local admin needs to update that page, using the content at [[Help:Suggestion mode#Create a local configuration page]] (but replacing those Spanish example heading-names, with slovenčina). If you'd prefer, I can try to write it in English on the talkpage there. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 17:27, 10 April 2026 (UTC)
::Hi, no worries. From what I gathered, that example you sent, but with the text in the JSON replaced with how the headings appear on skwiki?
::If yes, I can post in on that page's talkpage in Slovak. I thought I would be reporting it to skwiki admins, so I apologize for not typing it in English right away. [[User:JakubD47|JakubD47]] ([[User talk:JakubD47|talk]]) 06:33, 15 April 2026 (UTC)
:::@[[User:JakubD47|JakubD47]] Yes, exactly. You'd just need to replace the Spanish examples with Slovak examples (and you or the admin/community could also add any additional headings that ought to be excluded from each type of suggestion).
:::Plus, it would help to also ask the admin(s) to look at the other section in the help page ([[Help:Suggestion mode#Localize the links]]) about localizing the links that are within each type of suggestion, if Skwiki has local documentation about any of those details.
:::Much thanks! [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:17, 15 April 2026 (UTC)
== addReference on Tree_planting at enwiki ==
I added a citation and the message does not disappear. I added by using the citation tool
[[User:John Cummings|John Cummings]] ([[User talk:John Cummings|talk]]) 11:54, 12 April 2026 (UTC)
:@[[User:John Cummings|John Cummings]] Hi! Thanks for commenting. The message box should disappear, but only ''after'' we move/click our cursor into another paragraph/node. If I understand correctly, this is technically for performance reasons, to prevent it rechecking the content ''constantly'' as we type. I will mention it to the team as something that still causes confusion though. Cheers. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:28, 13 April 2026 (UTC)
::Hi {{u|Quiddity}}, I didn't realist that this comment would be added to a page and someone reply :) So I copied the text from my sandbox and then added the reference and after that the box showed up to say there was no reference. I think this is probably not a normal way of doing things and that's why it got confused. Thanks, [[User:John Cummings|John Cummings]] ([[User talk:John Cummings|talk]]) 02:33, 14 April 2026 (UTC)
== yearLink on 東急2020系電車 at jawiki ==
Some of the links to railway vehicle types incorrectly display "yearLink". Some Japanese railway vehicle types are represented by four-digit numbers, and the editing check function may be mistakenly identifying links like "1000系 (series 1000)" as year links.
[[User:Cookie4782|Cookie4782]] ([[User talk:Cookie4782|talk]]|[[Special:Contribute/Cookie4782|Contribute]]) 07:01, 22 April 2026 (UTC)
:@[[User:Cookie4782|Cookie4782]] Thank you for the bug-report. The devs are working on this bug in [[phab:T422274|T422274]] ("False positive yearLink check"), and will probably just be making it simpler to only react to plain 4-digit year links, for now. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:00, 22 April 2026 (UTC)
== requiredTemplateParam on XMM-Newton at frwiki ==
Il faudrait préciser quels paramètres sont manquants pour que le contributeur sache si cela constitue un véritable problème.
It would be necessary to specify which parameters are missing so that the contributor knows if this constitutes a real problem without having to display all the parameters.
[[User:Pline|Pline]] ([[User talk:Pline|talk]]) 11:13, 22 April 2026 (UTC)
:@[[User:Pline|Pline]] Thank you for commenting, and the ideas of how to improve this suggestion type (and the good example of where it is not working well). That particular type is one of the experimental ones (see [https://fr.wikipedia.org/wiki/Sp%C3%A9cial:EditChecks?uselang=fr#:~:text=requiredTemplateParam the section it is within]), and is only available to users of the user-script version. Editors using the Beta Feature, or newcomers within the upcoming A/B test will not see those. I know that particular type still needs quite a bit of work before it's ready for full release. Thanks again, Merci. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:15, 22 April 2026 (UTC)
== yearLink on Dhurandhar:_The_Revenge at enwiki ==
Was not a year link-was about rupees.
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 23:35, 25 April 2026 (UTC)
:Thank you for the bug-report. The devs are working on this bug in [[phab:T422274]] ("False positive yearLink check"), and will just be making it simpler to only react to plain 4-digit year links, for now. That fix should be live later this week. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 19:23, 27 April 2026 (UTC)
== externalLink on Web_colors at enwiki ==
Not "external link", link to another Wikipedia page, just in URL format.
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 23:44, 25 April 2026 (UTC)
:@[[User:User97104|User97104]] Thank you for the report.
:1. That instance within the article [[w:en:Web colors]] looks like it might be incorrectly setup, too, perhaps via a copy&paste mistake. I would ''assume'' that the "update" link is meant to lead to a cache-purge of the page it is on, not the page "[[w:en:Hexadecimal time]]" which is where it currently targets (and presumably is where it was copied from).
:2. I believe both those pages ought to be using [[w:en:Template:Purge]] instead of a raw external link. I'll ping [[User:Kencf0618]] here as you might be interested in helping to fix both instances. (Context: You [https://en.wikipedia.org/w/index.php?title=Web_colors&diff=prev&oldid=1323007279 added] the version on the "Web colors" article.)
:3. For the broader problem of links to local-articles that are misformatted as external-links, I will ask the devs to investigate possible solutions.
:Thanks again. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:04, 27 April 2026 (UTC)
== tone on Lorem_ipsum at testwiki ==
Doesn't make sense-lorem ipsum text which has no meaning in any language so tone cannot be "revised"
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 22:28, 2 May 2026 (UTC)
:Hi. I'm not sure if you're joking? It's ''lorem ipsum'' text for an entire page, so of course it confuses the software! That page would never exist in a non-test Wikipedia's main-namespace. Many strange pages exist on testwiki. I hope those details help explain the situation. Cheers, [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 10:45, 4 May 2026 (UTC)
== duplicateLink on Birmingham_Snow_Hill_railway_station at simplewiki ==
it dosent appear more then twice
[[User:Crazywork|Crazywork]] ([[User talk:Crazywork|talk]]) 12:31, 4 May 2026 (UTC)
:Thanks for this. It looks likes "Birgmingham" and "Moor Street" are separately linked, if you look at the wikitext: <code><nowiki>[[Birmingham Moor Street railway station|Birmingham]] [[Birmingham Moor Street railway station|Moor Street]]</nowiki></code>.
:These links should be merged into one (clear the link formatting then re-apply the link to the whole word "Birmingham Moor Street").
:We could have an edit check to detect cases like these but I'm not sure how rare they are. (Filed as [[phab:T425410|T425410]]) [[User:ESanders (WMF)|ESanders (WMF)]] ([[User talk:ESanders (WMF)|talk]]) 11:51, 5 May 2026 (UTC)
== addReference on Nicholas_Brendon at enwiki ==
This is Wikipedia's version of Clippy. Just an obnoxious tool with no benefit.
[[User:Harizotoh9|Harizotoh9]] ([[User talk:Harizotoh9|talk]]) 15:31, 5 May 2026 (UTC)
:The primary target-audience of the tool is newcomers, who often appreciate some guidance on how they can ''start to help'' with editing, and who will potentially benefit from seeing related documentation-links (by familiarizing them with both the specific details, and with the habit of consulting the documentation).
:You are seeing this tool at Enwiki because you've enabled (or opted-in to automatically enabling) [[w:en:Special:Preferences#mw-prefsection-betafeatures|the Beta Feature]]. You could either disable that Beta Feature for yourself, or hopefully you could share feedback (or bug-reports) about how to make the feature even more useful for newcomers.
:The secondary target-audience is experienced-users (like yourself), and in the future, communities will be able to setup custom types of Suggestion that are limited to only being visible to editors with a certain quantity of edits, so that more complicated tasks can be highlighted without requiring things like inline cleanup-templates, or AWB installation, or an abundance of user-scripts (cf. [[VisualEditor/Suggestion Mode#Inspiration and alignment]]). If you are a edit-patroller in any form, you may also appreciate the Tags that are added to revisions, as they might help to explain the context of an edit.
:I hope that information helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:01, 11 May 2026 (UTC)
== addReference on MEMRI at enwiki ==
Wasn't a normal paragraph-was like "Name, the X of Y, said Z:" with the next paragraph being the actual quote. You'd want to add the citation after the quote.
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 18:51, 5 May 2026 (UTC)
:Thank you for this feedback. There's a related task at [[phab:T424606]] ("''Exclude short paragraphs ending in colons from Suggestion Mode "add a citation" suggestion''") and the team is working out how to most effectively address these types of contexts. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:04, 11 May 2026 (UTC)
== addReference on Flower_delivery at enwiki ==
This is an invalid link, a dead link.
Also, the statement "many florists" is not credible or backed up by facts.
[[Special:Contributions/~2026-27574-38|~2026-27574-38]] ([[User talk:~2026-27574-38|talk]]) 19:48, 7 May 2026 (UTC)
:Thank you for the comment. Unfortunately we cannot help with content decisions at this page (which is only about the software-feature that shows Suggested Edits).
:As context: I understand that you saw the (still-existing) dead-link used as a reference in [[w:en:Flower delivery]] in the paragraph starting "Many traditional retail florists [...]" and thus you tried to add a more useful reference based on the Suggested Edit. It looks like [[User:KH-1]] reverted those edits, probably because the new citation that you added is perhaps not a [[w:en:WP:Reliable Source]] and so was interpreted as spam (per their [https://en.wikipedia.org/w/index.php?title=Flower_delivery&action=history edit summary]). It would be best to discuss all of these details on the talkpage of [[w:en:Flower delivery]] instead of here.
:I hope that helps (you both!). Best regards, [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:18, 11 May 2026 (UTC)
== addReference on AN/SPS-29 at enwikiThe power output on the SPS-29 Radar was 1 Million Watts NOT 250Kw's. ==
I know this as I was a school trained SPS-29 Radar Tech while in the Navy in the 70's on the USS Luce (DDG-38/DLG-7) and also as a shipyard worker in the Philadelphia Naval Shipyard in the 80's.
[[User:Geekster123~enwiktionary|Geekster123~enwiktionary]] ([[User talk:Geekster123~enwiktionary|talk]]) 23:18, 12 May 2026 (UTC)
:Hi @[[User:Geekster123~enwiktionary|Geekster123~enwiktionary]], thank you for the comment. Unfortunately, we cannot help with content decisions at this page (which is only about the software-feature that shows Suggested Edits).
:You should mention your concern about the accuracy of this detail at the talkpage of the article: [[w:en:Talk:AN/SPS-29]]. I will also mention that information in articles should be based on [[w:WP:Reliable sources]], and not ever on personal experience, so it would help immensely if you can find a published instance providing the accurate details that you describe above. If you'd like help with any of that, you can ask at [[w:en:WP:Teahouse]].
:I hope that information helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:40, 13 May 2026 (UTC)
== addReference on Time_formatting_and_storage_bugs at enwiki ==
Doesn't need a citation, is provided in its articles
[[User:Lilnasfurry|Lilnasfurry]] ([[User talk:Lilnasfurry|talk]]) 18:50, 17 May 2026 (UTC)
:Thank you for sharing feedback about this particular suggestion. I agree it is non-ideal to have a citation request in that first paragraph, as the citation(s) are provided at the end of the following paragraph. I'll highlight this instance to the developers to see if there's any technical way to avoid these kinds of false-positive, although I ''suspect'' it might be unavoidable simply due to the edge-case nature of there being 2 paragraphs that are split up by a <code><nowiki><math></nowiki></code> string. In that case, it would be reasonable for anyone to use the "Dismiss" button, and that is part of the reason that that button exists. I hope that information helps, and thanks again. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:49, 18 May 2026 (UTC)
== addReference on Isla_de_Sacrificios at eswiki ==
Toda esta sección después de la barra divisora es extraña. Es demasiado específico y particular el tema que se trata (importación de Cebús brasileños), empieza hablando sobre el final de un conflicto pero no se indica cuál (la sección anterior mencionó invasiones pero de un siglo antes), y además no tiene citas bibliográficas.
[[User:Yeiacatl|Yeiacatl]] ([[User talk:Yeiacatl|talk]]) 23:20, 17 May 2026 (UTC)
:Hola @[[User:Yeiacatl|Yeiacatl]]. My apologies for not replying in Spanish. Thank you for the comment. Unfortunately, we cannot help with content decisions at this page (which is only about the software-feature that shows Suggested Edits).
:I recommend that you ask for help at the article's talkpage ([[w:es:Discusión:Isla de Sacrificios]]) or at the Spanish Wikipedia's help desk ([[w:es:Wikipedia:Café/Archivo/Ayuda/Actual]]). I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 22:56, 18 May 2026 (UTC)
::oh okay, no problem. My bad. First time editing a wiki page. I can't find the menu option you mentioned, I'm on the mobile version. I'll check on my laptop. Thanks! [[Special:Contributions/~2026-29963-83|~2026-29963-83]] ([[User talk:~2026-29963-83|talk]]) 23:02, 18 May 2026 (UTC)
== addReference on Joe_DiMaggio at enwiki ==
this is simply an overview of him in pop culture, and a citation is uneeded
[[User:Paulplaysball|Paulplaysball]] ([[User talk:Paulplaysball|talk]]) 14:39, 20 May 2026 (UTC)
:Hi @[[User:Paulplaysball|Paulplaysball]], thank you for the feedback. In that instance (within the "In popular culture" section), it is totally reasonable for a human editor to conclude that nothing is needed (and thus to click the "No" button). For context, in the "Add a citation" type of suggestion, the software is simply detecting and highlighting each paragraph without ''any'' citations, and it is up to the human editor(s) to make an evaluation of whether that (or any) suggestion is applicable. I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 18:45, 20 May 2026 (UTC)
== addReference on Carl_Vogt at frwiki ==
Carl Vogt n'a jamais soutenu l'idée d'une infériorité du sexe féminin. Il a au contraire défendu l'accès des femmes à toutes les positions universitaires.
[[User:René Sigrist|René Sigrist]] ([[User talk:René Sigrist|talk]]) 19:20, 20 May 2026 (UTC)
:Bonjour @[[User:René Sigrist|René Sigrist]]. My apologies for not replying in French. Thank you for the comment. Unfortunately, we cannot help with ''content'' decisions at this page (which is only about the software-feature that shows Suggested Edits).
:I recommend that you ask for help at the article's talkpage ([[w:fr:Discussion:Carl Vogt]]) or at the French Wikipedia's help desk ([[w:fr:Wikipédia:Forum des nouveaux]]). I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 21:13, 20 May 2026 (UTC)
== addReference on Lamine_N'Diaye at frwiki ==
Le premier club de Lamine Ndiaye n'est pas l'U.S. Rail mais le T.E.C. (Thies Étudiant Club)
[[User:Meissa Guedj|Meissa Guedj]] ([[User talk:Meissa Guedj|talk]]) 10:59, 22 May 2026 (UTC)
:Bonjour @[[User:Meissa Guedj|Meissa Guedj]]. My apologies for not replying in French. Thank you for the comment. Unfortunately, we cannot help with ''content'' decisions at this page (which is only about the software-feature that shows Suggested Edits).
:I recommend that you ask for help at the article's talkpage ([[:en:fr:Discussion:Lamine N'Diaye|w:fr:Discussion:Lamine N'Diaye]]) or at the French Wikipedia's help desk ([[:en:fr:Wikipédia:Forum des nouveaux|w:fr:Wikipédia:Forum des nouveaux]]). I hope that helps. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 19:37, 22 May 2026 (UTC)
== externalLink on Dirk_Leyman at nlwiki ==
A bibliography should have the possibility of external links, to refer to the work.
--[[User:Geertivp|Geertivp]] 12:56, 23 May 2026 (UTC)
== addReference on Tschappel at dewiki ==
Please do not advise to add sources to plot summaries
[[User:Discostu|Discostu]] ([[User talk:Discostu|talk]]) 21:16, 24 May 2026 (UTC)
asshtjm5c8g3x66hr6xfj7bgc50pget
Wikimedia Apps/Team/25th Birthday Reading Challenge
0
2370281
8390227
8387705
2026-05-24T23:39:53Z
~2026-31160-12
18405293
8390227
wikitext
text/x-wiki
<languages />
{{Wikimedia Apps/Team/25th_Birthday_Reading_Challenge/Navbar}}
{{Nutshell|1=<translate><!--T:57--> The Mobile Apps team is planning to create a short-term, experimental reading challenge as part of Wikipedia’s 25th birthday celebrations.</translate> <translate><!--T:64--> The challenge encourages readers to open and read at least one article per day, building a streak toward completing a 25-day reading goal.</translate>}}
<translate>
== How does the feature work? == <!--T:8-->
=== Joining the challenge === <!--T:9-->
</translate>
<translate><!--T:38--> When users open the app during the challenge period, they will see an announcement inviting them to participate.</translate>
<translate><!--T:39--> Logged-in users can join immediately. Logged-out users will be asked to log in or create an account so their progress can be tracked.</translate>
<translate>
<!--T:72-->
Readers can join the challenge between <tvar name=1>{{ymd|2026|5|11}}</tvar> and <tvar name=2>{{ymd|2026|6|18}}</tvar>.
=== Daily reading === <!--T:10-->
</translate>
<translate><!--T:40--> Participants build their streak by opening at least one Wikipedia article per day.</translate>
<translate><!--T:41--> The goal is to read on 25 consecutive days during the challenge period.</translate>
<translate>
=== Tracking progress === <!--T:11-->
</translate>
<translate><!--T:42--> Users can monitor their streak through the Reading Challenge widget.</translate>
<translate><!--T:43--> The widget will show the number of days completed and whether the user has read an article on the current day.</translate>
<translate>
=== Maintaining streaks === <!--T:12-->
</translate>
<translate><!--T:44--> If a participant misses a day, their streak ends.</translate>
<translate><!--T:45--> If the challenge period is still ongoing, they can start a new streak.</translate>
<translate>
=== Completion === <!--T:13-->
</translate>
<translate><!--T:46--> Participants who reach 25 reading days in a row will automatically receive a reward.</translate>
<translate><!--T:47--> Participants who do not complete the challenge will still be able to see their best streak and overall progress.</translate>
<translate>
== Designs == <!--T:17-->
</translate>
<gallery mode="packed" heights="250">
Wikipedia app Reading Challenge - In app annoucement.png|<translate><!--T:58--> In app announcement</translate>
Wikipedia app Reading Challenge - Add widget 01.png|<translate><!--T:59--> Add widget</translate>
Wikipedia app Reading Challenge - Opt into challenge.png|<translate><!--T:60--> Opt into challenge</translate>
Wikipedia app Reading Challenge - Streak ongoing.png|<translate><!--T:61--> Streak ongoing</translate>
Wikipedia app Reading Challenge - Streak broken.png|<translate><!--T:62--> Streak broken</translate>
Wikipedia app Reading Challenge - Completed challenge.png|<translate><!--T:63--> Completed challenge</translate>
</gallery>
<translate>
== FAQ == <!--T:23-->
=== How do I install the Widget? === <!--T:74-->
</translate>
*<translate><!--T:75--> On Android Devices, long-press on your home screen until a menu pops up.</translate> <translate><!--T:80--> Tap on Widgets, and then search for "Wikipedia".</translate> <translate><!--T:81--> Tap on the Wikipedia App, and then long-press on the Reading Challenge widget to drag it onto your home screen.</translate>
*<translate><!--T:76--> On iOS Devices, long-press on your home screen until a menu appears at the top.</translate> <translate><!--T:82--> Tap Edit > Add widget.</translate> <translate><!--T:83--> Search for "Wikipedia" and then tap on the App.</translate> <translate><!--T:84--> Swipe through widgets until you see the Reading Challenge and then tap "Add Widget".</translate>
{| style="width:100%; text-align:center;"
|style="width:50%; padding-right:20px;"| [[File:Android reading challenge screen recording.webm|180px]]
<br>How to add the Reading Challenge widget (Android)
|style="width:50%; padding-left:20px;"| [[File:IOS reading challenge screen recording.webm|180px]]
<br>How to add the Reading Challenge widget (iOS)
|}
<translate>
=== How do I join the challenge? === <!--T:77-->
</translate>
*<translate><!--T:78--> Follow the instructions above for installing a widget, and then tap "Join challenge" on the widget.</translate> <translate><!--T:85--> Then tap "Join challenge again" in the app again.</translate>
<translate>
=== Can I still use the app without joining the challenge? === <!--T:24-->
<!--T:68-->
Yes. Participation is optional and does not affect normal use of the Wikipedia app.
=== Do I need an account to participate? === <!--T:25-->
<!--T:70-->
Yes, an account is required so the app can track your reading streak.
=== What counts as a reading day? === <!--T:26-->
<!--T:48-->
Opening any Wikipedia article in the app counts as a reading day.
=== What happens if I miss a day? === <!--T:27-->
</translate>
<translate><!--T:49--> If a day is missed, the streak ends.</translate>
<translate><!--T:73--> If it's still before the end date of <tvar name=1>{{ymd|2026|6|18}}</tvar>, you may restart a streak.</translate>
<translate>
=== What are the prizes? === <!--T:28-->
</translate>
<translate><!--T:71--> The prize is a 15% discount to the [<tvar name=1>https://store.wikimedia.org/</tvar> Wikipedia Store].</translate>
<translate><!--T:51--> There may also be a challenge completion badge available within Activity.</translate>
<translate>
=== How can I access the prizes? === <!--T:29-->
<!--T:52-->
Once you have reached 25 days, tap on the widget to open the prizes screen.
=== How long will I be able to access the prizes? === <!--T:30-->
</translate>
<translate><!--T:53--> The prizes will be available until the end of July.</translate>
<translate><!--T:54--> If you apply the badge within Activity, it will remain available after the challenge concludes.</translate>
03hkdm928g5rty9cjsyro9oeq93nt3n
8390500
8390227
2026-05-25T10:24:33Z
Clump
81610
Reverted edits by [[Special:Contribs/~2026-31160-12|~2026-31160-12]] ([[User talk:~2026-31160-12|talk]]) to last version by Shirayuki
8372400
wikitext
text/x-wiki
<languages />
{{Wikimedia Apps/Team/25th_Birthday_Reading_Challenge/Navbar}}
{{Nutshell|1=<translate><!--T:57--> The Mobile Apps team is planning to create a short-term, experimental reading challenge as part of Wikipedia’s 25th birthday celebrations.</translate> <translate><!--T:64--> The challenge encourages readers to open and read at least one article per day, building a streak toward completing a 25-day reading goal.</translate>}}
<translate>
== Background == <!--T:2-->
</translate>
<translate><!--T:65--> To celebrate a quarter century of Wikipedia, a special 25th birthday mascot, [<tvar name=url>https://wikimediafoundation.org/wikipedia25/wikipedia-mascot/</tvar> Baby Globe], was introduced.</translate>
<translate><!--T:66--> Readers first met Baby Globe as part of a short term campaign feature called “[[<tvar name=1>m:Special:MyLanguage/Wikipedia 25/Easter egg experiments</tvar>|Birthday mode]]”, where readers on the Wikipedia website saw Baby Globe’s surprise appearance on some articles.</translate>
<translate>
<!--T:3-->
This page covers another short term, celebratory and experimental feature: a 25th birthday reading challenge for mobile app users starring Baby Globe.
</translate>
<translate><!--T:4--> Many readers open the Wikipedia app when they need information, but fewer develop a habit of returning regularly.</translate>
<translate><!--T:67--> Research from previous experiments, including {{<tvar name=1>ll|Wikimedia Apps/Team/Wikipedia Year in Review</tvar>|Year in Review}} and {{<tvar name=2>ll|Wikimedia Apps/Team/Android/Activity Tab Experiment</tvar>|Activity Tab}} experiments, suggests that users enjoy seeing insights about their own activity and progress on Wikipedia.</translate>
<translate><!--T:5--> The Reading Challenge is designed to encourage a simple daily habit: reading one Wikipedia article each day.</translate>
<translate><!--T:37--> By introducing a streak counter, visible progress tracking, and light rewards, the feature aims to motivate readers to return to the app consistently.</translate>
<translate>
<!--T:6-->
This concept is inspired by reading challenges often run by libraries and schools, where participants complete daily reading goals over a set period of time.
== How does the feature work? == <!--T:8-->
=== Joining the challenge === <!--T:9-->
</translate>
<translate><!--T:38--> When users open the app during the challenge period, they will see an announcement inviting them to participate.</translate>
<translate><!--T:39--> Logged-in users can join immediately. Logged-out users will be asked to log in or create an account so their progress can be tracked.</translate>
<translate>
<!--T:72-->
Readers can join the challenge between <tvar name=1>{{ymd|2026|5|11}}</tvar> and <tvar name=2>{{ymd|2026|6|18}}</tvar>.
=== Daily reading === <!--T:10-->
</translate>
<translate><!--T:40--> Participants build their streak by opening at least one Wikipedia article per day.</translate>
<translate><!--T:41--> The goal is to read on 25 consecutive days during the challenge period.</translate>
<translate>
=== Tracking progress === <!--T:11-->
</translate>
<translate><!--T:42--> Users can monitor their streak through the Reading Challenge widget.</translate>
<translate><!--T:43--> The widget will show the number of days completed and whether the user has read an article on the current day.</translate>
<translate>
=== Maintaining streaks === <!--T:12-->
</translate>
<translate><!--T:44--> If a participant misses a day, their streak ends.</translate>
<translate><!--T:45--> If the challenge period is still ongoing, they can start a new streak.</translate>
<translate>
=== Completion === <!--T:13-->
</translate>
<translate><!--T:46--> Participants who reach 25 reading days in a row will automatically receive a reward.</translate>
<translate><!--T:47--> Participants who do not complete the challenge will still be able to see their best streak and overall progress.</translate>
<translate>
== Designs == <!--T:17-->
</translate>
<gallery mode="packed" heights="250">
Wikipedia app Reading Challenge - In app annoucement.png|<translate><!--T:58--> In app announcement</translate>
Wikipedia app Reading Challenge - Add widget 01.png|<translate><!--T:59--> Add widget</translate>
Wikipedia app Reading Challenge - Opt into challenge.png|<translate><!--T:60--> Opt into challenge</translate>
Wikipedia app Reading Challenge - Streak ongoing.png|<translate><!--T:61--> Streak ongoing</translate>
Wikipedia app Reading Challenge - Streak broken.png|<translate><!--T:62--> Streak broken</translate>
Wikipedia app Reading Challenge - Completed challenge.png|<translate><!--T:63--> Completed challenge</translate>
</gallery>
<translate>
== FAQ == <!--T:23-->
=== How do I install the Widget? === <!--T:74-->
</translate>
*<translate><!--T:75--> On Android Devices, long-press on your home screen until a menu pops up.</translate> <translate><!--T:80--> Tap on Widgets, and then search for "Wikipedia".</translate> <translate><!--T:81--> Tap on the Wikipedia App, and then long-press on the Reading Challenge widget to drag it onto your home screen.</translate>
*<translate><!--T:76--> On iOS Devices, long-press on your home screen until a menu appears at the top.</translate> <translate><!--T:82--> Tap Edit > Add widget.</translate> <translate><!--T:83--> Search for "Wikipedia" and then tap on the App.</translate> <translate><!--T:84--> Swipe through widgets until you see the Reading Challenge and then tap "Add Widget".</translate>
{| style="width:100%; text-align:center;"
|style="width:50%; padding-right:20px;"| [[File:Android reading challenge screen recording.webm|180px]]
<br>How to add the Reading Challenge widget (Android)
|style="width:50%; padding-left:20px;"| [[File:IOS reading challenge screen recording.webm|180px]]
<br>How to add the Reading Challenge widget (iOS)
|}
<translate>
=== How do I join the challenge? === <!--T:77-->
</translate>
*<translate><!--T:78--> Follow the instructions above for installing a widget, and then tap "Join challenge" on the widget.</translate> <translate><!--T:85--> Then tap "Join challenge again" in the app again.</translate>
<translate>
=== Can I still use the app without joining the challenge? === <!--T:24-->
<!--T:68-->
Yes. Participation is optional and does not affect normal use of the Wikipedia app.
=== Do I need an account to participate? === <!--T:25-->
<!--T:70-->
Yes, an account is required so the app can track your reading streak.
=== What counts as a reading day? === <!--T:26-->
<!--T:48-->
Opening any Wikipedia article in the app counts as a reading day.
=== What happens if I miss a day? === <!--T:27-->
</translate>
<translate><!--T:49--> If a day is missed, the streak ends.</translate>
<translate><!--T:73--> If it's still before the end date of <tvar name=1>{{ymd|2026|6|18}}</tvar>, you may restart a streak.</translate>
<translate>
=== What are the prizes? === <!--T:28-->
</translate>
<translate><!--T:71--> The prize is a 15% discount to the [<tvar name=1>https://store.wikimedia.org/</tvar> Wikipedia Store].</translate>
<translate><!--T:51--> There may also be a challenge completion badge available within Activity.</translate>
<translate>
=== How can I access the prizes? === <!--T:29-->
<!--T:52-->
Once you have reached 25 days, tap on the widget to open the prizes screen.
=== How long will I be able to access the prizes? === <!--T:30-->
</translate>
<translate><!--T:53--> The prizes will be available until the end of July.</translate>
<translate><!--T:54--> If you apply the badge within Activity, it will remain available after the challenge concludes.</translate>
kpczyyxuhx7gcjopl98iue2mdw2pzhs
Translations:Moderator Tools/Automoderator/25/it
1198
2372364
8390070
8258339
2026-05-24T12:09:15Z
Quinlan83
12969461
8390070
wikitext
text/x-wiki
=== Report dei falsi positivi ===
i3xsbn97yp9ovmpmqc5p6d0e4xtw2eb
Help talk:Extension:CodeMirror/Archive 1
13
2378557
8390453
8280526
2026-05-25T09:20:14Z
ArchiverBot
1174107
Bot: Archiving 2 threads from [[Help talk:Extension:CodeMirror]]
8390453
wikitext
text/x-wiki
{{talk archive}}
== What I'd like to see ==
I've been developping [[s:User:Alien333/cmbb.js|my own syntax highlighter]] (still quite bugged, but haven't had much time to work on it) these days, because this has issues:
* the highlighting is not fully recursive (e.g. italics in templates)
* the table attributes do not have separate styling
* the header/footers of [[Extension:ProofreadPage]] are not supported, although it doesn't seem that it'd be complicated ([[phab:T380262]])
The new version looked good, and brought features, but it has no script compatibility, as .val()ing the textarea(s) does not do anything anymore. This makes it unusable to me.
(I am aware that not everyone has the same opinions as I do or considers all of these issues, just giving some user feedback.) — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 08:44, 2 December 2024 (UTC)
:Hi @[[User:Alien333|Alien333]]!
:* {{tq|the highlighting is not fully recursive (e.g. italics in templates)}}
:*:This ''may'' be possible, but I fear it could come with performance problems. There's also the issue that folks want to know if a chunk of text is ''part'' of a template call (what we call in the code as "grounding"), so there might be visual conflicts that could lead to confusion. Anyway, please feel free to file a task :)<p>The larger issue here is that wikitext is difficult to parse into a grammar-based language tree due to it's superb oddities (consider the [[Help:Images#Syntax|image syntax]], for example). This is why in CodeMirror 6 we still use a [https://codemirror.net/docs/ref/#language.StreamParser StreamParser] – essentially meaning the syntax highlighter tokenizes from "front-to-back", as opposed to MediaWiki which expands variables and templates "inside-out" (something deemed too inefficient for real-time syntax highlighting). So there will always be some tokenizing issues with CodeMirror, I'm afraid.
:* {{tq|the table attributes do not have separate styling}}
:*:That sounds more doable. <code>.cm-mw-table-definition</code> is already applied to attributes, so you can already [[Help:Extension:CodeMirror#Color and style customization|style them]] as you see fit. It shouldn't be too difficult to make a separate token for the attribute and its value, so we would be able to style them separately. Please free to create a task for this request as well!
:* {{tq|the header/footers of [[Extension:ProofreadPage]] are not supported, although it doesn't seem that it'd be complicated ([[phab:T380262]])}}
:*:Indeed, this should be a straightforward integration. I'll make a patch to ProofreadPage when I find the time. Or if you're interested in helping, I think what we'd want is a CodeMirror [https://www.mediawiki.org/wiki/Extension:CodeMirror#PluginModules PluginModule] in ProofreadPage that essentially does the same as the first example at [[Extension:CodeMirror#JavaScript]].<p>Slowly but surely, my hope is to have CodeMirror enabled just about everywhere you see wikitext in an editor (DiscussionTools, MobileFrontend editor, etc.).
:* {{tq|The new version looked good, and brought features, but it has no script compatibility, as .val()ing the textarea(s) does not do anything anymore. This makes it unusable to me.}}
:*:I assume you mean like jQuery's [https://api.jquery.com/val/ val()] method? For CodeMirror 6 (and 5) as well as ''any'' editor in MediaWiki, the preferred means to fetch or make changes to the document is through [https://doc.wikimedia.org/mediawiki-core/master/js/module-jquery.textSelection.html#.$.fn.textSelection jQuery.textSelection]. So for example <code>$( '#wpTextbox1' ).textSelection( 'getContents' )</code> works for CodeMirror (v5 or v6), WikiEditor, the 2003 editor, and even the [[2017 wikitext editor]]. I'll add some notes about this to the docs.
:Hopefully this helps. And please, keep the feedback coming! :) <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:14, 3 December 2024 (UTC)
::(Thanks for answering. It doesn't look like much, but it is certainly refreshing after facing multiple walls of indifference on the MW side, most notably with V22 recently. Thanks for your work, also.)
::For parsing, it is true that we on WS have a peculiar relation to that. Most content pages are quite small (about 600b-2kb), so (in most cases) something that treats the text is unlikely to take too long. Moreover, on the other side, these pages are often markup-heavy (formatting templates all over the place). These two things lead me to preferring thorougher highlighting, but I can understand why it's not the majority opinion. (I don't like grounding, as I find it visually polluting, but that's just my opinion).
::For the tasks, I'll create them at some point, but a bit busy right now.
::Absolutely agree on the putting CM everywhere.
::On textSelection, was aware of its existence, and already used it for caretPosition &c, but didn't think of using it like this. — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:14, 4 December 2024 (UTC)
:I've documented usage of jQuery.textSelection at [[Extension:CodeMirror#Using jQuery.textSelection]]. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:27, 3 December 2024 (UTC)
::I never did tell you completely my reason for disliking grounding and wanting more complete highlighting: It happens, notably for poetry, for most of the content of a page to be inside of a single template. See e.g. [[s:en:Page:Poems Odom.djvu/283]]. Then, the highlighting becomes nearly useless, as everything is purple (because of the grounding), and much of the other highlighting doesn't work inside, so in the end it doesn't bring anything.
::Then again, things like this, where different projects have different kinds of content and so have different preferences, are bound to happen with cross-project stuff. You can't satisfy everyone, and it is understandable to focus on the majority of the users (wikipedians). — [[User:Alien333|Alien]] [[User talk:Alien333|<b style="display:inline-block;line-height:100%;font-size:60%;background-image:linear-gradient(90deg,#007,#077,#070);background-clip:text;color:transparent"> 3<br/>3 3</b>]] 18:25, 10 January 2025 (UTC)
:::@[[User:Alien333|Alien333]] I filed [[phab:T383479]] for this. As it turns out, there may be a solution that works for everyone :) <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 09:11, 11 January 2025 (UTC)
== JS customisation ==
Currently, the section on customising the editor with scripts before/on runtime is very lacking. There is a script on how to call the editor on a random textarea, and there is one on how to write a CodeMirror extension or listen to events, but what if I, for example, want to provide custom keyboard shortcuts to an existing editor? Do I have to write all of that code every single time? Do I need to pass it <code><nowiki>$( '#wpTextbox1' )</nowiki></code>? How does it look like, at all? It feels like extending the editor became more complex but the documentation became much more simple at the same time. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 10:26, 3 December 2024 (UTC)
: Additionally, <code>ext.codeMirror.initialize</code> hook does not actually give out a CodeMirror instance as written in the table. The only parameter [https://gerrit.wikimedia.org/g/mediawiki/extensions/CodeMirror/+/c4baf8393315a516f8b08c7db027e478130791b9/resources/codemirror.js#435 in the relevant code] is <code>this.textarea</code>. @[[User:MusikAnimal|MusikAnimal]]. [[user:stjn|stjn]]<sup>[[:w:ru:user:stjn|[ru]]]</sup> 10:42, 3 December 2024 (UTC)
::Indeed! The docs were mostly written ahead of development in the spirit of [https://gist.github.com/zsup/9434452 DDD] (documentation-driven development – kind of sad there isn't a WP article for this!). <code>ext.codeMirror.initialize</code> is one such example; I just missed it when I finalized the docs. Anyway, the CodeMirror instance will be returned for this hook following [[gerrit:1099840]] ([[phab:T380913]]), and incidentally that improvement will make it easier to add custom shortcuts as well. I will add examples to the docs once it is merged.
::Generally speaking though, we don't yet have a whole lot of abstraction from the native CodeMirror interface (which ''is'' admittedly quite complex). Any and all feedback you have related to that would be great to hear. Some complexity is necessary (there is no global <code>CodeMirror</code> object anymore, for example), but I still want to make it easy to work with as possible.
::So without [[gerrit:1099840]], you'd have to add keyboard shortcuts as an [https://codemirror.net/docs/ref/#state.Extension Extension] using the [https://codemirror.net/docs/ref/#view.KeyBinding KeyBinding] interface and the [https://codemirror.net/docs/ref/#view.keymap keymap Facet]: <syntaxhighlight lang="js">
mw.loader.using( [ 'ext.CodeMirror.v6', 'ext.CodeMirror.v6.mode.mediawiki' ] ).then( ( require ) => {
const CodeMirror = require( 'ext.CodeMirror.v6' );
const { EditorView, keymap } = require( 'ext.CodeMirror.v6.lib' );
const myKeybindingExtension = keymap.of( /** @type {KeyBinding} */ {
key: 'F1',
run( /** @type {EditorView} */ view ) {
// Do stuff
}
} );
const mediawikiLang = require( 'ext.CodeMirror.v6.mode.mediawiki' );
const cm = new CodeMirror( $( 'textarea' ) );
cm.initialize( [ cm.defaultExtensions, mediawikiLang(), myKeybindingExtension ] );
} );
</syntaxhighlight>
::or append your Extension after initialization, assuming you still have the CodeMirror instance: <syntaxhighlight lang="js">
codeMirrorInstance.view.dispatch( {
effects: StateEffect.appendConfig.of( myKeybindingExtension )
} );
</syntaxhighlight>
::And later, after we have the <code>CodeMirrorKeymap</code> interface: <syntaxhighlight lang="js">
codeMirrorInstance.keymap.registerKeymapHelp( 'other', 'unique-id', myKeybindingExtension, codeMirrorInstance.view );
</syntaxhighlight>
::But as I'm writing this out, I'm realizing I could make this even simpler. I also don't know that every client who wants to add a keystroke will want it to be documented in the keyboard shortcuts dialog, so there might be a separate <code>registerKeymap()</code> method, too. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 18:34, 3 December 2024 (UTC)
== Feedback from Wikisource user ==
Hello, I've been trying out new syntax highlighter while proofreading books in Ukrainian Wikisource and would like to give some feedback.
One of the issues I've noticed is that Ctrl+I (for italics) and Ctrl+B for bold text do not work with highlighter turned on. Ctrl+I selects all the text on the page. Ctrl+B opens bookmarks in browser. I am not sure if it was intentional decisions to disable those hotkeys, but would be nice if they worked. It is quite convenient to proofread with syntax highligther turned on.
I would also like to request a feature that might be useful for languages that use Cyrillic script. In Ukrainian alphabet there are a lot of letter that look identical to the Latin one (а & a; і & i; с & c etc.) and it is quite a hassle for Wikisource editors to deal with mix of these scripts in books. Would it be possible to have user set a list of characters that would be highlighted in the wikieditor? Currently, there are already some gadgets on Ukrainian Wikisource that do the highlighting of Latin characters, but they can only do that while viewing page, not during the editing. [[User:Bicolino34|Bicolino34]] ([[User talk:Bicolino34|talk]]) 15:10, 18 December 2024 (UTC)
:Hi @[[User:Bicolino34|Bicolino34]], thanks for the feedback! I'm happy to report keyboard shortcuts for wikitext formatting ([[phab:T380913]]) should arrive in the new year, when the next deployment goes out (we have a "code freeze" until then).
:Regarding custom highlighting of characters; That is certainly possible, but currently you'd need to do a bit of the coding yourself. I wonder if a new gadget is the proper way to go, or if this could be built into CodeMirror. Conceivably, I can imagine a desire to highlight any arbitrary list of words/phrases. I'll think about it and get back to you! Either way, I can help come up with a solution for your wiki, at least.
:You didn't mention it, but as a Wikisourcer, you should know I intend to also have syntax highlighting enabled for headers and footers in [[Extension:ProofreadPage]]. So you can look forward to that as well :)
:Best, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 06:16, 20 December 2024 (UTC)
== Problems with scripts ==
I don't know if it is a problem with the script or the extension, but I noticed that when this syntax highlight is active, [[:pt:Usuário:Luizdl/Script de ajustes.js]] can't apply its fixes. This script is basically a find and replace to translate citation templates, so <code><nowiki>{{cite book |last=Bloggs |first=Joe |author-link=Joe Bloggs |date=1974 |title=Book of Bloggs}}</nowiki></code> becomes <code><nowiki>{{citar livro |último=Bloggs |primeiro=Joe |autorlink=Joe Bloggs |data=1974 |título=Book of Bloggs}}</nowiki></code>. [[User:Vinickw|<span style="background:#C00;color:#FFF;border-radius:6px 0 0 6px;padding:2px 4px 2px 5px;">Vinickw</span>]]‍[[User talk:Vinickw|<span style="background:#D92;color:#FFF;border-radius:0 6px 6px 0;padding:2px 5px 2px 3px">✉</span>]] 11:42, 27 January 2025 (UTC)
:@[[User:Vinickw|Vinickw]] The script assumes the 2003 editor is being used. It should instead use [https://doc.wikimedia.org/mediawiki-core/master/js/module-jquery.textSelection.html#.$.fn.textSelection jQuery.textSelection] to fetch and change the contents of the textarea. This will make it work in all editors, including CodeMirror. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 18:16, 11 February 2025 (UTC)
== Wikilinks in images ==
{{tracked|T108447|resolved}}
It seems that in images, if you do something like
<code><nowiki>[[Image:sample.png|thumb|This is an [[image]]...]]</nowiki></code>
The syntax highlighter "closes" the image at the first <code>]]</code>. That doesn't feel like correct behaviour. [[User:Ifly6|Ifly6]] ([[User talk:Ifly6|talk]]) 01:57, 5 February 2025 (UTC)
:Indeed! This is [[phab:T108447]]. I can't say when it will be fixed, but it's on our radar. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 18:21, 11 February 2025 (UTC)
== Ref selection ==
Hi,
Until recently, when I selected a ref, the whole ref was indicated as selected. Now, only a part, and if the ref contains a model, the whole ref no longer indicates selection. Without this tool, the ref is selectable again.
I posted images on the French Wikimedia Discord, [https://discord.com/channels/537685109718122506/537685109718122510/1337767587190407261 see here].
Cordially. —[[User:Eihel|Eihel]] ([[User talk:Eihel|talk]]) 13:14, 8 February 2025 (UTC)
:Sorry about that! This should be fixed with this week's deployment train. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 18:17, 11 February 2025 (UTC)
== Improved Syntax Highlighting issue at [[:vi:Thành viên:Bdanh|viet wiki]] ==
This tool has been completely down for weeks (for me at viwiki), it doesn't highlight anything. Is this an error, please tag me so I can get notified, thank you~ [[User:Bdanh|Bdanh]] ([[User talk:Bdanh|talk]]) 02:40, 15 February 2025 (UTC)
:@[[User:Bdanh|Bdanh]] Did you disable it? There's the Beta Preference but also the syntax highlighting preference. See [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Enabling|mw:Help:Extension:CodeMirror]] for more information. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 17:55, 16 February 2025 (UTC)
::@[[User:MusikAnimal|MusikAnimal]]: Oh yeah thanks, I had turned it on in the "Beta features" tab, but was not aware about the "Syntax highlighting" toggle in the "Editing" tab. [[Special:Contributions/2402:800:62D1:BB93:64CB:F011:6C8F:6CE8|2402:800:62D1:BB93:64CB:F011:6C8F:6CE8]] 02:28, 17 February 2025 (UTC)
:::<small><span class="autosigned">— Preceding [[Special:MyLanguage/Help:Signatures|unsigned]] comment added by [[User:Bdanh|Bdanh]] ([[User talk:Bdanh|{{int:talkpagelinktext}}]] • [[Special:Contributions/Bdanh|{{int:contribslink}}]]) </span></small><!-- Template:Unsigned -->
== Find (Ctrl+F) does not work ==
When Syntax highlight is active, I find my browser does not find the matching text in the source. Find and replace in the Wikitext editor works fine. [[User:慈居|慈居]] ([[User talk:慈居|talk]]) 07:18, 20 February 2025 (UTC)
:@[[User:慈居|慈居]] This is necessary for performance (more info at [[phab:T303664]]). I have wondered though, it may make sense to auto-focus on the textarea? Then you wouldn't need to first click within the textarea and then run {{key press|Ctrl|F}}. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 20:52, 20 February 2025 (UTC)
::Thanks for the info. That would be fine for me. [[User:慈居|慈居]] ([[User talk:慈居|talk]]) 22:04, 20 February 2025 (UTC)
== Syntax Highlighting Feedback ==
Hey! First off I love this extension, it really makes editing on Wikisource way easier to deal with! Huge thanks to everyone involved.
I do have one request: an option to toggle auto bracket completion. Bracket completion tends to clash with using the United States-International keyboard, which I like for easily typing special characters. I figure that a toggle option would be the easiest fix, and it might cover a range of similar issues.
—[[User:SpikeShroom|SpikeShroom]] ([[User talk:SpikeShroom|talk]]) 07:38, 11 July 2025 (UTC)
:Thanks for the kind words! We have a [[gerrit:1168412|patch]] up for review that adds a preference for auto-closing brackets. However I think we may want to tackle [[phab:T393664]] first, since the list of preferences is growing, and with each one it obstructs the editor even more. Stay tuned :) <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 17:00, 24 July 2025 (UTC)
== Bad shortcuts ==
@[[User:MusikAnimal|MusikAnimal]] <del>Ctrl-Shift-\ is unusable on Spanish keyboards as \ alone needs AltGr as modifier. The proposed combo does nothing while editing here on mw.org. I strongly suggest to change this to something else.</del>
I have just checked all the shortcuts listed in the page. All of these are problematic:
*Ctrl-Shift-/ just enters a comment here. I have yet to see the famous shortcuts panel :)
*Alt-left and Alt-right go to the BOL and EOL respectively when the line is plain text, otherwise it will jump to template beginnings/ends and formatting like <code><nowiki>''</nowiki></code>. Quite unpredictable this one.
*Ctrl-7 inserts " Preformatted" (no {{tag|pre}} tags) if nothing is selected. If something is selected, it adds a space before the selection.
*Ctrl-k is duplicated (insert link, insert reference). The latter never happens.
*Ctrl-Shift-[ and Ctrl-Shift-] to fold/unfold code are unusable on Spanish keyboards since [] require AltGr as modifier. The required four-key combo does nothing.
*Ditto for Ctrl-Alt-[ and Ctrl-Alt-]
*Alt+click & drag clashes with a system wide feature that drags whole windows on Linux.
If you edit the page, I also suggest you avoid using Alt when you actually mean AltGr.
If you want to keep iterations to the minimum, I suppose I can check myself a fair chunk of the possible combinations except for non-ISO/ANSI layouts or macOS, with anything 1.44 compatible. Or, just let wikipedians be your guinea pig and pray they do report any issues, though I suspect the vast majority is using VE these days.
[[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 12:24, 23 July 2025 (UTC)
:@[[User:Tactica|Tactica]] Thanks for the feedback!
:*{{tq|Ctrl-Shift-/ just enters a comment here. I have yet to see the famous shortcuts panel :)}}
::Nice to hear that it's famous! :-P The comment shortcut is {{key press|Ctrl|/}}, so it's as if {{key press|Shift}} isn't being recognized in your case. I'm not sure why. You can also see the help dialog in WikiEditor by going to "Advanced", clicking on the settings icon towards the right, then clicking on the "Keyboard shortcuts" link in the settings panel. The settings panel should also be accessible with {{key press|Ctrl|Shift|,}}.
:*{{tq|Alt-left and Alt-right go to the BOL and EOL respectively…}}
::I had documented this incorrectly (now [[Special:Diff/7766798|corrected]]). {{key press|Ctrl|Left}} and {{key press|Ctrl|Right}} are for moving between words (more specifically, a group of word or non-word (but also non-space) characters). {{key press|Alt|Left}} and {{key press|Alt|Right}} are for jumping to the next syntactic element.
:*{{tq|Ctrl-7 inserts " Preformatted" … If something is selected, it adds a space before the selection.}}
::Noted! This is a bug that we can fix. I guess if something is selected, it should be wrapped in {{tag|pre}}?
:*{{tq|Ctrl-k is duplicated (insert link, insert reference). The latter never happens.}}
::Another documentation boo-boo (now fixed). Insert reference should be {{key press|Ctrl|Shift|K}}.
:*{{tq|Ctrl-Shift-[ and Ctrl-Shift-] to fold/unfold code are unusable on Spanish keyboards since [] require AltGr as modifier. … Ditto for Ctrl-Alt-[ and Ctrl-Alt-]}}
::I'm not sure what to do here. It seems there's little chance of finding keyboard shortcuts that work the same for ''everyone''. This one has been out in the wild for some time and some folks may have muscle memory at this point. I'm not aware of a foolproof way to determine the user's keyboard layout. Please share if you have any suggestions :)
:*{{tq|Alt+click & drag clashes with a system wide feature that drags whole windows on Linux.}}
::I am using Ubuntu 22.04 and this does not happen for me, but quick research shows this indeed is common behaviour for Linux environments. I'm not how to prevent it, or what a suitable alternative would be. It may be that this simply won't work unless you disable window dragging on your machine. Being a rather niche feature, I hope it won't prove to be much of a problem.
:* {{tq|I also suggest you avoid using Alt when you actually mean AltGr.}}
::I'm afraid I'm not sure how to know when AltGr is used over Alt! You'd need to tell me. Even then, what would this mean to users who don't have an AltGr key? Would we need to make a new column for AltGr keyboards, like we have for MacOS?
:Grateful for all the feedback, and your kind offer to assist with testing :) <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 01:02, 24 July 2025 (UTC)
::*{{tq|Ctrl-7 inserts " Preformatted" … If something is selected, it adds a space before the selection.}}
:::This behavior is the same as VisualEditor.
::*{{tq|I guess if something is selected, it should be wrapped in {{tag|pre}}?}}
:::{{tag|pre}} completely prevents Wikitext syntax inside it, so it is unlikely to be a good option.
::*{{tq|Ctrl-Shift-[ and Ctrl-Shift-] to fold/unfold code are unusable on Spanish keyboards since [] require AltGr as modifier. … Ditto for Ctrl-Alt-[ and Ctrl-Alt-]}}
:::If necessary, maybe someone should file an [https://codemirror.net/docs/ref/#language.foldKeymap upstream issue].
::[[User:析石父|析石父]] ([[User talk:析石父|talk]]) 01:15, 24 July 2025 (UTC)
:::The {{tag|pre}} tags exist to surround preformatted text, there's nothing wrong with inserting them for that purpose. CodeMirror can't think for you, you're supposed to know what you're doing :-) As for reporting issues upstream, I'll let someone who knows about this stuff do it if they deem that necessary.
:::What do you think about the proposed changes so far? An opinion from someone using a JIS keyboard would be nice to have as I presume is your case. [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 03:44, 24 July 2025 (UTC)
::All right, let's go with round #2 then :)
::* Ctrl+Shift+- to open the <del>shortcuts</del> settings panel won't do because Ctrl+- reduces page size (magnification) on Firefox and that takes precedence. However, Ctrl+< is free for the taking, it's quite distinctive from common shortcuts and might just work if that's agreeable. Ctrl+Shift+< (effectively Ctrl+>) might be made to open the shortcuts panel?{{not done}}
::* Ctrl+left/right works for plain text. It gets a bit confused with markup but that's acceptable.{{done}}
::* Ctrl+7 should insert {{tag|pre}} tags if you want the behaviour to match the documentation, yes.
::* Ctrl+Shift+k does work and inserts references as intended.{{done}}
::* Ctrl+9 and Ctrl+Shift+9 are free on Spanish keyboards with Firefox. They could be used for fold/unfold code respectively instead of the current Ctrl+Shift+[ and Ctrl+Shift+] resp.
::* To fold/unfold all code, on Spanish keyboards Ctrl+' and Ctrl+Shift+' could work. ' is to the right of 0 (zero) and it would be kinda consistent with the previous change.
::* Rectangular selection: dunno how or why but while googling how this is done on other editors, I noticed Ctrl+Alt+click&drag works for me, at least on Linux with Firefox. Specifically, it adds a rectangular selection, letting me create several of them. Both Ctrl+Alt+click or just Ctrl+click also create additional cursors. I hope this is good news? :)
::Anyway, bear in mind that we're just changing things quickly but all this would need proper testing with a wide range of setups. What works for me might not work on certain keyboard layouts or with a specific web browser. But let's try and have the basics covered first, including the documentation :) [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 03:31, 24 July 2025 (UTC)
:::*{{tq|An opinion from someone using a JIS keyboard would be nice to have as I presume is your case.}}
::::No, I'm Chinese.
:::*{{tq|Ctrl+7 should insert {{tag|pre}} tags if you want the behaviour to match the documentation, yes.}}
::::No, '''preformateed text''' actually means [[Help:Formatting#Text_formatting_markup|this]].
:::*{{tq|Ctrl+9 and Ctrl+Shift+9 are free on Spanish keyboards with Firefox. They could be used for fold/unfold code respectively instead of the current Ctrl+Shift+[ and Ctrl+Shift+] resp.}}
::::We should not simply replace the shortcuts because they are the CodeMirror defaults. Maybe we can add aliases so something will work for Spanish keyboard.
:::[[User:析石父|析石父]] ([[User talk:析石父|talk]]) 05:01, 24 July 2025 (UTC)
:::@[[User:Tactica|Tactica]]:
:::*{{tq|Ctrl+Shift+- to open the shortcuts settings panel won't do …}}
::::*Sorry, I meant to say {{key press|Ctrl|Shift|,}} (comma, not a dash!). :facepalm:
:::*{{tq|Rectangular selection: dunno how or why but while googling how this is done on other editors, I noticed Ctrl+Alt+click&drag works}}
::::Sounds like a prime candidate for an alias! More on that below.
:::[[User:析石父|析石父]] is right about the preformatted text. I had forgotten that it is distinct from {{tag|pre}}, with wikitext parsed to some degree. Proper "preformatted" text has exactly one space at the beginning of the line, so maybe it's reasonable to apply that transformation to all lines the selection covers? Frankly, I the VisualEditor behaviour might be a bug, too.
:::<p>As 析石父 said, we can probably alias the code folding shortcuts, too. It's just a matter of finding ones that are the least intrusive to users who ''don't'' need those shortcuts. Currently we have knowledge of the browser and operating system (mac/win/Linux), but no knowledge of the keyboard or its layout. So any aliases for this purpose might more need thorough testing.
:::Later down the road (1-2 months) we hope to have an "Advanced settings" dialog, where we might add all tons of settings. One preference could be to add aliases of keyboard shortcuts. That way individual or even keyboard-layout-specific groups of users can select their keyboard type, or something. Certainly for a different task :) <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 06:05, 24 July 2025 (UTC)
::::OK, I confirm Ctrl+Alt+, does open the settings panel. As for preformatted text, without being more specific reading the help page I immediately think of {{tag|pre}} so this needs changing to prevent confusion. Note also that currently Alt+right/left to jump betweeen syntactic elements isn't documented at all neither in the help page or the shortcuts panel. Translations will have to be updated accordingly, but I guess that should do it for now until that advanced settings dialog you mention is implemented. The plan with aliases sounds good to me too. :-)
::::Edit: While you update the Help page, you might consider linking to [[VisualEditor/Portal/Keyboard shortcuts]] for reference purposes when you mention possible discrepancies with the 2017 editor shortcuts, IF that's the right page. I'm not entirely sure.... [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 13:05, 24 July 2025 (UTC)
== No syntax highlighting appears (en.WP) ==
I enabled this beta feature on my en.WP account and disabled the syntax highlighter gadget, which I have been using forever. I see no highlighting at all when I open a page for editing. My text area does not have any editing toolbars (I disabled them to regain some of the limited vertical space that the skin changes kept taking away), if that makes a difference. I looked through this help page but did not see any troubleshooting tips. What am I missing? [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 01:34, 9 September 2025 (UTC)
:Follow-up: I tried enabling the "editing toolbar", which then shows me basic syntax highlighting, but the LintHint script does not function properly, at least at [https://en.wikipedia.org/wiki/Wikipedia:Administrators%27_noticeboard/Archive76 this en.WP page]. The LintHint error list does not let me jump down to a given error that it has identified (I click and nothing happens in the edit window). Also, when I click on an "edit" link from [https://en.wikipedia.org/w/index.php?title=Special:LintErrors&wpNamespaceRestrictions=4&titlesearch=Administrators%27+noticeboard%2FArchive76&exactmatch=1 a page's list of Linter errors], the section of the page is initially shown as highlighted in the edit window, and then the edit window is completely redrawn and the top of the page's wikitext is shown in the edit window instead of the highlighted section where the Linter error is. This looks unusable for fixing Linter syntax errors, which is the main thing I use syntax highlighting for. Am I finding bugs, or am I doing something wrong? [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 01:43, 9 September 2025 (UTC)
::Hey! Sorry you're having trouble using it. First things first: I know it's weird, but you have to not only enable the beta preference but also [[Help:Extension:CodeMirror#Enabling|enable the preference]]. I guess this wasn't as obvious given you weren't using WikiEditor. I will try to fix that so the preference gets set when you enable the beta feature.
::I see the issue you're talking about with [[Extension:Linter]]. Having the <code>lintid</code> in the URL is not supposed to make it jump to the top of the page like that. We will get this fixed. Thanks for reporting :)
::It's funny you bring up linting! Coming ''this Thursday'' (for enwiki) there will be a new [[Help:Extension:CodeMirror#Linting|linting tool]] built right into CodeMirror! This does not use integration with [[Extension:Linter]], though it should report the same issues, along with many other potential issues. The list of rules we're trying out on this trial run are at [[Help:Extension:CodeMirror/Wikitext linting]]. Your feedback would be most welcomed! Note this feature is not meant to replace Extension:Linter or be any authority; rather it's just a tool to aid in identifying possible problems.
::Thanks for the feedback, <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 06:32, 9 September 2025 (UTC)
::Regarding the textarea scrolling issue, I can reproduce it with CodeMirror disabled, which means that it is a bug of Extension:Linter instead of Extension:CodeMirror.[[User:析石父|析石父]] ([[User talk:析石父|talk]]) 05:25, 10 September 2025 (UTC)
:::I think it might be WikiEditor, but indeed, it's not CodeMirror. I will still try to fix it. I recall Linter + WikiEditor + CodeMirror working as expected before. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 19:15, 10 September 2025 (UTC)
::::Some responses:
::::#<s>On en.WP, I do not have a "Syntax highlighting" section in my Editing preferences tab, so I don't think I can enable this feature there. </s>
::::#It may be confusing to have two different things called "Linting/Linter" that look for different issues. You might want to choose a different name for this new syntax checker.
::::I won't be able to provide any feedback until I can enable this feature on en.WP, but I look forward to trying it out when it is ready. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 21:56, 11 September 2025 (UTC)
:::::Follow-up: I did some additional clicking and found that I had to enable the Beta feature first, and only then would the "Syntax highlighting" section in my Editing preferences tab. I will play with this new syntax highlighter after the above Linter "edit link redraws the editing window showing the top of the page" error is fixed, and provide feedback. [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 22:41, 11 September 2025 (UTC)
:::::While I agree that the linting feature in CM does add a bit of redundancy over the functionality provided by [[Extension:Linter]], they are both based on the same base concept, so calling both "linting" is fine with me, CM's just happens to be more specific than Linter's broader checks, and it is also implemented at a higher level in the food chain. I think it would be more confusing if this used an arbitrary name such as "debugger", "error checker" or whatever. :-)
:::::If I were to change something right now in CM that would be the naming of the "advanced" link in the preferences. Those settings are not just "advanced" but the whole lot in a single place so I'd relabel the link as "See all prefs" or something like that.
:::::PS. {{ping|MusikAnimal}} The descriptions for Ctrl+] and Ctrl+[ in the keyboard shortcuts popup are both wrong ;-) [[User:Tactica|Tactica]] ([[User talk:Tactica|talk]]) 21:56, 15 September 2025 (UTC)
::::::Indeed, [[wikt:lint#Verb|lint]] is a term, not a name :) [[Extension:Linter]] is an authoritative source of linting errors produced by [[Parsoid]]. CodeMirror's linter supplements that with additional checks in real-time as you are editing, and eventually will allow individual wikis or users to customize their own rules ([[phab:T394964|T394964]]).
::::::"See full preferences" is a good alternative for the current "advanced" link, though there was intent in using the word "advanced" since those in the panel (not dialog) are meant to be easy to understand and with immediate visual effects. I'll note also the preferences panel is only accessible under the "Advanced" section of WikiEditor! For sure, having to click ''two'' "advanced" links to get to the dialog is excessive. Related, I'm currently proposing to move the "Settings" and "Search" icons to the main toolbar ([[phab:T404543|T404543]]).
::::::I will fix the incorrect messaging for tab indentation. Thanks for pointing that out! <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 02:30, 16 September 2025 (UTC)
== feedback ==
activated today on it.wiki, I disabled it because it's incompatible with "popupOnEditSelection" option in [[:en:Tools/Navigation popups|Navigation popups]]. [[User:Valepert|Valepert]] ([[User talk:Valepert|talk]]) 18:34, 24 November 2025 (UTC)
:I think can be fixed with some changes to Nav Popups. Specifically, Popups should use [[Extension:CodeMirror#Using jQuery.textSelection|jQuery.textSelection]] to get the contents of the selections, since the editor in this case is CodeMirror and not the native one. <span style="font-family:sans-serif">— <span style="font-weight:bold">[[User:MusikAnimal|<span style="color:black; font-style:italic">MusikAnimal</span>]] <sup>[[User talk:MusikAnimal|<span style="color:green">talk</span>]]</sup></span></span> 07:54, 26 November 2025 (UTC)
5ry5xxurtzcn8y7uva3dzgwwu14ychy
Wikimedia Quality Services/Automated tests available
0
2381422
8390246
8389610
2026-05-25T05:05:06Z
VWalters-WMF
17613640
Update browser test listing (automated)
8390246
wikitext
text/x-wiki
''Last updated: 2026-05-25 05:05:04 UTC | 44 repos | 380 tests | Updated daily by an [https://toolsadmin.wikimedia.org/tools/id/browser-test-scanner/info/id/3314 automated cron job on Toolforge]. To update which repos appear here, edit [https://gitlab.wikimedia.org/repos/test-platform/misc-scripts/browser-test-scanner/-/blob/main/repos.txt repos.txt].''
=== WebDriverIO ===
{| class="wikitable sortable"
! Extension !! wdio !! wdio-mediawiki !! [https://integration.wikimedia.org/ci/job/quibble-with-gated-extensions-selenium-php83/ Gated selenium] !! Daily (7d) <span class="oo-ui-widget oo-ui-widget-enabled oo-ui-buttonElement oo-ui-buttonElement-frameless oo-ui-iconElement oo-ui-buttonWidget oo-ui-popupButtonWidget" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed." style="cursor:help"><span class="oo-ui-buttonElement-button" role="button" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed." tabindex="0"><span class="oo-ui-iconElement-icon oo-ui-icon-info" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed."></span><span class="oo-ui-labelElement-label oo-ui-labelElement-invisible">Info</span><span class="oo-ui-indicatorElement-indicator oo-ui-indicatorElement-noIndicator"></span></span></span> !! Tests
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/AbuseFilter AbuseFilter] || 9.27.0 || 6.5.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 23" data-collapsetext="Hide"><span style="white-space:nowrap">23 tests</span>
<div class="mw-collapsible-content">
* Special:AbuseFilter > page should exist on installation
* Special:AbuseFilter > page should have the button for creating a new filter
* Filter editing > The editing interface > is visible to logged-in admins
* Filter editing > Trying to open a non-existing filter > I should receive an error
* Filter editing > Creating a new filter > edit can be saved (1)
* Filter editing > Creating a new filter > saved data is retained (1)
* Filter editing > Editing an existing filter > edit can be saved (2)
* Filter editing > Editing an existing filter > saved data is retained (2)
* Filter editing > Restoring an old version of a filter > edit can be saved (3)
* Filter editing > Restoring an old version of a filter > saved data is retained (3)
* Filter editing > CSRF protection > a CSRF token is required to save the filter
* Filter editing > CSRF protection > even if the token is invalid, the ongoing edit is not lost
* Filter editing > Trying to save a filter with bad data > cannot save an empty filter
* Filter editing > Trying to save a filter with bad data > cannot save a filter with rules but no name
* Filter editing > editing interface is not visible to logged-out users
* When importing a filter > the interface should be visible
* When importing a filter > it should redirect to ViewEdit after submission
* When importing a filter > bad data results in an error
* When importing a filter > valid data shows the editing interface
* When importing a filter > Data on the editing interface is correct > filter specs are copied
* When importing a filter > Data on the editing interface is correct > filter flags are copied
* When importing a filter > Data on the editing interface is correct > filter actions are copied
* When importing a filter > Data on the editing interface is correct > the imported data can be saved
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/AchievementBadges AchievementBadges] || 7.40.0 || 2.7.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* Special:Achievements > shows a logged-in user hint of long-user-page
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/AdvancedSearch AdvancedSearch] || 9.27.0 || 6.5.0 || || data-sort-value="0.0000" | <span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-AdvancedSearch/ 0/7]</span> <span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-destructive)">F</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 10" data-collapsetext="Hide"><span style="white-space:nowrap">10 tests</span>
<div class="mw-collapsible-content">
* Advanced Search > inserts advanced search elements on search page
* Advanced Search > allows logged-in users to remember the selection of namespaces for future searches
* Advanced Search > selects the users default namespaces when logged in
* Advanced Search > selects the namespaces from the URL
* AdvancedSearch > namespace selection
* AdvancedSearch > re-adds filetype namespace after search when file type option has been selected but namespace has been removed
* AdvancedSearch > adds/removes the namespace tag when the namespace option is clicked
* Advanced Search > adds search parameters to pagination links
* Advanced Search > submits the search on enter when there is no text in "These Words" field
* Advanced Search > submits the search with the specific chosen language
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CampaignEvents CampaignEvents] || 9.23.2 || 6.3.0 || {{Yes}} || data-sort-value="0.8571" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/catalyst-daily-CampaignEvents/ 7/7]</span><br><span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-CampaignEvents/ 5/7]</span> <span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 12" data-collapsetext="Hide"><span style="white-space:nowrap">12 tests</span>
<div class="mw-collapsible-content">
* Edit Event Registration > can allow organizer to update event page and dates
* Edit Event Registration > can allow organizer to change the event to be in person
* Edit Event Registration > can allow organizer to change the event to be online and in-person
* Edit Event Registration > can allow organizer to add an additional organizer
* {{Daily badge}} Enable Event Registration > is configured correctly
* {{Daily badge}} Enable Event Registration > requires event data
* {{Daily badge}} Enable Event Registration > can be enabled
* Event page > can have one user register publicly
* Event page > can have one user register privately
* Event page > can have a user cancel registration
* MyEvents > can allow organizer to search events by name
* MyEvents > can allow organizer to delete registration of first event in My Events
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Cargo Cargo] || 9.18.4 || 4.1.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* Special:CargoTables > displays table information
* Special:Drilldown > displays table name with proper page count
* Special:Drilldown > displays proper data when drilling down
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralNotice CentralNotice] || 9.19.2 || 4.1.3 || || data-sort-value="0.8571" | <span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-CentralNotice/ 6/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* CentralNotice > banner is displayed on Main Page
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CirrusSearch CirrusSearch] || 9.19.2 || 4.1.3 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* Smoke test for search > Search suggestions
* Smoke test for search > Fill in search term and click search
* Smoke test for search > Search with accent yields result page with accent
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CodeMirror CodeMirror] || 9.23.2 || 6.5.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 25" data-collapsetext="Hide"><span style="white-space:nowrap">25 tests</span>
<div class="mw-collapsible-content">
* CodeMirror code folding for the wikitext 2010 editor > folds the template parameters via the button
* CodeMirror code folding for the wikitext 2010 editor > expands the template parameters via the button
* CodeMirror code folding for the wikitext 2010 editor > folds the extension tag via the button
* CodeMirror code folding for the wikitext 2010 editor > expands the extension tag via the button
* CodeMirror code folding for the wikitext 2010 editor > folds all via keyboard shortcut
* CodeMirror code folding for the wikitext 2010 editor > expands all via keyboard shortcut
* CodeMirror code folding for the wikitext 2010 editor > folds all <ref> tags via keyboard shortcut
* CodeMirror bracket match highlighting for the wikitext 2010 editor > highlights matching bracket
* CodeMirror bracket match highlighting for the wikitext 2010 editor > matches according to cursor movement
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > opens with the CodeMirror view displayed and focus set on the VE surface
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > updates CodeMirror with VE document changes
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > retains content when CodeMirror is disabled and maintains focus on VE surface
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > retains content when CodeMirror is re-enabled
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > adjusts gutter accordingly when pasting many lines of wrapping text
* CodeMirror (enabled) - VisualEditor 2017 wikitext editor > should only load necessary modules when the CodeMirror preference is unset
* CodeMirror textSelection for the wikitext 2010 editor > sets and gets the correct text when using setContents and getContents
* CodeMirror textSelection for the wikitext 2010 editor > has usage of .val() routed to CodeMirror
* CodeMirror textSelection for the wikitext 2010 editor > sets and gets the correct selection when using setSelection and getSelection
* CodeMirror textSelection for the wikitext 2010 editor > correctly replaces the selected text when using replaceSelection
* CodeMirror textSelection for the wikitext 2010 editor > returns the correct values for getCaretPosition
* CodeMirror textSelection for the wikitext 2010 editor > correctly wraps the selected text when using encapsulateSelection
* CodeMirror textSelection for the wikitext 2010 editor > correctly inserts the 'peri' option when using encapsulateSelection
* CodeMirror textSelection for the wikitext 2010 editor > applies 'pre'/'post' to each line when 'splitlines' is used with encapsulateSelection
* CodeMirror textSelection for the wikitext 2010 editor > scrolls to the correct place when using scrollToCaretPosition
* CodeMirror textSelection for the wikitext 2010 editor > retains the contents after turning CodeMirror off
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CommunityRequests CommunityRequests] || 9.18.4 || 6.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 6" data-collapsetext="Hide"><span style="white-space:nowrap">6 tests</span>
<div class="mw-collapsible-content">
* WishlistIntake wish submission > should prompt logged out users to login
* WishlistIntake wish submission > should show the form with VisualEditor when browsing to the intake form
* WishlistIntake wish submission > should show errors when submitting an incomplete form
* WishlistIntake wish submission > should not show an error if a title is over 100 chars because of translate tags
* WishlistIntake wish submission > should hide errors if all required fields are filled in on submission
* WishlistIntake wish submission > should show all the data entered in the form
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ConfirmEdit ConfirmEdit] || 9.27.0 || 6.5.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* ConfirmEdit > Main page should be accessible
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ContactPage ContactPage] || 9.18.4 || 6.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* ContactPage on Version page > ContactPage is listed in the version page under the special page category
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ContentTranslation ContentTranslation] || 9.19.2 || 4.1.3 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 5" data-collapsetext="Hide"><span style="white-space:nowrap">5 tests</span>
<div class="mw-collapsible-content">
* Unified Dashboard - Desktop - New translation > should allow publishing a new translation started through search
* Unified Dashboard - Suggestions > should show suggestions tab
* Unified Dashboard - Suggestions > should allow user to save/unsave a suggestion for later
* Unified Dashboard - Suggestions > should allow dismissing a suggestion
* Unified Dashboard - Suggestions > should allow refreshing suggestions
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/core Core] || 9.23.2 || 6.5.2 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 23" data-collapsetext="Hide"><span style="white-space:nowrap">23 tests</span>
<div class="mw-collapsible-content">
* Special:SpecialPages > should not have Edit link
* User > should be able to log in without page object
* Main page > should have edit link when using expect
* Main page > should have edit link when using mocha
* API > Main Page should exist
* API > Missing Page should not exist
* Page > should be previewable
* Page > should be creatable
* Page > should be re-creatable
* Page > should be editable
* Page > should have history
* Page > should be undoable
* Page admin actions > should be deletable
* Page admin actions > should be restorable
* Page admin actions > should be protectable
* Special:RecentChanges > shows page creation
* Temporary user > should not see signup form fields relevant to named users
* Temporary user account creation > should be able to create account
* User > should be able to create account
* User > should be able to log in
* User > named user should see extra signup form fields when creating an account
* User > should be able to block a user
* BlankPage > should have its title
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo Echo] || 9.23.2 || 6.3.0 || {{Yes}} || data-sort-value="0.8571" | <span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-Echo/ 6/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 4" data-collapsetext="Hide"><span style="white-space:nowrap">4 tests</span>
<div class="mw-collapsible-content">
* {{Daily badge}} Echo > alerts and notices are visible after logging in
* {{Daily badge}} Echo > flyout for alert appears when clicked
* {{Daily badge}} Echo > flyout for notices appears when clicked
* {{Daily badge}} Notifications > checks for Notifications Page
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ElectronPdfService ElectronPdfService] || 9.18.4 || 6.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* ElectronPdfService > pdf download button is visible
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/examples examples] || 9.23.2 || 6.5.2 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* api > can create a user
* api > can read a page
* Examples > is configured correctly
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/FacetedCategory FacetedCategory] || 9.20.1 || 4.1.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 2" data-collapsetext="Hide"><span style="white-space:nowrap">2 tests</span>
<div class="mw-collapsible-content">
* Special:CategoryIntersectionSearch > shows a page if valid subpage is given
* Special:CategoryIntersectionSearch > shows a page if the category contains a space
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/GlobalWatchlist GlobalWatchlist] || 9.18.4 || 5.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* Special:GlobalWatchlist > works with normal display
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Math Math] || 9.23.2 || 6.3.0 || {{Yes}} || data-sort-value="0.8571" | <span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-Math/ 6/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 5" data-collapsetext="Hide"><span style="white-space:nowrap">5 tests</span>
<div class="mw-collapsible-content">
* Math > should work for addition
* Math polyfills skipFunction > returns true when all MathML features are supported
* Math polyfills skipFunction > returns false when a required feature is missing
* Math polyfills skipFunction > skips loading when the skipFunction returns true
* Math polyfills skipFunction > loads when the skipFunction returns false
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/skins/MinervaNeue MinervaNeue] || 9.23.2 || 6.3.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* Opening and closing the reference drawer > Opening a reference
* Opening and closing the reference drawer > Opening a nested reference
* Manage Watchlist > Add an article to the watchlist
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Newsletter Newsletter] || 9.18.4 || 6.1.0 || || data-sort-value="1.0000" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-Newsletter/ 7/7]</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* Newsletter > page should exist on installation
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/OpenIDConnect OpenIDConnect] || 9.19.2 || 4.1.3 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 2" data-collapsetext="Hide"><span style="white-space:nowrap">2 tests</span>
<div class="mw-collapsible-content">
* OpenIDConnect > can login
* OpenIDConnect > is configured correctly
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/PageTriage PageTriage] || 9.23.2 || 6.3.2 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 5" data-collapsetext="Hide"><span style="white-space:nowrap">5 tests</span>
<div class="mw-collapsible-content">
* Special:NewPagesFeed > is viewable
* Special:NewPagesFeed > new article appears in feed
* PageTriage Toolbar > should load
* PageTriage Toolbar > should allow user to add a maintainence tag to a page
* PageTriage Toolbar > should allow user to add a maintainence tag to a page and send a note to user
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ParserMigration ParserMigration] || 9.19.2 || 6.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 2" data-collapsetext="Hide"><span style="white-space:nowrap">2 tests</span>
<div class="mw-collapsible-content">
* ParserMigration > should use parsoid with useparsoid=1 param
* ParserMigration > should use legacy parser with useparsoid=0 param
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Popups Popups] || 9.27.1 || 6.5.1 || || data-sort-value="1.0000" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-Popups/ 7/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-warning)">U</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-warning)">U</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* Dwelling on a valid page link > I should see a page preview
* Dwelling on a valid page link > I should not see a page preview on hash fragment
* Dwelling on a valid page link > Abandoning link hides page preview
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ProofreadPage ProofreadPage] || 9.23.2 || 6.3.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 5" data-collapsetext="Hide"><span style="white-space:nowrap">5 tests</span>
<div class="mw-collapsible-content">
* For a page with the eis, the page status module > should initialize with the value of current page
* For a page with the eis, the page status module > should update on page change
* For a page with eis enabled > toolbar loads
* For a page with eis enabled > prev to page 1
* For a page with eis enabled > next to last page
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/ReportIncident ReportIncident] || 9.27.0 || 6.5.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 6" data-collapsetext="Hide"><span style="white-space:nowrap">6 tests</span>
<div class="mw-collapsible-content">
* ReportIncident dialog > Should open the dialog if the tools menu is used
* ReportIncident dialog > Should be able to advance to step 2 and see a form with the expected fields
* ReportIncident dialog > Should ask for additional details only when selecting "Something else"
* ReportIncident dialog > Should display form errors when submit attempted with no form data
* ReportIncident dialog > Should be able to submit a form with valid data
* ReportIncident dialog > Should be able to fill a report from a thread
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/RevisionSlider RevisionSlider] || 9.18.4 || 5.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 21" data-collapsetext="Hide"><span style="white-space:nowrap">21 tests</span>
<div class="mw-collapsible-content">
* RevisionSlider expand > does not automatically expand by default
* RevisionSlider expand > expands automatically when auto expand is on
* RevisionSlider expand > does not expand automatically when auto expand is off
* RevisionSlider expand > hides when collapsed manually
* RevisionSlider diff links > older edit diff link can be clicked
* RevisionSlider diff links > newer edit diff link can be clicked
* RevisionSlider filter highlighting > highlights revisions by the same user when I use the user filter
* RevisionSlider filter highlighting > stops highlighting revisions when the filter is clicked twice
* RevisionSlider filter highlighting > highlights revisions that have the same tag when I use the tag filter
* RevisionSlider filter highlighting > highlights revisions that have the same tag when I use the tag filter after I used the user filter
* RevisionSlider filter highlighting > only highlights revisions that have the same tag when I selected a user but hover a tag filter
* RevisionSlider filter highlighting > re-applies highlight when I selected a user but hover and on-hover a tag filter
* RevisionSlider help > tutorial is present on first load
* RevisionSlider help > tutorial is not present after it was dismissed once
* RevisionSlider help > tutorial sequence works
* RevisionSlider history > can be accessed using browser back and forward buttons after clicking
* RevisionSlider history > can be accessed using browser back and forward buttons after dragging
* RevisionSlider pointers > can be dragged
* RevisionSlider timeline arrows > should be disabled with 3 revisions
* RevisionSlider timeline arrows > should be enabled with adequate revisions
* RevisionSlider revision tooltips > appears and remains on hovering it
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Sanctions Sanctions] || 9.19.2 || 4.1.3 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 9" data-collapsetext="Hide"><span style="white-space:nowrap">9 tests</span>
<div class="mw-collapsible-content">
* Sanction > should be canceled by the author
* Sanction > should be rejected if three users object
* Sanction > should be passed if three users support before expired
* Sanction > should block the target user of the passed sanction when logged in
* Sanction > should not touch the summary of a expired handled sanction
* Special:Sanctions > should hide and show the form as the conditions change
* Special:Sanctions > should add voted tag on a sanction
* Special:Sanctions > should show > an anonymous user not-logged-in warning
* Special:Sanctions > should show > a newly registered user that you are too new
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/TemplateData TemplateData] || 9.23.2 || 6.3.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* TemplateData users can favorite templates via VisualEditor > show a template search field, with focus
* TemplateData users can favorite templates via VisualEditor > show anon users a message about needing to log in
* TemplateData users can favorite templates via VisualEditor > logged-in users can favorite templates from the search results
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/TemplateWizard TemplateWizard] || 9.18.4 || 6.1.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 4" data-collapsetext="Hide"><span style="white-space:nowrap">4 tests</span>
<div class="mw-collapsible-content">
* TemplateWizard > has 1 (required) field visible
* TemplateWizard > has 5 fields visible
* TemplateWizard > has template inserted
* TemplateWizard > can be closed from search
</div></div>
|-
| [https://gerrit.wikimedia.org/g/wikibase/termbox termbox] || 9.20.0 || 6.5.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 25" data-collapsetext="Hide"><span style="white-space:nowrap">25 tests</span>
<div class="mw-collapsible-content">
* Termbox: AnonEditWarning > shows the warning overlay for anonymous users when clicking the edit button
* Termbox: AnonEditWarning > can be dismissed
* Termbox: AnonEditWarning > does not show the warning overlay again if the user opts out
* Termbox: AnonEditWarning > never appears for logged in users
* Termbox: LicenseOverlay > is shown when clicking publish
* Termbox: LicenseOverlay > disappears when clicking cancel and goes back to edit mode
* Termbox: LicenseOverlay > disappears and saves when clicking publish
* Termbox: LicenseOverlay > does not reappear after saving by default
* Termbox: LicenseOverlay > reappears after saving when unchecking the "remember my choice" checkbox
* Termbox: editing > edit mode > is in edit mode after clicking the edit button
* Termbox: editing > edit mode > switches back to reading mode when clicking the cancel button
* Termbox: editing > editing > can edit labels, descriptions, and aliases
* Termbox: editing > editing > shows an error when an edit fails to save when the entity was protected while editing
* Termbox: reading > is in reading mode when opening the item page
* Termbox: reading > primary language terms > contains the expected language with respective terms
* Termbox: reading > "in more languages" section > has a collapse/expand button
* Termbox: reading > "in more languages" section > is expanded by default
* Termbox: reading > "in more languages" section > is collapsible, also hiding the "all entered languages" section
* Termbox: reading > "in more languages" section > expands again when clicking the button twice
* Termbox: reading > "in more languages" section > contains the expected languages with respective terms
* Termbox: reading > "all entered languages" section > is collapsed by default
* Termbox: reading > "all entered languages" section > has a collapse/expand button
* Termbox: reading > "all entered languages" section > is expandable
* Termbox: reading > "all entered languages" section > collapses again when clicking the button twice
* Termbox: reading > "all entered languages" section > contains the expected languages with respective terms
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/TwoColConflict TwoColConflict] || 9.27.0 || 6.5.1 || || data-sort-value="1.0000" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-TwoColConflict/ 7/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-warning)">U</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 14" data-collapsetext="Hide"><span style="white-space:nowrap">14 tests</span>
<div class="mw-collapsible-content">
* TwoColConflict EditUi > will switch to edit mode by clicking the column that is selected
* TwoColConflict EditUi > edits of unchanged paragraphs should be saved
* TwoColConflict EditUi > paragraph edits can be reverted
* TwoColConflict EditUi > saving an editor with no changes will preserve the highlight portions
* TwoColConflict without JavaScript > is showing the default version correctly
* TwoColConflict without JavaScript > is showing the talk page version correctly
* TwoColConflict without JavaScript > handles order selection on the talk page version correctly
* TwoColConflict save and preview > should save a resolved conflict successfully including changes
* TwoColConflict save and preview > should show a correct preview page including changes
* TwoColConflict > shows the talk page screen on conflicts that also add new lines
* TwoColConflict > on talk page conflicts > shows the talk page screen correctly
* TwoColConflict > on talk page conflicts > swaps blocks when switch button is clicked
* TwoColConflict > on talk page conflicts > shows correct preview when swapped
* TwoColConflict > on talk page conflicts > stores correct merge when swapped and edited
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/VisualEditor VisualEditor] || 9.23.2 || 6.3.0 || {{Yes}} || data-sort-value="0.9286" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/catalyst-daily-VisualEditor/ 7/7]</span><br><span class="plainlinks" style="color:var(--color-destructive);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/selenium-daily-beta-VisualEditor/ 6/7]</span> <span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-destructive)">F</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span><span style="color:var(--color-success)">P</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 34" data-collapsetext="Hide"><span style="white-space:nowrap">34 tests</span>
<div class="mw-collapsible-content">
* {{Daily badge}} Content Editable > should load when an url is opened
* Content Editable > should be editable
* Content Editable > should save an edit
* Content Editable > should insert a table
* Content Editable > should insert Bullet list
* Content Editable > should insert Numbered list
* Content Editable > should insert and indent Bullet list
* Content Editable > should insert and indent Numbered list
* Content Editable > should insert an internal link
* Content Editable > should insert an external link
* Content Editable > should insert a comment
* Content Editable Formatting > should change text to Page title
* Content Editable Formatting > should change text to Heading
* Content Editable Formatting > should change text to Sub-heading 1
* Content Editable Formatting > should change text to Sub-heading 2
* Content Editable Formatting > should change text to Sub-heading 3
* Content Editable Formatting > should change text to Sub-heading 4
* Content Editable Formatting > should change text to Preformatted
* Content Editable Formatting > should change text to Block quote
* Content Editable Formatting > should change formatting to Bold
* Content Editable Formatting > should change formatting to Italic
* Content Editable Formatting > should change formatting to Superscript
* Content Editable Formatting > should change formatting to Subscript
* Content Editable Formatting > should change formatting to Computer code
* Content Editable Formatting > should change formatting to Strikethrough
* Content Editable Formatting > should change formatting to Underline
* Toolbar > should open notices popup as soon as it loads
* Toolbar > should open switch editor
* Toolbar > should open page options
* Toolbar > should open help popup
* Toolbar > should open insert menu
* Toolbar > should open structure options menu
* Toolbar > should open style text options
* Toolbar > should open format paragraph menu
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase Wikibase] || 9.20.0 || 6.5.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 7" data-collapsetext="Hide"><span style="white-space:nowrap">7 tests</span>
<div class="mw-collapsible-content">
* item > can add a statement using the keyboard
* item > old revisions do not have an edit link
* item > has its label not rendered when linked on a Wikipage
* WikibaseRepoNonExistingItemPage > edit tab does should not be there
* WikibaseRepoNonExistingItemPage > the title should match
* WikibaseReferenceOnProtectedPage > can expand collapsed references on a protected page as unprivileged user
* Add interlanguage links > dialog loads on click
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLambda WikiLambda] || 9.20.1 || 6.5.2 || || data-sort-value="1.0000" | <span class="plainlinks" style="color:var(--color-success);font-weight:bold;white-space:nowrap">[https://integration.wikimedia.org/ci/job/wikilambda-catalyst-end-to-end-daily/ 7/7]</span> || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 18" data-collapsetext="Hide"><span style="white-space:nowrap">18 tests</span>
<div class="mw-collapsible-content">
* Installation checks > CreateObject > page should exist on installation but deny to logged-out user
* Installation checks > CreateObject > page should exist on installation and work when logged in
* Installation checks > RunFunction > page should exist on installation
* Installation checks > ListObjectsByType > page should exist on installation
* Dynamic Test for Implementation and Test Case Connection > Admin user > should dynamically connect or disconnect the implementation based on its initial state
* Dynamic Test for Implementation and Test Case Connection > Admin user > should dynamically connect or disconnect the test case based on its initial state
* Function > Function viewer (CUJ1) > should allow to evaluate a function
* Function > Function editor (CUJ2) > should create a new function and display the function name
* Function > Function editor (CUJ2) > should create a new function and display function aliases
* Function > Function editor (CUJ2) > should create a new function and display function input labels and types
* Function > Function editor (CUJ2) > should create a new function and display function output type
* Implementation (CUJ 5) > Implementation via code > should create and publish a new implementation
* Implementation (CUJ 5) > Implementation via composition > should create and publish a new implementation
* Abstract Article (Special:ViewAbstract) > loads and renders content + preview widgets
* Abstract Article (Special:ViewAbstract) > shows the expected error fragment when a function returns wrong type
* Abstract Article (Special:ViewAbstract) > allows switching preview language
* Tester > Create a new test (CUJ 4) > should fill and submit the tester form
* Tester > Edit the test > should edit the about block test
</div></div>
|}
=== Cypress ===
{| class="wikitable sortable"
! Extension !! cypress !! [https://integration.wikimedia.org/ci/job/quibble-with-gated-extensions-selenium-php83/ Gated selenium] !! Daily (7d) <span class="oo-ui-widget oo-ui-widget-enabled oo-ui-buttonElement oo-ui-buttonElement-frameless oo-ui-iconElement oo-ui-buttonWidget oo-ui-popupButtonWidget" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed." style="cursor:help"><span class="oo-ui-buttonElement-button" role="button" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed." tabindex="0"><span class="oo-ui-iconElement-icon oo-ui-icon-info" title="Only repos with a daily Jenkins job (selenium-daily-beta-*, quibble-daily-*, *-catalyst-*-daily) appear here. Each link points to the job and shows passes/total builds over the last 7 days. P = passed, U = passed on retry (Jenkins UNSTABLE; counted as a pass), F = failed."></span><span class="oo-ui-labelElement-label oo-ui-labelElement-invisible">Info</span><span class="oo-ui-indicatorElement-indicator oo-ui-indicatorElement-noIndicator"></span></span></span> !! Tests
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Cite Cite] || 15.11.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 11" data-collapsetext="Hide"><span style="white-space:nowrap">11 tests</span>
<div class="mw-collapsible-content">
* Cite popups integration > simple popup on hover and hide on leave
* Cite popups integration > includes scrollbar and fadeout on long previews
* Cite popups integration > hovering nested reference
* VisualEditor Cite with sub-references > should convert references into sub-references
* VisualEditor Cite with sub-references > should update edited Main+Details ref content
* VisualEditor Cite with sub-references > should move main ref content to the subRef when the main ref is removed
* VisualEditor Cite with citation templates > should be able to add a new template in VE
* VisualEditor Cite with citation templates > should be able to add a new template in VE WT2017 Editor
* VisualEditor Cite > should be able to edit and verify reference content in Visual Editor
* VisualEditor Cite > should be able to reuse existing references via the reuse dialog
* VisualEditor Cite with WT2017 Editor > should be able to create a basic reference
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/CommunityConfiguration CommunityConfiguration] || 15.11.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 5" data-collapsetext="Hide"><span style="white-space:nowrap">5 tests</span>
<div class="mw-collapsible-content">
* Community Configuration Example Page > should save configuration changes and verify them on the example page
* Community Configuration Example Page > Form elements and basic functionality > should have all expected form elements and labels
* Community Configuration Example Page > Form elements and basic functionality > should have a save button
* Community Configuration Example Page > Form elements and basic functionality > should have a disabled save button for logged-out users
* Community Configuration Example Page > Form elements and basic functionality > should update a simple string via API and verify the update on the form
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/EntitySchema EntitySchema] || 13.17.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 17" data-collapsetext="Hide"><span style="white-space:nowrap">17 tests</span>
<div class="mw-collapsible-content">
* Schema Viewing Page > accepts statements of entity schema data value type
* Schema Edit Page > given that a user is allowed > returns to schema view page on submit
* Schema Edit Page > given that a user is allowed > detects an edit conflict when submitting the same form from two windows
* Schema Edit Page > given that a user is allowed > properly limits the input length
* Schema Edit Page > given the user is blocked > cannot be edited
* NewEntitySchema:Page > is possible to create a new schema with full data
* NewEntitySchema:Page > is possible to create a new schema with only a label
* NewEntitySchema:Page > limits the name badge input length
* NewEntitySchema:Page > limits the schema text input length
* NewEntitySchema:Page > when blocked > cannot load form
* NewEntitySchema:Page > when blocked > cannot submit form
* SetEntitySchemaLabelDescriptionAliasesPage:Page > detects an edit conflict based on the baserev parameter
* SetEntitySchemaLabelDescriptionAliasesPage:Page > limits the input length
* SetEntitySchemaLabelDescriptionAliasesPage:Page > is possible to edit Schema in another language
* SetEntitySchemaLabelDescriptionAliasesPage:Page > has existing data already prefilled
* Schema Viewing Page > doesn\
* wbui2025 entity schema datatype > mobile view - entity-schema datatype > displays item statement and supports full editing workflow
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/GrowthExperiments GrowthExperiments] || 15.14.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 15" data-collapsetext="Hide"><span style="white-space:nowrap">15 tests</span>
<div class="mw-collapsible-content">
* Add a Link > link inspector can be used to accept/reject links and save an article.
* Add Image Structured Task > desktop: user can view image info and image details
* Add Image Structured Task > mobile: user can close the image suggestion UI
* Special:EditGrowthConfig > redirects to Special:CommunityConfiguration
* Special:Homepage > Shows a suggested edits card and allows navigation forwards and backwards through queue
* Impact > shows the user\
* Special:MentorDashboard > allows enrolling as a mentor
* Revise Tone > On desktop > Shows the Revise Tone Edit Check
* Revise Tone > On desktop > Closes the Editor when declining Edits and suggests a new task
* Revise Tone > On desktop > Shows the Revise Tone Edit Check and tags edits
* Revise Tone > On mobile > Shows the Revise Tone Edit Check
* Revise Tone > On mobile > Closes the Editor when declining Edits and suggests a new task
* Revise Tone > On mobile > Shows the Revise Tone Edit Check and tags edits
* Template-based tasks > saves change tags for unstructured task edits made via VisualEditor
* Special:Log > Shows the GrowthExperiments event Mentor assignment changes
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/GuidedTour GuidedTour] || 15.11.0 || {{Yes}} || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* template spec > passes
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Score Score] || 15.8.2 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 1" data-collapsetext="Hide"><span style="white-space:nowrap">1 tests</span>
<div class="mw-collapsible-content">
* add score statement > mobile view > loads the item view, allows statements to be edited
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase Wikibase] || 14.5.3 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 18" data-collapsetext="Hide"><span style="white-space:nowrap">18 tests</span>
<div class="mw-collapsible-content">
* wbui2025 language preferences and RTL functionality > mobile view > Checking RTL layout when editing statements
* wbui2025 add qualifiers > mobile view > is possible to add and edit a qualifier
* wbui2025 add qualifiers > mobile view (wbui2025) - tabular-data qualifier > can add a tabular-data qualifier with lookup
* wbui2025 add qualifiers > mobile view (wbui2025) - geo-shape qualifier > can add a geo-shape qualifier with lookup
* wbui2025 add qualifiers > mobile view (wbui2025) - geo-shape qualifier > shows dropdown menu when typing in geo-shape qualifier lookup
* wbui2025 add reference > mobile view > is possible to add references for string and lookup datatypes
* wbui2025 item view add statement > mobile view > loads the item view and shows property selector
* wbui2025 item view add additional value to existing statement > full add-value workflow > opens the add-value modal, searches, selects, and confirms value
* wbui2025 item view add additional value to existing statement > cancel behavior > opens the add-value modal and cancels cleanly without enabling the save button
* wbui2025 entityId datatypes (item, property) > mobile view - > allows adding
* wbui2025 edit references > mobile view > references are editable and deletable
* wbui2025 item view edit statements > mobile view > loads the item view and shows a statement, which can be edited,
* wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) > mobile view - tabular-data datatype > displays tabular-data statement and supports full editing workflow
* wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) > mobile view - geo-shape datatype > displays geo-shape statement and supports full editing workflow
* wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) > mobile view - commonsMedia datatype > displays commonsMedia statement and supports full editing workflow
* wbui2025 time datatypes > mobile view - time datatype > allows adding time statement to empty item,
* wbui2025 item view publish statement changes > mobile view > loads the item view and shows a statement, which can be edited
* wbui2025 item view > mobile view > loads the item view
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/WikibaseLexeme WikibaseLexeme] || 13.17.0 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 17" data-collapsetext="Hide"><span style="white-space:nowrap">17 tests</span>
<div class="mw-collapsible-content">
* Lexeme:Forms > can be open the add Form, cancel the add, open it again and save.
* Lexeme:Forms > can add, edit and remove representation. it
* Lexeme:Forms > has statement list and can edit statements on a new Form
* Lexeme:Forms > FormId generation > FormId counter is not decremented when addForm is undone
* Lexeme:Forms > FormId generation > FormId counter is not decremented when old revision is restored
* Lexeme:Forms > can be removed
* Lexeme:Header > can edit the language and lexical category of a Lexeme
* Lexeme:non-existing > says the entity does not exist
* Lexeme:Senses > Sense header and container exist
* Special:MergeLexemes > shows the form
* Special:MergeLexemes > when blocked > is not possible to edit
* NewLexeme:Page > shows the form and creating a lexeme is possible
* Special:RecentChanges > shows lemmas in title links to lexemes on Special:RecentChanges
* Special:Watchlist > shows lemmas in title links to lexemes on Special:Watchlist
* Lexeme:Statements > can be added
* Special Version Page > verifies that the WikibaseLexeme extension loads
* wbui2025 Lexeme entityId datatypes (lexeme, form, sense) > mobile view - > displays item statement and supports full editing workflow
</div></div>
|-
| [https://gerrit.wikimedia.org/g/mediawiki/extensions/WikibaseQualityConstraints WikibaseQualityConstraints] || 15.7.1 || || || <div class="mw-collapsible mw-collapsed" data-expandtext="Show 3" data-collapsetext="Hide"><span style="white-space:nowrap">3 tests</span>
<div class="mw-collapsible-content">
* show constraints > desktop view > loads the item view with a simple violation
* show constraints > desktop view > loads the item view with an advanced violation
* show constraints > wbui2025 mobile view > adds an indicator, and a popover containing all violations
</div></div>
|}
3h96c4bk78y9hv8ovfz3fhriy273o1c
Wikimedia Quality Services/Automated tests available/data.json
0
2398088
8390245
8389609
2026-05-25T05:05:05Z
VWalters-WMF
17613640
Update browser test listing JSON (automated)
8390245
json
application/json
{
"schemaVersion": 2,
"generatedAt": "2026-05-25T05:05:04.586Z",
"repoCount": 44,
"testCount": 380,
"repos": [
{
"repo": "mediawiki/extensions/AbuseFilter",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/AbuseFilter",
"name": "AbuseFilter",
"framework": "wdio",
"frameworkVersion": "9.27.0",
"mediawikiVersion": "6.5.0",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 23,
"tests": [
{
"name": "Special:AbuseFilter \u003E page should exist on installation",
"daily": false
},
{
"name": "Special:AbuseFilter \u003E page should have the button for creating a new filter",
"daily": false
},
{
"name": "Filter editing \u003E The editing interface \u003E is visible to logged-in admins",
"daily": false
},
{
"name": "Filter editing \u003E Trying to open a non-existing filter \u003E I should receive an error",
"daily": false
},
{
"name": "Filter editing \u003E Creating a new filter \u003E edit can be saved (1)",
"daily": false
},
{
"name": "Filter editing \u003E Creating a new filter \u003E saved data is retained (1)",
"daily": false
},
{
"name": "Filter editing \u003E Editing an existing filter \u003E edit can be saved (2)",
"daily": false
},
{
"name": "Filter editing \u003E Editing an existing filter \u003E saved data is retained (2)",
"daily": false
},
{
"name": "Filter editing \u003E Restoring an old version of a filter \u003E edit can be saved (3)",
"daily": false
},
{
"name": "Filter editing \u003E Restoring an old version of a filter \u003E saved data is retained (3)",
"daily": false
},
{
"name": "Filter editing \u003E CSRF protection \u003E a CSRF token is required to save the filter",
"daily": false
},
{
"name": "Filter editing \u003E CSRF protection \u003E even if the token is invalid, the ongoing edit is not lost",
"daily": false
},
{
"name": "Filter editing \u003E Trying to save a filter with bad data \u003E cannot save an empty filter",
"daily": false
},
{
"name": "Filter editing \u003E Trying to save a filter with bad data \u003E cannot save a filter with rules but no name",
"daily": false
},
{
"name": "Filter editing \u003E editing interface is not visible to logged-out users",
"daily": false
},
{
"name": "When importing a filter \u003E the interface should be visible",
"daily": false
},
{
"name": "When importing a filter \u003E it should redirect to ViewEdit after submission",
"daily": false
},
{
"name": "When importing a filter \u003E bad data results in an error",
"daily": false
},
{
"name": "When importing a filter \u003E valid data shows the editing interface",
"daily": false
},
{
"name": "When importing a filter \u003E Data on the editing interface is correct \u003E filter specs are copied",
"daily": false
},
{
"name": "When importing a filter \u003E Data on the editing interface is correct \u003E filter flags are copied",
"daily": false
},
{
"name": "When importing a filter \u003E Data on the editing interface is correct \u003E filter actions are copied",
"daily": false
},
{
"name": "When importing a filter \u003E Data on the editing interface is correct \u003E the imported data can be saved",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/AchievementBadges",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/AchievementBadges",
"name": "AchievementBadges",
"framework": "wdio",
"frameworkVersion": "7.40.0",
"mediawikiVersion": "2.7.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "Special:Achievements \u003E shows a logged-in user hint of long-user-page",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/AdvancedSearch",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/AdvancedSearch",
"name": "AdvancedSearch",
"framework": "wdio",
"frameworkVersion": "9.27.0",
"mediawikiVersion": "6.5.0",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-AdvancedSearch",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-AdvancedSearch/",
"passes": 0,
"flaky": 0,
"fails": 7,
"total": 7,
"results": [
"F",
"F",
"F",
"F",
"F",
"F",
"F"
]
}
],
"testCount": 10,
"tests": [
{
"name": "Advanced Search \u003E inserts advanced search elements on search page",
"daily": false
},
{
"name": "Advanced Search \u003E allows logged-in users to remember the selection of namespaces for future searches",
"daily": false
},
{
"name": "Advanced Search \u003E selects the users default namespaces when logged in",
"daily": false
},
{
"name": "Advanced Search \u003E selects the namespaces from the URL",
"daily": false
},
{
"name": "AdvancedSearch \u003E namespace selection",
"daily": false
},
{
"name": "AdvancedSearch \u003E re-adds filetype namespace after search when file type option has been selected but namespace has been removed",
"daily": false
},
{
"name": "AdvancedSearch \u003E adds/removes the namespace tag when the namespace option is clicked",
"daily": false
},
{
"name": "Advanced Search \u003E adds search parameters to pagination links",
"daily": false
},
{
"name": "Advanced Search \u003E submits the search on enter when there is no text in \"These Words\" field",
"daily": false
},
{
"name": "Advanced Search \u003E submits the search with the specific chosen language",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CampaignEvents",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CampaignEvents",
"name": "CampaignEvents",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": true,
"dailyJobs": [
{
"name": "catalyst-daily-CampaignEvents",
"url": "https://integration.wikimedia.org/ci/job/catalyst-daily-CampaignEvents/",
"passes": 7,
"flaky": 0,
"fails": 0,
"total": 7,
"results": [
"P",
"P",
"P",
"P",
"P",
"P",
"P"
]
},
{
"name": "selenium-daily-beta-CampaignEvents",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-CampaignEvents/",
"passes": 5,
"flaky": 0,
"fails": 2,
"total": 7,
"results": [
"F",
"P",
"F",
"P",
"P",
"P",
"P"
]
}
],
"testCount": 12,
"tests": [
{
"name": "Edit Event Registration \u003E can allow organizer to update event page and dates",
"daily": false
},
{
"name": "Edit Event Registration \u003E can allow organizer to change the event to be in person",
"daily": false
},
{
"name": "Edit Event Registration \u003E can allow organizer to change the event to be online and in-person",
"daily": false
},
{
"name": "Edit Event Registration \u003E can allow organizer to add an additional organizer",
"daily": false
},
{
"name": "Enable Event Registration \u003E is configured correctly",
"daily": true
},
{
"name": "Enable Event Registration \u003E requires event data",
"daily": true
},
{
"name": "Enable Event Registration \u003E can be enabled",
"daily": true
},
{
"name": "Event page \u003E can have one user register publicly",
"daily": false
},
{
"name": "Event page \u003E can have one user register privately",
"daily": false
},
{
"name": "Event page \u003E can have a user cancel registration",
"daily": false
},
{
"name": "MyEvents \u003E can allow organizer to search events by name",
"daily": false
},
{
"name": "MyEvents \u003E can allow organizer to delete registration of first event in My Events",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Cargo",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Cargo",
"name": "Cargo",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "4.1.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "Special:CargoTables \u003E displays table information",
"daily": false
},
{
"name": "Special:Drilldown \u003E displays table name with proper page count",
"daily": false
},
{
"name": "Special:Drilldown \u003E displays proper data when drilling down",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CentralNotice",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralNotice",
"name": "CentralNotice",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "4.1.3",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-CentralNotice",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-CentralNotice/",
"passes": 6,
"flaky": 0,
"fails": 1,
"total": 7,
"results": [
"P",
"P",
"P",
"F",
"P",
"P",
"P"
]
}
],
"testCount": 1,
"tests": [
{
"name": "CentralNotice \u003E banner is displayed on Main Page",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CirrusSearch",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CirrusSearch",
"name": "CirrusSearch",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "4.1.3",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "Smoke test for search \u003E Search suggestions",
"daily": false
},
{
"name": "Smoke test for search \u003E Fill in search term and click search",
"daily": false
},
{
"name": "Smoke test for search \u003E Search with accent yields result page with accent",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Cite",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Cite",
"name": "Cite",
"framework": "cypress",
"frameworkVersion": "15.11.0",
"mediawikiVersion": null,
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 11,
"tests": [
{
"name": "Cite popups integration \u003E simple popup on hover and hide on leave",
"daily": false
},
{
"name": "Cite popups integration \u003E includes scrollbar and fadeout on long previews",
"daily": false
},
{
"name": "Cite popups integration \u003E hovering nested reference",
"daily": false
},
{
"name": "VisualEditor Cite with sub-references \u003E should convert references into sub-references",
"daily": false
},
{
"name": "VisualEditor Cite with sub-references \u003E should update edited Main+Details ref content",
"daily": false
},
{
"name": "VisualEditor Cite with sub-references \u003E should move main ref content to the subRef when the main ref is removed",
"daily": false
},
{
"name": "VisualEditor Cite with citation templates \u003E should be able to add a new template in VE",
"daily": false
},
{
"name": "VisualEditor Cite with citation templates \u003E should be able to add a new template in VE WT2017 Editor",
"daily": false
},
{
"name": "VisualEditor Cite \u003E should be able to edit and verify reference content in Visual Editor",
"daily": false
},
{
"name": "VisualEditor Cite \u003E should be able to reuse existing references via the reuse dialog",
"daily": false
},
{
"name": "VisualEditor Cite with WT2017 Editor \u003E should be able to create a basic reference",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CodeMirror",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CodeMirror",
"name": "CodeMirror",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.5.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 25,
"tests": [
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E folds the template parameters via the button",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E expands the template parameters via the button",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E folds the extension tag via the button",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E expands the extension tag via the button",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E folds all via keyboard shortcut",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E expands all via keyboard shortcut",
"daily": false
},
{
"name": "CodeMirror code folding for the wikitext 2010 editor \u003E folds all \u003Cref\u003E tags via keyboard shortcut",
"daily": false
},
{
"name": "CodeMirror bracket match highlighting for the wikitext 2010 editor \u003E highlights matching bracket",
"daily": false
},
{
"name": "CodeMirror bracket match highlighting for the wikitext 2010 editor \u003E matches according to cursor movement",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E opens with the CodeMirror view displayed and focus set on the VE surface",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E updates CodeMirror with VE document changes",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E retains content when CodeMirror is disabled and maintains focus on VE surface",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E retains content when CodeMirror is re-enabled",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E adjusts gutter accordingly when pasting many lines of wrapping text",
"daily": false
},
{
"name": "CodeMirror (enabled) - VisualEditor 2017 wikitext editor \u003E should only load necessary modules when the CodeMirror preference is unset",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E sets and gets the correct text when using setContents and getContents",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E has usage of .val() routed to CodeMirror",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E sets and gets the correct selection when using setSelection and getSelection",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E correctly replaces the selected text when using replaceSelection",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E returns the correct values for getCaretPosition",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E correctly wraps the selected text when using encapsulateSelection",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E correctly inserts the 'peri' option when using encapsulateSelection",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E applies 'pre'/'post' to each line when 'splitlines' is used with encapsulateSelection",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E scrolls to the correct place when using scrollToCaretPosition",
"daily": false
},
{
"name": "CodeMirror textSelection for the wikitext 2010 editor \u003E retains the contents after turning CodeMirror off",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CommunityConfiguration",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CommunityConfiguration",
"name": "CommunityConfiguration",
"framework": "cypress",
"frameworkVersion": "15.11.0",
"mediawikiVersion": null,
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 5,
"tests": [
{
"name": "Community Configuration Example Page \u003E should save configuration changes and verify them on the example page",
"daily": false
},
{
"name": "Community Configuration Example Page \u003E Form elements and basic functionality \u003E should have all expected form elements and labels",
"daily": false
},
{
"name": "Community Configuration Example Page \u003E Form elements and basic functionality \u003E should have a save button",
"daily": false
},
{
"name": "Community Configuration Example Page \u003E Form elements and basic functionality \u003E should have a disabled save button for logged-out users",
"daily": false
},
{
"name": "Community Configuration Example Page \u003E Form elements and basic functionality \u003E should update a simple string via API and verify the update on the form",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/CommunityRequests",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/CommunityRequests",
"name": "CommunityRequests",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 6,
"tests": [
{
"name": "WishlistIntake wish submission \u003E should prompt logged out users to login",
"daily": false
},
{
"name": "WishlistIntake wish submission \u003E should show the form with VisualEditor when browsing to the intake form",
"daily": false
},
{
"name": "WishlistIntake wish submission \u003E should show errors when submitting an incomplete form",
"daily": false
},
{
"name": "WishlistIntake wish submission \u003E should not show an error if a title is over 100 chars because of translate tags",
"daily": false
},
{
"name": "WishlistIntake wish submission \u003E should hide errors if all required fields are filled in on submission",
"daily": false
},
{
"name": "WishlistIntake wish submission \u003E should show all the data entered in the form",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ConfirmEdit",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ConfirmEdit",
"name": "ConfirmEdit",
"framework": "wdio",
"frameworkVersion": "9.27.0",
"mediawikiVersion": "6.5.0",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "ConfirmEdit \u003E Main page should be accessible",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ContactPage",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ContactPage",
"name": "ContactPage",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "ContactPage on Version page \u003E ContactPage is listed in the version page under the special page category",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ContentTranslation",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ContentTranslation",
"name": "ContentTranslation",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "4.1.3",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 5,
"tests": [
{
"name": "Unified Dashboard - Desktop - New translation \u003E should allow publishing a new translation started through search",
"daily": false
},
{
"name": "Unified Dashboard - Suggestions \u003E should show suggestions tab",
"daily": false
},
{
"name": "Unified Dashboard - Suggestions \u003E should allow user to save/unsave a suggestion for later",
"daily": false
},
{
"name": "Unified Dashboard - Suggestions \u003E should allow dismissing a suggestion",
"daily": false
},
{
"name": "Unified Dashboard - Suggestions \u003E should allow refreshing suggestions",
"daily": false
}
]
},
{
"repo": "mediawiki/core",
"url": "https://gerrit.wikimedia.org/g/mediawiki/core",
"name": "Core",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.5.2",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 23,
"tests": [
{
"name": "Special:SpecialPages \u003E should not have Edit link",
"daily": false
},
{
"name": "User \u003E should be able to log in without page object",
"daily": false
},
{
"name": "Main page \u003E should have edit link when using expect",
"daily": false
},
{
"name": "Main page \u003E should have edit link when using mocha",
"daily": false
},
{
"name": "API \u003E Main Page should exist",
"daily": false
},
{
"name": "API \u003E Missing Page should not exist",
"daily": false
},
{
"name": "Page \u003E should be previewable",
"daily": false
},
{
"name": "Page \u003E should be creatable",
"daily": false
},
{
"name": "Page \u003E should be re-creatable",
"daily": false
},
{
"name": "Page \u003E should be editable",
"daily": false
},
{
"name": "Page \u003E should have history",
"daily": false
},
{
"name": "Page \u003E should be undoable",
"daily": false
},
{
"name": "Page admin actions \u003E should be deletable",
"daily": false
},
{
"name": "Page admin actions \u003E should be restorable",
"daily": false
},
{
"name": "Page admin actions \u003E should be protectable",
"daily": false
},
{
"name": "Special:RecentChanges \u003E shows page creation",
"daily": false
},
{
"name": "Temporary user \u003E should not see signup form fields relevant to named users",
"daily": false
},
{
"name": "Temporary user account creation \u003E should be able to create account",
"daily": false
},
{
"name": "User \u003E should be able to create account",
"daily": false
},
{
"name": "User \u003E should be able to log in",
"daily": false
},
{
"name": "User \u003E named user should see extra signup form fields when creating an account",
"daily": false
},
{
"name": "User \u003E should be able to block a user",
"daily": false
},
{
"name": "BlankPage \u003E should have its title",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Echo",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo",
"name": "Echo",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-Echo",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-Echo/",
"passes": 6,
"flaky": 0,
"fails": 1,
"total": 7,
"results": [
"P",
"P",
"F",
"P",
"P",
"P",
"P"
]
}
],
"testCount": 4,
"tests": [
{
"name": "Echo \u003E alerts and notices are visible after logging in",
"daily": true
},
{
"name": "Echo \u003E flyout for alert appears when clicked",
"daily": true
},
{
"name": "Echo \u003E flyout for notices appears when clicked",
"daily": true
},
{
"name": "Notifications \u003E checks for Notifications Page",
"daily": true
}
]
},
{
"repo": "mediawiki/extensions/ElectronPdfService",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ElectronPdfService",
"name": "ElectronPdfService",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "ElectronPdfService \u003E pdf download button is visible",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/EntitySchema",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/EntitySchema",
"name": "EntitySchema",
"framework": "cypress",
"frameworkVersion": "13.17.0",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 17,
"tests": [
{
"name": "Schema Viewing Page \u003E accepts statements of entity schema data value type",
"daily": false
},
{
"name": "Schema Edit Page \u003E given that a user is allowed \u003E returns to schema view page on submit",
"daily": false
},
{
"name": "Schema Edit Page \u003E given that a user is allowed \u003E detects an edit conflict when submitting the same form from two windows",
"daily": false
},
{
"name": "Schema Edit Page \u003E given that a user is allowed \u003E properly limits the input length",
"daily": false
},
{
"name": "Schema Edit Page \u003E given the user is blocked \u003E cannot be edited",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E is possible to create a new schema with full data",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E is possible to create a new schema with only a label",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E limits the name badge input length",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E limits the schema text input length",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E when blocked \u003E cannot load form",
"daily": false
},
{
"name": "NewEntitySchema:Page \u003E when blocked \u003E cannot submit form",
"daily": false
},
{
"name": "SetEntitySchemaLabelDescriptionAliasesPage:Page \u003E detects an edit conflict based on the baserev parameter",
"daily": false
},
{
"name": "SetEntitySchemaLabelDescriptionAliasesPage:Page \u003E limits the input length",
"daily": false
},
{
"name": "SetEntitySchemaLabelDescriptionAliasesPage:Page \u003E is possible to edit Schema in another language",
"daily": false
},
{
"name": "SetEntitySchemaLabelDescriptionAliasesPage:Page \u003E has existing data already prefilled",
"daily": false
},
{
"name": "Schema Viewing Page \u003E doesn\\",
"daily": false
},
{
"name": "wbui2025 entity schema datatype \u003E mobile view - entity-schema datatype \u003E displays item statement and supports full editing workflow",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/examples",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/examples",
"name": "examples",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.5.2",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "api \u003E can create a user",
"daily": false
},
{
"name": "api \u003E can read a page",
"daily": false
},
{
"name": "Examples \u003E is configured correctly",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/FacetedCategory",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/FacetedCategory",
"name": "FacetedCategory",
"framework": "wdio",
"frameworkVersion": "9.20.1",
"mediawikiVersion": "4.1.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 2,
"tests": [
{
"name": "Special:CategoryIntersectionSearch \u003E shows a page if valid subpage is given",
"daily": false
},
{
"name": "Special:CategoryIntersectionSearch \u003E shows a page if the category contains a space",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/GlobalWatchlist",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/GlobalWatchlist",
"name": "GlobalWatchlist",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "5.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "Special:GlobalWatchlist \u003E works with normal display",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/GrowthExperiments",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/GrowthExperiments",
"name": "GrowthExperiments",
"framework": "cypress",
"frameworkVersion": "15.14.0",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 15,
"tests": [
{
"name": "Add a Link \u003E link inspector can be used to accept/reject links and save an article.",
"daily": false
},
{
"name": "Add Image Structured Task \u003E desktop: user can view image info and image details",
"daily": false
},
{
"name": "Add Image Structured Task \u003E mobile: user can close the image suggestion UI",
"daily": false
},
{
"name": "Special:EditGrowthConfig \u003E redirects to Special:CommunityConfiguration",
"daily": false
},
{
"name": "Special:Homepage \u003E Shows a suggested edits card and allows navigation forwards and backwards through queue",
"daily": false
},
{
"name": "Impact \u003E shows the user\\",
"daily": false
},
{
"name": "Special:MentorDashboard \u003E allows enrolling as a mentor",
"daily": false
},
{
"name": "Revise Tone \u003E On desktop \u003E Shows the Revise Tone Edit Check",
"daily": false
},
{
"name": "Revise Tone \u003E On desktop \u003E Closes the Editor when declining Edits and suggests a new task",
"daily": false
},
{
"name": "Revise Tone \u003E On desktop \u003E Shows the Revise Tone Edit Check and tags edits",
"daily": false
},
{
"name": "Revise Tone \u003E On mobile \u003E Shows the Revise Tone Edit Check",
"daily": false
},
{
"name": "Revise Tone \u003E On mobile \u003E Closes the Editor when declining Edits and suggests a new task",
"daily": false
},
{
"name": "Revise Tone \u003E On mobile \u003E Shows the Revise Tone Edit Check and tags edits",
"daily": false
},
{
"name": "Template-based tasks \u003E saves change tags for unstructured task edits made via VisualEditor",
"daily": false
},
{
"name": "Special:Log \u003E Shows the GrowthExperiments event Mentor assignment changes",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/GuidedTour",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/GuidedTour",
"name": "GuidedTour",
"framework": "cypress",
"frameworkVersion": "15.11.0",
"mediawikiVersion": null,
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "template spec \u003E passes",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Math",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Math",
"name": "Math",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-Math",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-Math/",
"passes": 6,
"flaky": 0,
"fails": 1,
"total": 7,
"results": [
"P",
"P",
"P",
"F",
"P",
"P",
"P"
]
}
],
"testCount": 5,
"tests": [
{
"name": "Math \u003E should work for addition",
"daily": false
},
{
"name": "Math polyfills skipFunction \u003E returns true when all MathML features are supported",
"daily": false
},
{
"name": "Math polyfills skipFunction \u003E returns false when a required feature is missing",
"daily": false
},
{
"name": "Math polyfills skipFunction \u003E skips loading when the skipFunction returns true",
"daily": false
},
{
"name": "Math polyfills skipFunction \u003E loads when the skipFunction returns false",
"daily": false
}
]
},
{
"repo": "mediawiki/skins/MinervaNeue",
"url": "https://gerrit.wikimedia.org/g/mediawiki/skins/MinervaNeue",
"name": "MinervaNeue",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "Opening and closing the reference drawer \u003E Opening a reference",
"daily": false
},
{
"name": "Opening and closing the reference drawer \u003E Opening a nested reference",
"daily": false
},
{
"name": "Manage Watchlist \u003E Add an article to the watchlist",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Newsletter",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Newsletter",
"name": "Newsletter",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-Newsletter",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-Newsletter/",
"passes": 7,
"flaky": 0,
"fails": 0,
"total": 7,
"results": [
"P",
"P",
"P",
"P",
"P",
"P",
"P"
]
}
],
"testCount": 1,
"tests": [
{
"name": "Newsletter \u003E page should exist on installation",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/OpenIDConnect",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/OpenIDConnect",
"name": "OpenIDConnect",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "4.1.3",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 2,
"tests": [
{
"name": "OpenIDConnect \u003E can login",
"daily": false
},
{
"name": "OpenIDConnect \u003E is configured correctly",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/PageTriage",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/PageTriage",
"name": "PageTriage",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.2",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 5,
"tests": [
{
"name": "Special:NewPagesFeed \u003E is viewable",
"daily": false
},
{
"name": "Special:NewPagesFeed \u003E new article appears in feed",
"daily": false
},
{
"name": "PageTriage Toolbar \u003E should load",
"daily": false
},
{
"name": "PageTriage Toolbar \u003E should allow user to add a maintainence tag to a page",
"daily": false
},
{
"name": "PageTriage Toolbar \u003E should allow user to add a maintainence tag to a page and send a note to user",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ParserMigration",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ParserMigration",
"name": "ParserMigration",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 2,
"tests": [
{
"name": "ParserMigration \u003E should use parsoid with useparsoid=1 param",
"daily": false
},
{
"name": "ParserMigration \u003E should use legacy parser with useparsoid=0 param",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Popups",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Popups",
"name": "Popups",
"framework": "wdio",
"frameworkVersion": "9.27.1",
"mediawikiVersion": "6.5.1",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-Popups",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-Popups/",
"passes": 7,
"flaky": 2,
"fails": 0,
"total": 7,
"results": [
"P",
"U",
"P",
"P",
"P",
"U",
"P"
]
}
],
"testCount": 3,
"tests": [
{
"name": "Dwelling on a valid page link \u003E I should see a page preview",
"daily": false
},
{
"name": "Dwelling on a valid page link \u003E I should not see a page preview on hash fragment",
"daily": false
},
{
"name": "Dwelling on a valid page link \u003E Abandoning link hides page preview",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ProofreadPage",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ProofreadPage",
"name": "ProofreadPage",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 5,
"tests": [
{
"name": "For a page with the eis, the page status module \u003E should initialize with the value of current page",
"daily": false
},
{
"name": "For a page with the eis, the page status module \u003E should update on page change",
"daily": false
},
{
"name": "For a page with eis enabled \u003E toolbar loads",
"daily": false
},
{
"name": "For a page with eis enabled \u003E prev to page 1",
"daily": false
},
{
"name": "For a page with eis enabled \u003E next to last page",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/ReportIncident",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/ReportIncident",
"name": "ReportIncident",
"framework": "wdio",
"frameworkVersion": "9.27.0",
"mediawikiVersion": "6.5.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 6,
"tests": [
{
"name": "ReportIncident dialog \u003E Should open the dialog if the tools menu is used",
"daily": false
},
{
"name": "ReportIncident dialog \u003E Should be able to advance to step 2 and see a form with the expected fields",
"daily": false
},
{
"name": "ReportIncident dialog \u003E Should ask for additional details only when selecting \"Something else\"",
"daily": false
},
{
"name": "ReportIncident dialog \u003E Should display form errors when submit attempted with no form data",
"daily": false
},
{
"name": "ReportIncident dialog \u003E Should be able to submit a form with valid data",
"daily": false
},
{
"name": "ReportIncident dialog \u003E Should be able to fill a report from a thread",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/RevisionSlider",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/RevisionSlider",
"name": "RevisionSlider",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "5.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 21,
"tests": [
{
"name": "RevisionSlider expand \u003E does not automatically expand by default",
"daily": false
},
{
"name": "RevisionSlider expand \u003E expands automatically when auto expand is on",
"daily": false
},
{
"name": "RevisionSlider expand \u003E does not expand automatically when auto expand is off",
"daily": false
},
{
"name": "RevisionSlider expand \u003E hides when collapsed manually",
"daily": false
},
{
"name": "RevisionSlider diff links \u003E older edit diff link can be clicked",
"daily": false
},
{
"name": "RevisionSlider diff links \u003E newer edit diff link can be clicked",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E highlights revisions by the same user when I use the user filter",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E stops highlighting revisions when the filter is clicked twice",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E highlights revisions that have the same tag when I use the tag filter",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E highlights revisions that have the same tag when I use the tag filter after I used the user filter",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E only highlights revisions that have the same tag when I selected a user but hover a tag filter",
"daily": false
},
{
"name": "RevisionSlider filter highlighting \u003E re-applies highlight when I selected a user but hover and on-hover a tag filter",
"daily": false
},
{
"name": "RevisionSlider help \u003E tutorial is present on first load",
"daily": false
},
{
"name": "RevisionSlider help \u003E tutorial is not present after it was dismissed once",
"daily": false
},
{
"name": "RevisionSlider help \u003E tutorial sequence works",
"daily": false
},
{
"name": "RevisionSlider history \u003E can be accessed using browser back and forward buttons after clicking",
"daily": false
},
{
"name": "RevisionSlider history \u003E can be accessed using browser back and forward buttons after dragging",
"daily": false
},
{
"name": "RevisionSlider pointers \u003E can be dragged",
"daily": false
},
{
"name": "RevisionSlider timeline arrows \u003E should be disabled with 3 revisions",
"daily": false
},
{
"name": "RevisionSlider timeline arrows \u003E should be enabled with adequate revisions",
"daily": false
},
{
"name": "RevisionSlider revision tooltips \u003E appears and remains on hovering it",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Sanctions",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Sanctions",
"name": "Sanctions",
"framework": "wdio",
"frameworkVersion": "9.19.2",
"mediawikiVersion": "4.1.3",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 9,
"tests": [
{
"name": "Sanction \u003E should be canceled by the author",
"daily": false
},
{
"name": "Sanction \u003E should be rejected if three users object",
"daily": false
},
{
"name": "Sanction \u003E should be passed if three users support before expired",
"daily": false
},
{
"name": "Sanction \u003E should block the target user of the passed sanction when logged in",
"daily": false
},
{
"name": "Sanction \u003E should not touch the summary of a expired handled sanction",
"daily": false
},
{
"name": "Special:Sanctions \u003E should hide and show the form as the conditions change",
"daily": false
},
{
"name": "Special:Sanctions \u003E should add voted tag on a sanction",
"daily": false
},
{
"name": "Special:Sanctions \u003E should show \u003E an anonymous user not-logged-in warning",
"daily": false
},
{
"name": "Special:Sanctions \u003E should show \u003E a newly registered user that you are too new",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Score",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Score",
"name": "Score",
"framework": "cypress",
"frameworkVersion": "15.8.2",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 1,
"tests": [
{
"name": "add score statement \u003E mobile view \u003E loads the item view, allows statements to be edited ",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/TemplateData",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/TemplateData",
"name": "TemplateData",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "TemplateData users can favorite templates via VisualEditor \u003E show a template search field, with focus",
"daily": false
},
{
"name": "TemplateData users can favorite templates via VisualEditor \u003E show anon users a message about needing to log in",
"daily": false
},
{
"name": "TemplateData users can favorite templates via VisualEditor \u003E logged-in users can favorite templates from the search results",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/TemplateWizard",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/TemplateWizard",
"name": "TemplateWizard",
"framework": "wdio",
"frameworkVersion": "9.18.4",
"mediawikiVersion": "6.1.0",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 4,
"tests": [
{
"name": "TemplateWizard \u003E has 1 (required) field visible",
"daily": false
},
{
"name": "TemplateWizard \u003E has 5 fields visible",
"daily": false
},
{
"name": "TemplateWizard \u003E has template inserted",
"daily": false
},
{
"name": "TemplateWizard \u003E can be closed from search",
"daily": false
}
]
},
{
"repo": "wikibase/termbox",
"url": "https://gerrit.wikimedia.org/g/wikibase/termbox",
"name": "termbox",
"framework": "wdio",
"frameworkVersion": "9.20.0",
"mediawikiVersion": "6.5.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 25,
"tests": [
{
"name": "Termbox: AnonEditWarning \u003E shows the warning overlay for anonymous users when clicking the edit button",
"daily": false
},
{
"name": "Termbox: AnonEditWarning \u003E can be dismissed",
"daily": false
},
{
"name": "Termbox: AnonEditWarning \u003E does not show the warning overlay again if the user opts out",
"daily": false
},
{
"name": "Termbox: AnonEditWarning \u003E never appears for logged in users",
"daily": false
},
{
"name": "Termbox: LicenseOverlay \u003E is shown when clicking publish",
"daily": false
},
{
"name": "Termbox: LicenseOverlay \u003E disappears when clicking cancel and goes back to edit mode",
"daily": false
},
{
"name": "Termbox: LicenseOverlay \u003E disappears and saves when clicking publish",
"daily": false
},
{
"name": "Termbox: LicenseOverlay \u003E does not reappear after saving by default",
"daily": false
},
{
"name": "Termbox: LicenseOverlay \u003E reappears after saving when unchecking the \"remember my choice\" checkbox",
"daily": false
},
{
"name": "Termbox: editing \u003E edit mode \u003E is in edit mode after clicking the edit button",
"daily": false
},
{
"name": "Termbox: editing \u003E edit mode \u003E switches back to reading mode when clicking the cancel button",
"daily": false
},
{
"name": "Termbox: editing \u003E editing \u003E can edit labels, descriptions, and aliases",
"daily": false
},
{
"name": "Termbox: editing \u003E editing \u003E shows an error when an edit fails to save when the entity was protected while editing",
"daily": false
},
{
"name": "Termbox: reading \u003E is in reading mode when opening the item page",
"daily": false
},
{
"name": "Termbox: reading \u003E primary language terms \u003E contains the expected language with respective terms",
"daily": false
},
{
"name": "Termbox: reading \u003E \"in more languages\" section \u003E has a collapse/expand button",
"daily": false
},
{
"name": "Termbox: reading \u003E \"in more languages\" section \u003E is expanded by default",
"daily": false
},
{
"name": "Termbox: reading \u003E \"in more languages\" section \u003E is collapsible, also hiding the \"all entered languages\" section",
"daily": false
},
{
"name": "Termbox: reading \u003E \"in more languages\" section \u003E expands again when clicking the button twice",
"daily": false
},
{
"name": "Termbox: reading \u003E \"in more languages\" section \u003E contains the expected languages with respective terms",
"daily": false
},
{
"name": "Termbox: reading \u003E \"all entered languages\" section \u003E is collapsed by default",
"daily": false
},
{
"name": "Termbox: reading \u003E \"all entered languages\" section \u003E has a collapse/expand button",
"daily": false
},
{
"name": "Termbox: reading \u003E \"all entered languages\" section \u003E is expandable",
"daily": false
},
{
"name": "Termbox: reading \u003E \"all entered languages\" section \u003E collapses again when clicking the button twice",
"daily": false
},
{
"name": "Termbox: reading \u003E \"all entered languages\" section \u003E contains the expected languages with respective terms",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/TwoColConflict",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/TwoColConflict",
"name": "TwoColConflict",
"framework": "wdio",
"frameworkVersion": "9.27.0",
"mediawikiVersion": "6.5.1",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "selenium-daily-beta-TwoColConflict",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-TwoColConflict/",
"passes": 7,
"flaky": 1,
"fails": 0,
"total": 7,
"results": [
"P",
"P",
"U",
"P",
"P",
"P",
"P"
]
}
],
"testCount": 14,
"tests": [
{
"name": "TwoColConflict EditUi \u003E will switch to edit mode by clicking the column that is selected",
"daily": false
},
{
"name": "TwoColConflict EditUi \u003E edits of unchanged paragraphs should be saved",
"daily": false
},
{
"name": "TwoColConflict EditUi \u003E paragraph edits can be reverted",
"daily": false
},
{
"name": "TwoColConflict EditUi \u003E saving an editor with no changes will preserve the highlight portions",
"daily": false
},
{
"name": "TwoColConflict without JavaScript \u003E is showing the default version correctly",
"daily": false
},
{
"name": "TwoColConflict without JavaScript \u003E is showing the talk page version correctly",
"daily": false
},
{
"name": "TwoColConflict without JavaScript \u003E handles order selection on the talk page version correctly",
"daily": false
},
{
"name": "TwoColConflict save and preview \u003E should save a resolved conflict successfully including changes",
"daily": false
},
{
"name": "TwoColConflict save and preview \u003E should show a correct preview page including changes",
"daily": false
},
{
"name": "TwoColConflict \u003E shows the talk page screen on conflicts that also add new lines",
"daily": false
},
{
"name": "TwoColConflict \u003E on talk page conflicts \u003E shows the talk page screen correctly",
"daily": false
},
{
"name": "TwoColConflict \u003E on talk page conflicts \u003E swaps blocks when switch button is clicked",
"daily": false
},
{
"name": "TwoColConflict \u003E on talk page conflicts \u003E shows correct preview when swapped",
"daily": false
},
{
"name": "TwoColConflict \u003E on talk page conflicts \u003E stores correct merge when swapped and edited",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/VisualEditor",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/VisualEditor",
"name": "VisualEditor",
"framework": "wdio",
"frameworkVersion": "9.23.2",
"mediawikiVersion": "6.3.0",
"gatedSelenium": true,
"daily": true,
"dailyJobs": [
{
"name": "catalyst-daily-VisualEditor",
"url": "https://integration.wikimedia.org/ci/job/catalyst-daily-VisualEditor/",
"passes": 7,
"flaky": 0,
"fails": 0,
"total": 7,
"results": [
"P",
"P",
"P",
"P",
"P",
"P",
"P"
]
},
{
"name": "selenium-daily-beta-VisualEditor",
"url": "https://integration.wikimedia.org/ci/job/selenium-daily-beta-VisualEditor/",
"passes": 6,
"flaky": 0,
"fails": 1,
"total": 7,
"results": [
"P",
"P",
"P",
"F",
"P",
"P",
"P"
]
}
],
"testCount": 34,
"tests": [
{
"name": "Content Editable \u003E should load when an url is opened",
"daily": true
},
{
"name": "Content Editable \u003E should be editable",
"daily": false
},
{
"name": "Content Editable \u003E should save an edit",
"daily": false
},
{
"name": "Content Editable \u003E should insert a table",
"daily": false
},
{
"name": "Content Editable \u003E should insert Bullet list",
"daily": false
},
{
"name": "Content Editable \u003E should insert Numbered list",
"daily": false
},
{
"name": "Content Editable \u003E should insert and indent Bullet list",
"daily": false
},
{
"name": "Content Editable \u003E should insert and indent Numbered list",
"daily": false
},
{
"name": "Content Editable \u003E should insert an internal link",
"daily": false
},
{
"name": "Content Editable \u003E should insert an external link",
"daily": false
},
{
"name": "Content Editable \u003E should insert a comment",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Page title",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Heading",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Sub-heading 1",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Sub-heading 2",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Sub-heading 3",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Sub-heading 4",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Preformatted",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change text to Block quote",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Bold",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Italic",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Superscript",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Subscript",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Computer code",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Strikethrough",
"daily": false
},
{
"name": "Content Editable Formatting \u003E should change formatting to Underline",
"daily": false
},
{
"name": "Toolbar \u003E should open notices popup as soon as it loads",
"daily": false
},
{
"name": "Toolbar \u003E should open switch editor",
"daily": false
},
{
"name": "Toolbar \u003E should open page options",
"daily": false
},
{
"name": "Toolbar \u003E should open help popup",
"daily": false
},
{
"name": "Toolbar \u003E should open insert menu",
"daily": false
},
{
"name": "Toolbar \u003E should open structure options menu",
"daily": false
},
{
"name": "Toolbar \u003E should open style text options",
"daily": false
},
{
"name": "Toolbar \u003E should open format paragraph menu",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Wikibase",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase",
"name": "Wikibase",
"framework": "cypress",
"frameworkVersion": "14.5.3",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 18,
"tests": [
{
"name": "wbui2025 language preferences and RTL functionality \u003E mobile view \u003E Checking RTL layout when editing statements",
"daily": false
},
{
"name": "wbui2025 add qualifiers \u003E mobile view \u003E is possible to add and edit a qualifier",
"daily": false
},
{
"name": "wbui2025 add qualifiers \u003E mobile view (wbui2025) - tabular-data qualifier \u003E can add a tabular-data qualifier with lookup",
"daily": false
},
{
"name": "wbui2025 add qualifiers \u003E mobile view (wbui2025) - geo-shape qualifier \u003E can add a geo-shape qualifier with lookup",
"daily": false
},
{
"name": "wbui2025 add qualifiers \u003E mobile view (wbui2025) - geo-shape qualifier \u003E shows dropdown menu when typing in geo-shape qualifier lookup",
"daily": false
},
{
"name": "wbui2025 add reference \u003E mobile view \u003E is possible to add references for string and lookup datatypes",
"daily": false
},
{
"name": "wbui2025 item view add statement \u003E mobile view \u003E loads the item view and shows property selector",
"daily": false
},
{
"name": "wbui2025 item view add additional value to existing statement \u003E full add-value workflow \u003E opens the add-value modal, searches, selects, and confirms value",
"daily": false
},
{
"name": "wbui2025 item view add additional value to existing statement \u003E cancel behavior \u003E opens the add-value modal and cancels cleanly without enabling the save button",
"daily": false
},
{
"name": "wbui2025 entityId datatypes (item, property) \u003E mobile view - \u003E allows adding ",
"daily": false
},
{
"name": "wbui2025 edit references \u003E mobile view \u003E references are editable and deletable",
"daily": false
},
{
"name": "wbui2025 item view edit statements \u003E mobile view \u003E loads the item view and shows a statement, which can be edited, ",
"daily": false
},
{
"name": "wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) \u003E mobile view - tabular-data datatype \u003E displays tabular-data statement and supports full editing workflow",
"daily": false
},
{
"name": "wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) \u003E mobile view - geo-shape datatype \u003E displays geo-shape statement and supports full editing workflow",
"daily": false
},
{
"name": "wbui2025 string datatypes (tabular-data, geo-shape, commonsMedia) \u003E mobile view - commonsMedia datatype \u003E displays commonsMedia statement and supports full editing workflow",
"daily": false
},
{
"name": "wbui2025 time datatypes \u003E mobile view - time datatype \u003E allows adding time statement to empty item, ",
"daily": false
},
{
"name": "wbui2025 item view publish statement changes \u003E mobile view \u003E loads the item view and shows a statement, which can be edited",
"daily": false
},
{
"name": "wbui2025 item view \u003E mobile view \u003E loads the item view",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/Wikibase",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase",
"name": "Wikibase",
"framework": "wdio",
"frameworkVersion": "9.20.0",
"mediawikiVersion": "6.5.1",
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 7,
"tests": [
{
"name": "item \u003E can add a statement using the keyboard",
"daily": false
},
{
"name": "item \u003E old revisions do not have an edit link",
"daily": false
},
{
"name": "item \u003E has its label not rendered when linked on a Wikipage",
"daily": false
},
{
"name": "WikibaseRepoNonExistingItemPage \u003E edit tab does should not be there",
"daily": false
},
{
"name": "WikibaseRepoNonExistingItemPage \u003E the title should match",
"daily": false
},
{
"name": "WikibaseReferenceOnProtectedPage \u003E can expand collapsed references on a protected page as unprivileged user",
"daily": false
},
{
"name": "Add interlanguage links \u003E dialog loads on click",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/WikibaseLexeme",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/WikibaseLexeme",
"name": "WikibaseLexeme",
"framework": "cypress",
"frameworkVersion": "13.17.0",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 17,
"tests": [
{
"name": "Lexeme:Forms \u003E can be open the add Form, cancel the add, open it again and save. ",
"daily": false
},
{
"name": "Lexeme:Forms \u003E can add, edit and remove representation. it ",
"daily": false
},
{
"name": "Lexeme:Forms \u003E has statement list and can edit statements on a new Form",
"daily": false
},
{
"name": "Lexeme:Forms \u003E FormId generation \u003E FormId counter is not decremented when addForm is undone",
"daily": false
},
{
"name": "Lexeme:Forms \u003E FormId generation \u003E FormId counter is not decremented when old revision is restored",
"daily": false
},
{
"name": "Lexeme:Forms \u003E can be removed",
"daily": false
},
{
"name": "Lexeme:Header \u003E can edit the language and lexical category of a Lexeme",
"daily": false
},
{
"name": "Lexeme:non-existing \u003E says the entity does not exist",
"daily": false
},
{
"name": "Lexeme:Senses \u003E Sense header and container exist",
"daily": false
},
{
"name": "Special:MergeLexemes \u003E shows the form",
"daily": false
},
{
"name": "Special:MergeLexemes \u003E when blocked \u003E is not possible to edit",
"daily": false
},
{
"name": "NewLexeme:Page \u003E shows the form and creating a lexeme is possible",
"daily": false
},
{
"name": "Special:RecentChanges \u003E shows lemmas in title links to lexemes on Special:RecentChanges",
"daily": false
},
{
"name": "Special:Watchlist \u003E shows lemmas in title links to lexemes on Special:Watchlist",
"daily": false
},
{
"name": "Lexeme:Statements \u003E can be added",
"daily": false
},
{
"name": "Special Version Page \u003E verifies that the WikibaseLexeme extension loads",
"daily": false
},
{
"name": "wbui2025 Lexeme entityId datatypes (lexeme, form, sense) \u003E mobile view - \u003E displays item statement and supports full editing workflow",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/WikibaseQualityConstraints",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/WikibaseQualityConstraints",
"name": "WikibaseQualityConstraints",
"framework": "cypress",
"frameworkVersion": "15.7.1",
"mediawikiVersion": null,
"gatedSelenium": false,
"daily": false,
"dailyJobs": [],
"testCount": 3,
"tests": [
{
"name": "show constraints \u003E desktop view \u003E loads the item view with a simple violation",
"daily": false
},
{
"name": "show constraints \u003E desktop view \u003E loads the item view with an advanced violation",
"daily": false
},
{
"name": "show constraints \u003E wbui2025 mobile view \u003E adds an indicator, and a popover containing all violations",
"daily": false
}
]
},
{
"repo": "mediawiki/extensions/WikiLambda",
"url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLambda",
"name": "WikiLambda",
"framework": "wdio",
"frameworkVersion": "9.20.1",
"mediawikiVersion": "6.5.2",
"gatedSelenium": false,
"daily": true,
"dailyJobs": [
{
"name": "wikilambda-catalyst-end-to-end-daily",
"url": "https://integration.wikimedia.org/ci/job/wikilambda-catalyst-end-to-end-daily/",
"passes": 7,
"flaky": 0,
"fails": 0,
"total": 7,
"results": [
"P",
"P",
"P",
"P",
"P",
"P",
"P"
]
}
],
"testCount": 18,
"tests": [
{
"name": "Installation checks \u003E CreateObject \u003E page should exist on installation but deny to logged-out user",
"daily": false
},
{
"name": "Installation checks \u003E CreateObject \u003E page should exist on installation and work when logged in",
"daily": false
},
{
"name": "Installation checks \u003E RunFunction \u003E page should exist on installation",
"daily": false
},
{
"name": "Installation checks \u003E ListObjectsByType \u003E page should exist on installation",
"daily": false
},
{
"name": "Dynamic Test for Implementation and Test Case Connection \u003E Admin user \u003E should dynamically connect or disconnect the implementation based on its initial state",
"daily": false
},
{
"name": "Dynamic Test for Implementation and Test Case Connection \u003E Admin user \u003E should dynamically connect or disconnect the test case based on its initial state",
"daily": false
},
{
"name": "Function \u003E Function viewer (CUJ1) \u003E should allow to evaluate a function",
"daily": false
},
{
"name": "Function \u003E Function editor (CUJ2) \u003E should create a new function and display the function name",
"daily": false
},
{
"name": "Function \u003E Function editor (CUJ2) \u003E should create a new function and display function aliases",
"daily": false
},
{
"name": "Function \u003E Function editor (CUJ2) \u003E should create a new function and display function input labels and types",
"daily": false
},
{
"name": "Function \u003E Function editor (CUJ2) \u003E should create a new function and display function output type",
"daily": false
},
{
"name": "Implementation (CUJ 5) \u003E Implementation via code \u003E should create and publish a new implementation",
"daily": false
},
{
"name": "Implementation (CUJ 5) \u003E Implementation via composition \u003E should create and publish a new implementation",
"daily": false
},
{
"name": "Abstract Article (Special:ViewAbstract) \u003E loads and renders content + preview widgets",
"daily": false
},
{
"name": "Abstract Article (Special:ViewAbstract) \u003E shows the expected error fragment when a function returns wrong type",
"daily": false
},
{
"name": "Abstract Article (Special:ViewAbstract) \u003E allows switching preview language",
"daily": false
},
{
"name": "Tester \u003E Create a new test (CUJ 4) \u003E should fill and submit the tester form",
"daily": false
},
{
"name": "Tester \u003E Edit the test \u003E should edit the about block test",
"daily": false
}
]
}
]
}
el7819z6gbw54mwpx5ttntxf907qbm3
Extension:Favorites2
102
2405873
8390135
8381438
2026-05-24T19:34:03Z
Gota de agua
16623159
8390135
wikitext
text/x-wiki
<languages/>
{{Extension
|name = Favorites2
|status = stable
|type1 = special
|type2 =
|username = Gota de agua
|author = Gota de agua
|hook1 = BeforePageDisplay
|hook2 = SkinTemplateNavigation::Universal
|hook3 = LoadExtensionSchemaUpdates
|description = Allows users to save pages in a favorites list.
|image = Favorites2-ext.png
|imagesize = 500
|version = 2.0.0
|update = 2026-05-17
|needs-updatephp = yes
|compatibility policy =
|mediawiki = >= 1.45
|php = 8.3+
|license = GPL-2.0-or-later
|download = {{GithubDownload|Uvas12|Favorites2}}
|tags =
|parameters = <nowiki/>
* $wgUseIconFavorite
* $wgFavoritesPersonalURL
|example =
|compatibility =
|table1 = favorite
}}
The extension favorites2 allow have a list similar to wachlist, the diference is only for have a lost with the pages more love it or simply you only want have for consult them quickly, it's a way to collect the pages you like and do it simply and easily without complications like the watchlist, which adds tools to monitor and navigate recent changes. The Favorites2 extension aims to be even simpler and create a collection of your favorite pages.
The extension adds a special page to view the list of added pages, sorted by namespace and ordered alphabetically.
== Installation ==
{{ExtensionInstall
|download-link=[https://github.com/Uvas12/Favorites2/archive/refs/tags/2.0.0.zip Download]
|registration=required
|db-update=yes
|custom-steps=
* [[#Configuration|Configure it to your liking]]
}}
== Configuration ==
The following settings are available in the extension; you can configure it as you like.
{| class="wikitable"
|+
!Setting
!Default value
!Description
|-
|<code><nowiki>$wgUseIconFavorite</nowiki></code>
| true
| Allow choose, true if you wish use the icon of heart aimated for add and remove pages to the list or false for use only a new tab
|-
|<code><nowiki>$wgFavoritesPersonalURL</nowiki></code>
| true
| if you want have a link personal for acces fast to your favorite list, enable this
|}
7w6qremnxwzf3wjzsd3g46oj4urjzo0
Phabricator/Code/cs
0
2408895
8390134
8389726
2026-05-24T18:53:24Z
Rebulka
17532855
Created page with "Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum."
8390134
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
<span lang="en" dir="ltr" class="mw-content-ltr">There are limited resources available to maintain patches, and to merge them with changes from upstream.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
62l8hjydpznxz9xqcmcdyub6bqt9sxv
8390248
8390134
2026-05-25T05:05:28Z
Rebulka
17532855
Created page with "Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje."
8390248
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
<span lang="en" dir="ltr" class="mw-content-ltr">Any local patches therefore have to be discussed within the #phabricator project.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
7571ojk7f40tzlmeien1te0p38q5l45
8390250
8390248
2026-05-25T05:06:28Z
Rebulka
17532855
Created page with "Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator."
8390250
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
<span lang="en" dir="ltr" class="mw-content-ltr">It's significantly less work to maintain a phabricator extension, as long as care is taken in avoiding the use of particularly new / unstable APIs from phabricator's core.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
m216j4h4h1qy5z7oawloalkr8lujxrb
8390252
8390250
2026-05-25T05:06:54Z
Rebulka
17532855
Created page with "Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru."
8390252
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
<span lang="en" dir="ltr" class="mw-content-ltr">Although extensions don't require merging and potential code conflicts, they do require testing each time we pull in upstream changes.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
j3z8qrlkucjhqv7al8gmmz90j9bdx3t
8390254
8390252
2026-05-25T05:07:12Z
Rebulka
17532855
Created page with "Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu."
8390254
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
<span lang="en" dir="ltr" class="mw-content-ltr">Phorge does not have any frozen APIs which are deemed safe to depend on.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
37wbwt2ye20dt9wwai7u8miql3d64u5
8390256
8390254
2026-05-25T05:07:31Z
Rebulka
17532855
Created page with "Phorge nemá žádná zmrazená API, na která by se dalo spolehnout."
8390256
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
<div lang="en" dir="ltr" class="mw-content-ltr">
The current code of the Wikimedia Phabricator instance itself:
</div>
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
s0qqemi4brmdecdscu2g8n85vvneyrh
8390258
8390256
2026-05-25T05:07:48Z
Rebulka
17532855
Created page with "Aktuální kód samotné instance Wikimedia Phabricator:"
8390258
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
<div lang="en" dir="ltr" class="mw-content-ltr">
The current locally-maintained extensions are:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
3h4bdp4ul5ctylzlhumsd17kpphh0av
8390260
8390258
2026-05-25T05:08:29Z
Rebulka
17532855
Created page with "Aktuální lokálně udržované přístavby jsou:"
8390260
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Several customizations in one code repository], such as the MediaWiki OAuth extension (not upstreamed; see the Differential revisions and commits at https://secure.phabricator.com/T5096), Security related code, the MediaWiki Userpage field on Phabricator user pages, etc.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
bzitjwpuiiwwfeex5jrn5yt1qowmbzi
8390262
8390260
2026-05-25T05:09:08Z
Rebulka
17532855
Created page with "* [$1 Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na $secure), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd."
8390262
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalism], still in Gerrit and to be moved to GitLab.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
c7cxl55din8z9qmzikzruzvob6sd912
8390264
8390262
2026-05-25T05:10:05Z
Rebulka
17532855
Created page with "* [$1 Antivandalismus], stále v Gerritu a bude přesunut do GitLabu."
8390264
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Site configuration ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
iu2sk3zgyasc80sdykuwtccx5mt97h4
8390266
8390264
2026-05-25T05:10:22Z
Rebulka
17532855
Created page with "== Konfigurace webu =="
8390266
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Most of the configuration is set through the web interface. Defaults (shared between https://phabricator.wikimedia.org and e.g. https://phabricator.wmcloud.org/) are set using either the [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|puppet maniphest]] or the [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap template] (see [[phab:T239355]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
sid49g6h53hwhrhqnck86p4otv0ra77
8390269
8390266
2026-05-25T05:19:43Z
Rebulka
17532855
Created page with "Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi $phab a např. $wmflabs) se nastavují buď pomocí [[$1|manifestu puppet]], nebo pomocí šablony [$2 Scap] (viz [[phab:T239355]])."
8390269
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<div lang="en" dir="ltr" class="mw-content-ltr">
== Setting up ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
fzdwynulfaznd5bgvugid5wfdm1q04j
8390271
8390269
2026-05-25T05:19:49Z
Rebulka
17532855
Created page with "== Nastavení =="
8390271
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
<div lang="en" dir="ltr" class="mw-content-ltr">
See [[Phabricator/Local Dev Environment]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
2cg7j1ew06c0x3bpap1radc022y0v9t
8390273
8390271
2026-05-25T05:21:14Z
Rebulka
17532855
Created page with "Viz [[Phabricator/Lokální vývojářské prostředí]]."
8390273
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
<div lang="en" dir="ltr" class="mw-content-ltr">
Another way to get set up is by using [[MediaWiki-Vagrant|MediaWiki-Vagrant]] using the 'phabricator' role. Follow the steps on [[MediaWiki-Vagrant]] to install MediaWiki-Vagrant, then enable the phabricator role using
</div>
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
4ko1ipmj9dd7p3250iptn61zpazu109
8390275
8390273
2026-05-25T05:21:51Z
Rebulka
17532855
Created page with "Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí"
8390275
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Access the Phabricator instance at URL:
</div> http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
2n62q1vkixk9c6jwc8gvu2ys19w0gmv
8390277
8390275
2026-05-25T05:22:12Z
Rebulka
17532855
Created page with "* Přístup k instanci Phabricatoru na adrese URL:"
8390277
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
<div lang="en" dir="ltr" class="mw-content-ltr">
* The Phabricator install is located in `/srv/phabricator/` (?) on the VM.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
ek6tirk82fam4wlikyz3hrv3wn31a83
8390282
8390277
2026-05-25T05:24:03Z
Rebulka
17532855
Created page with "* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači."
8390282
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Using a Cloud VPS VM ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
hvgzq9p5k9jhud5pv0ipfne29ngmonq
8390286
8390282
2026-05-25T05:24:22Z
Rebulka
17532855
Created page with "=== Používání cloudového VPS virtuálního počítače ==="
8390286
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
<div lang="en" dir="ltr" class="mw-content-ltr">
If you know how to spin up a VM on Cloud VPS, and have the rights to do so, you can create an instance with the `phabricator::labs` role. This should give you a basic setup with the same configuration as https://phabricator.wmcloud.org/.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
8l54862zvwqxnbhxd6wgudsi98b05ig
8390289
8390286
2026-05-25T05:26:32Z
Rebulka
17532855
Created page with "Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako $wmflabs."
8390289
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Migration code from Bugzilla, RT, Mingle, Trello to Phabricator ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
pofr7it35qwumuuauglteyd6mtywrk6
8390291
8390289
2026-05-25T05:26:54Z
Rebulka
17532855
Created page with "== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru =="
8390291
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
<span lang="en" dir="ltr" class="mw-content-ltr">The [[phab:diffusion/PHTO/browse/|scripts that Wikimedia used for migrating its Bugzilla and RT data to Phabricator are available]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
gdkhe20qx7btxqdi8pay5g4li5qz4dl
8390293
8390291
2026-05-25T05:27:13Z
Rebulka
17532855
Created page with "Skripty [[$1|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]]."
8390293
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
<span lang="en" dir="ltr" class="mw-content-ltr">Note that the migration code is [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ not bug-free] and that it was only written and used for the specific configurations of Wikimedia's tools.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
l1hx76eln9dpk0usmm6z0rz8acx107p
8390295
8390293
2026-05-25T05:27:56Z
Rebulka
17532855
Created page with "Všimněte si, že migrační kód [$blogs není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia."
8390295
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
<span lang="en" dir="ltr" class="mw-content-ltr">Also note other migration scripts, e.g. the [[w:GStreamer|GStreamer]] project used a [https://git.collabora.com/cgit/user/em/phabricator.git/ phill script] by Emanuele Aina to import their data from Bugzilla into Phabricator in 2015.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
0frx2exu9uwn18g3tvvfnxde7xnuv5c
8390298
8390295
2026-05-25T05:29:31Z
Rebulka
17532855
Created page with "Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru."
8390298
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
<div lang="en" dir="ltr" class="mw-content-ltr">
Data was migrated from Mingle to Phabricator via a script available in [[phab:P129]].
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
05sz57v26ljv01rwzoqav9lbubwvgfq
8390300
8390298
2026-05-25T05:29:48Z
Rebulka
17532855
Created page with "Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v $phab."
8390300
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v [[phab:P129]].
<span lang="en" dir="ltr" class="mw-content-ltr">The scripts to migrate data from Trello to Phabricator are available.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
mrk11yswx5juapyg84ig3vq8n5x4hi6
8390302
8390300
2026-05-25T05:30:05Z
Rebulka
17532855
Created page with "Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici."
8390302
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v [[phab:P129]].
Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici.
<span lang="en" dir="ltr" class="mw-content-ltr">See [[phab:T821]] for more information.</span>
[[Category:Phabricator{{#translation:}}]]
bezh9x4d78vnfpg60ttb9uxu5qp8c99
8390304
8390302
2026-05-25T05:30:11Z
Rebulka
17532855
Created page with "Další informace získáte na stránce $1."
8390304
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Lokální vývojářské prostředí]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v [[phab:P129]].
Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici.
Další informace získáte na stránce [[phab:T821]].
[[Category:Phabricator{{#translation:}}]]
nk4ctmpm8xwdpxa72p5psp1hye4ofcs
8390307
8390304
2026-05-25T05:32:37Z
Rebulka
17532855
8390307
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Local Dev Environment]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v [[phab:P129]].
Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici.
Další informace získáte na stránce [[phab:T821]].
[[Category:Phabricator{{#translation:}}]]
1f5h5vykcjo01f9vio76zrh4imk7w6v
8390471
8390307
2026-05-25T10:02:25Z
FuzzyBot
451990
Updating to match new version of source page
8390471
wikitext
text/x-wiki
<languages />
Tento dokument popisuje proces vývoje instance Phabricatoru na [[phab:|Wikimedii]]. [[w:Pharbacator|Pharbacator]] je napsán v jazyce [[w:PHP|PHP]], stejně jako [[w:MediaWiki|MediaWiki]], což by mělo pomoci s zahájením vývoje.
V tomto dokumentu se nejprve podíváme na to, jak Wikimedie používá Phabricator a co očekávat během vývoje.
Následuje několik poznámek k tomu, jak začít se samotným vývojem.
<span id="Phabricator_at_Wikimedia"></span>
== Phabricator na Wikimedii ==
Wikimedie používá instanci Phorge (dříve známou jako Phabricator) s minimálními změnami oproti upstreamu, protože údržba lokálních záplat je těžkopádná.
Výjimkou jsou ''rozšíření'', která se nacházejí v [https://gitlab.wikimedia.org/repos/phabricator/extensions/ samostatném repozitáři] a proto nepotřebují pravidelná slučování.
<span class="mw-translate-fuzzy">Veškeré další změny tedy musí projít upstreamem. To zní jako velká překážka, ale v praxi správci upstreamu reagují na návrhy velmi rychle.</span>
<span id="Wikimedia_Phabricator_bug_workflow"></span>
== Pracovní postup pro řešení chyb ve Wikimedia Phabricatoru ==
Než se pustíte do některého z úkolů, je užitečné pochopit životní cyklus chyby. Existují dva projekty:
[[phab:project/profile/5/|#phabricator]] pro chyby specifické pro WMF a
[[phab:project/profile/6/|#phabricator-upstream]] pro obecné problémy s Phabricatorem/Phorge. Softwarové chyby a požadavky na vylepšení obvykle spadají do této druhé kategorie.
Pracovní plocha Phabricator-upstream ukazuje proces, kterým úlohy procházejí před vytvořením v upstreamu:
; Nevyřízené úkoly: Sem se standardně přidávají nové úkoly. Zde najdete i pozastavené úkoly.
: Tyto úkoly by se mohly potenciálně dostat do [https://we.phorge.it/ systému sledování chyb Phorge]. Při tom je nutné dodržovat:
:* [https://we.phorge.it/book/contrib/article/bug_reports/ Pokyny Phorge pro hlášení chyb]
:* [https://we.phorge.it/book/contrib/article/feature_requests/ Pokyny společnosti Phorge pro požadavky na funkce]
; Upstream: úkoly, které byly hlášeny upstream.
; Vyřešeno v upstreamu: Související úloha v upstreamu byla uzavřena, pravděpodobně se souvisejícím commitem. Aby se tato konkrétní změna projevila ve Wikimedia Phabricatoru, může být stále nutné naplánovat aktualizaci Wikimediae.
Jakmile je úkol publikován v upstreamu, vývojáři v upstreamu reagují svým hodnocením a návrhy, jak by měla být funkce implementována.
''V tomto okamžiku může vývojář začít s implementací.''
V některých případech se vývojáři v upstreamu rozhodnou, že funkce nezapadá do jejich plánů.
V tomto případě je úkol ve Wikimedia Phabricatoru přesunut z projektu #phabricator-upstream do projektu #phabricator a skončí zpět ve fázi diskuse: Je tato funkce dostatečně důležitá pro údržbu lokálních záplat?
Jakmile je toto rozhodnuto, lze začít s implementací.
Abyste zvýšili šance na schválení vašeho kódu a vyhnuli se nepříjemnostem, kontaktujte Phorge nebo správce WMF a proberte s nimi možnou implementaci.
<span id="Contact_Phorge_(upstream)"></span>
== Kontakt Phorge (upstream) ==
* [https://we.phorge.it/ponder/question/create/ Položte novou otázku ohledně Phorge]
* [https://we.phorge.it/ponder/ Procházejte otázky a odpovědi o Phorge]
* [https://we.phorge.it/tag/affects-wikimedia/ Podívejte se na tag #affects-wikimedia ve Phorge]
<span id="Local_changes"></span>
== Místní změny ==
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
Aktuální kód samotné instance Wikimedia Phabricator:
* https://gitlab.wikimedia.org/repos/phabricator/phabricator
* https://gitlab.wikimedia.org/repos/phabricator/arcanist
Aktuální lokálně udržované přístavby jsou:
* [https://gitlab.wikimedia.org/repos/phabricator/extensions Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na https://secure.phabricator.com/T5096), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
* [https://gerrit.wikimedia.org/g/phabricator/antivandalism/ Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
<span id="Site_configuration"></span>
== Konfigurace webu ==
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi https://phabricator.wikimedia.org a např. https://phabricator.wmcloud.org/) se nastavují buď pomocí [[phab:diffusion/OPUP/browse/production/modules/phabricator/data/fixed_settings.yaml|manifestu puppet]], nebo pomocí šablony [https://gitlab.wikimedia.org/repos/phabricator/deployment/-/commits/wmf/stable/scap/templates/phabricator/conf/local/local.json.j2 Scap] (viz [[phab:T239355]]).
<span id="Setting_up"></span>
== Nastavení ==
Viz [[Phabricator/Local Dev Environment]].
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
<syntaxhighlight lang="bash" style="overflow:auto;">
vagrant roles enable phabricator --provision
</syntaxhighlight>
* Přístup k instanci Phabricatoru na adrese URL: http://phabricator.local.wmftest.net:8080/
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
<span id="Using_a_Cloud_VPS_VM"></span>
=== Používání cloudového VPS virtuálního počítače ===
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako https://phabricator.wmcloud.org/.
<span id="Migration_code_from_Bugzilla,_RT,_Mingle,_Trello_to_Phabricator"></span>
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
Skripty [[phab:diffusion/PHTO/browse/|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
Všimněte si, že migrační kód [https://blogs.gnome.org/aklapper/2014/12/17/welcome-phabricator/ není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v [[phab:P129]].
Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici.
Další informace získáte na stránce [[phab:T821]].
[[Category:Phabricator{{#translation:}}]]
ewt2h2izc2u2tlzbd4r66j4w9ql2pgg
Translations:Help:Editing pages/32/ko
1198
2409689
8390077
2026-05-24T14:08:57Z
YeBoy371
2746081
Created page with "$3 버튼을 클릭하십시오."
8390077
wikitext
text/x-wiki
$3 버튼을 클릭하십시오.
refbb1fyrhyazxuaaur3nwivd2lx886
Translations:Help:Editing pages/31/ko
1198
2409690
8390079
2026-05-24T14:09:44Z
YeBoy371
2746081
Created page with "텍스트를 수정하십시오."
8390079
wikitext
text/x-wiki
텍스트를 수정하십시오.
9qhd8tgapjc631bmhqsvfks5ho1b0pu
User talk:Brooke Vibber/Archived 2026-05-24
3
2409691
8390104
2026-05-24T16:32:44Z
Brooke Vibber
79
Archived from [[User talk:Brooke Vibber]]
8390104
wikitext
text/x-wiki
{{Flow-enabled}}
{{Wikitext talk page converted to Flow|archive=User talk:Brooke Vibber/Archive 1|date=2016-03-03}}
== Floowwwww ==
\o/ [[User:Brooke Vibber|brooke]] ([[User talk:Brooke Vibber|talk]]) 18:58, 3 March 2016 (UTC)
:{{FlowMention|Ad Huikeshoven}} poke poke [[User:Brooke Vibber|brooke]] ([[User talk:Brooke Vibber|talk]]) 18:58, 3 March 2016 (UTC)
== mobile-sidebar using skin != vector ==
(this script: [//meta.wikimedia.org/wiki/User:Brion VIBBER/mobile-sidebar.js Meta:User:Brion VIBBER/mobile-sidebar.js] )
problem boils down to the script using $('#content') instead of mw.util.$content
also, with monobook (after modifying the code to use mw.util.$content), i noticed that the left edge of the mobile is overshadowed by the right edge of the content. adding <nowiki><code>z-index=12 </code></nowiki> to the css cured it, but there's probably more correct way to solve this problem.
peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 22:19, 3 March 2016 (UTC)
== Pop up with an image and a little description ==
Hello, I have noticed that when I'm reading some wiki info, I need to have a pop up with an ilustrative image and a brief info of the links dispersed in the text. Like a facebook name link, such as, when the cursor stands in the link, it developes the profile picture and info. It'll make the reading a lot easier and practical. [[User:Fvalentinaminio|Fvalentinaminio]] ([[User talk:Fvalentinaminio|talk]]) 14:19, 18 May 2016 (UTC)
== embed-demo.wmflabs.org ==
This linked [http://embed-demo.wmflabs.org/ demo site] has been returning 502's for about a week now. I figure you might know something of it? Expected? [[User:Stixpjr|Stixpjr]] ([[User talk:Stixpjr|talk]]) 10:58, 16 September 2016 (UTC)
:[late response] yes it's been broken for a while, needs to be reconstituted. [[User:Brooke Vibber|brooke]] ([[User talk:Brooke Vibber|talk]]) 23:00, 13 January 2017 (UTC)
== Share your experience and feedback as a Wikimedian in this global survey ==
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Hello! The Wikimedia Foundation is asking for your feedback in a survey. We want to know how well we are supporting your work on and off wiki, and how we can change or improve things in the future.<ref>This survey is primarily meant to get feedback on the Wikimedia Foundation's current work, not long-term strategy.</ref> The opinions you share will directly affect the current and future work of the Wikimedia Foundation. You have been randomly selected to take this survey as we would like to hear from your Wikimedia community. To say thank you for your time, we are giving away 20 Wikimedia T-shirts to randomly selected people who take the survey.<ref>Legal stuff: No purchase necessary. Must be the age of majority to participate. Sponsored by the Wikimedia Foundation located at 149 New Montgomery, San Francisco, CA, USA, 94105. Ends January 31, 2017. Void where prohibited. [[m:Community Engagement Insights/2016 contest rules|Click here for contest rules]].</ref> The survey is available in various languages and will take between 20 and 40 minutes.
<big>'''[https://wikimedia.qualtrics.com/SE/?SID=SV_6mTVlPf6O06r3mt&Aud=AE&Src=19AEOP Take the survey now!]'''</big>
You can find more information about [[m:Community_Engagement_Insights/About_CE_Insights|this project]]. This survey is hosted by a third-party service and governed by this [[:foundation:Community_Engagement_Insights_2016_Survey_Privacy_Statement|privacy statement]]. Please visit our [[m:Community_Engagement_Insights/Frequently_asked_questions|frequently asked questions page]] to find more information about this survey. If you need additional help, or if you wish to opt-out of future communications about this survey, send an email to surveys@wikimedia.org.
Thank you!
--[[:m:User:EGalvez (WMF)|EGalvez (WMF)]] ([[:m:User talk:EGalvez (WMF)|talk]]) 21:27, 13 January 2017 (UTC)
</div>
<!-- Message sent by User:EGalvez (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2016/19-AEOP&oldid=16205365 -->
<references /> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 21:27, 13 January 2017 (UTC)
== Nuke Extension ==
Hello! I have a question about the Nuke Extension. Is it possible to delete Files/Sites longer below 30 days? I have many Sites it was created 1 year ago. Excuse me when i at the wrong place to ask these. [[User:Fiedwhs|Fiedwhs]] ([[User talk:Fiedwhs|talk]]) 18:17, 9 June 2017 (UTC)
== 64 bit PHP on windows ==
Regarding [[Manual:32-bit]], on the windows download page for PHP, the official page it is noted that
<blockquote>
The x64 builds of PHP 5 for Windows are experimental, and do not provide 64-bit integer or large file support.
</blockquote>
[http://windows.php.net/download/] <span style="color:#ffcc33">—'''[[User:Mainframe98|<span style="color:#ffcc33">Mainframe98</span>]] <sub>[[User talk:Mainframe98|<span style="color:#ffcc33">talk</span>]]</sub>'''</span> 08:48, 1 August 2017 (UTC)
== CharInsert Gadget doesn't apper on new text editor mode.. ==
https://en.wikisource.org/w/index.php?title=Page:Alcohol,_a_Dangerous_and_Unnecessary_Medicine.djvu/207&action=edit
CharInsert should be present and isn't.
Suggestions on the precise configuration needed in respect of preferences to get it back would be appreciated. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 15:31, 5 November 2018 (UTC)
== SVGEdit in MediaWiki 1.31 ==
Hi Brion, I've tried to use your extension SVGEdit under the latest stable MediaWiki and I'm struggling with it. Even I've downloaded the latest version (master) from github.com (/wikimedia/mediawiki-extensions-SVGEdit) there is an error thrown in javascript when clicking "Edit drawing" for valid SVG file:
TypeError: mwSVG is undefined
There are shown some warning as well, but I expect that they are not rootcause of the issue: This page is using the deprecated ResourceLoader module "jquery.ui.widget". load.php:31:942 This page is using the deprecated ResourceLoader module "jquery.ui.core". Please use OOUI instead.
Do you have an idea why this is happening? Thanks. [[Special:Contributions/147.32.80.217|147.32.80.217]] ([[User talk:147.32.80.217|talk]]) 21:54, 5 January 2019 (UTC)
== 당신을 위한 반스타! ==
{| style="background-color: #fdffe7; border: 1px solid #fceb92;"
| rowspan="2" style="vertical-align: middle; padding: 5px;" |<figure-inline>[[File:Vitruvian Barnstar Hires.png|100x100px]]</figure-inline>
| style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" |'''기술 반스타'''
|-
| style="vertical-align: middle; padding: 3px;" |Thank you for creating [[Extension:SyntaxHighlight]]. I wondered who made this. It's very useful when I write codes. :) Have a nice day!
|} [[User:Gcd822|Gcd822]] ([[User talk:Gcd822|talk]]) 00:06, 23 April 2020 (UTC)
== What is the license for [[File:Git_notes_-_NOLA_Hackathon_2011.pdf]] and its audio counterpart? ==
I need the license information in order to export the files to Commons. [[User:Calvinkulit|Calvinkulit]] ([[User talk:Calvinkulit|talk]]) 15:35, 11 September 2020 (UTC)
== How we will see unregistered users ==
<section begin="content" />
Hi!
You get this message because you are an admin on a Wikimedia wiki.
When someone edits a Wikimedia wiki without being logged in today, we show their IP address. As you may already know, we will not be able to do this in the future. This is a decision by the Wikimedia Foundation Legal department, because norms and regulations for privacy online have changed.
Instead of the IP we will show a masked identity. You as an admin '''will still be able to access the IP'''. There will also be a new user right for those who need to see the full IPs of unregistered users to fight vandalism, harassment and spam without being admins. Patrollers will also see part of the IP even without this user right. We are also working on [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|better tools]] to help.
If you have not seen it before, you can [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|read more on Meta]]. If you want to make sure you don’t miss technical changes on the Wikimedia wikis, you can [[m:Global message delivery/Targets/Tech ambassadors|subscribe]] to [[m:Tech/News|the weekly technical newsletter]].
We have [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|two suggested ways]] this identity could work. '''We would appreciate your feedback''' on which way you think would work best for you and your wiki, now and in the future. You can [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|let us know on the talk page]]. You can write in your language. The suggestions were posted in October and we will decide after 17 January.
Thank you.
/[[m:User:Johan (WMF)|Johan (WMF)]]<section end="content" />
18:17, 4 January 2022 (UTC)
<!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(5)&oldid=22532651 -->
[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 18:17, 4 January 2022 (UTC)
== Your advanced permissions on mediawikiwiki ==
Hello. A [[:m:Admin activity review|policy]] regarding the removal of "advanced rights" (administrator, bureaucrat, interface administrator, etc.) was adopted by [[:m:Requests for comment/Activity levels of advanced administrative rights holders|community consensus]] in 2013. According to this policy, the stewards are reviewing activity on wikis with no inactivity policy.
You meet the inactivity criteria (no edits and no logged actions for 2 years) on this wiki. Since this wiki, to the best of our knowledge, does not have its own rights review process, the global one applies.
If you want to keep your advanced permissions, you should inform the community of the wiki about the fact that the stewards have sent you this information about your inactivity. A community notice about this process has been also posted on the local Village Pump of this wiki. If the community has a discussion about it and then wants you to keep your rights, please contact the stewards at the [[:m:Stewards' noticeboard]], and link to the discussion of the local community, where they express their wish to continue to maintain the rights.
If you wish to resign your rights, please [[m:SRP|request removal of your rights on Meta]].
If there is no response at all after one month, stewards will proceed to remove your administrator and/or bureaucrat rights. In ambiguous cases, stewards will evaluate the responses and will refer a decision back to the local community for their comment and review. If you have any questions, please contact the [[:m:Stewards' noticeboard|stewards]].
Yours faithfully. [[User:EPIC|EPIC]] ([[User talk:EPIC|talk]]) 17:56, 14 February 2026 (UTC)
:Thanks for the checkin! Replied over on the local village pump. --[[User:Brooke Vibber|brooke]] ([[User talk:Brooke Vibber#top|talk]]) 19:01, 19 February 2026 (UTC)
4nnk3dya5awkec67rveteuys6wthw52
Translations:Extension:PageTriage/83/es
1198
2409692
8390127
2026-05-24T18:23:36Z
MSG0007
18297834
Created page with "==Configuración avanzada=="
8390127
wikitext
text/x-wiki
==Configuración avanzada==
kmsnwm5lxhcl8teluqvy1nlp73qpxh2
Translations:Extension:PageTriage/84/es
1198
2409693
8390129
2026-05-24T18:23:46Z
MSG0007
18297834
Created page with "== Notas adicionales =="
8390129
wikitext
text/x-wiki
== Notas adicionales ==
2vgj7bo9aj3udpagm9o1yd77g7cbm0k
Translations:Extension:PageTriage/80/es
1198
2409694
8390131
2026-05-24T18:23:54Z
MSG0007
18297834
Created page with "Para la funcionalidad completa, también necesitará instalar algunas extensiones adicionales, aunque PageTriage funciona sin ellas."
8390131
wikitext
text/x-wiki
Para la funcionalidad completa, también necesitará instalar algunas extensiones adicionales, aunque PageTriage funciona sin ellas.
h823j8iaj1xe4c60dncvdd4ja8958u0
Translations:Phabricator/Code/21/cs
1198
2409695
8390133
2026-05-24T18:53:23Z
Rebulka
17532855
Created page with "Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum."
8390133
wikitext
text/x-wiki
Jak již bylo zmíněno v předchozí části, snažíme se omezit lokální záplaty na minimum.
q29hzzilwvh71v1uevdbtcrbyd38ung
Translations:Content translation/55/bg
1198
2409696
8390138
2026-05-24T20:18:12Z
~2026-31109-16
18404997
Created page with "== Подобрен подход към превода =="
8390138
wikitext
text/x-wiki
== Подобрен подход към превода ==
ko6zmn1kmjnmc463s49f10a14h72nfe
Translations:Content translation/56/bg
1198
2409697
8390140
2026-05-24T20:22:13Z
~2026-31109-16
18404997
Created page with "Преводът на съдържание вече разполага с интегриран панел, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства."
8390140
wikitext
text/x-wiki
Преводът на съдържание вече разполага с интегриран панел, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
7zi572jov8y54a2uucjxo5paptelctz
8390144
8390140
2026-05-24T20:24:28Z
~2026-31109-16
18404997
8390144
wikitext
text/x-wiki
Преводът на съдържание вече разполага с единно табло за управление, който гарантира еднакво удобство при работа за всички потребители, независимо дали използват настолни или мобилни устройства.
s0yaox7q3tfd3jog5c49047hvz4per7
Translations:Content translation/61/bg
1198
2409698
8390142
2026-05-24T20:23:45Z
~2026-31109-16
18404997
Created page with "Той включва функцията за Превод на раздели, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия."
8390142
wikitext
text/x-wiki
Той включва функцията за Превод на раздели, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
5rvgw4xjov20vaavogpkoo6s0179noq
8390146
8390142
2026-05-24T20:25:13Z
~2026-31109-16
18404997
8390146
wikitext
text/x-wiki
Той включва функцията за {{$1|Превод на раздели}}, която позволява на мобилните потребители бързо да разширяват статията, като превеждат раздел по раздел, както и интерфейса за настолни компютри, който помага за превода на цялата статия.
ra0c6ukgy629lzya5z6ohiah6kccl9m
Translations:Content translation/57/bg
1198
2409699
8390148
2026-05-24T20:28:23Z
~2026-31109-16
18404997
Created page with "Единното табло за управление позволява на потребителите на настолни компютри да:"
8390148
wikitext
text/x-wiki
Единното табло за управление позволява на потребителите на настолни компютри да:
8yngcxyz6r71ngahaps6xgzgopyulph
Translations:Content translation/59/bg
1198
2409700
8390150
2026-05-24T20:29:37Z
~2026-31109-16
18404997
Created page with "Превеждат нови части от статия."
8390150
wikitext
text/x-wiki
Превеждат нови части от статия.
jqtw65qf545k7pv9wi15t9sklth9nq2
Translations:Content translation/60/bg
1198
2409701
8390152
2026-05-24T20:32:39Z
~2026-31109-16
18404997
Created page with "Откриват и имат достъп до тематично базирани[$url филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства."
8390152
wikitext
text/x-wiki
Откриват и имат достъп до тематично базирани[$url филтри за предложения за статии], които първоначално са били налични единствено за потребителите на мобилни устройства.
1a7d3njf8tzu72pc5wcuxez0qp7fi7w
Translations:Content translation/62/bg
1198
2409702
8390154
2026-05-24T20:34:16Z
~2026-31109-16
18404997
Created page with "Намират и използват филтъра за {{$1|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании."
8390154
wikitext
text/x-wiki
Намират и използват филтъра за {{$1|Персонализирани списъци от общността}} (познати още като „Колекции“) в уики-проекти и кампании.
af1x1cxwkodn9oomykbnub2kg9bp4ck
Translations:Content translation/58/bg
1198
2409703
8390156
2026-05-24T20:34:27Z
~2026-31109-16
18404997
Created page with "Вижте също:"
8390156
wikitext
text/x-wiki
Вижте също:
2nvacillje6innbgon3pisei6mxqbf4
Translations:Content translation/63/bg
1198
2409704
8390158
2026-05-24T20:34:32Z
~2026-31109-16
18404997
Created page with "Документация на потребителя"
8390158
wikitext
text/x-wiki
Документация на потребителя
dfryzjl6lrhfenbmc05yk4izr9x2opl
Translations:Content translation/64/bg
1198
2409705
8390160
2026-05-24T20:34:35Z
~2026-31109-16
18404997
Created page with "Техническа документация"
8390160
wikitext
text/x-wiki
Техническа документация
iim3aveln14y72yjzn9tgya8vv10tkw
Translations:Content translation/44/bg
1198
2409706
8390162
2026-05-24T20:35:20Z
~2026-31109-16
18404997
Created page with "* '''Превод на раздели и поддръжка за мобилни устройства.'''"
8390162
wikitext
text/x-wiki
* '''Превод на раздели и поддръжка за мобилни устройства.'''
5k2nh3gttquopmhof9obxijxvwt6k2g
Translations:Content translation/52/bg
1198
2409707
8390164
2026-05-24T20:36:05Z
~2026-31109-16
18404997
Created page with "[[$1|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание."
8390164
wikitext
text/x-wiki
[[$1|Инициативата за превод на раздели]] разширява възможностите на инструмента за превод на съдържание.
3d2i4xfpwvs2bqf6jq3cme2e24vtvnf
Translations:Content translation/45/bg
1198
2409708
8390166
2026-05-24T20:36:35Z
~2026-31109-16
18404997
Created page with "Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства."
8390166
wikitext
text/x-wiki
Преводачите ще могат да разширят съществуващите статии чрез превод на нов раздел на мобилни и десктоп устройства.
72etnmicx7572tl1z8iese36qqaa3ba
Translations:Content translation/46/bg
1198
2409709
8390168
2026-05-24T20:37:15Z
~2026-31109-16
18404997
Created page with "Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации."
8390168
wikitext
text/x-wiki
Преводът на раздели е в активно разработване и можете да участвате и да следите напредъка на последните актуализации.
4hp4qlmgsc7fz94ci5110rk7xzxjaoh
Translations:Content translation/50/bg
1198
2409710
8390170
2026-05-24T20:39:03Z
~2026-31109-16
18404997
Created page with "На някои езци той трябва да бъде активиран [[$1|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране."
8390170
wikitext
text/x-wiki
На някои езци той трябва да бъде активиран [[$1|като бета функция]], а при други е обичайно потребителско предпочитание, което е активирано по подразбиране.
aitazyumuuk1zave8e03nxiziosiayj
Translations:Content translation/51/bg
1198
2409711
8390172
2026-05-24T20:41:11Z
~2026-31109-16
18404997
Created page with "Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език."
8390172
wikitext
text/x-wiki
Когато е включена, ще видите допълнителни точки за влизане, за да започнете превод лесно от страницата "приноси" или от списъка на езиците на статиите на Уикипедия, когато те липсват на вашия език.
om27mrhahc2duxlcusc9ngx5dd3qjtf
Translations:Content translation/65/bg
1198
2409712
8390174
2026-05-24T20:41:16Z
~2026-31109-16
18404997
Created page with "[$url Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г."
8390174
wikitext
text/x-wiki
[$url Многоезични и редактиране на Уикипедия], Скот А. Хейл. Декември 2013 г.
mkq6tyzvgc7ceyu6qldudjcwqweqnty
Translations:Content translation/39/bg
1198
2409713
8390176
2026-05-24T20:41:40Z
~2026-31109-16
18404997
Created page with "Помогнете за подобряването на инструмента, като интегрирате [[$1|нови услуги за машинен превод]] или като анализирате [[$2|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри."
8390176
wikitext
text/x-wiki
Помогнете за подобряването на инструмента, като интегрирате [[$1|нови услуги за машинен превод]] или като анализирате [[$2|нашите данни за публикувани преводи]], за да направите преводаческите услуги още по-добри.
p07y4erpn6as9uyl2r7ht2372idaigk
Translations:Content translation/40/bg
1198
2409714
8390178
2026-05-24T20:42:22Z
~2026-31109-16
18404997
Created page with "Добри практики при организиране на събития за превод на съдържание"
8390178
wikitext
text/x-wiki
Добри практики при организиране на събития за превод на съдържание
hglwg434853aw8jqa5pf08no88y23zh
Translations:Content translation/53/bg
1198
2409715
8390180
2026-05-24T20:42:25Z
~2026-31109-16
18404997
Created page with "Доклади за състоянието"
8390180
wikitext
text/x-wiki
Доклади за състоянието
40llst3vgaxea8r574ye2u9s5u0epxd
Translations:Content translation/54/bg
1198
2409716
8390182
2026-05-24T20:42:29Z
~2026-31109-16
18404997
Created page with "Пътна карта"
8390182
wikitext
text/x-wiki
Пътна карта
f2y69b6xls41qnyq4yuhzmjp9sa5k7e
Translations:Help:Namespaces/111/ja
1198
2409719
8390223
2026-05-24T23:15:35Z
~2026-31113-74
18405266
Created page with "ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。"
8390223
wikitext
text/x-wiki
ただし、すべての名前空間には「正規名」と呼ばれる、MediaWikiのどのインストール環境でも機能する元の英語名があります。
9m9y46n8cqvz2dydx2kq6m63inkb184
Translations:Help:Namespaces/112/ja
1198
2409720
8390225
2026-05-24T23:17:49Z
~2026-31113-74
18405266
Created page with "そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]]) であっても、常に「foo」という ユーザーページにリンクします。"
8390225
wikitext
text/x-wiki
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]]) であっても、常に「foo」という ユーザーページにリンクします。
li4y67ors80t0w3s3f7fcsh5gzxtmme
8390228
8390225
2026-05-25T01:28:56Z
~2026-31113-74
18405266
8390228
wikitext
text/x-wiki
そのため、[[User:Foo]] は、ウィキがフランス語 (ローカライズされた名前は[[:Utilisateur:Foo]])、ロシア語 ([[:Участник:Foo]])、またはヒンディー語 ([[:सदस्य:Foo]])にローカライズされていても、常に「foo」というユーザーページにリンクします。
hbkub2xbaua6v39yqobzjucvwztkcs2
Translations:Help:Namespaces/35/ja
1198
2409721
8390230
2026-05-25T01:29:43Z
~2026-31113-74
18405266
Created page with "右側の表には、正規の名前空間名と、このWikiにおけるローカライズされた名前が記載されています。"
8390230
wikitext
text/x-wiki
右側の表には、正規の名前空間名と、このWikiにおけるローカライズされた名前が記載されています。
1ybxgkk6q7s1lnk7wkbk2dkgm65ekrl
Translations:Help:Namespaces/116/ja
1198
2409722
8390239
2026-05-25T03:52:28Z
SouyaSatsuki
18099517
Created page with "例えば文字数と時間を節約するために「T」を{{ns:10}}の代替名として設定している場合があります。[[{{ns:10}}:Foo]]は[[T:Foo]]と打つことができます。"
8390239
wikitext
text/x-wiki
例えば文字数と時間を節約するために「T」を{{ns:10}}の代替名として設定している場合があります。[[{{ns:10}}:Foo]]は[[T:Foo]]と打つことができます。
b0rpw2d5qcucov56pe3fn7u3zdq9i5w
Translations:Help:Advanced editing/381/ja
1198
2409723
8390241
2026-05-25T04:18:26Z
Ant176
390778
Created page with "これは行のインデントを行うための回避策としてよく使用されますが、アクセシビリティを損なったり、無効なHTMLを出力してしまいます。"
8390241
wikitext
text/x-wiki
これは行のインデントを行うための回避策としてよく使用されますが、アクセシビリティを損なったり、無効なHTMLを出力してしまいます。
ba96ozcb0nm1w17oy5hlgjv2rkt7nvf
Translations:Help:Advanced editing/382/ja
1198
2409724
8390243
2026-05-25T04:20:55Z
Ant176
390778
Created page with "視覚的なインデントには CSS を使用した方がはるかに望ましい方法です(例: $1)。"
8390243
wikitext
text/x-wiki
視覚的なインデントには CSS を使用した方がはるかに望ましい方法です(例: $1)。
tvstweo8u4oqxg9hawan2tgf5wepd66
Translations:Phabricator/Code/78/cs
1198
2409725
8390247
2026-05-25T05:05:26Z
Rebulka
17532855
Created page with "Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje."
8390247
wikitext
text/x-wiki
Pro údržbu záplat a jejich slučování se změnami z upstreamu jsou k dispozici omezené zdroje.
rt0rqbailucbfqzexmvakriexh62lne
Translations:Phabricator/Code/79/cs
1198
2409726
8390249
2026-05-25T05:06:27Z
Rebulka
17532855
Created page with "Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator."
8390249
wikitext
text/x-wiki
Veškeré lokální záplaty proto musí být projednány v rámci projektu #phabricator.
75j4310otxtkoyyufh73q1nhj7n7boz
Translations:Phabricator/Code/80/cs
1198
2409727
8390251
2026-05-25T05:06:53Z
Rebulka
17532855
Created page with "Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru."
8390251
wikitext
text/x-wiki
Údržba rozšíření phabricatoru je výrazně méně práce, pokud se dbá na to, aby se nepoužívala obzvláště nová/nestabilní API z jádra phabricatoru.
3gsg3qy6lsnv92wdfsvnamzrxgsxg20
Translations:Phabricator/Code/81/cs
1198
2409728
8390253
2026-05-25T05:07:12Z
Rebulka
17532855
Created page with "Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu."
8390253
wikitext
text/x-wiki
Ačkoli rozšíření nevyžadují slučování a potenciální konflikty kódu, vyžadují testování pokaždé, když načítáme změny z upstreamu.
7e83iz205tfx2784sznfmtaie26usgu
Translations:Phabricator/Code/82/cs
1198
2409729
8390255
2026-05-25T05:07:30Z
Rebulka
17532855
Created page with "Phorge nemá žádná zmrazená API, na která by se dalo spolehnout."
8390255
wikitext
text/x-wiki
Phorge nemá žádná zmrazená API, na která by se dalo spolehnout.
12wnbx0ph54jzzjlmfnvd2l73rz6ln1
Translations:Phabricator/Code/87/cs
1198
2409730
8390257
2026-05-25T05:07:46Z
Rebulka
17532855
Created page with "Aktuální kód samotné instance Wikimedia Phabricator:"
8390257
wikitext
text/x-wiki
Aktuální kód samotné instance Wikimedia Phabricator:
s6d7t7wp2qusvymdf09mn5r6vhvtm1n
Translations:Phabricator/Code/22/cs
1198
2409731
8390259
2026-05-25T05:08:28Z
Rebulka
17532855
Created page with "Aktuální lokálně udržované přístavby jsou:"
8390259
wikitext
text/x-wiki
Aktuální lokálně udržované přístavby jsou:
058hgz7m58m0qgfqhgouwd44nvvmsf9
Translations:Phabricator/Code/23/cs
1198
2409732
8390261
2026-05-25T05:09:07Z
Rebulka
17532855
Created page with "* [$1 Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na $secure), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd."
8390261
wikitext
text/x-wiki
* [$1 Několik úprav v jednom repozitáři kódu], například rozšíření MediaWiki OAuth (není součástí upstreamu; viz Differential revize a commity na $secure), kód související se zabezpečením, pole MediaWiki Userpage na uživatelských stránkách Phabricatoru atd.
9ooyzqkbnna7rhpykqw9m4fo4wi57la
Translations:Phabricator/Code/88/cs
1198
2409733
8390263
2026-05-25T05:10:04Z
Rebulka
17532855
Created page with "* [$1 Antivandalismus], stále v Gerritu a bude přesunut do GitLabu."
8390263
wikitext
text/x-wiki
* [$1 Antivandalismus], stále v Gerritu a bude přesunut do GitLabu.
p5ks8it1xdqh83uzk6z6245vxypq15f
Translations:Phabricator/Code/26/cs
1198
2409734
8390265
2026-05-25T05:10:21Z
Rebulka
17532855
Created page with "== Konfigurace webu =="
8390265
wikitext
text/x-wiki
== Konfigurace webu ==
n6dremvqq6m7eqkfqrafovhrk00dn5c
Translations:Phabricator/Code/27/cs
1198
2409735
8390268
2026-05-25T05:19:42Z
Rebulka
17532855
Created page with "Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi $phab a např. $wmflabs) se nastavují buď pomocí [[$1|manifestu puppet]], nebo pomocí šablony [$2 Scap] (viz [[phab:T239355]])."
8390268
wikitext
text/x-wiki
Většina konfigurace se nastavuje přes webové rozhraní. Výchozí hodnoty (sdílené mezi $phab a např. $wmflabs) se nastavují buď pomocí [[$1|manifestu puppet]], nebo pomocí šablony [$2 Scap] (viz [[phab:T239355]]).
t591gjdtij5r1a8iqlzhnz368llmo8k
Translations:Phabricator/Code/28/cs
1198
2409736
8390270
2026-05-25T05:19:48Z
Rebulka
17532855
Created page with "== Nastavení =="
8390270
wikitext
text/x-wiki
== Nastavení ==
rnukrt2rtsl1pxnpjvcsasx8dmjk021
Translations:Phabricator/Code/89/cs
1198
2409737
8390272
2026-05-25T05:21:13Z
Rebulka
17532855
Created page with "Viz [[Phabricator/Lokální vývojářské prostředí]]."
8390272
wikitext
text/x-wiki
Viz [[Phabricator/Lokální vývojářské prostředí]].
85am6f4fgtzx8b8x7s5ec2tgqxi0alv
8390306
8390272
2026-05-25T05:32:37Z
Rebulka
17532855
8390306
wikitext
text/x-wiki
Viz [[Phabricator/Local Dev Environment]].
3p403nk0nm6hler5rd2szadfy3k997q
Translations:Phabricator/Code/29/cs
1198
2409738
8390274
2026-05-25T05:21:50Z
Rebulka
17532855
Created page with "Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí"
8390274
wikitext
text/x-wiki
Dalším způsobem nastavení je použití [[MediaWiki-Vagrant|MediaWiki-Vagrant]] s rolí 'phabricator'. Postupujte podle kroků na [[MediaWiki-Vagrant]] k instalaci MediaWiki-Vagrant a poté povolte roli phabricator pomocí
ou2o1sso90mafnjrdqeybu3netxjc56
Translations:Phabricator/Code/77/cs
1198
2409739
8390276
2026-05-25T05:22:11Z
Rebulka
17532855
Created page with "* Přístup k instanci Phabricatoru na adrese URL:"
8390276
wikitext
text/x-wiki
* Přístup k instanci Phabricatoru na adrese URL:
a6dcc61blxl9de7c3k0vc3wmuzcckij
Translations:Phabricator/Code/39/cs
1198
2409740
8390281
2026-05-25T05:24:02Z
Rebulka
17532855
Created page with "* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači."
8390281
wikitext
text/x-wiki
* Instalační soubor Phabricator se nachází v adresáři '/srv/phabricator/' (?) na virtuálním počítači.
bed2048delkg81zdk34i5ozwhikknug
Translations:Phabricator/Code/41/cs
1198
2409741
8390285
2026-05-25T05:24:21Z
Rebulka
17532855
Created page with "=== Používání cloudového VPS virtuálního počítače ==="
8390285
wikitext
text/x-wiki
=== Používání cloudového VPS virtuálního počítače ===
2yvgk1xk0zdytipxs74uxj89jhmm4vj
Translations:Phabricator/Code/42/cs
1198
2409742
8390288
2026-05-25T05:26:31Z
Rebulka
17532855
Created page with "Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako $wmflabs."
8390288
wikitext
text/x-wiki
Pokud víte, jak spustit virtuální počítač na cloudovém VPS a máte k tomu oprávnění, můžete vytvořit instanci s rolí 'phabricator::labs'. To by vám mělo poskytnout základní nastavení se stejnou konfigurací jako $wmflabs.
nrb1swh89axbs0ropffz14luk08cj5q
Translations:Phabricator/Code/43/cs
1198
2409743
8390290
2026-05-25T05:26:53Z
Rebulka
17532855
Created page with "== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru =="
8390290
wikitext
text/x-wiki
== Migrační kód z Bugzilly, RT, Mingle, Trella do Phabricatoru ==
d3p8ga5l1t6yuizm18ftqkyvzrf7joq
Translations:Phabricator/Code/44/cs
1198
2409744
8390292
2026-05-25T05:27:12Z
Rebulka
17532855
Created page with "Skripty [[$1|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]]."
8390292
wikitext
text/x-wiki
Skripty [[$1|které Wikimedia použila pro migraci dat z Bugzilly a RT do Phabricatoru jsou k dispozici]].
kgdl57hbnt4h7w4b1z7sbi0k6zdurxk
Translations:Phabricator/Code/45/cs
1198
2409745
8390294
2026-05-25T05:27:55Z
Rebulka
17532855
Created page with "Všimněte si, že migrační kód [$blogs není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia."
8390294
wikitext
text/x-wiki
Všimněte si, že migrační kód [$blogs není bez chyb] a že byl napsán a použit pouze pro specifické konfigurace nástrojů Wikimedia.
1vsod68gepm69bsnzwzg82ljvzpewjq
Translations:Phabricator/Code/84/cs
1198
2409746
8390297
2026-05-25T05:29:30Z
Rebulka
17532855
Created page with "Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru."
8390297
wikitext
text/x-wiki
Všimněte si také dalších migračních skriptů, např. projekt [[w:GStreamer|GStreamer]] použil v roce 2015 skript [https://git.collabora.com/cgit/user/em/phabricator.git/phill] od Emanuele Ainy k importu dat z Bugzilly do Phabricatoru.
53qg4t2pbftat13e5c1sti7zfstodu6
Translations:Phabricator/Code/70/cs
1198
2409747
8390299
2026-05-25T05:29:47Z
Rebulka
17532855
Created page with "Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v $phab."
8390299
wikitext
text/x-wiki
Data byla migrována z Mingle do Phabricatoru pomocí skriptu dostupného v $phab.
nnsy14anxozfr043wj2sbvk3bjncw4s
Translations:Phabricator/Code/71/cs
1198
2409748
8390301
2026-05-25T05:30:04Z
Rebulka
17532855
Created page with "Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici."
8390301
wikitext
text/x-wiki
Skripty pro migraci dat z Trella do Phabricatoru jsou k dispozici.
mr84vzeso86iedfmat4e3phl54lcmuj
Translations:Phabricator/Code/72/cs
1198
2409749
8390303
2026-05-25T05:30:11Z
Rebulka
17532855
Created page with "Další informace získáte na stránce $1."
8390303
wikitext
text/x-wiki
Další informace získáte na stránce $1.
ogk489fwz744q5gmc43etqpo9c6krgi
Translations:Help:System message/890/cs
1198
2409750
8390312
2026-05-25T07:46:01Z
Rebulka
17532855
Created page with "Zprávy používané rozhraním REST API"
8390312
wikitext
text/x-wiki
Zprávy používané rozhraním REST API
sim9ed99dzmenf6nbxa2zg895vb7mbl
Translations:Help:System message/891/cs
1198
2409751
8390314
2026-05-25T07:46:22Z
Rebulka
17532855
Created page with "Za tento prefix vložte prefix rozšíření."
8390314
wikitext
text/x-wiki
Za tento prefix vložte prefix rozšíření.
ftuoyjzsfw5u0bt6nmgwbivmuq698vo
Translations:Help:System message/892/cs
1198
2409752
8390316
2026-05-25T07:46:41Z
Rebulka
17532855
Created page with "Upozorňujeme, že tyto zprávy by měly být v samostatném souboru, obvykle pod názvem $1."
8390316
wikitext
text/x-wiki
Upozorňujeme, že tyto zprávy by měly být v samostatném souboru, obvykle pod názvem $1.
sypxju66aukks9n6zckckv524u8vg40
Translations:Phabricator/Bots/Page display title/cs
1198
2409753
8390321
2026-05-25T07:57:08Z
Rebulka
17532855
Created page with "Phabricator/Roboti"
8390321
wikitext
text/x-wiki
Phabricator/Roboti
4z3z8crm8old5rk1azoay6ise1oppxa
Phabricator/Bots/cs
0
2409754
8390322
2026-05-25T07:57:09Z
Rebulka
17532855
Created page with "Phabricator/Roboti"
8390322
wikitext
text/x-wiki
<languages />
<span lang="en" dir="ltr" class="mw-content-ltr">Phabricator [[Special:MyLanguage/Manual:Bots|bots]] are users in Phabricator for whom actions are automated or are a consequence of the actions of multiple users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See the [https://we.phorge.it/book/phorge/article/users/#bot-accounts upstream documentation] for more information.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Phabricator bots are similar to MediaWiki bots, and much of the general [[m:Special:MyLanguage/Bot policy|Wikimedia bot policy]] is relevant to them.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Check the [[phab:people/query/nHA9uASWJR6r/#R|list of bots registered in phabricator.wikimedia.org]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Separating bot accounts from personal accounts ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
3k0s49uatqyqkny0k38hktw3jbrjm6z
8390324
8390322
2026-05-25T07:58:08Z
Rebulka
17532855
Created page with "Phabricator [[$1|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů."
8390324
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
<span lang="en" dir="ltr" class="mw-content-ltr">See the [https://we.phorge.it/book/phorge/article/users/#bot-accounts upstream documentation] for more information.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Phabricator bots are similar to MediaWiki bots, and much of the general [[m:Special:MyLanguage/Bot policy|Wikimedia bot policy]] is relevant to them.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Check the [[phab:people/query/nHA9uASWJR6r/#R|list of bots registered in phabricator.wikimedia.org]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Separating bot accounts from personal accounts ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
f19h53znuzgdun4sf78mighshw75jpn
8390326
8390324
2026-05-25T07:58:49Z
Rebulka
17532855
Created page with "Více informací naleznete v [$url dokumentaci k upstreamu]."
8390326
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
<div lang="en" dir="ltr" class="mw-content-ltr">
Phabricator bots are similar to MediaWiki bots, and much of the general [[m:Special:MyLanguage/Bot policy|Wikimedia bot policy]] is relevant to them.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Check the [[phab:people/query/nHA9uASWJR6r/#R|list of bots registered in phabricator.wikimedia.org]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Separating bot accounts from personal accounts ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
56nelidl3g043yafpyiaq6te46wn0q7
8390328
8390326
2026-05-25T08:00:42Z
Rebulka
17532855
Created page with "Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[$1|zásad pro roboty Wikimedie]] se jich týká."
8390328
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
<div lang="en" dir="ltr" class="mw-content-ltr">
Check the [[phab:people/query/nHA9uASWJR6r/#R|list of bots registered in phabricator.wikimedia.org]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Separating bot accounts from personal accounts ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
5p1ohsmqe5ftu77sjce2a8hhsgnzfd9
8390331
8390328
2026-05-25T08:02:35Z
Rebulka
17532855
Created page with "Podívejte se na [[$1|seznam robotů registrovaných na phabricator.wikimedia.org]]."
8390331
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<div lang="en" dir="ltr" class="mw-content-ltr">
== Separating bot accounts from personal accounts ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
rbw4ecf0fd2ho6ftxotl55ettu5injv
8390333
8390331
2026-05-25T08:03:06Z
Rebulka
17532855
Created page with "== Oddělení robotických účtů od osobních účtů =="
8390333
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
<span lang="en" dir="ltr" class="mw-content-ltr">A personal user account is not appropriate for repetitive patterns of activity, as in the human case they would almost universally be considered spam, or at best be locked into someone's personal account.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
4j7zersbfquof72060r33xeqsuf3qxa
8390335
8390333
2026-05-25T08:04:52Z
Rebulka
17532855
Created page with "Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu."
8390335
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
<span lang="en" dir="ltr" class="mw-content-ltr">Activity that originates from a specific account that appears to be spam may require the account to be disabled or deleted.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
iobhhmay7frmig3l8cx08zxpsgmngii
8390337
8390335
2026-05-25T08:05:36Z
Rebulka
17532855
Created page with "Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu."
8390337
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
<span lang="en" dir="ltr" class="mw-content-ltr">In these instances, if the offending account is also the personal account of a user, they will not be able to appeal or explain the situation.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
kipjo9bl185tn4iiw5s4qpy8bkrx5uv
8390339
8390337
2026-05-25T08:06:07Z
Rebulka
17532855
Created page with "V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit."
8390339
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Acquiring a bot ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
6onsxk8wjohfbp6lgay62rsncq6j2tg
8390341
8390339
2026-05-25T08:06:29Z
Rebulka
17532855
Created page with "== Získání robota =="
8390341
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
<span lang="en" dir="ltr" class="mw-content-ltr">Unlike regular Phabricator accounts, which are tied to a Wikimedia SUL or LDAP account, bot accounts are created natively in Phabricator.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
5y965jvj68dbrul2qcgzz6n1kpzpa3j
8390343
8390341
2026-05-25T08:06:56Z
Rebulka
17532855
Created page with "Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru."
8390343
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
<span lang="en" dir="ltr" class="mw-content-ltr">In order to request a bot account, please [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests create a task under the Phabricator-Bot-Requests project] with the following details:</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
2htgshf264w2iwqv9roctf5afp02dpm
8390345
8390343
2026-05-25T08:07:59Z
Rebulka
17532855
Created page with "Chcete-li požádat o účet robota, prosím, [$phab vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:"
8390345
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
<div lang="en" dir="ltr" class="mw-content-ltr">
* Name
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Purpose
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* An email address (which can be invalid but must be unique)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Responsible user or organisation
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
9buq015sx7t18i3df684ya189ysul5o
8390350
8390345
2026-05-25T08:10:04Z
Rebulka
17532855
Created page with "* Název"
8390350
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<div lang="en" dir="ltr" class="mw-content-ltr">
== Phabricator admins: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
obkcf0i6dwqehtk9vcnl0uhhm8pqsw9
8390352
8390350
2026-05-25T08:10:29Z
Rebulka
17532855
Created page with "* Účel"
8390352
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Steps for Phabricator admins to create such an account:
</div>
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
cyilk6njll8u18yuq8u4ltsggeok5nb
8390354
8390352
2026-05-25T08:10:51Z
Rebulka
17532855
Created page with "Kroky pro administrátory Phabricatoru k vytvoření takového účtu:"
8390354
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|<span lang="en" dir="ltr" class="mw-content-ltr">Create bot user</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
c9n47h05eshlpm9rsg7ywb9u47o84c4
8390356
8390354
2026-05-25T08:11:19Z
Rebulka
17532855
Created page with "Vytvořit uživatele robota"
8390356
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
<div lang="en" dir="ltr" class="mw-content-ltr">
* For transparency, add human owner to bot account description
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
82cpt2q2pifuzp1uddsu1oaddmu3ral
8390358
8390356
2026-05-25T08:11:46Z
Rebulka
17532855
Created page with "* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka."
8390358
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
<div lang="en" dir="ltr" class="mw-content-ltr">
* Go to "Manage", go to "Edit Settings", go to "Conduit API Tokens", click "Generate Token".
</div> <span lang="en" dir="ltr" class="mw-content-ltr">Copy that token.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
ghqxf3m9jmeokbtugtay3hgjjtgmt2e
8390362
8390358
2026-05-25T08:15:28Z
Rebulka
17532855
Created page with "* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token)."
8390362
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[phab:paste/edit/form/14/|Create paste]] containing that token and set "View policy" to human owner and yourself
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
3a22z70361eg889inscp900qrbsl86m
8390364
8390362
2026-05-25T08:19:52Z
Rebulka
17532855
Created page with "* [[$1|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe"
8390364
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
<div lang="en" dir="ltr" class="mw-content-ltr">
* Paste link in the creation request task and ask human owner to close the task once it works as expected
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
syjj7k5i2fn3ilke6q5l6x57qbhv2bc
8390366
8390364
2026-05-25T08:20:24Z
Rebulka
17532855
Created page with "* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání."
8390366
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Bot account holders: Steps to perform ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
5z4kztigmz7fkvs83siz5z10hum5jxq
8390368
8390366
2026-05-25T08:21:14Z
Rebulka
17532855
Created page with "== Držitelé robotických účtů: Postup =="
8390368
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
<div lang="en" dir="ltr" class="mw-content-ltr">
These are the steps to configure arc to use your bot account.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
6uk1f9qt4obntq0ikyhi636tvsecalu
8390370
8390368
2026-05-25T08:21:44Z
Rebulka
17532855
Created page with "Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota."
8390370
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
<div lang="en" dir="ltr" class="mw-content-ltr">
* Acquire account certificate for your bot
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
7bpw0u1mlvuts5qcyvbj0zg4nrixf90
8390372
8390370
2026-05-25T08:22:09Z
Rebulka
17532855
Created page with "* Získejte certifikát účtu pro svého robota"
8390372
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
<div lang="en" dir="ltr" class="mw-content-ltr">
* Create an arc configuration file matching the following, replacing "<your bot account id>" and "<your bot certificate>" with the appropriate values.
</div>
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
bwesomog91lcj99mlovepf6hxpoopb7
8390374
8390372
2026-05-25T08:23:34Z
Rebulka
17532855
Created page with "* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“."
8390374
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Save this file somewhere.
</div> <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
jiduif7dxf38l1bjd6gzys5f7o27t3p
8390376
8390374
2026-05-25T08:24:05Z
Rebulka
17532855
Created page with "* Uložte si někam tento soubor."
8390376
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
* Uložte si někam tento soubor. <span lang="en" dir="ltr" class="mw-content-ltr">The default location arc looks is "<code>.arcrc</code>" in your home directory (<code>~/.arcrc</code> on Linux and Mac), but if you already have an arcrc file on the machine you're testing with, you may prefer to save it elsewhere.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
rr7pj24fajjc099zanisr9vy3st7ga8
8390378
8390376
2026-05-25T08:24:50Z
Rebulka
17532855
Created page with "Výchozí umístění arc ve vašem domovském adresáři vypadá jako "$1" ($2 v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam."
8390378
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
* Uložte si někam tento soubor. Výchozí umístění arc ve vašem domovském adresáři vypadá jako "<code>.arcrc</code>" (<code>~/.arcrc</code> v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam. <span lang="en" dir="ltr" class="mw-content-ltr">For purposes of this example, we'll use "<code>bot.arcrc</code>" in the current working directory.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
6reue5hc9xx593nuxn41o83ywlpuez9
8390380
8390378
2026-05-25T08:26:00Z
Rebulka
17532855
Created page with "Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "$1"."
8390380
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
* Uložte si někam tento soubor. Výchozí umístění arc ve vašem domovském adresáři vypadá jako "<code>.arcrc</code>" (<code>~/.arcrc</code> v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam. Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "<code>bot.arcrc</code>".
<div lang="en" dir="ltr" class="mw-content-ltr">
* Run the following command as a test:
</div>
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
0uf95jqj1lzohbqqt1ep59eal8gybo0
8390382
8390380
2026-05-25T08:26:20Z
Rebulka
17532855
Created page with "* Spusťte následující příkaz jako test:"
8390382
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
* Uložte si někam tento soubor. Výchozí umístění arc ve vašem domovském adresáři vypadá jako "<code>.arcrc</code>" (<code>~/.arcrc</code> v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam. Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "<code>bot.arcrc</code>".
* Spusťte následující příkaz jako test:
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
This should return a short summary of a single task out of Maniphest.
</div>
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
g337yn13nkowbsm528jp2ytpc7rmgd7
8390384
8390382
2026-05-25T08:26:40Z
Rebulka
17532855
Created page with "Toto by mělo vrátit krátké shrnutí jednoho úkolu z Manifestu."
8390384
wikitext
text/x-wiki
<languages />
Phabricator [[Special:MyLanguage/Manual:Bots|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
Více informací naleznete v [https://we.phorge.it/book/phorge/article/users/#bot-accounts dokumentaci k upstreamu].
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[m:Special:MyLanguage/Bot policy|zásad pro roboty Wikimedie]] se jich týká.
Podívejte se na [[phab:people/query/nHA9uASWJR6r/#R|seznam robotů registrovaných na phabricator.wikimedia.org]].
<span id="Separating_bot_accounts_from_personal_accounts"></span>
== Oddělení robotických účtů od osobních účtů ==
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
<span id="Acquiring_a_bot"></span>
== Získání robota ==
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
Chcete-li požádat o účet robota, prosím, [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Phabricator-Bot-Requests vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
* Název
* Účel
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
* Odpovědný uživatel nebo organizace
<span id="Phabricator_admins:_Steps_to_perform"></span>
== Administrátoři Phabricatoru: Postup ==
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
* [[phab:people/new/bot/|Vytvořit uživatele robota]]
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token). Zkopírujte token.
* [[phab:paste/edit/form/14/|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
<span id="Bot_account_holders:_Steps_to_perform"></span>
== Držitelé robotických účtů: Postup ==
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
* Získejte certifikát účtu pro svého robota
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
<syntaxhighlight lang="json">
{
"config": {
"default": "https:\/\/phabricator.wikimedia.org\/"
},
"hosts": {
"https:\/\/phabricator.wikimedia.org\/api\/": {
"token": "api-token_which_starts_with_api"
}
}
}
</syntaxhighlight>
* Uložte si někam tento soubor. Výchozí umístění arc ve vašem domovském adresáři vypadá jako "<code>.arcrc</code>" (<code>~/.arcrc</code> v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam. Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "<code>bot.arcrc</code>".
* Spusťte následující příkaz jako test:
<syntaxhighlight lang="bash">
$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc
</syntaxhighlight>
Toto by mělo vrátit krátké shrnutí jednoho úkolu z Manifestu.
[[Category:Phabricator{{#translation:}}]]
[[Category:Bots{{#translation:}}]]
d6q8vpj5b3n0w9zo94dzog1so8zy6x8
Translations:Phabricator/Bots/1/cs
1198
2409755
8390323
2026-05-25T07:58:07Z
Rebulka
17532855
Created page with "Phabricator [[$1|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů."
8390323
wikitext
text/x-wiki
Phabricator [[$1|roboti]] jsou uživatelé ve Phabricatoru, pro které jsou akce automatizované nebo jsou důsledkem akcí více uživatelů.
qsg3o8g7ya05r1ed83gx7t5x4uhm7xh
Translations:Phabricator/Bots/32/cs
1198
2409756
8390325
2026-05-25T07:58:49Z
Rebulka
17532855
Created page with "Více informací naleznete v [$url dokumentaci k upstreamu]."
8390325
wikitext
text/x-wiki
Více informací naleznete v [$url dokumentaci k upstreamu].
dltw8mgt53p7po2m7kcu3mwua0wkxof
Translations:Phabricator/Bots/3/cs
1198
2409757
8390327
2026-05-25T08:00:41Z
Rebulka
17532855
Created page with "Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[$1|zásad pro roboty Wikimedie]] se jich týká."
8390327
wikitext
text/x-wiki
Roboti Phabricatoru jsou podobní robotům MediaWiki a velká část obecných [[$1|zásad pro roboty Wikimedie]] se jich týká.
0wm9j4lnkiciysh66bk3a0s2o1zijgu
Translations:Phabricator/Bots/2/cs
1198
2409758
8390330
2026-05-25T08:02:34Z
Rebulka
17532855
Created page with "Podívejte se na [[$1|seznam robotů registrovaných na phabricator.wikimedia.org]]."
8390330
wikitext
text/x-wiki
Podívejte se na [[$1|seznam robotů registrovaných na phabricator.wikimedia.org]].
o9u5krskloutqagl1ae1hp5ebz0zqps
Translations:Phabricator/Bots/4/cs
1198
2409759
8390332
2026-05-25T08:03:05Z
Rebulka
17532855
Created page with "== Oddělení robotických účtů od osobních účtů =="
8390332
wikitext
text/x-wiki
== Oddělení robotických účtů od osobních účtů ==
spwlzl6xq9olxr9bhlos3jngl0omfuh
Translations:Phabricator/Bots/5/cs
1198
2409760
8390334
2026-05-25T08:04:52Z
Rebulka
17532855
Created page with "Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu."
8390334
wikitext
text/x-wiki
Osobní uživatelský účet není vhodný pro opakující se vzorce aktivit, protože v lidském případě by byly téměř univerzálně považovány za spam nebo by v nejlepším případě byly uzamčeny k něčímu osobnímu účtu.
4qyjts268nhg6rcy95f7uqxa6jn7455
Translations:Phabricator/Bots/6/cs
1198
2409761
8390336
2026-05-25T08:05:14Z
Rebulka
17532855
Created page with "Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu."
8390336
wikitext
text/x-wiki
Aktivita pocházející z konkrétního účtu, která se jeví jako spam, může vyžadovat deaktivaci nebo smazání daného účtu.
brfzrfwgqncow30mcq1495d6o4xs4hf
Translations:Phabricator/Bots/7/cs
1198
2409762
8390338
2026-05-25T08:06:06Z
Rebulka
17532855
Created page with "V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit."
8390338
wikitext
text/x-wiki
V těchto případech, pokud je problematický účet zároveň osobním účtem uživatele, nebude se moci odvolat ani situaci vysvětlit.
kyamm3okqmfh6o8cq8fkv5umrtn0vve
Translations:Phabricator/Bots/8/cs
1198
2409763
8390340
2026-05-25T08:06:28Z
Rebulka
17532855
Created page with "== Získání robota =="
8390340
wikitext
text/x-wiki
== Získání robota ==
hvwgypxk964e3kl1ycfyqha7pl4gyg5
Translations:Phabricator/Bots/9/cs
1198
2409764
8390342
2026-05-25T08:06:55Z
Rebulka
17532855
Created page with "Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru."
8390342
wikitext
text/x-wiki
Na rozdíl od běžných účtů Phabricator, které jsou propojeny s účtem Wikimedia SUL nebo LDAP, se účty robotů vytvářejí nativně ve Phabricatoru.
pjqiwbzqcumg24wgaxgzropuck0jv9b
Translations:Phabricator/Bots/10/cs
1198
2409765
8390344
2026-05-25T08:07:37Z
Rebulka
17532855
Created page with "Chcete-li požádat o účet robota, prosím, [$phab vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:"
8390344
wikitext
text/x-wiki
Chcete-li požádat o účet robota, prosím, [$phab vytvořte úkol v rámci projektu Phabricator-Bot-Requests] s následujícími údaji:
c39myjr5hmfdgpwrev6p7a50d1vhuze
Translations:Phabricator/Bots/11/cs
1198
2409766
8390346
2026-05-25T08:08:01Z
Rebulka
17532855
Created page with "* Název"
8390346
wikitext
text/x-wiki
* Název
7xk8w1x2z1x0nifqqq43rxms7c9eeed
Translations:Phabricator/Bots/12/cs
1198
2409767
8390347
2026-05-25T08:08:14Z
Rebulka
17532855
Created page with "* Účel"
8390347
wikitext
text/x-wiki
* Účel
apq7bvtt8f1il3oo5s8dwxaesuk5ijw
Translations:Phabricator/Bots/13/cs
1198
2409768
8390348
2026-05-25T08:08:38Z
Rebulka
17532855
Created page with "* E-mailová adresa (která může být neplatná, ale musí být jedinečná)"
8390348
wikitext
text/x-wiki
* E-mailová adresa (která může být neplatná, ale musí být jedinečná)
k5x7fiaojjcoxkw7ljjp6p9ly0jn1v2
Translations:Phabricator/Bots/14/cs
1198
2409769
8390349
2026-05-25T08:08:57Z
Rebulka
17532855
Created page with "* Odpovědný uživatel nebo organizace"
8390349
wikitext
text/x-wiki
* Odpovědný uživatel nebo organizace
8v0nuw1ns0an8bhyjwvvfs232cbyrz4
Translations:Phabricator/Bots/15/cs
1198
2409770
8390351
2026-05-25T08:10:07Z
Rebulka
17532855
Created page with "== Administrátoři Phabricatoru: Postup =="
8390351
wikitext
text/x-wiki
== Administrátoři Phabricatoru: Postup ==
1rf14knw68swsr16dehnw1s4yzivywl
Translations:Phabricator/Bots/16/cs
1198
2409771
8390353
2026-05-25T08:10:51Z
Rebulka
17532855
Created page with "Kroky pro administrátory Phabricatoru k vytvoření takového účtu:"
8390353
wikitext
text/x-wiki
Kroky pro administrátory Phabricatoru k vytvoření takového účtu:
rvmfvyxiw756uu8kdagv73drfp984w6
Translations:Phabricator/Bots/17/cs
1198
2409772
8390355
2026-05-25T08:11:18Z
Rebulka
17532855
Created page with "Vytvořit uživatele robota"
8390355
wikitext
text/x-wiki
Vytvořit uživatele robota
ltaxl8hr9dz4fbsh9g6i8oz7048rk1r
Translations:Phabricator/Bots/18/cs
1198
2409773
8390357
2026-05-25T08:11:45Z
Rebulka
17532855
Created page with "* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka."
8390357
wikitext
text/x-wiki
* Pro účely transparentnosti přidejte do popisu účtu robota lidského vlastníka.
fthv4qcp1twkl6yqxrednud66cb5h6x
Translations:Phabricator/Bots/19/cs
1198
2409774
8390360
2026-05-25T08:13:50Z
Rebulka
17532855
Created page with "* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token)."
8390360
wikitext
text/x-wiki
* Přejděte do sekce "Manage" (spravovat), poté do sekce "Edit Settings" (upravit nastavení), poté do sekce "Conduit API Tokens" (tokeny rozhraní Conduit API) a klikněte na tlačítko "Generate Token" (generovat token).
oqn2xqy122abo3xgcjjp7c2lxdnrvfr
Translations:Phabricator/Bots/20/cs
1198
2409775
8390361
2026-05-25T08:14:38Z
Rebulka
17532855
Created page with "Zkopírujte token."
8390361
wikitext
text/x-wiki
Zkopírujte token.
h4jafpz5y6heunfz3mmnky5yts3hls5
Translations:Phabricator/Bots/21/cs
1198
2409776
8390363
2026-05-25T08:19:51Z
Rebulka
17532855
Created page with "* [[$1|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe"
8390363
wikitext
text/x-wiki
* [[$1|Vytvořit vložený soubor]] obsahující daný token a nastavit "Zásady zobrazení" na lidského vlastníka a sebe
gfxovs5gk282r4pt7m5610z9sbu0d2v
Translations:Phabricator/Bots/22/cs
1198
2409777
8390365
2026-05-25T08:20:23Z
Rebulka
17532855
Created page with "* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání."
8390365
wikitext
text/x-wiki
* Vložte odkaz do úkolu s požadavkem na vytvoření a požádejte vlastníka o uzavření úkolu, jakmile bude fungovat podle očekávání.
fmcihvl63u5yxqcs6v2lo3leq5npkvg
Translations:Phabricator/Bots/23/cs
1198
2409778
8390367
2026-05-25T08:21:13Z
Rebulka
17532855
Created page with "== Držitelé robotických účtů: Postup =="
8390367
wikitext
text/x-wiki
== Držitelé robotických účtů: Postup ==
k83lntur0mhumfhs66eegovguic6s2z
Translations:Phabricator/Bots/24/cs
1198
2409779
8390369
2026-05-25T08:21:43Z
Rebulka
17532855
Created page with "Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota."
8390369
wikitext
text/x-wiki
Toto jsou kroky pro konfiguraci ARC pro použití vašeho účtu robota.
7t8xr2v55xmj6r7f4g3t2cchaaah1wu
Translations:Phabricator/Bots/25/cs
1198
2409780
8390371
2026-05-25T08:22:08Z
Rebulka
17532855
Created page with "* Získejte certifikát účtu pro svého robota"
8390371
wikitext
text/x-wiki
* Získejte certifikát účtu pro svého robota
3e2nbub2ike0bhrfvl9fxy7loh5fpl5
Translations:Phabricator/Bots/26/cs
1198
2409781
8390373
2026-05-25T08:23:33Z
Rebulka
17532855
Created page with "* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“."
8390373
wikitext
text/x-wiki
* Vytvořte konfigurační soubor ARC odpovídající následujícímu a nahraďte hodnoty "<vaše ID účtu bota>" a "<váš certifikát robota>“.
o66ysqkxkyq5t190aga6pwvtgslypaj
Translations:Phabricator/Bots/27/cs
1198
2409782
8390375
2026-05-25T08:24:05Z
Rebulka
17532855
Created page with "* Uložte si někam tento soubor."
8390375
wikitext
text/x-wiki
* Uložte si někam tento soubor.
b0edt1rgkdr63aub6ohqc42t9ugb2he
Translations:Phabricator/Bots/28/cs
1198
2409783
8390377
2026-05-25T08:24:49Z
Rebulka
17532855
Created page with "Výchozí umístění arc ve vašem domovském adresáři vypadá jako "$1" ($2 v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam."
8390377
wikitext
text/x-wiki
Výchozí umístění arc ve vašem domovském adresáři vypadá jako "$1" ($2 v Linuxu a Macu), ale pokud již máte soubor arcrc na počítači, na kterém testujete, můžete jej raději uložit jinam.
s0389cqdqhb4dfqvxsl88fkdsu3dep7
Translations:Phabricator/Bots/29/cs
1198
2409784
8390379
2026-05-25T08:25:59Z
Rebulka
17532855
Created page with "Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "$1"."
8390379
wikitext
text/x-wiki
Pro účely tohoto příkladu použijeme v aktuálním pracovním adresáři "$1".
490gacm3ac4w1ptae8fejxd8vwpykyj
Translations:Phabricator/Bots/30/cs
1198
2409785
8390381
2026-05-25T08:26:19Z
Rebulka
17532855
Created page with "* Spusťte následující příkaz jako test:"
8390381
wikitext
text/x-wiki
* Spusťte následující příkaz jako test:
sibmpz4wy0qdk60cpt7xvz98erg0wuu
Translations:Phabricator/Bots/31/cs
1198
2409786
8390383
2026-05-25T08:26:39Z
Rebulka
17532855
Created page with "Toto by mělo vrátit krátké shrnutí jednoho úkolu z Manifestu."
8390383
wikitext
text/x-wiki
Toto by mělo vrátit krátké shrnutí jednoho úkolu z Manifestu.
7lkjkt1cah4zj6fyrl4gnio22dnaml7
Translations:Extension:GlobalUsage/34/cs
1198
2409787
8390385
2026-05-25T08:28:47Z
Rebulka
17532855
Created page with "V novějších verzích GlobalUsage ($1 a novějších) se '''$2 již nepoužívá'''."
8390385
wikitext
text/x-wiki
V novějších verzích GlobalUsage ($1 a novějších) se '''$2 již nepoužívá'''.
amirf4f2dlac8f7jn3yeo6pv3beoaao
Translations:Extension:GlobalUsage/35/cs
1198
2409788
8390387
2026-05-25T08:29:17Z
Rebulka
17532855
Created page with "Rozšíření nyní používá systém virtuálních domén MediaWiki."
8390387
wikitext
text/x-wiki
Rozšíření nyní používá systém virtuálních domén MediaWiki.
75urvfil9wx4ooiorhibcz8jlbgrd87
Translations:Extension:GlobalUsage/36/cs
1198
2409789
8390389
2026-05-25T08:29:35Z
Rebulka
17532855
Created page with "Správná konfigurační proměnná je $1."
8390389
wikitext
text/x-wiki
Správná konfigurační proměnná je $1.
gmo50xpcs76nxl1r0e5u35betfyo770
Translations:Extension:GlobalUsage/37/cs
1198
2409790
8390391
2026-05-25T08:30:00Z
Rebulka
17532855
Created page with "=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ==="
8390391
wikitext
text/x-wiki
=== Na každé obsahové wiki (wikiny, které ''používají'' soubory ze sdíleného repozitáře) ===
enxodo516wfw5sq0n6jz00lna0my39q
Translations:Extension:GlobalUsage/38/cs
1198
2409791
8390393
2026-05-25T08:30:19Z
Rebulka
17532855
Created page with "Musí být nastaveno PŘED wfLoadExtension"
8390393
wikitext
text/x-wiki
Musí být nastaveno PŘED wfLoadExtension
6s5ky7wilg0ycxv3f0mo3kbo4sot0cz
Translations:Extension:GlobalUsage/39/cs
1198
2409792
8390395
2026-05-25T08:30:50Z
Rebulka
17532855
Created page with "=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ==="
8390395
wikitext
text/x-wiki
=== Na wiki sdílených médií (wiki, která ''hostuje'' soubory) ===
1ggcoqssg4siucqaq8zoxy47h4asntf
Translations:Extension:GlobalUsage/40/cs
1198
2409793
8390397
2026-05-25T08:31:09Z
Rebulka
17532855
Created page with "Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres."
8390397
wikitext
text/x-wiki
Vyžadováno pro WikiMap k překladu ID wiki pro zobrazení názvů a URL adres.
3lezxpzeibxdwq5lo50aiexqp1ihkn6
Translations:Extension:GlobalUsage/41/cs
1198
2409794
8390399
2026-05-25T08:31:39Z
Rebulka
17532855
Created page with "Bez tohoto se na stránkách souborů budou zobrazovat nezpracované názvy databází místo názvů wiki a odkazy na stránky na jiných wikin nebudou fungovat."
8390399
wikitext
text/x-wiki
Bez tohoto se na stránkách souborů budou zobrazovat nezpracované názvy databází místo názvů wiki a odkazy na stránky na jiných wikin nebudou fungovat.
37kac5iw2pcndg0m1xfd6xburjs8unc
Translations:Extension:GlobalUsage/42/cs
1198
2409795
8390401
2026-05-25T08:32:00Z
Rebulka
17532855
Created page with "Společná přípona sdílená vašimi názvy databází nebo libovolný řetězec"
8390401
wikitext
text/x-wiki
Společná přípona sdílená vašimi názvy databází nebo libovolný řetězec
hitajori9g8tdaaai1sni7bcrkesmh5
Translations:WikiLove/Page display title/cs
1198
2409796
8390403
2026-05-25T08:34:56Z
Rebulka
17532855
Created page with "WikiLove"
8390403
wikitext
text/x-wiki
WikiLove
jfjtkplml43cdq7xzq5r2cfqrobju6y
WikiLove/cs
0
2409797
8390404
2026-05-25T08:34:57Z
Rebulka
17532855
Created page with "WikiLove"
8390404
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = <span lang="en" dir="ltr" class="mw-content-ltr">An extension to encourage expressions of appreciation between users.</span>
| start = 2011-05-02
| end = 2011-07
| group = <span lang="en" dir="ltr" class="mw-content-ltr">Features</span>
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
rnycjramiuxmqg0wu7m0s4oblldq97r
8390406
8390404
2026-05-25T08:35:16Z
Rebulka
17532855
Created page with "Rozšíření, které má podpořit projevy uznání mezi uživateli."
8390406
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = <span lang="en" dir="ltr" class="mw-content-ltr">Features</span>
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
474m87ows107mwn5dwqngdfhh26evn5
8390408
8390406
2026-05-25T08:35:21Z
Rebulka
17532855
Created page with "Funkce"
8390408
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
sfiqnh1fydtgmnohfpcj5aza2e148h7
8390410
8390408
2026-05-25T08:35:40Z
Rebulka
17532855
Created page with "Dojem z abstraktního konceptu WikiLove"
8390410
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">An impression of the abstract concept of WikiLove</span>]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
dma01zzouzid6jerf8sx1jbslkjyx9f
8390412
8390410
2026-05-25T08:35:58Z
Rebulka
17532855
Created page with "Dojem z abstraktního konceptu WikiLove"
8390412
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
<div lang="en" dir="ltr" class="mw-content-ltr">
:''By appreciation we make excellence in others our own property.'' — Voltaire
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
brx8hf9n5ujly5q63sehc3i6sr06ngc
8390414
8390412
2026-05-25T08:36:53Z
Rebulka
17532855
Created page with ":''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire"
8390414
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
<span lang="en" dir="ltr" class="mw-content-ltr">'''WikiLove''' is a feature designed to make it easy and fun to publicly express appreciation for other users.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
glkmtakg1n39coca0gqse5xpnh2wpn6
8390416
8390414
2026-05-25T08:37:13Z
Rebulka
17532855
Created page with "'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům."
8390416
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove can be invoked from any user page by clicking the "Heart" icon.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
bcrioazmqsy9uwu45yxzwomcf1mslr3
8390418
8390416
2026-05-25T08:37:43Z
Rebulka
17532855
Created page with "WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko"."
8390418
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
<span lang="en" dir="ltr" class="mw-content-ltr">It was originally developed by Ryan Kaldari as a user script, and is now available as a [[Special:MyLanguage/Extension:WikiLove|MediaWiki extension]] that developers can add to their wikis.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
a29av0nowpnhsm34hnuujqmpd0alg0h
8390420
8390418
2026-05-25T08:38:47Z
Rebulka
17532855
Created page with "Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[$ext-wlove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin."
8390420
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Rationale ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
ehhq2ko42ce754d9djn5r8o8c762jwo
8390422
8390420
2026-05-25T08:38:51Z
Rebulka
17532855
Created page with "== Zdůvodnění =="
8390422
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
<span lang="en" dir="ltr" class="mw-content-ltr">Users like to feel valued. According to the 2011 survey of Wikipedia editors (see [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
04diriqm206ivc1mgklilsr51wd6uh2
8390424
8390422
2026-05-25T08:41:39Z
Rebulka
17532855
Created page with "Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[$1|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas)."
8390424
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
<span lang="en" dir="ltr" class="mw-content-ltr">See also: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Positive feedback works for editing, say Wikipedia editors"]] on the Wikimedia blog.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
dpsyy8pav3qsoc8ypshpvhwm1mpqg9j
8390426
8390424
2026-05-25T08:42:38Z
Rebulka
17532855
Created page with "Viz také: [[$1|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie."
8390426
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
<span lang="en" dir="ltr" class="mw-content-ltr">On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
4c7shaernyp3u6g2nowobs1hh4n66b9
8390428
8390426
2026-05-25T08:43:26Z
Rebulka
17532855
Created page with "Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila."
8390428
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
<span lang="en" dir="ltr" class="mw-content-ltr">This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.</span>
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
tapfiwgbgnegps8gd3anv6qpevr5dr5
8390430
8390428
2026-05-25T08:44:04Z
Rebulka
17532855
Created page with "To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný sprint výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu."
8390430
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný sprint výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|<span lang="en" dir="ltr" class="mw-content-ltr">Relative proportion of different types of messages sent to new users English Wikipedia, as coded in the [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|newbie teaching strategy trends research sprint]]</span>]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
6622m9dpklpu7agvi70ea9gczhh8l0n
8390432
8390430
2026-05-25T08:48:26Z
Rebulka
17532855
Created page with "Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[$1|výzkumném běhu o strategii výuky pro nováčky]]"
8390432
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný sprint výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném běhu o strategii výuky pro nováčky]]]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
k4vw9k5j2i6ip4h0xhbqel2x4i9id0s
8390434
8390432
2026-05-25T08:49:02Z
Rebulka
17532855
8390434
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném běhu o strategii výuky pro nováčky]]]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
3bphg7j28v4ogztzg0eq6ohfnt2gbhf
8390436
8390434
2026-05-25T08:49:26Z
Rebulka
17532855
8390436
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném průběhu o strategii výuky pro nováčky]]]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== Key dates ==
</div>
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
ot6tebeam2mq4z8h6jjmsw2pqx7b326
8390438
8390436
2026-05-25T08:49:52Z
Rebulka
17532855
Created page with "== Klíčová data =="
8390438
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném průběhu o strategii výuky pro nováčky]]]]
<span id="Key_dates"></span>
== Klíčová data ==
* {{ymd|2011|6|16}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove activated on [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
5kc8jy2xmfhkct3ch16syoiisv50p41
8390441
8390438
2026-05-25T08:52:41Z
Rebulka
17532855
Created page with "WikiLove aktivován na [$proto prototype.wikimedia.org]"
8390441
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném průběhu o strategii výuky pro nováčky]]]]
<span id="Key_dates"></span>
== Klíčová data ==
* {{ymd|2011|6|16}} - WikiLove aktivován na [http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
0e4y0t8dy45112lz3r6y8gqp58reffb
8390510
8390441
2026-05-25T10:48:47Z
FuzzyBot
451990
Updating to match new version of source page
8390510
wikitext
text/x-wiki
<languages />
{{Wikimedia engineering project information
| name = WikiLove
| logo = WikiLove-screenshot-2014.png
| description = Rozšíření, které má podpořit projevy uznání mezi uživateli.
| start = 2011-05-02
| end = 2011-07
| group = Funkce
| EPM = [[User:Alolitas|Alolita Sharma]]
| team = [[User:Kaldari|Ryan Kaldari]], [[User:JanPaul123|Jan Paul Posma]], [[User:Catrope|Roan Kattouw]], [[User:Jorm (WMF)|Brandon Harris]]
| previous =
| next =
| projectpage = WikiLove
| display = {{{display}}}
}}
[[File:MediaWiki-love-icon.svg|alt=Dojem z abstraktního konceptu WikiLove|thumb|Dojem z abstraktního konceptu WikiLove]]
<noinclude>
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[Special:MyLanguage/Extension:WikiLove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
<span id="Rationale"></span>
== Zdůvodnění ==
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[WMFBlog:2011/06/17/wikipedia-editor-survey-top-line-data-released/|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
Viz také: [[WMFBlog:2011/07/01/positive-feedback-works-for-editing-say-wikipedia-editors/|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
[[File:Message-features-area.png|thumb|500px|center|Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[meta:Research:Wikimedia Summer of Research 2011/Newbie teaching strategy trends|výzkumném průběhu o strategii výuky pro nováčky]]]]
<span id="Key_dates"></span>
== Klíčová data ==
* {{ymd|2011|6|16}} - <span class="mw-translate-fuzzy">WikiLove aktivován na [$proto prototype.wikimedia.org]</span>
* {{ymd|2011|6|24}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers</span>
* {{ymd|2011|6|30}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove deployed to the English Wikipedia. See [{{canonicalurl:w:Special:AbuseLog|title=Special:AbuseLog&wpSearchUser=&wpSearchFilter=423&wpSearchTitle=}} WikiLove actions].</span>
* {{ymd|2011|10|28}} - <span lang="en" dir="ltr" class="mw-content-ltr">WikiLove [[bugzilla:31831#c3|deployed]] to the [[:mk:|Macedonian Wikipedia]] (under the name "ВикиЉубов").</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to disable ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
To disable WikiLove, go to the editing tab in [[:en:Special:Preferences#mw-prefsection-editing|your preferences]], and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.
</div>
[[File:WikiLove-pref.png|center|thumb|400px|Turn WikiLove on or off using the checkbox in your preferences.]]
<div lang="en" dir="ltr" class="mw-content-ltr">
== How to customise ==
</div>
{{notice|1=<span lang="en" dir="ltr" class="mw-content-ltr">This section is about how to customise WikiLove for an individual editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To learn how to customise WikiLove for an entire wiki, see {{ll|Extension:WikiLove}}.</span>}}
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove interface can be tailored to suit the needs of each individual editor.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">The WikiLove configuration is one large [[w:JSON|JSON]] object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will have any local overrides.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Next, take a look at the [[phab:diffusion/EWLO/browse/master/resources/ext.wikiLove.defaultOptions.js|default configuration]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">This will show you the basic tree of data that makes up the settings for WikiLove.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">Once you have decided what values you want to change, go to your skin.js file on the wiki you are using.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">(If you are on the English Wikipedia, for example, you would edit [[w:Special:MyPage/common.js|this page]].)</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To change an existing item, simply override its value with an assignment statement.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change an existing type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local <code>.js</code> file ([[Special:MyPage/skin.js|User:Example/skin.js]]):
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
</syntaxhighlight>
<span lang="en" dir="ltr" class="mw-content-ltr">If you wanted to change the image for ''Stroopwafels'', you would add:</span>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Add a new type ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
</div>
<syntaxhighlight lang="javascript" style="overflow:auto;">
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the [[Special:MyLanguage/Extension:WikiLove#Custom_configuration|extension documentation]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Create a new type icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Change the heart icon ===
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file ({{Blue|User:Example/vector.css}}).</span>
<span lang="en" dir="ltr" class="mw-content-ltr">If you want to change the red heart icon to a blue heart, for example, you would add the following:</span>
<syntaxhighlight lang="css" style="overflow:auto;">
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
</syntaxhighlight>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Requests for additional deployment ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Community consensus for the deployment has been reached
* The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
* A configuration file exists on the local wiki ([[MediaWiki:WikiLove.js]])
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Once these criteria are met, open a bug in [https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== WikiLove activity in real-time ==
</div>
<span lang="en" dir="ltr" class="mw-content-ltr">WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">To quickly see what's going on, you can use [https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
We're collecting stories of WikiLove usage here to better understand its evolving impact: [[Special:MyLanguage/WikiLove/Stories|WikiLove/Stories]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Some preliminary analysis: [[Special:MyLanguage/WikiLove/Analysis|WikiLove/Analysis]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
== Additional documents ==
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Extension documentation:
</div> {{ll|Extension:WikiLove}}
<div lang="en" dir="ltr" class="mw-content-ltr">
* [[WikiLove 1.0/Design|Design document]]
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* User Testing: see [[etherpad:UserTestToc|videos]]
</div>{{dead link}}, [https://www.youtube.com/watch?v=x3mhaLYl0uY this video]
* {{ll|WikiLove/status|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status updates</span>}}
* {{ll|WikiLove/Media coverage|2=<span lang="en" dir="ltr" class="mw-content-ltr">Media coverage based on June 24 blog post</span>}}
* {{ll|WikiLove/Idea Log|2=<span lang="en" dir="ltr" class="mw-content-ltr">Idea Log</span>}}
* {{ll|WikiLove/Data|2=<span lang="en" dir="ltr" class="mw-content-ltr">Data</span>}}
* [[:meta:Research:WikiLove|WikiLove research]]
[[Category:WMF Projects 2011q2]]
[[Category:New Editor Engagement{{#translation:}}]]
</noinclude>
kcllivv80z2tx7aukr00v6pnw19frne
Translations:WikiLove/35/cs
1198
2409798
8390405
2026-05-25T08:35:15Z
Rebulka
17532855
Created page with "Rozšíření, které má podpořit projevy uznání mezi uživateli."
8390405
wikitext
text/x-wiki
Rozšíření, které má podpořit projevy uznání mezi uživateli.
qkwxtfapaa62hyi5iu6en4r07wql0wz
Translations:WikiLove/36/cs
1198
2409799
8390407
2026-05-25T08:35:21Z
Rebulka
17532855
Created page with "Funkce"
8390407
wikitext
text/x-wiki
Funkce
m5woz1uyupaqr88pv8sgcn9pc4pobaz
Translations:WikiLove/60/cs
1198
2409800
8390409
2026-05-25T08:35:40Z
Rebulka
17532855
Created page with "Dojem z abstraktního konceptu WikiLove"
8390409
wikitext
text/x-wiki
Dojem z abstraktního konceptu WikiLove
jbn1zopkzlp80dmpj01ambkgl9sztue
Translations:WikiLove/61/cs
1198
2409801
8390411
2026-05-25T08:35:57Z
Rebulka
17532855
Created page with "Dojem z abstraktního konceptu WikiLove"
8390411
wikitext
text/x-wiki
Dojem z abstraktního konceptu WikiLove
jbn1zopkzlp80dmpj01ambkgl9sztue
Translations:WikiLove/1/cs
1198
2409802
8390413
2026-05-25T08:36:52Z
Rebulka
17532855
Created page with ":''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire"
8390413
wikitext
text/x-wiki
:''Oceněním si děláme z dokonalosti druhých svůj majetek.'' – Voltaire
61o4z28qvye9v74h3b7ql2jabmknqq5
Translations:WikiLove/2/cs
1198
2409803
8390415
2026-05-25T08:37:12Z
Rebulka
17532855
Created page with "'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům."
8390415
wikitext
text/x-wiki
'''WikiLove''' je funkce navržená tak, aby usnadnila a zpříjemnila veřejné vyjádření uznání ostatním uživatelům.
a6pn4njus7jowk9ajxydsvv1h2vtt6a
Translations:WikiLove/45/cs
1198
2409804
8390417
2026-05-25T08:37:42Z
Rebulka
17532855
Created page with "WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko"."
8390417
wikitext
text/x-wiki
WikiLove lze vyvolat z jakékoli uživatelské stránky kliknutím na ikonu "Srdíčko".
pk419bv6uv8bk7bk2dkqehkywxrz1y9
Translations:WikiLove/46/cs
1198
2409805
8390419
2026-05-25T08:38:47Z
Rebulka
17532855
Created page with "Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[$ext-wlove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin."
8390419
wikitext
text/x-wiki
Původně jej vyvinul Ryan Kaldari jako uživatelský skript a nyní je k dispozici jako [[$ext-wlove|rozšíření MediaWiki]], které si vývojáři mohou přidat do svých wikin.
kb5my5gp856e57ma8a9wkvreojc9lkh
Translations:WikiLove/3/cs
1198
2409806
8390421
2026-05-25T08:38:51Z
Rebulka
17532855
Created page with "== Zdůvodnění =="
8390421
wikitext
text/x-wiki
== Zdůvodnění ==
qld9lu4tvc3t0sfiq8z8vcxbevdd0gs
Translations:WikiLove/4/cs
1198
2409807
8390423
2026-05-25T08:41:38Z
Rebulka
17532855
Created page with "Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[$1|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas)."
8390423
wikitext
text/x-wiki
Uživatelé se rádi cítí oceněni. Podle průzkumu mezi editory Wikipedie z roku 2011 (viz [[$1|top-line data]]) mezi 17 proměnnými "být špatně nahlížen zkušenějšími editory" s největší pravděpodobností vede k tomu, že lidé řeknou, že budou upravovat méně často (69% souhlas), zatímco „"když vám ostatní chválí vaše úpravy/články" s největší pravděpodobností vede k tomu, že budou upravovat častěji (78% souhlas).
6l48zq2uattc9e2erm489l5yupb0p6r
Translations:WikiLove/47/cs
1198
2409808
8390425
2026-05-25T08:42:37Z
Rebulka
17532855
Created page with "Viz také: [[$1|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie."
8390425
wikitext
text/x-wiki
Viz také: [[$1|"Pozitivní zpětná vazba funguje pro editaci, říkají editoři Wikipedie“"]] na blogu Wikimedie.
8ivgg69egopx5gpn7oa8lgpoapsxw70
Translations:WikiLove/5/cs
1198
2409809
8390427
2026-05-25T08:43:25Z
Rebulka
17532855
Created page with "Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila."
8390427
wikitext
text/x-wiki
Na druhou stranu, editace Wikipedie se časem stala obtížnější a pravděpodobnost, že noví uživatelé budou kritizováni, se zvýšila.
9imkshbvno6xzcy686c99dnvox3ybu5
Translations:WikiLove/48/cs
1198
2409810
8390429
2026-05-25T08:44:03Z
Rebulka
17532855
Created page with "To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný sprint výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu."
8390429
wikitext
text/x-wiki
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný sprint výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
5u9jxl20ss1dnyempy8x448zmnzri0v
8390433
8390429
2026-05-25T08:49:01Z
Rebulka
17532855
8390433
wikitext
text/x-wiki
To se odráží v různých snahách o kódování a analýzu zkušeností nových uživatelů, jako například nedávný průběh výzkumu strategie výuky pro nováčky, který proběhl v rámci našeho Letního výzkumu.
hlbzo2m2n6yy4ggza1enrz8m2buhaxr
Translations:WikiLove/37/cs
1198
2409811
8390431
2026-05-25T08:48:26Z
Rebulka
17532855
Created page with "Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[$1|výzkumném běhu o strategii výuky pro nováčky]]"
8390431
wikitext
text/x-wiki
Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[$1|výzkumném běhu o strategii výuky pro nováčky]]
hd8vmpi9yja3rcegqpw5tfv03xm7c5f
8390435
8390431
2026-05-25T08:49:25Z
Rebulka
17532855
8390435
wikitext
text/x-wiki
Relativní podíl různých typů zpráv odesílaných novým uživatelům anglické Wikipedie, jak je kódováno ve [[$1|výzkumném průběhu o strategii výuky pro nováčky]]
efkmwrlcxzf7qbguemlj53dtww3r4wo
Translations:WikiLove/7/cs
1198
2409812
8390437
2026-05-25T08:49:51Z
Rebulka
17532855
Created page with "== Klíčová data =="
8390437
wikitext
text/x-wiki
== Klíčová data ==
qyqs21qlu918hqxz0cak748cotus559
Translations:WikiLove/8/cs
1198
2409813
8390440
2026-05-25T08:52:41Z
Rebulka
17532855
Created page with "WikiLove aktivován na [$proto prototype.wikimedia.org]"
8390440
wikitext
text/x-wiki
WikiLove aktivován na [$proto prototype.wikimedia.org]
abm71tas3bqxnqv7huwtwua7vefe3t4