UPDATE: I have moved on (2012-02-02) After a short test run in November/December 2011 I finally migrated to Etherpad Lite which seems work much better for my set up. I usually have less than 100 unique users per week and the stability and availability is fine. EtherPad Lite uses less RAM and the CPU load is negligible.
Among mango
I have been hosting an collaborative document editing service using etherpad on mango.medeltiden.org since a couple of weeks after it was open sourced by google. I checked out the google code mercurial repository, made some minor fixes to make it work in my environment and since then it has been running 24/7 without any major problems.
Yesterday I decided to upgrade and install the new Debian packaged etherpad that has been on my to do list since forever.
Creating the package
After looking briefly at the Debian package available at etherpad.org I concluded that I needed to make some minor modifications to make the upgrade.
- I Forked the etherpad.org repository
- Created a Ubuntu-java6 branch in my fork, changed the debian package dependencies to support any java 6 version such as open-jdk in an Ubuntu environment.
- Found a couple of small bugs (1,2) in the Debian packaging
- Diffed my changes to the original source release to ensure that all fixes where covered in the etherpad.org version. (they were)
- Created a private git branch for mango that holds my theme changes and pushed that to a private gitolite hosted repository since it is of no general interest.
Thats it, easy and smooth.
For the love of Git(hub)
I can still get silly amazed how streamlined git and github can be. I never got this feeling with subversion while working with it daily for almost 8 years. Git never gets in the way and there is a trick for almost anything if you need it.
While Darcs and Mercurial also has their strengths Git feels like something that might be the revision control system v0.9 for me.
Future of mango/etherpad
While etherpad is a great tool and very stable it is a bit resource hungry, contains a bit too much of framework code which is largely unmaintained. I am looking forward to testing out and possibly contributing to projects like etherpad lite or something similar. Of course data migration also needs to be supported for the sake of DATALOVE and the power of kopimi. Also remember to hate the police.