WikiServer - Getting VisualEditor working properly

From The TinkerNet Wiki
Jump to navigation Jump to search

Note:  This is still a work in progress...  Multi-Wiki is a bit of a fail.

ANOTHER Note:  Apparently, This is being rolled into WikiMedia 1.35 by default. w00t!!!

Installing VisualEditor

(MediaWiki 1.34 or earlier... 1.35 has it rolled in)

Extension:VisualEditor

VisualEditor does not currently work with private wikis. Supposedly, there are workarounds, but more research is needed.

Requirements

  • Parsoid 0.11.0
  • Node.js 12

Parsoid Install

https://www.mediawiki.org/wiki/Parsoid/Setup

  • sudo apt install dirmngr
  • sudo apt-key advanced --keyserver keys.gnupg.net --recv-keys AF380A3036A03444
  • echo "deb https://releases.wikimedia.org/debian jessie-mediawiki main" | sudo tee /etc/apt/sources.list.d/parsoid.list
  • sudo apt install apt-transport-https
  • sudo apt update && sudo apt install parsoid
  • sudo vim /etc/mediawiki/parsoid/config.yaml

This will require further fuckery for the multi-wiki setup with private wiki!

VisualEditor Install

Find the current version via: Download MediaWiki extension

  • wget https://extdist.wmflabs.org/dist/extensions/VisualEditor-REL1_34-74116a7.tar.gz
    • This URL will change!
  • tar -xzf VisualEditor-REL1_34-74116a7.tar.gz
  • sudo rsync -av VisualEditor /var/www/html/wiki/extensions
  • sudo vim /var/www/html/wiki/LocalSettings.php
wfLoadExtension( 'VisualEditor' );
// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';
// OPTIONAL: Enable VisualEditor's experimental code features
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
       // URL to the Parsoid instance
       // Use port 8142 if you use the Debian package
       'url' => 'http://localhost:8142',
       // Parsoid "domain", see below (optional)
       'domain' => 'localhost',
       // Parsoid "prefix", see below (optional)
       'prefix' => 'localhost'
);

Multiple Wiki Configuration

Repeat the parts above where stuff is done in the /wiki/ folder

(but use the folder for your second wiki... duh...)

  • sudo vim /etc/mediawiki/parsoid/config.yaml
mwApis:
    - # This is the only required parameter,
      # the URL of you MediaWiki API endpoint.
      uri: 'http://wiki.tinkernow.net/api.php'
      domain: 'wiki'
      prefix: 'wiki'
    - # and another MediaWiki
      uri: 'http://labnotes.tinkernow.net/api.php'
      domain: 'notes'
      prefix: 'notes'
  • sudo service parsoid restart
  • sudo vim /var/www/html/wiki/LocalSettings.php
wfLoadExtension( 'VisualEditor' );

// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;

// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";

// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';

// OPTIONAL: Enable VisualEditor's experimental code features
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;


$wgVirtualRestConfig['modules']['parsoid'] = array(
#       'url' => 'http://wiki.tinkernow.net:8142',
       'url' => 'http://localhost:8142',
       'domain' => 'wiki',
       'prefix' => 'wiki'
)
  • sudo vim /var/www/html/notes/LocalSettings.php
wfLoadExtension( 'VisualEditor' );

// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;

// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";

// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';

// OPTIONAL: Enable VisualEditor's experimental code features
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;

#$wgVirtualRestConfig['modules']['parsoid']['forwardCookies'] = true;

$wgVirtualRestConfig['modules']['parsoid'] = array(
       'url' => 'http://localhost:8142',
       'domain' => 'notes',
       'prefix' => 'notes',
       'forwardCookies' => true
);