Etherpad (alt)

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen

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)

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@.

Bugs

Hm. Irgendwie scheint HTTPS nicht so gut zu funktionieren. Zumindest ich werde ab und an auf HTTP zurueckgeworfen. Ausserdem macht der Jetty eine grosse Last auf dem Server. --Muelli 12:31, 16. Apr. 2010 (CEST)

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.