Etherpad (alt)
Einer unserer Dienste ist Etherpad, ein kollaborativer Editor im Webbrowser.
Er ist ohne Anmeldung zu erreichen unter https://ep.mafiasi.de
Andere Etherpads sind (noch)
* http://etherpad.com * http://piratepad.net
Eine Alternative ist Gobby, was richtige GTK+ Widget anbietet und sich somit intuitiver und sinnvoller bedienen laesst. Leider bieten wir noch keinen Gobby Service an. Wenn du Lust hast, das zu bauen, melde dich an server-ag@.
ToDos
Ein tolles Feature waere, wenn sich jmd ein Etherpad reservieren kann. Der Usecase ist, dass die Sachen in dem EP nicht weltoeffentlich zu sein haben, sondern nur fuer a) eine Person, b) eine Liste von Mafiasi oder c) nur Mafiasi. Dazu muesste das Etherpad irgendwie an den gerade angemeldeten Benutzer rankommen. Das ginge vll. mit einem OpenID provider, den wir noch aufzusetzen haetten. Und dann muesste natuerlich die noetige Logik in Etherpad implementiert werden, dass ein Pad eben mit einer Art ACL versehen werden kann.
Es waere auch toll, wenn der Benutzer sich eine Gobby Instanz klicken koennte. Potentielle Probleme sind die Firewall (man koennte das auf der Hetzner Maschine laufen lassen) und verwaiste Sessions (koennte evtl. durch eine Art Counter implementiert werden, i.e. keine Aenderungen mehr seit >7 Tagen: Session beenden. Idealerweise wieder herstellbar machen).
Interna
Das Etherpad wurde aufgesetzt unter zuhilfenahme von diversen Erfahrungsberichten. Ein paar triviale Patches waren noetig, wie bspw:
diff -r 302458c3fffc trunk/infrastructure/bin/makejar.sh --- a/trunk/infrastructure/bin/makejar.sh Fri Dec 25 22:53:09 2009 -0500 +++ b/trunk/infrastructure/bin/makejar.sh Mon Apr 12 19:45:38 2010 +0200 @@ -20,6 +20,7 @@ echo "using JAR $JAR..." fi +MYSQL_CONNECTOR_JAR=${MYSQL_CONNECTOR_JAR:=/usr/share/java/mysql-connector-java-5.*} cp ${MYSQL_CONNECTOR_JAR} lib/ source bin/compilecache.sh @@ -32,11 +33,12 @@ TMPSTORE=/tmp/ajbuild-tmpstore-`date +%s` -JARFILES=`echo $SCALA_HOME/lib/scala-library.jar lib/*.jar lib/manifest` +SCALA_HOME=${SCALA_HOME:=/usr/share/java/} +JARFILES=`echo $SCALA_HOME/scala-library.jar lib/*.jar lib/manifest` function genjar { echo "unzipping JARs..." pushd $1 >> /dev/null - $JAR xf $SCALA_HOME/lib/scala-library.jar + $JAR xf $SCALA_HOME/scala-library.jar rm -rf META-INF for a in ../../lib/*.jar; do $JAR xf $a
Das Setup war straightforward. Es gibt einen etherpad Benutzer in /home/etherpad/, wo auch das ausgecheckte Etherpad liegt. Der Benutzer hat kein Passwort. Die noetigen MySQL credentials kommen aus ~/.my.cnf.
Etherpad kommt als Java WebApp mit einem Jetty daher. Dieser lauscht auf Port 9000. Weil wir wie kleine Kinder behandelt werden, muessen wir den durch 80 schleifen. Der schon lauschende Apache wurde als Reverse Proxy aufgesetzt (im Prinzip nur ProxyPassReverse / http://localhost:9000/) was aber noch getestet werden muss. Vgl. /etc/apache2/sites-templates/ep.mafiasi.de.
Temporaere Notiz
Bitte entfernen wenn obsolet.
Momentan zeigt ep.mafiasi.de noch auf fb18.de. Leider haben wir gerade keine Macht ueber DNS, sodass ich darauf hoffen muss, dass bald ein CNAME von ep.mafiasi.de auf fs.informatik.uni-hamburg.de gelegt wird.