Extension:EtherEditor

EtherEditor is an extension that allows a user collaboratively edit with all other users editing a page. It was developed by Mark Holmquist.

Installation and Configuration
In order to get this extension working, you'll need to do several things other than actually installing the extension. This is because the extension relies on an external service running somewhere else entirely.

Set up Etherpad Lite
Etherpad Lite can be obtained from their GitHub page. You should download the develop branch like so (but install Git first):

Next, you'll need to set up two extensions for Etherpad Lite. These can be found at the ep_plugins project page at Gitorious. Download both ep_wikitext and ep_wikiauth, and put them into the node_modules directory inside of the main directory for your Etherpad Lite instance. Probably something like this:

After all that is done, make sure the Etherpad Lite instance runs (the command should be something like ./bin/run.sh).

Configuring EtherEditor
As you probably expected, EtherEditor needs to know where to find your Etherpad Lite instance. So, add a section to your LocalSettings.php that looks like so:

Change these values as needed. The apiKey value, in particular, will need to be changed--you can find its value in your Etherpad Lite instance's main directory, inside of APIKEY.txt. Be careful not to share this value with anyone!

update.php
It's very important that you run maintenance/update.php once you're ready to start using the extension. There are several necessary database tables added by the update hooks.

How to Use
In order to use the extension, you'll need to be logged into the wiki that has it installed. Once logged in, you can click "Collaborate" from any page to go to a collaborative editor. There are now also buttons available for "forking" the pad, and working in a separate area. These pads are not yet private, but will be in the near future. You can also kick people from the pad, but it might not take effect until they leave on their own.

How to Test
There are currently three patches awaiting review that add in unit testing support, for both the client and server side, for EtherEditor. This should help the developers a lot, but also if you'd like to make absolutely sure that the extension is doing what it says it's going to do, we've provided ways to do that.

WARNING! The remainder of this section assumes that you have some magical combination of the three patches previously mentioned. If you try this on the current master, you will totally not be able to do it. This notice can be safely deleted once Id34838f8, Ibb189b73, and I8cc6465c are merged.

phpunit
All right, you have a shiny new tests/phpunit directory in your EtherEditor tree, so let's use it. Assuming you're in the root directory of your mediawiki install, and you already have a working install of EtherEditor, here are the steps:

If any of the tests fail for some reason, please make sure you've followed the instructions for setting up the extension properly, and that your configured Etherpad Lite instance is running. If everything is working on your end, it means you found a bug! Head on over to Bugzilla and give me what for. You deserve it.

qunit
qunit tests are significantly easier. Navigate to your wiki in a web browser, and go to Special:Special:JavaScriptTest/qunit to run all of the client-side tests in your MediaWiki install. There's no way to reliably find the tests specifically for EtherEditor, but if you scroll to the bottom of that page, you can choose to run individual tests without the rest. If this will be a frequent activity for you, you should probably bookmark that page!

And as above, if you find a failed test in the EtherEditor sections, please go to to Bugzilla and give me what for.

Development status
This extension is still very new, so don't trust it on a production wiki.

How to help
There are the normal channels for getting involved in this extension's development.


 * TranslateWiki has our messages
 * Edit this page to contribute to the community documentation
 * Test the extension at our test instance
 * Report a bug you see with Bugzilla
 * Help with bug reports over at Bugzilla
 * Join the IRC channel, #ethereditor on Freenode, to learn more!
 * Graphic designer? Cool! We could really use a logo....

Related extensions

 * Extension:VisualEditor
 * Extension:WikiEditor
 * Extension:EtherpadLite