Lingo Upgrade Problems
A Guide to Using MediaWiki in a Hosted Environment
An instructional website by the developer of mh370wiki.net - a MediaWiki site about Malaysia Airlines Flight MH370.
Tooltips are essential in the mh370wiki.net website. The site subtitle "MH370 Decoded" means that acronyms, aviation terminology, satellite communications terminology and other technical terms and abbreviations are explained by on-screen Tooltips. The Extension:Lingo is used for a Glossary and to display Tooltips.
A simple example is the Flight Plan for Malaysia Airlines flight MH370.
But when the mh370wiki.net website was upgraded from MediaWiki version 1.39 to 1.43, the Tooltips failed to appear on-screen.
Problem Definition
Lingo correctly underlined the term(s) in a page but failed to display the tooltip text(s) on the upgraded website mh370wiki.net and also on this website which was built using a new installation of MediaWiki version 1.43.
The browser displayed a message javascript:void(0);
Basic Tests
This site - mw.mh370.wiki - was analysed first 1) because it uses a new installation of MediaWiki version 1.43.1 and 2) because this site is much simpler. The idea was to get Tooltips working on this site first and apply the solution to mh370wiki.net.
- Three Terms in the local Tooltips page are LocalSettings.php, acronym, redacted. Each Term was underlined and the background changed on hover but tooltip text was not displayed.
- Opened the website and page in different browsers with the same result - tooltip not displayed.
- Checked the version of Lingo is compatible with current version of MediaWiki.
- Checked the configuration of Lingo in LocalSettings.php.
- Searched Internet for clues, looked at Discussion page(s) for Extension:Lingo.
Analysis
Viewed in Firefox Web Developer tools, the three non-functional Terms look like this:-
The Browser recognises javascript:void(0); as an instruction to not open a new page (or refresh the same page) when following a link.
Manually refreshing the page made no difference.
A Comparison
The previous version of the mh370wiki.net using MediaWiki 1.39 also uses the MediaWiki Extension:Lingo.
The page Flight MH370 - Codes and Abbreviations is just one of many instances of tooltips used.
The following is a capture, using Web Developer Tools, of one tooltip - the term KULPEK, which displayed correctly on the version 1.39 site.
Differences: The mh370wiki.net example does not have href="javascript:void(0);" but does have data-hasqtip=
Javascript Handler
Viewed the content of files within the extension Lingo, looking for any style, instruction or other clue as to how Lingo uses Javascript and discovered that a file Lingo.js was empty.
From cPanel and File Manager the file size of /w/extensions/Lingo/libs/Lingo.js is 0 bytes.
The Lingo.js file on my local drive, is 4KB. This is the Javascript handler for the Lingo extension.
Solution
Instead of uploading Lingo.js using FTP, opened the local file in Notepad and copied the contents to the empty Lingo.js file in /w/extensions/Lingo/Libs.
Cleared the cache (history, cached data etc) in the browser. Refreshed the current page from this website mw.mh370.wiki, and the tooltip(s) displayed correctly.
From Web Developer Tools there are visible differences in the functional tooltips (below) compared with the previous non-functional example:-
The javascript:void(0); was not the problem; but the browser could not process the javascript (Lingo.js had no content), so when the browser displayed javascript:void(0); it may have been indicating an undefined expression.
Follow-up
Replaced the Lingo.js file on other instances of the current Extension:Lingo, in mh370wiki.net and other websites, using version MediaWiki 1.43.1.
Links
- Extension:Lingo
- https://www.mediawiki.org/wiki/Extension:Lingo



