Extension:VisualEditor/ja

This extension comes with MediaWiki 1.35 and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.
MediaWiki extensions manual
VisualEditor
Release status: stable
Implementation Page action , Extended syntax , Beta Feature , Skin
Description Allows for editing pages as rich content
Author(s) Alex Monk, Bartosz Dziewoński, C. Scott Ananian, Christian Williams, David Lynch, Ed Sanders, Inez Korczyński, James D. Forrester, Moriel Schottlender, Roan Kattouw, Rob Moen, Subramanya Sastry, Thalia Chan, Timo Tijhof, Trevor Parscal, ...
Latest version continuous updates
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki >= 1.43
Database changes No
License MIT License
Download
README
Help Help:ビジュアルエディター/利用者ガイド
  • $wgVisualEditorEnableBetaFeature
  • $wgVisualEditorEnableCollabBeta
  • $wgVisualEditorTabPosition
  • $wgVisualEditorFeedbackAPIURL
  • $wgVisualEditorAvailableContentModels
  • $wgVisualEditorDisableForAnons
  • $wgVisualEditorUseSingleEditTab
  • $wgVisualEditorEnableTocWidget
  • $wgVisualEditorEnableHelpCompletion
  • $wgVisualEditorTabMessages
  • $wgVisualEditorAvailableNamespaces
  • $wgVisualEditorRebaserURL
  • $wgVisualEditorFeedbackTitle
  • $wgVisualEditorEditCheck
  • $wgVisualEditorUseChangeTagging
  • $wgVisualEditorSkinToolbarScrollOffset
  • $wgVisualEditorAllowExternalLinkPaste
  • $wgVisualEditorEnableWikitext
  • $wgVisualEditorEditCheckTagging
  • $wgVisualEditorSourceFeedbackTitle
  • $wgVisualEditorPreloadModules
  • $wgVisualEditorEditCheckABTest
  • $wgVisualEditorSingleEditTabSwitchTime
  • $wgVisualEditorShowBetaWelcome
  • $wgVisualEditorSingleEditTabSwitchTimeEnd
  • $wgVisualEditorPluginModules
  • $wgVisualEditorEnableVisualSectionEditing
Quarterly downloads 725 (Ranked 4th)
Public wikis using 7,436 (Ranked 19th)
Translate the VisualEditor extension
Vagrant role visualeditor
Issues Open tasks · Report a bug

The VisualEditor extension allows for editing pages as rich content. There is also a project of the same name aiming to create a reliable rich-text editor for the Web and for MediaWiki.

Before MediaWiki 1.35, the VisualEditor extension relied on a separate Parsoid parser service that needed to be installed and enabled in order to edit pages with it; this is now bundled with MediaWiki core. For documentation specific to this old Parsoid service, see this old version of the page.

利用者ガイド

edit

Help:ビジュアルエディター/利用者ガイド を参照してください。

ダウンロード

edit

For the general user

edit

If you're using the latest stable version of MediaWiki, you will not need to download the VisualEditor extension from Special:ExtensionDistributor/VisualEditor as it already comes with the MediaWiki tarball.

If you are using Git

edit

The following download instructions are for use with the latest nightly build of MediaWiki only.

cd extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor.git
cd VisualEditor
git submodule update --init
* VisualEditor’s master branch contains the latest code, as used at Wikimedia. This code is potentially slightly buggy or unstable, but is likely to have fewer bugs and more features than old builds.
  • The master branch requires alpha builds of MediaWiki and will not work with the older, official releases of MediaWiki like 1.39; for that, use the REL1_39 branch (command: git clone -b REL1_39 https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor.git).
  • The git submodule update --init command is vital, as VisualEditor MediaWiki extension needs the core VisualEditor submodule to work. If you do not use this command, VisualEditor will fail to work.
  • See Parsoid § Development for details on linking an alpha build of the Parsoid library up to VisualEditor; the latest version of VisualEditor will need a development version of Parsoid as well. You must follow the instructions on the Parsoid page to configure Parsoid if you are installing VisualEditor from git, or using an alpha release of 1.36! If you do not, VisualEditor will fail to work.
  • It is recommended to use PHP 7.3 or later, as Parsoid uses less memory on newer versions of PHP. This is not a hard requirement; WMF still runs PHP 7.2 in production.

インストール

edit

VisualEditor needs to be installed with:

wfLoadExtension( 'VisualEditor' );

外装の互換性 =

edit

VisualEditor is known to be compatible with the following skins:

Other skins are not officially supported, but it should be compatible with any skin that uses the required HTML structure Extension:VisualEditor/Skin requirements を参照してください。 Some fiddling with skin stylesheets might be necessary to make everything look nice. It will load on any skin if it matches the feature detection.

Setting up VisualEditor

edit

Installing Parsoid

edit

Before MediaWiki 1.35, it was necessary to set up the Parsoid Node.js service before you could edit or save pages; see Parsoid/JS § Setting up VisualEditor for documentation. This is not necessary for MediaWiki 1.35 and later, unless you are running a pre-release version of VisualEditor from git (see notes above).

Basic configuration for VisualEditor

edit

Basic operation of VisualEditor in MediaWiki 1.35 and later does not require any manual configuration.

For users of earlier versions, or those with special needs, the following are the most-frequent customizations.

Short URLs on Apache (MW ≥ 1.35.x)

edit

If you are using VisualEditor for MediaWiki 1.35 and later with non-standard short URLs as "https://wiki.example.org/Page_title" on Apache you need to adapt the rewrite rules of the webserver.

Enabling the write API

edit

The user groups who should be able to use VisualEditor must have access to the MediaWiki write API. $wgGroupPermissions needs to be set accordingly, e.g. for the user group named user this is done with:

$wgGroupPermissions['user']['writeapi'] = true;

Linking with Parsoid

edit

By default, VisualEditor is automatically configured to talk to a Parsoid service running on the same host. You should not need to change this in most cases! Advanced configurations may wish to run Parsoid on a dedicated host or cluster. If you need to do this, add the following code to your LocalSettings.php to specify your non-local Parsoid instance:

$wgVirtualRestConfig['modules']['parsoid'] = array(
    // URL to the Parsoid instance
    // You should change $wgServer to match the non-local host running Parsoid
    'url' => $wgServer . $wgScriptPath . '/rest.php',
    // Parsoid "domain", see below (optional, rarely needed)
    // 'domain' => 'localhost',
);

Parsoid's domain setting here must match the host portion of $wgServer on the host running the Parsoid service.

If you set $wgVirtualRestConfig['modules']['parsoid'], then you will also need to manually install Parsoid. Either on a separate server or via the developer instructions on the Parsoid page.

Note for developers: as noted above, in development releases including 1.36-alpha Parsoid will need to be manually loaded. This will change before 1.36 is released. If you are running a development release, you should follow the instructions in Parsoid § Development at the very least add the following to your LocalSettings.php:

// For 1.36-alpha only
wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );

Allowing VisualEditor on page titles containing slashes

edit

If you are serving MediaWiki from apache2, you will need to add the following to your top level server configuration (often a <VirtualHost> section in /etc/apache2/site-enabled/000-default.conf or similar):

AllowEncodedSlashes NoDecode

If you do not, then VisualEditor will complain that "サーバが返したリビジョンIDと一致しません(ドキュメント:revision ID 、メタデータ:revision ID)" or simply "⧼apierror-visualeditor-docserver-http⧽" when editing a page title containing a slash, for example a subpage. See T268953 and the Apache documentation for more information.

If the Apache server happens to be behind a Nginx proxy, then its proxy_pass stanza should make use of the $request_uri parameter (cf. discussion on StackOverflow).

Activating VisualEditor by default

edit

Before MediaWiki 1.35, VisualEditor did not enable itself for users by default. To make it available, add the following lines to your wiki's LocalSettings.php after you have downloaded the extension. This is not necessary for MediaWiki 1.35 and later.

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

The following optional configurations can also be used:

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

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

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

// Activate ONLY the 2017 wikitext editor by default

$wgDefaultUserOptions['visualeditor-autodisable'] = true;
$wgDefaultUserOptions['visualeditor-newwikitext'] = 1;

Other extensions which load plugins for VisualEditor can be loaded before or after VE if you are using MediaWiki 1.25 or later; the plugins should work either way.

Changing active namespaces

edit

By default, VisualEditor is only enabled for the namespaces "Template:Ns:Main", "User", "File" and "Category". It is however possible to add or remove namespace using the English language canonical names defined for the respective namespaces such as e.g. "Project", "Talk", etc. Additional custom namespaces use the names used to create them.

// Enable for the meta namespace, disable for the "File" namespace and enable for the "Extra", the latter being a custom namespace
$wgVisualEditorAvailableNamespaces = [
    'Project' => true,
    'File' => false,
    'Extra' => true
];

Switching between wikitext and visual editing

edit
  Warning: Do not install RESTBase on a private wiki! RESTBase currently cannot be configured to keep page content private but will make all pages content publicly accessible. More details can be found at T88016.

VisualEditor allows you to switch back and forth between wikitext and visual editing.

However, without a RESTBase server, switching from wikitext to visual editing may result in dirty diffs when saving (non-semantic whitespace changes to wikitext formatting). If you want the ability to switch between wikitext editing and VisualEditor and save your changes without dirty diffs, you must install a RESTBase server.

If you can't set up RESTBase and dirty diffs are undesirable on your wiki (e.g. your users carefully review all changes), you can disable this feature using $wgVisualEditorAllowLossySwitching=false.

When switching isn't possible and you try to switch from a wikitext editing environment into VisualEditor, your only options are "⧼visualeditor-mweditmodesource-warning-cancel⧽" or "⧼visualeditor-mweditmodesource-warning-switch-discard⧽"; any changes you made will be discarded if you switch.[1]

RESTBase setup for switching
edit

To set up your own RESTBase service, follow the RESTBase installation instructions, paying special attention to the Parsoid configuration.

Once the RESTBase server is operational, add the following code to your LocalSettings.php:

$wgVisualEditorParsoidAutoConfig = false;

$wgVirtualRestConfig['modules']['restbase'] = [
  'url' => "http://yourRESTBaseserver.com:7231",
  'domain' => '{domain}',
  'parsoidCompat' => false
];

$wgVisualEditorFullRestbaseURL = 'http://yourRESTBaseserver.com:7231/{domain}/';

where {domain} is the value of the host portion of $wgServer on the host running Parsoid. Make sure that the port you specify here (e.g. :7231) is the same port as you specified in the RESTBase configuration. Be careful to include the trailing slash on $wgVisualEditorFullRestbaseURL!

If you can't access RESTBase port (e.g. :7231), you can work around the problem using an httpd proxy; refer to "if RESTBase port is blocked". If your wiki is served through HTTPS, RESTBase must also be served through HTTPS; else users could experience "mixed-content" errors and the switch from wikitext to VisualEditor would not work.

Now when you make changes in a wikitext editor, you can switch to VisualEditor without causing dirty diffs.

In case you are serving your wiki over HTTPS, a standard procedure nowadays, you must serve RESTbase via HTTPS similarily to Parsoid too to avoid mixed content errors. A concise and easy to understand discussion is available here. Do not forget to mix in the following documentation. Remember also to not forget to adapt your port numbers when using stunnel.

Servers with multiple virtual sites

edit
Parsoid is served in production using Extension:MediaWikiFarm . Running Parsoid on multiple virtual sites using other mechanisms is untested; the instructions below were updated for MW 1.35 but have not been tested.

If Apache2 is configured with multiple virtual sites, Parsoid is (in standard configuration) only able to access the default site. To check for this problem, run curl '[http://your-wiki-base-url]/rest.php/v1/page/Main_Page' on the server, or run curl '[https://your-wiki-base-url]/rest.php/v1/page/Main_Page' ensuring the URL matches the SSL certificate used on the server.

If the response contains the main page of your wiki then you don't have the problem, but if it doesn't, you may need to configure a host alias that Parsoid can use:

Look at the apache2 configuration file for the virtual server hosting the wiki, near the top of the file there should be a line like:

<VirtualHost *:80>

If the "*" is present, then the alias can be to localhost, if there is an IP address replacing the "*" then the alias must be to that IP address.

In the same file add a line:

ServerAlias my_wiki_alias

In the hosts file of the server (/etc/hosts on Ubuntu), add a route for my_wiki_alias, either for 127.0.0.1 (if the apache2 virtual server configuration had the "*" above, else to the IP address from the Apache2 virtual server configuration.

Now set the hostname in $wgServer to my_wiki_alias on the host running VisualEditor.

Linking with Parsoid in private wikis

edit

In a private wiki, you should do this:

Forwarding cookies to Parsoid
edit
  Warning: ONLY enable this on private wikis served over HTTP and ONLY IF you understand the SECURITY IMPLICATIONS of sending Cookie headers to Parsoid over HTTP!

This is the default configuration for VisualEditor if not everyone is allowed to read every page, as such the below should not be required in most cases.

// Forward users' Cookie: headers to Parsoid. Required for private wikis (login required to read).
// If the wiki is not private (i.e. $wgGroupPermissions['*']['read'] is true), this configuration variable will be ignored.
//
// WARNING: ONLY enable this on private wikis and ONLY IF you understand the SECURITY IMPLICATIONS of sending Cookie headers to Parsoid over HTTP.
$wgVirtualRestConfig['modules']['parsoid']['forwardCookies'] = true;

If you do set any property in $wgVirtualRestConfig['modules']['parsoid'], you will have to manually install Parsoid or VisualEditor will not work!

Quick configuration guide

edit
Feature Beta Features opt-in state Enabled for all to opt-in Enabled for all to opt-out Enabled for all without opt-out
Visual mode 1.36+:
$wgVisualEditorEnableBetaFeature = true;
<1.36: Beta Feature shown by default; disable using:
$wgHiddenPrefs[] = 'visualeditor-enable';
$wgDefaultUserOptions['visualeditor-autodisable'] = true;
1.35+:

Enabled by default

<1.35:
$wgDefaultUserOptions['visualeditor-enable'] = 1;
As in "Enabled for all to opt-out" plus:
$wgHiddenPrefs[] = 'visualeditor-enable';
Wikitext mode
$wgVisualEditorEnableWikitextBetaFeature = true;
$wgVisualEditorEnableWikitext = true;
$wgVisualEditorEnableWikitext = true;
$wgDefaultUserOptions['visualeditor-newwikitext'] = 1;
As in "Enabled for all to opt-out" plus:
$wgHiddenPrefs[] = 'visualeditor-newwikitext';
Single edit tab Not a supported configuration.
$wgVisualEditorUseSingleEditTab = true;
$wgDefaultUserOptions['visualeditor-tabs'] = 'multi-tab';
$wgVisualEditorUseSingleEditTab = true;
Default edit tab behaviour will be to remember the last editor, and open with the wikitext editor for first edit; if you want it to be the visual editor, also add:
$wgDefaultUserOptions['visualeditor-editor'] = 'visualeditor';
As in "Enabled for all to opt-out" plus:
$wgHiddenPrefs[] = 'visualeditor-tabs';
Visual diffs on history pages
$wgVisualEditorEnableDiffPageBetaFeature = true;
Not a supported configuration. Not a supported configuration.
$wgVisualEditorEnableDiffPage = true;

Complete list of configuration options

edit

Each configuration option is shown without the $wgVisualEditor prefix for brevity; replace the '…' when using.

Option Default value Useful for… Documentation
…PluginModules
[]
Extension developers Array of ResourceLoader module names (strings) that should be loaded when VisualEditor is loaded. Other extensions that extend VisualEditor should add to this array.
  Warning: When removing a module on a production site (e.g. Wikimedia), first remove it from this array, wait for the change to propagate, and only then remove the module code and module registration. Otherwise there may be a period of time during which VisualEditor depends on a module that no longer exists.
…PreloadModules
[
    "site",
    "user"
]
Extension developers Array of ResourceLoader module names (strings) that should be loaded before VisualEditor is loaded. Other extensions that extend VisualEditor and need to set up their environment before loading should add to this array.
  Warning: When removing a module on a production site (e.g. Wikimedia), first remove it from this array, wait for the change to propagate, and only then remove the module code and module registration. Otherwise there may be a period of time during which VisualEditor depends on a module that no longer exists.
…PreferenceModules
{
	"visualeditor-enable-experimental": "ext.visualEditor.experimental"
}
Extension developers Associative array of ResourceLoader module names (strings) that should be loaded when VisualEditor is loaded if the current user has a preference set. Other extensions that extend VisualEditor should add to this array if they want their addition to be opt-in or opt-out. Keys are preference names, values are ResourceLoader module names.

Remember to also set defaults in $wgDefaultUserOptions!

…ParsoidAutoConfig
true
System administrators Enables auto-configuration of the bundled version of the Parsoid REST API. Set to false if you have an unusual Parsoid configuration and want to manually configure it.
…RestbaseURL
false
System administrators URL to use to access the main RESTbase call. The page name will be appended directly to this value, so this needs to be set to something like 'https://en.wikipedia.org/api/rest_v1/page/html/' including the trailing slash.

If this is set, the page HTML will be requested from RESTbase. If this is not set, the page HTML will be requested from the API, which will send an HTTP request to Parsoid or to RESTbase if available.

…FullRestbaseURL
false
System administrators URL to use to access the rest of RESTbase. The page name will be appended directly to this value, so this needs to be set to something like 'https://en.wikipedia.org/api/rest_' excluding the trailing slash.
…AllowLossySwitching
true
System administrators Whether to allow switching from wikitext to visual editor even if doing so may cause dirty diffs.
…SerializationCacheTimeout
3600
System administrators Serialization cache timeout, in seconds.
…AvailableNamespaces
[
    "User" => true,
    "File" => true,
    "Category" => true,
    "_merge_strategy" => "array_plus"
]
System administrators Namespaces in which to enable VisualEditor (mapped from namespace canonical name to a boolean flag), on top of $wgContentNamespaces.
…AvailableContentModels
[
    "wikitext" => "article",
    "_merge_strategy" => "array_plus"
]
Extension developers Content models in which to enable VisualEditor (mapped from content model name to a boolean flag).
…UseChangeTagging
true
System administrators Whether to put a change tag on every edit made with VisualEditor.
…EnableWikitext
false
System administrators Whether to enable the wikitext source mode inside VisualEditor.
…EnableDiffPage
false
System administrators Whether to enable the visual diff function on the history special page.
…EnableDiffPageBetaFeature
false
System administrators Whether to allow users to enable the visual diff function on the history special page as a beta feature.
…EnableVisualSectionEditing
false
System administrators Whether to allow users to enable the section editing.
…UseSingleEditTab
false
System administrators Whether to use only one edit tab, switching back and forth, or add a dedicated VisualEditor edit tab next to the existing one.
…SingleEditTabSwitchTime
20160101000000
System administrators From what timestamp to warn existing editors that the installation has switched from two edit tabs to one. In general you should ignore this.
…TabPosition
'before'
System administrators If showing two edit tabs, where to put the VisualEditor edit tab in relation to the system (or WikiEditor) one:
  • 'before' - put it right before the old edit tab
  • 'after' - put it right after the old edit tab
…TabMessages
{
	"edit": null,
	"editsource": "visualeditor-ca-editsource",
	"create": null,
	"createsource": "visualeditor-ca-createsource",
	"editlocaldescriptionsource": "visualeditor-ca-editlocaldescriptionsource",
	"createlocaldescriptionsource": "visualeditor-ca-createlocaldescriptionsource",
	"editsection": null,
	"editsectionsource": "visualeditor-ca-editsource-section"
}
System administrators Configuration of what messages to use for the various kinds of edit tab users can see, if showing two edit tabs:

'edit' – i18n message key to use for the VisualEditor edit tab; if null, the default edit tab caption will be used; the 'visualeditor-ca-ve-edit' message is available for this.

'editsource' – i18n message key to use for the old edit tab; if null, the tab's caption will not be changed.

'create' – i18n message key to use for the VisualEditor create tab; if null, the default create tab caption will be used; the 'visualeditor-ca-ve-create' message is available for this.

'createsource' – i18n message key to use for the old create tab; if null, the tab's caption will not be changed.

'editlocaldescriptionsource' – i18n message key to use for the old edit tab on pages for files in foreign repos; if null, tab's caption will not be changed.

'createlocaldescriptionsource' – i18n message key to use for the old create tab on pages for files in foreign repos; if null, tab's caption will not be changed.

'editsection' – i18n message key to use for the VisualEditor section edit link; if null, the default edit section link caption will be used.

'editsectionsource' – i18n message key to use for the source section edit link; if null, the link's caption will not be changed.

…AutoAccountEnable
false
System administrators Whether to enable VisualEditor for every new account.

This allows you to keep the 'visualeditor-enable' preference disabled by default, but still have VisualEditor available for new logged-in users (by setting this to true).

…DisableForAnons
false
System administrators Whether to disable VisualEditor for non-logged-in users.

This allows you to enable the 'visualeditor-enable' preference by default, but still disable VisualEditor for logged-out users (by setting this to true).

…TransitionDefault
false
System administrators For wikis planning to use the 'visualeditor-betatempdisable1' preference to auto-opt-out existing users whilst enabling by default for all existing users, whether to start recording explicit opt-outs against implicit ones.
…ShowBetaWelcome
true
System administrators Whether to show the "welcome to the beta" dialog the first time a user uses VisualEditor.
…NewAccountEnableProportion
false
System administrators running user analytics Whether to enable VisualEditor for a proportion (Egyptian fraction) of all new accounts based on userID.
…FeedbackTitle
false
System administrators Whether to enable the MediaWiki feedback tool inside the help menu of VisualEditor. If enabled, the title of the page at which to point the MediaWiki feedback tool.
…FeedbackAPIURL
false
System administrators If set, the API of the remote wiki at which to point the MediaWiki feedback tool.
…SkinToolbarScrollOffset
[]
Skin developers An array of skin names mapped to pixel values to which to set the toolbar scroll offsets.
1.35+:

…BrowserUnsupportedList

<1.35:

…BrowserBlacklist

{
	"firefox": [
		[
			"<=",
			11
		]
	],
	"safari": [
		[
			"<=",
			6
		]
	],
	"opera": [
		[
			"<",
			12
		]
	]
}
VisualEditor developers List of browsers with which VisualEditor is incompatible. 仕様は jquery.Client を参照してください。 If the user's browser is matched, VisualEditor will refuse to load.

FirefoxThere is a wikilink corruption ([[./]]) bug in Firefox 14 and below (T52720) which prevent wider availability.

SafariOlder versions of Safari suffered from corruption issues from various old browser plugins.

OperaBelow version 12, Opera was untested, and as its user base is almost non-existent anyway it's blocked.

Internet ExplorerAt or below version 9, there are various incompatibilities in layout and feature support. Versions 10 and 11 should work correctly.

Not listed independently, because it's inherited from MediaWiki itself, Android at 3.x and below support CE but don't trigger keyboard input or have other issues, making it useless for users.

…EnableTocWidget
false
VisualEditor developers Whether to enable the (currently experimental) Table of Contents widget.
…RebaserURL
false
VisualEditor developers URL to use to access the experimental rebaser technology. If false, the technology isn't loaded.

Old configuration parameters

edit
  Warning: These parameters are no longer used in recent versions of VisualEditor; they are documented here for compatibility purposes with the proposed upgrade paths.

As above, each configuration option is shown without the $wgVisualEditor prefix for brevity.

Option MW versions Default value Documentation
…Namespaces 1.22–1.25
  • 1.22 (PHP config) -
    $wgContentNamespaces
    
  • 1.23-1.25 (PHP config) -
    array_merge( $wgContentNamespaces, array( NS_USER ) )
    
  • 1.25 (extension.json) -
    []
    
List of namespaces IDs where is the VisualEditor is activated.

This parameter has been essentially replaced by …AvailableNamespaces from 1.26.

…SupportedSkins 1.22–1.28
[
	"vector",
	"apex",
	"monobook",
	"minerva",
	"blueprint"
]
List of skins VisualEditor integration supports. If the user's skin is not matched, VisualEditor will refuse to load.

This is replaced by a dynamical check of the requirements (T161373).

edit

See also アップロード ダイアログ § Configuration (for wiki sysadmins) for information about configuring the drag-and-drop/copy&paste functionality for uploading media files through VisualEditor.

Integration of "2017 wikitext editor"

edit

Since release branch "REL1_29" (MediaWiki 1.29 and later) it is also possible to activate the so called "2017 wikitext editor". To enable it, follow the instructions for wikitext mode in the Quick configuration guide.

Enabling wikitext syntax highlighting

It is also possible to enable wikitext syntax highlighting for the "2017 wikitext editor". To do this you have to additionally install the Extension:CodeMirror extension.

Rich template forms

edit

Extension:TemplateData allows the addition of template information, making templates easier to insert with the VisualEditor.

Improved citation tool

edit

Citations can be improved by configuring the citation tool, and also by setting up Citoid .

トラブルシューティング

edit
All templates appear as puzzle icons instead of displaying its contents
Topic:V6tbh7vonvg3mzl9 を参照してください。
Docker: ⧼apierror-visualeditor-docserver-http-error⧽
Ensure that the MediaWiki container name does not equal to the domain the wiki is running on. If both names are equal, the api will try to connect to the domain the wiki is running on, but only receive the local ip of the container. This will cause errors when ssl is enabled.
⧼apierror-visualeditor-docserver-http-error⧽}
  • When editing subpages on Apache, AllowEncodedSlashes NoDecode must be added in the VirtualHost section of the wiki (T268953).
  • On a private wiki, see "parsoidserver-http-bad-status: 401" below.
⧼apierror-visualeditor-docserver-http⧽
An unresolved error for some users (Topic:Wc5hugtg7besmcb2).
⧼apierror-visualeditor-docserver-http⧽
Caused by the 'writeapi' right being revoked (or not granted). Check your LocalSettings.php and remove any overrides for this right. (T265043)
⧼apierror-visualeditor-docserver-http⧽
Possible reasons for this problem:
  • Caused by ModSecurity (or possibly another WAF). Request your hosting service provider to whitelist the security rules that were being triggered by your site.
  • When the web server is Apache, AllowEncodedSlashes NoDecode must be added in the VirtualHost section of the wiki (T261921).
  • Possibly Parsoid is not loaded when using default configuration (local Parsoid, no RestBase). Add to LocalSettings.php: wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );.
  • Caused by VisualEditor for MW 1.35 and later due to insufficient rewrite rules in case of non-standard short URLs (TT270376). See webserver for the solution.
⧼apierror-visualeditor-docserver-http⧽
If you're running a private wiki, you might be encountering bug (T268277).
Error contacting the Parsoid/RESTBase server (HTTP 500) when saving page with accented character in title, on Windows/IIS
IIS expects URLs to be encoded using legacy single-byte encodings, but MediaWiki uses UTF-8. Follow these instructions to resolve this: https://support.microsoft.com/en-us/help/2277918/fix-a-php-application-that-depends-on-the-request-uri-server-variable (T269673)
Error contacting the Parsoid/RESTBase server (HTTP 500) when trying to edit an existing page with VisualEditor
Persisting in MW 1.35.x. T270377 を参照してください。
⧼visualeditor-loadwarning⧽
Possible reasons for this problem:
  • On new installs, "curl", "php5-curl", or "php7.0-curl" (or other package appropriate to your PHP version) is not installed on the server.
  • setMwApi uri is set incorrectly with e.g. https instead of http.
  • Bad rewrite rules in the apache configuration that would cause API failures.
  • The SSL/TLS certificates are expired.
  • When directory $wgTmpDirectory (for example "/tmp") has not write permissions.
  • When running Windows Authentication with Apache, you would need to white-list 127.0.0.1 in your Apache conf, as Apache doesn't have read access.
<Directory "D:/Wiki/htdocs">
    ...

    Allow from 127.0.0.1
    Satisfy Any
</Directory>
No visible error (Appears to load forever)
Check the parsoid log file, and consult Parsoid/Troubleshooting .
parsoidserver-http-bad-status: 401
Caused by read or edit restrictions (aka private wiki). If you've set up a private wiki and don't want to use cookie forwarding, you can explicitly remove restrictions for Parsoid by IP address (See Topic:Vv35plp6g16qno0s and the ticket: MW 1.35.0 "Error contacting the Parsoid/RESTBase server: http-bad-status" on a private wiki).
parsoidserver-http-curl-error: couldn't connect to host.
Parsoid is not running, or $wgVirtualRestConfig['modules']['parsoid']['url'] is not set correctly.
parsoidserver-http-curl-error: Failed to connect to ....: Permission denied.
Can be caused by a cURL request on a Security-Enhanced Linux (SELinux, like CentOS) to a non standard port like 8000 in the example configuration above, see http://www.akashif.co.uk/php/curl-error-7-failed-to-connect-to-permission-denied and https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372.
parsoidserver-http-not-acceptable: 406
Caused by Parsoid 0.9 enforcing clients to return a 1.6.0 and greater HTML version string in the header. This most likely affects Debian users as they are using slightly older MediaWiki versions with MediaWiki's Parsoid APT repository. This can be fixed by either downgrading to 0.8 (not easy as 0.8 no longer exists in the repository) or by editing /usr/lib/parsoid/src/lib/config/ParsoidConfig.js so that ParsoidConfig.prototype.strictAcceptCheck = false;. The latter will be overwritten on any package upgrade, so it is up to the administrator to lock the package and keep on top of updates manually.
parsoidserver-http-not-found: 404 (or timeout)
Caused by wrong path to MediaWiki API endpoint. Set correct URL to the right path to api.php in Parsoid's localsettings.js config file. If you have set up following the recommendations, your API path would be "http://localhost/w/api.php". Add this API path to "localsettings.js" like "parsoidConfig.setMwApi({uri: 'http://localhost/w/api.php' });".

脚注

edit

開発者の説明文書

edit
  • VisualEditor/Gadgets - non formal guide for hacking VisualEditor. Includes code snippets and other information useful to gadget authors (and other custom JS developers).
  • API の説明文書 - information on some VisualEditor JS classes.