Skip to content

ether/RTCE

master
Switch branches/tags
Code
This branch is 3 commits ahead of gdazero:master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Purpose

The goal of this software is to analyze the real-time collaborative editing of an existing installation of Etherpad.

Scope

This repository contains all the code used for the experiments in the paper "Spacetime Characterization of Real-Time Collaborative Editing" (Gabriele D'Angelo, Angelo Di Iorio, Stefano~Zacchiroli). This paper is available in the paper folder.

Install dependencies

sudo apt install python3-mysqldb python-sqlalchemy python3-dev default-libmysqlclient-dev build-essential php
npm install fast-csv graceful-fs md5

Usage

Dump

Dump (and anonymize) the Etherpad database.

chmod +x db-dumper/etherpad-anon-dump
./db-dumper/etherpad-anon-dump mysql://<user>:<passwd>@<dbhost>/<dbname> > dump.sql

Analysis

chmod +x main.sh
chmod +x inspector/analyze_pads.sh
./main.sh

All the runtime parameters can be found in the "configuration.sh" script.

Please note, the DB_FILE must be changed to point to the <db_dump_file> obtained above.

Why so many languages?!

  • Bash script used for init
  • Python used for MySQL export and anonymization of pad and author data
  • JS used for putting revs/cs/author into JSON blobs?
  • PHP used for:
    • removing pads that can't be processed properly
    • checking if pad has "gaps" in revs
    • gathering stats and printing them out

License

GNU GENERAL PUBLIC LICENSE

About

This software analyzes the real-time collaborative editing of an existing installation of Etherpad

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.2%
  • PHP 15.8%
  • Python 10.2%
  • Shell 4.8%