VisualEditor/Installation on a shared host

VisualEditor requires a Parsoid service (using the Parsoid/Developer Setup here). Parsoid requires also Node.js running in the background at all times. Most shared-hosting companies don't provide this. If you cannot move your wiki to a dedicated hosting solution such as a VPS, then a workaround is to install Parsoid on a cloud platform which supports Node.js, such as Heroku.com. Be aware that this is not an official hack.


 * 1) Install Extension:VisualEditor on your wiki as per usual (you can download it from here)
 * 2) Sign up with Heroku.com
 * 3) In the language choice section select node.js
 * 4) In your local computer, install the Heroku Command Line Interface as well as any dependencies (i.e node.js and npm).
 * 5) The first thing you should do when you installed Git is to set your user name and email address. This is important because every Git commit uses this information, and it’s immutably baked into the commits you start creating. So set your name and email with the following commands:
 * 6) Download Parsoid using this command:
 * 7) After successfully downloading, go to Parsoid location on your disk (for example here "C:\parsoid").
 * 8) In Parsoid folder change the file .gitignore (this file is located between "tools" folder and ".gitreview" file in Parsoid root folder). Here you need to remove the line config.yaml (11 line).
 * 9) Now you also need to change the file config.example.yaml. Open it and change uri (line 40) The "uri" is the URL to your API (normally this is in the root-folder and called api.php). Change this option according your wiki (for example http://wiki.mysite.com/api.php or http://mysite.com/w/api.php or something like that. For mediawiki.org it is https://www.mediawiki.org/w/api.php):
 * 10) Once you applied the changes save the file as config.yaml
 * 11) Now, login to your heroku account by typing: Then sign in to your heroku account using your email address and password.
 * 12) To create a new app type in console:
 * 13) Then open your app on Heroku.
 * 14) In "Settings" tab edit the "Config Variables" and add the following parameters:
 * 15) Then from inside the parsoid folder ("C:\parsoid\") add all files to your git repository:
 * 16) You'll see git editor. You can get out of it by typing the command :q. After this you are shown the message "Aborting commit due to empty commit message". Don't worry this is normal.
 * 17) Next, add your Heroku app as a Git remote:  Now you should get a positive response.
 * 18) Before you run your app set Heroku to run it with one dyno:
 * 19) To test your installation open your app: URL is http://APPNAME.herokuapp.com
 * 20) You should see a HTML-Page titled "Welcome to the Parsoid web service". which shows that Parsoid is working.
 * 21) Now it's time to change your LocalSettings.php:

Example Parsoid in Heroku
http://parsoidonheroku.herokuapp.com

People, if you use the last edition of MediaWiki before 1.31, you need to add one more line on file: config.yaml

What will be added?

See the example bellow of config.yaml:

services:

- module: lib/index.js

entrypoint: apiServiceWorker

conf:

# For backwards compatibility, and to continue to support non-static

# configs for the time being, optionally provide a path to a

# localsettings.js file. See localsettings.example.js

#localsettings: ./localsettings.js

# Set your own user-agent string

# Otherwise, defaults to:

# 'Parsoid/'

#userAgent: 'My-User-Agent-String'

# /!\ COMPATIBILITY for Parsoid 0.9.0 with MediaWiki before 1.31

strictAcceptCheck: false

# Configure Parsoid to point to your MediaWiki instances.

mwApis:

...

Important: Change it on your local computer folder of parsoid and update it on Heroku:

Commands to update the parsoid on Heroku:

git add .

git commit -am "make it better"

git push heroku master

Have Fun!!

Thiago Godoy

External resources
Getting Started with Node.js over Heroku Manual