User:Chieftain Alex/MediaWiki
From Guild Wars 2 Wiki
Jump to navigationJump to search
Various observations on how the wiki behaves and possibly some bugs too.
- mw:ResourceLoader/Migration_guide_(users)#MediaWiki_1.29
- mw:ResourceLoader/Core_modules
- mw:Compatibility
- mw:Reading/Web/Desktop Improvements/Updates - vector 2022
- mw:Reading/Web/Accessibility for reading - mediawiki Dark Mode project (evolution of above)
Upgrade roadmap[edit]
- March 2025: MW 1.43
- Looks like very few changes.
- March 2027: MW 1.47
- This will probably be when the linear Parsoid/JS gets replaced with the non-linear Parsoid/PHP version. This will break the Variables extension. This will mandate removal of any inline SMW declarations using the :: notation (#set + #subobject will still be ok).
- Cargo has also been suggested as an alternative due to SMW being a nuisance for every significant upgrade, this has the side effect of everyone having to use SQL.
Mediawiki 1.39[edit]
- Overview
Notes from interrogation of Special:Version page diff:
"MediaWiki": "1.38.7", "MediaWiki": "1.39.6", 1 "Elasticsearch": "6.8.0" "Elasticsearch": "7.10.2" "Semantic Drilldown": "2.1", 1 "Semantic MediaWiki": "4.1.1", "Semantic MediaWiki": "4.1.3", 1 "Semantic Result Formats": "4.0.2", "Semantic Result Formats": "4.2.0", 1 "Page Forms": "5.6.1", "Page Forms": "5.6.3", 1 "DynamicPageList3": "3.4.6", "DynamicPageList3": "3.5.2", 1 "ParserFunctions": "1.6.0", "ParserFunctions": "1.6.1", "Google Analytics Integration": "3.0.1", "ParserHooks": "1.6.1", "elasticsearch/elasticsearch": "6.7.2", "elasticsearch/elasticsearch": "7.11.0",
- Release notes review
Checked release notes for:
- MW - ok (link)
- $wgIncludeLegacyJavaScript has been removed. Note that no functionality was removed in this release. Most former "wikibits" functions were removed after deprecation in previous releases. The remaining functions, such as importScript, are available unconditionally.
- Administrators now have the option to delete/undelete the associated "Talk" page when they are (un)deleting a given page. `deletetalk` and `undeletetalk` options were added to the 'delete' and 'undelete' action APIs in MW 1.38.
- Basic non-JavaScript (Grade C) support has been dropped for Internet Explorer 9-10, Firefox 27-38, and Android 4.3-4.4.
- Changes to skins: The feature `legacy` used inside ResourceLoaderSkinModule, deprecated in 1.37, will no longer ship any styles.
- SMW - ok (4.1.2 and 4.1.3)
- SMW result formats - ok (link)
- DPL - ok (link)
- Page forms - ok (link)
- Skin checks
- Vector skin diff
- A couple of changes will be required for vector 2022 to ensure it displats OK:
- Nasty extra background on the personal icon - needs setting to transparent.
- Page is crushed left-right unnecessarily, and unlike on native wikipedia there's no option to expand it to full width?
- Font colours have additional rules to override (top menu).
- Watchlist icon needs fixing
- Collapsed top-right menu needs font size enhancing.
- Tabs have been integrated into the page (previously stuck out the top - probably some margin and rounded border rules to remove/modify.
#p-search .mw-ui-icon-wikimedia-search, #p-personal-more, #p-personal { background-color: rgba(0,0,0,0.5); } .mw-page-container - has width rules and some small margins .mw-page-container-inner - has grid rules - probably OK to leave these .mw-content-container - has some left/right margin rules, and importantly a max-width 60em rule. .vector-menu-tabs .mw-list-item a - colors to fix
- Prompts from Greener to look at abusefilter
- Some Abusefilter rule keywords have been deprecated/removed:
- article_articleid >> page_id
- article_namespace >> page_namespace
- article_text >> page_title
- article_prefixedtext >> page_prefixedtitle
- article_restrictions_edit >> page_restrictions_edit
- article_restrictions_move >> page_restrictions_move
- article_restrictions_upload >> page_restrictions_upload
- article_restrictions_create >> page_restrictions_create
- article_recent_contributors >> page_recent_contributors
- article_first_contributor >> page_first_contributor
- minor_edit
- moved_to_articleid >> moved_to_id
- moved_to_text >> moved_to_title
- moved_to_prefixedtext >> moved_to_prefixedtitle
- moved_from_text >> moved_from_title
- moved_from_prefixedtext >> moved_from_prefixedtitle
- moved_from_articleid >> moved_from_id
- There's a note on mw:Extension:AbuseFilter/Rules format that edit_delta only works if you check action == edit.
Mediawiki 1.38[edit]
- Can't see anything significant in the release notes.
- Not mentioned in the release notes, may have been changes to the associated skin instead of the actual MW package: Lots of CSS rules in monobook had a
body:not(.skin--responsive)
prefix added to them. Vector amended yet again. - The script which adds the "Leave article feedback" button will need amending to insert a span element inside the a element with the link in it.
- Bugs
- Low impact: Not sure if intentional, but a purge button appears on all special pages.
- CSS
- mw:Reading/Web/Desktop Improvements/Features/Visual Refinements
- Ideally would adjust how the clock is printed, within a span instead of just within an "a" element.
- Vector 2010 skin with "use legacy vector" UNTICKED and responsive mode UNTICKED; change in the way the elements are laid out in the skin means need to rethink how the ArenaNet triple link upperbar is located - suggest adding directly beneath the body element to make use of absolute positioning (relative to body).
- SMW
- Changes from version 3.2.3 to 4.0.2
- smw:Semantic MediaWiki 4.0.0 - no end user changes. Release notes state compatibility with MW 1.38 is buggy.
- smw:Semantic MediaWiki 4.0.1 - minor.
- smw:Semantic MediaWiki 4.0.2 - few deprecated methods replaced, minor.
Mediawiki 1.37[edit]
- Can't see anything significant in the release notes.
- Based on mw:ResourceLoader/Migration guide (users)#MediaWiki 1.37 there may be some new jQuery deprecation messages.
Mediawiki 1.36[edit]
- Vector amended yet again. CSS classes renamed (vectorTabs, vectorMenu, the drop down menu). Elements reordered.
Mediawiki 1.35[edit]
- Broken stuff (desktop)
- None
- Broken stuff (mobile)
- Mobile view JS doesn't immediately seem to be firing. All the embellishments we added to the mobile menu are gone. Ah it's a javascript error "menuData is null". Yes they seem to have removed the useful menu property. I'll see if i can find the fix. mw:Extension:MobileFrontend/MobileMenu.
- Will need to remember to edit the spanish wiki's mobile menu too when this breaks.
- Possibly mw:Topic:Vqy1kx6q4e0bzvyb is the only way. Ugly though. -Chieftain Alex 20:06, 19 March 2021 (UTC)
- Slight CSS tweaks required to remove opacity on the site name and change the CSS class for the "burger" menu.
- MW
- Seems ok, no more errors than previously reported on GW2W:BUG. 1 fixed (smw property processing error). 3 outstanding.
- New little indicator in the top-right when loading pages, pushes the LWS3/4/5 notification marker out of the way whilst loading but ok when finished.
- (Why have we still got modern/cologne blue skins available... grr)
- FWIW, I ran a query and there are around two thousand accounts set to use those two skins. Justin Lloyd (talk) 19:30, 18 March 2021 (UTC)
- Not much noise in the browser console, only one entry.
- Resource not found: "[...]src/mediawiki.skinning/images/magnify-clip-ltr.svg" - Looks like some kind of common icon normally found in the equivalent to this folder - maybe check what's in the 1.35 version you've used? Repeat this issue by visiting the page The Mists.
- Alex, this seems to only be a problem when not logged in, logging in eliminates the error. For some reason, the request when logged out starts with /wiki/Resources/..., but it is /resources/... when logged in. FWIW these images are distinct from the uploaded stuff, this is part of the MediaWiki distribution and stored under the top-level "resources" directory. I'm not sure what's causing this difference right now and so far it only seems to be for this one SVG ltr (left to right) resource image. Justin Lloyd (talk) 19:30, 18 March 2021 (UTC)
- Odd, i was logged in when i experienced that resource bug :S -Chieftain Alex 19:49, 18 March 2021 (UTC)
- I also had the impression it was skin-related, possibly between the new and legacy Vector skins, but I couldn't seem to confirm this. Justin Lloyd (talk) 19:59, 18 March 2021 (UTC)
- Odd, i was logged in when i experienced that resource bug :S -Chieftain Alex 19:49, 18 March 2021 (UTC)
- Alex, this seems to only be a problem when not logged in, logging in eliminates the error. For some reason, the request when logged out starts with /wiki/Resources/..., but it is /resources/... when logged in. FWIW these images are distinct from the uploaded stuff, this is part of the MediaWiki distribution and stored under the top-level "resources" directory. I'm not sure what's causing this difference right now and so far it only seems to be for this one SVG ltr (left to right) resource image. Justin Lloyd (talk) 19:30, 18 March 2021 (UTC)
- Resource not found: "[...]src/mediawiki.skinning/images/magnify-clip-ltr.svg" - Looks like some kind of common icon normally found in the equivalent to this folder - maybe check what's in the 1.35 version you've used? Repeat this issue by visiting the page The Mists.
- Extension- Semantic MediaWiki 3.1.6 → 3.2.2
- Might fix the outdated data problem on Property:Has location type - looks like it works now.
- I see a few namedargs fixes, maybe tree is fixed?
- Special:Browse has a few more section dividers but nothing significant.
- Nothing interesting in the changelogs.
- Extension- Page Forms 4.9.5 → 5.1
- Fixes for the jQuery UI log messages we've been receiving for over a year
- Good.
- Extension- MobileFrontend 2.1.0 → 2.3.0
- No tangible history because it uses hideous gerrit.
Mediawiki 1.32 + Mediawiki 1.34[edit]
- Back-end
- Sysops cannot edit the user interface pages (JS/CSS). 1 Fix identified: The four user rights identified on Guild Wars 2 Wiki:Interface administrators need adding to the sysop group OR provide sysops with the Interface administrator rights.
- Additionally it may be required (e.g. if a message along the lines of "the current content model does not allow this page to be edited" appears) to use Special:ChangeContentModel twice before editing the CSS.
- Default parameter for smw #show: and #ask: functionality has changed (see below). 1 Purge all associated pages.
Need to identify a working fix. (github thread with an insufficient fix)
- Missing stuff
- 0 "MediaWiki no longer has a 'JavaScript-powered' wikitext toolbar built in. The old "bulletin board style toolbar", known as "the 2006 wikitext editor", has been removed, and instead sysadmins will be required to choose one (or more) of the several extensions available for this purpose if they need the functionality."
- No bold/italic buttons - suspect this is to steer people towards visual editor. Could be recreated with a common.js script.
- Suggest mw:Extension:CharInsert, MediaWiki:Edittools and then includePage('MediaWiki:Edittools') on common.js.
- No bold/italic buttons - suspect this is to steer people towards visual editor. Could be recreated with a common.js script.
- Broken stuff
- All widgets using jQuery are broken; (ReferenceError: $ is not defined)
1 Fix identified by poke. Help:Widgets example syntax updated, all widgets using jquery will require updating. Can't be done in advance of upgrade due to lack of forwards-compatibility. Can however identify which scripts will need updating. Fix is as follows:Replace the RLQ line withRLQ.push(['jquery', function () {
and replace the final line with}]);
- Widgets using non-protected data subpages need to be moved to the MediaWiki or User/.js namespaces. (ref)
- [[Widget:World map/data.js]] - workaround, apply admin protection to data subpage. 1 Protected. Will be removed with later MW update and require moving (ref)
- Event timer deprecated modules.
- Embed jquery UI elements 1 Fixed.
- SMW
sep=;
needs replacing withvaluesep=;
. 1 Fix identified. Cannot be done in advance due to lack of forwards-compatibility. Can however identify which templates will need updating.- Template:Base ingredients lookup. Replace
|sep=~
with|valuesep=~
. Then purge the Form. - Template:Vendor list result format. Replace
|sep=;
with|valuesep=;
.
- Template:Base ingredients lookup. Replace
- Change to the default parameter response for #show: and #ask: 1 This appears to be a bug. If the page exists but the property does not, it returns
blank{{Expansion depth limit exceeded}} instead of the default parameter given.- Template:Weapon infobox e.g.
{{#show:Inquest weapons|?Has canonical name|default=Inquest weapons}}
- Template:Effect icon and almost everywhere.
- This can be fixed by performing a null edit on the pages+related pages affected.
- Template:Weapon infobox e.g.
- format = ol/ul,
columns = x
has been removed. Supposed to use CSS apparently. Should be able to fix this before migration.- Template:Member list, Contained in, Gathered from, Salvaged from, Contains upgrade component, Armor set containers. 1 All fixed.
- 1
userparam = xyz
when referenced from SMW result templates will now be called "#userparam
" (i.e. any template referring to userparam needs modifying) - div class="globalwrapper" has a new background image. Remove with CSS. 1 Fixed.
- Any widgets using
mediawiki.api.parse
stop parsing wikitext.- 1 These need to be updated to just use
mediawiki.api
since the submodules are included in the top level module. (ref)- Applies to: Widget:Filter table.
- 1 These need to be updated to just use
- 1 [[Has game icon::File:Weaponsmith.png|40x40px|link=Weaponsmith (vendor)]] works but [[Has game icon::File:Weaponsmith.png|link=Weaponsmith (vendor)|40x40px]] does not.
- Solution: Order the parameters like
[[Has game icon::<filename>|<size>|link=<link>]]
- Applies to: Any infobox with an icon.
- Solution: Order the parameters like
- The current Special:RunQuery calls doesn't load the result anymore, e.g. Template:Recipe -> "Show base ingredients" doesn't display the table.
- Current call:
https://wiki.guildwars2.com/index.php?title=Special:RunQuery/Base_ingredients_query&Base_ingredients%5Bitem%5D=Recipe&Base_ingredients%5Bid%5D=1234&Base_ingredients%5Bquantity%5D=1&wpRunQuery=true
- After using "List constituent ingredients":
https://wiki.guildwars2.com/wiki/Special:RunQuery/Base_ingredients_query?Base_ingredients=item%3DRecipe%26id%3D1234%26quantity%3D1&wpRunQuery=true&pfRunQueryFormName=Base+ingredients+query&Base+ingredients%5Bquantity%5D=1&Base+ingredients%5Bitem%5D=Recipe&Base+ingredients%5Bid%5D=1234&Base+ingredients%5Bdiscipline%5D=&wpRunQuery=List+constituent+ingredients&pf_free_text=
- Current call:
- Other notes
- Special:Preferences has an option to ignore all interface updates using OOjs -- may be have been removed later, can't see it anymore.
- SMW template and list formats have been deprecated (ref)
format=template
needs replacing withformat=plainlist
format=list
needs replacing withformat=plainlist
- Removed final list separator (", and") -- this may break something (didn't affect recipe lookups).
- Invalid image syntax (e.g. specify two different pixel sizes like so is highlighted when smw's "Has appearance::" annotation is used.
Mediawiki 1.30[edit]
- Broken stuff
- Event timer stuff
- jQuery.fn.bind() is deprecated
- jQuery.fn.delegate() is deprecated
- deprecated ResourceLoader module "jquery.ui.widget" + "jquery.ui.core" ... both of these come from the jquery.ui module for ".sortable". They recommend using "mediawiki.ui.button" or "oojs-ui" instead, but neither of these modules provides the same functionality.
- SMW gallery format with overlay images (opening the overlay image traps you preventing it from closing)
- SMW gallery formats have the image size in pixels forced onto the end of the annotation.
- Other notes
- External scripts loaded using mw.loader.load must not use the array notation.
- DPL3 with randomcount and randomseed (the latter has been removed) - example previously on GWW main page.
- MediaWiki:Searchsuggest-search
- Could remove Extension:Maps
Resource loading sequence[edit]
- Background
- Thinking about whether the gamelink widget could be written through the site-wide JS instead of using inline scripts, which seems to result in the chatlinks sometimes not being encoded/partial success (especially true of long pages).
- Method
- Firefox > Dev Console > Network tab. Load any page. Observe the resources that are called (particularly JS).
# | Description | Specifics |
---|---|---|
1a | HTML for basic page structure | startup |
1b | Widgets are included in the above. Scripts are loaded inline. | inline js |
2 | Core MW CSS and JS (ugly monobook) | built-in CSS and JS, config, jquery, access keys, tooltips |
3 | Site-wide common and skin-specific CSS and JS (pretty monobook) | site CSS and JS, jquery extensions, MW toolbox, MW API |
4 | User common and skin-specific CSS and JS | user CSS and JS |
5 | Group common and skin-specific CSS and JS | group CSS and JS |
- Other observations
- Common/Monobook/User CSS is also loaded in addition to JS. This means the CSS skins are downloaded twice (waste of time). Fixed in a later version of MW? old post
CSS and JS[edit]
- The mobile layout (e.g. use of branding box word logo instead of the square logo) is applied if the Special:Preferences skin is set to Minerva or mobileaction=mobile_view_toggle is used.
- On a desktop platform, irregardless of whether the mobileaction=desktop_view_toggle or mobileaction=mobile_view_toggle setting is used, common.js is loaded.
- On a mobile platform, irregardless of whether the mobileaction=desktop_view_toggle or mobileaction=mobile_view_toggle setting is used, mobile.js is loaded.
- Minerva.css fails to load in all instances except on Desktop where Special:Preferences skin is set to Minerva.
- Monobook/Vector.css (or Vector if logged in and set in preferences) fails to load on a mobile platform where the mobileaction=desktop_view_toggle has been used.
- Vector-2022 also loads Vector.js and Vector.css.
The following tables illustrate what happens (using MW 1.38.2 and Extension:MobileFrontend 2.4.0)
Scenario | Platform | mobileaction mode | Skin preference | Dominant skin (from mobileaction mode or skin) | Scripts loaded due to dominant skin | Style loaded due to dominant skin | Core scripts due to platform | Core styles due to platform |
---|---|---|---|---|---|---|---|---|
1 | DESKTOP | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Monobook/Vector.css | Common.js | Common.css |
2 | DESKTOP | Desktop | Minerva | Minerva | Minerva.js | Minerva.css | Common.js | Common.css |
3 | DESKTOP | Mobile | Monobook/Vector | Minerva | Minerva.js | Common.js | ||
4 | DESKTOP | Mobile | Minerva | Minerva | Minerva.js | Common.js | ||
5 | MOBILE | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Mobile.js | Mobile.css | |
6 | MOBILE | Desktop | Minerva | Minerva | Minerva.js | Mobile.js | Mobile.css | |
7 | MOBILE | Mobile | Monobook/Vector | Minerva | Minerva.js | Mobile.js | Mobile.css | |
8 | MOBILE | Mobile | Minerva | Minerva | Minerva.js | Mobile.js | Mobile.css |
Scenario | Platform | mobileaction mode | Skin preference | Dominant skin (from mobileaction mode or skin) | Scripts loaded due to dominant skin | Style loaded due to dominant skin | Core scripts due to platform | Core styles due to platform |
---|---|---|---|---|---|---|---|---|
1 | DESKTOP | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Monobook/Vector.css | Common.js | Common.css |
2 | DESKTOP | Desktop | Minerva | Minerva | Minerva.js | Minerva.css | ||
3 | DESKTOP | Mobile | Monobook/Vector | Minerva | Minerva.js | Minerva.css | ||
4 | DESKTOP | Mobile | Minerva | Minerva | Minerva.js | Minerva.css | ||
5 | MOBILE | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Monobook/Vector.css | Common.js | Common.css |
6 | MOBILE | Desktop | Minerva | Minerva | Minerva.js | Minerva.css | ||
7 | MOBILE | Mobile | Monobook/Vector | Minerva | Minerva.js | Minerva.css | ||
8 | MOBILE | Mobile | Minerva | Minerva | Minerva.js | Minerva.css |
Scenario | Platform | mobileaction mode | Skin preference | Dominant skin (from mobileaction mode or skin) | Scripts loaded due to dominant skin | Style loaded due to dominant skin | Core scripts due to platform | Core styles due to platform |
---|---|---|---|---|---|---|---|---|
1 | DESKTOP | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Monobook/Vector.css | Common.js | Common.css |
2 | DESKTOP | Desktop | Minerva | Minerva | Minerva.js | Minerva.css (reloaded) | Common.js (skipped) | Common.css (unloaded) |
3 | DESKTOP | Mobile | Monobook/Vector | Minerva | Minerva.js | Minerva.css (added) | Common.js (skipped) | |
4 | DESKTOP | Mobile | Minerva | Minerva | Minerva.js | Minerva.css (added) | Common.js (skipped) | |
5 | MOBILE | Desktop | Monobook/Vector | Monobook/Vector | Monobook/Vector.js | Monobook/Vector.css (added) | Mobile.js (sent to Common.js - rest is blank), Common.js (added) | Mobile.css (blank), Common.css (added) |
6 | MOBILE | Desktop | Minerva | Minerva | Minerva.js | Minerva.css (added) | Mobile.js (blank) | Mobile.css (blank) |
7 | MOBILE | Mobile | Monobook/Vector | Minerva | Minerva.js | Minerva.css (added) | Mobile.js (blank) | Mobile.css (blank) |
8 | MOBILE | Mobile | Minerva | Minerva | Minerva.js | Minerva.css (added) | Mobile.js (blank) | Mobile.css (blank) |
Test cases[edit]
HTTPS redirects[edit]
- Session hijacking login test
- Login, and remember this login, under HTTPS. Now try to visit the HTTP login page. Success if cannot get to HTTP version.
- HTTP to HTTPS (article)
- http://wiki.guildwars2.com/wiki/Suspicious_Rubble → https://wiki.guildwars2.com/wiki/Suspicious_Rubble
- HTTP to HTTPS (article talk, with apostrophe)
- http://wiki.guildwars2.com/index.php?title=Talk:Repair_the_fort%27s_walls_by_bringing_rubble_to_the_supply_officer → https://wiki.guildwars2.com/index.php?title=Talk:Repair_the_fort%27s_walls_by_bringing_rubble_to_the_supply_officer
- HTTP to HTTPS (user space)
- http://wiki.guildwars2.com/index.php?title=User:Chieftain_Alex&action=edit → https://wiki.guildwars2.com/index.php?title=User:Chieftain_Alex&action=edit
- HTTP to HTTPS (user space, with apostrophe)
- http://wiki.guildwars2.com/wiki/User:Chieftain_Alex/my_subpage's_apostrophe_test → https://wiki.guildwars2.com/wiki/User:Chieftain_Alex/my_subpage's_apostrophe_test
- HTTP to HTTPS (user space, with apostrophe, with trailing slash)
- http://wiki.guildwars2.com/wiki/User:Chieftain_Alex/my_subpage's_apostrophe_test/ → https://wiki.guildwars2.com/wiki/User:Chieftain_Alex/my_subpage's_apostrophe_test/
URL character encoding[edit]
- Edit an article with an ampersand in the title
- Visit PR&T Esoterics. Press history at the top. Confirm history is shown. Now press edit at the top, and try submitting a change.
- Edit a talk page article with an ampersand in the title
- As above but for Talk:PR&T Esoterics.
- Test a chatlink is decoded in Special:Search (I kinda need to know which arguments the game sends when you type /wiki .. but I can't access GW2 here)
- https://wiki.guildwars2.com/index.php?title=Special%3ASearch&search=%5B%26AgE%2BTgAA%5D&go=Go → [&AgE+TgAA] → Hall of Monuments Portal Stone
- https://wiki.guildwars2.com/index.php?title=Special%3ASearch&search=%255B%2526AvpvSQEA%255D&go=Go → should fail.
5 second response time when pressing submit[edit]
- Navigate to a new page title. Make some edits in the edit box. Press preview - it should load almost instantly. Press save - takes 5 seconds. User:Chieftain Alex/new page. Passes test if quicker. Delete afterwards.
Weird SMW pages[edit]
- Property:Change propagation — when you make a change to any property, this one shows up with the count of pages left in the processing queue.