EtherPad Database Schema?
Question
Does anyone have an EtherPad Database Schema? I googled for it, see tons of requests, but can't seem to find one.
I'm interested in taking a look. I'm also curious how EtherPad handler revisions/timeline. Do they create new records for each save in a main pad table?
Solution
Here's the full schema as dumped by mysql:
Here's a blog post about it:
http://appolo85.wordpress.com/2010/03/22/first-steps-understanding-etherpad/
OTHER TIPS
Changes are saved as changesets, and operational transformations (http://en.wikipedia.org/wiki/Operational_transformation) are used each time a web browser wants to view a revision. Revisions are saved in step units of 1, 10, 100, etc. The revisions also have a properties table that might contain a name, change dates, etc