Shannon Bailey joined Wikimedia Foundation to work on Parsoid and related technology.
Shannon wrote two programming languages and worked on many other products over three decades.
Shannon hopes to further the global reach of Wikipedia through offline readers and innovate on bringing IOT data into Wikipedia for weather, energy and other machine information
The following narrative and hopefully helpful hints about using a MacBook pro with PHPStorm to develop mediawiki core, parsoid and extensions is in progress, capturing notes of the two phases (sperated by two years), of initial installation efforts and challenges, and my recent wrestling match when upgrading PHP, Xdebug, nginx and core/VE.
WORK IN PROGRESS...
Issues installing and maintaining mediawiki, VE and parsoid locally as a developer on OS/XEdit
As a developer working primarily on Parsoid, but needing to have a full core mediawiki installation with VE and other extensions, I've had some challenges getting a stable and complete installation of the mostly complete mediawiki stack going a couple of years ago. The initial installation had its frustrating moments, and each time I upgrade OS/X, something will be broken as a result of the upgrade, and I'll have to track down and figure out what changed.
The first challenge I faced was getting an appropriate version of PHP installed, and a matching version of XDebug to work properly with PHPStorm. You would think that JetBrains would have getting a debugging working under PHPStorm dialed in, but alas, getting XDebug installed and configured properly to work with PHPStorm can require a fair bit of research and hacking as the JetBrains help and web site, is umm, not that helpful.
The second challenge was getting the nginx web server installed and configured properly to work with my PHP installation, and not the one OS/X ships with. With installation of VE and Vector skin, and localSettings.php with the right directives, and nginx.conf with the right configuration, and PHP's php.ini setup correctly, and PHPStorm configured with the right setting for Xdebug and, well the first time around that was mostly all that needed to be done on High Sierra (I currently run Catalina, and am not ready to upgrade to Big Sur).
Recently though it wasn't upgrading OS/X that bit me, it was mediawiki cores need for me to switch to PHP 7.4.15 after I refreshed my repo from master after many months of leaving well enough alone. So without thinking too much hassle would ensue, I did a Brew update, which upgraded nginx and a bunch of other packages. Upgrading PHP of course broken Xdebug as the one I now had installed no longer worked with 7.4.15 not being built with that versions header files, etc. So I began researching how to get a matching Xdebug version installed. The web site for Xdebug has prebuilt executables for Windows, but not for Mac. Instructions on how to get a matching Xdebug were varied, but eventually I got pecl to run (required recent version of XCode with command line tools installed which I happen to keep installed), but then the compile failed and a bit of research turned up the fix in: https://stackoverflow.com/questions/64321231/pecl-extension-compile-error-for-php-7-4-on-macos
In file zend_operators.h you have to change a 1 to 0
#if defined(HAVE_ASM_GOTO) && !__has_feature(memory_sanitizer) # define ZEND_USE_ASM_ARITHMETIC 0 // STB - 03-02-2021 changed 1 to 0 as a fix for xdebug compile #else # define ZEND_USE_ASM_ARITHMETIC 0 #endif
which then allowed pecl to succeed.
$ pecl install xdebug
Test Wikitext Playground area (ignore, I just use this area for Parsoid test and verification)Edit
Reference 0. [upper-alpha 1]
Reference 3. [lower-greek 1]
- Reference 0
- Reference 3 Greek.
Previous Test CasesEdit
Test Wikitext areas MINUS ONE :-)Edit
Test Wikitext area ZEROEdit
Additional Wikitext test area ONEEdit
Cite error: Invalid
dir="nonsense", must be
Cite error: Invalid
dir="", must be
Additional Wikitext test area TWOEdit
- group_b_name_a group_b_follow_a
- group_b_name_b group_b_follow_b
- group_c_name_a group_c_follow_a
- group_a_name_a group_a_follow_a
Additional Wikitext test area THREEEdit
- theFollowValue anotherFollowValue Cite error: Invalid
<ref>tag; name "theName" defined multiple times with different content
EX TOTO ORBE
- List item #1
- List item #2
THIS IS JUST BOLD TEXT
- indented one level
- indented two levels
COMPUTER CODE ≠≤≥~←→
- Bullet #1
- Bullet #2
- Sub Bullet #2a
text1 text2 text1 text2 text2
<ref> tags exist for a group named "noreference", but no corresponding
<references group="noreference"/> tag was found