etherpad-lite/README.md

3.8 KiB

About

Etherpad lite is a really-real time collaborative editor spawned from the Hell fire of Etherpad. We're reusing the well tested Etherpad easysync library to make it really realtime. Etherpad Lite is based on node.js what makes it much ligther and more stable than the original Etherpad. Our hope is that this will encourage more users to install a realtime collaborative editor. A smaller and well documented codebase makes it easier for developers to improve the code. Etherpad Lite is optimized to be easy embeddable

Online demo
Visit http://pitapoison.de:9001 to test it live. You can find the same instance behind a nginx, with ssl and in a subpath here -> https://pad.pitapoison.de/pad/

Etherpad vs Etherpad Lite

 EtherpadEtherpad Lite
Size of the folder (without git history)30 MB1.5 MB
Languages used server sideJavascript (Rhino), Java, ScalaJavascript (node.js)
Lines of server side Javascript code1014105330
RAM Usage immediately after start257 MB16 MB

Installation

  1. Download the latest 0.4.x node.js release from http://nodejs.org/#download and build it with this instructions https://github.com/joyent/node/wiki/Installation.
    The Node.js version of your Linux repository might be too old/new. Please compile from the source to get sure you have the correct version.
  2. Install npm curl http://npmjs.org/install.sh | sh
  3. Ensure you have installed the sqlite develob libraries, gzip and git apt-get install libsqlite3-dev gzip git-core
  4. Clone the git repository git clone 'git://github.com/Pita/etherpad-lite.git'
  5. Start it with bin/run.sh (the first run will install all dependencies)
  6. Open your web browser and visit http://localhost:9001

Next Steps

You can modify the settings in the file settings.json

You can update to the latest version with git pull origin. The next start with bin/run.sh will update the dependencies

You can debug with bin/debugRun.sh

You can find more information in the wiki. Feel free to improve these wiki pages

Develop

If you're new to git and github, start here http://learn.github.com/p/intro.html.

If you're new to node.js, start with this video http://youtu.be/jo_B4LTHi3I.

If you wanna find out how Etherpads Easysync works (the library that makes it really realtime), start with this PDF (complex, but worth reading it).

You know all this and just want to know how you can help? Look at the TODO list. You can join the mailinglist or go to the freenode irc channel #etherpad-lite-dev

You also help the project, if you only host a ep-lite instance and share your experience with us.

Look at our FAQ Page

Modules created for this project

  • ueberDB "transforms every database into a object key value store" - manages all database access
  • doc.md "A simple JSDoc documenation tool that creates markdown for node.js modules exports" - is used to generate the docs
  • channels "Event channels in node.js" - ensures that ueberDB operations are atomic and in series for each key

License

Apache License v2