Parsoid/JS/Troubleshooting

First, follow the setup instructions. If you aren't using Ubuntu or Debian, then you might have to follow the developer setup instructions instead.

Check that your localhost interwiki is set up correctly
First check that your api is accessible from the server Parsoid is going to run on:

Then set this URL in your  (  in a developer install):

(In older versions of mediawiki, the api.php file is located in a subfolder, e.g.  '/w/' . In this case, the uri would be: ' https://your-mediawiki-server/w/api.php' .)

(The domain does not have to be localhost, it can be anything, as long as the domain in the parsoid config and LocalSettings.php match. This is especially relevant when Multiple wikis sharing the same parsoid service)

Now (re-)start Parsoid ( on Ubuntu or Debian,   in a developer install) and verify that it is working: Usually "Main_Page" is a good candidate for &lt;pagename&gt;.

The first "localhost:8xxx" is yours (Apache) web server virtual host, for example it can be: your.public-domain.com; localhost; 127.0.0.1; 192.168.0.xxx; etc.). The second "/localhost/" is those set up in:.

You can set up any number of wikis by adding more  statements in settings.js / localsettings.js.

Invalid Domain Error
This error likely means there is an issue with the Parsoid configuration file. Some items to check about the configuration file are:
 * Has the Parsoid service been restarted? Are there any errors in the Parsoid log file?
 * Is the configuration file being read? Try putting errors in the file then restart the service and check the log to see that it saw those errors.
 * Is there an error in the configuration section for that domain? For example, "#- # This is the only required parameter," would need the first hash removed in order for for the mwApi section to be read.

Other things to check
Alternatively and similarly, you can set up your webserver to listen on another port, that is not open on your firewall, thus it can be standard http without SSL, therefore be accessed by Parsoid.
 * If your MediaWiki is private, then you need to set up VisualEditor to forward the cookie to Parsoid. See the VisualEditor instructions for this case.
 * If you enabled cookie forwarding, but Parsoid logs  (causes VisualEditor to 'load' indefinitely) when accessing a page, you may want to make sure you included the   in your config, as documented in the VE instructions.
 * If your MediaWiki runs via SSL, make sure that your Parsoid server can access your MediaWiki without certificate errors. In other words; make sure that the certificate is valid and added to the certificate storage on your Parsoid-running system.
 * Parsoid config.yaml is indentation space sensitive. Watch for correct space and placement of dashes when adding more than one wiki.
 * Debian package version of Parsoid stores its logs in.
 * You might also want to check the Troubleshooting section of the Extension:VisualEditor page.

VisualEditor 1.27: Image alignment causes VisualEditor to not load in REL1_27
$wgUrlProtocols = array(           '//' );
 * Check if your LocalSettings.php have '//' in the $wgUrlProtocols
 * If it is missing, add the '//', save the LocalSettings.php, and restart the parsoid server
 * Missing the '//' will cause Visual Editor to hang at 100% blue bar on page with image

SELINUX ERROR "Error loading data from server: no_vrs: The VirtualRESTService"
This error occurs usually on CENTOS 6 / 7 servers running SELINUX. In order to resolve this problem please disable SELINUX. How to disable SELINUX

Parsoid 0.9.0 update brings 406 Not Acceptable docserver error in VisualEditor REL_30 on Mediawiki 1.30
Full article

You can change the config file instead of Parsoid code: edit /etc/mediawiki/parsoid/config.yaml and add strictAcceptCheck: false at the same level as "userAgent" in the beginning, i.e. just under "conf". Example:

Intermittent or occasional missing images after clicking Edit for Visual Editor
With some very awesome help from #mediawiki-parsoid on IRC I've been able to resolve this error through modifications in  for Parsoid for my installation.

The intermittent showing of images is suspected to be due to simultaneous shell sessions for the thumbnail resizing running out of memory with the default settings.

The fix is to force them to be carried out serially and to use batching. We did two things:


 * 1) Use the ParsoidBatchAPI extension
 * 2) In the   set:    and   underneath the follow YAML keys:




 * }