Etherpad: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
K (Ein Edit der Initiative zur Rettung der Umlaute im Hamburger Informatik-Fachbereichs-Wiki.)
Zeile 6: Zeile 6:
 
Die Wiki-Seite zur alten Instanz lässt sich unter [[Etherpad (alt)]] finden.
 
Die Wiki-Seite zur alten Instanz lässt sich unter [[Etherpad (alt)]] finden.
  
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@.
+
Eine Alternative ist Gobby, das richtige GTK+ Widget anbietet und sich somit intuitiver und sinnvoller bedienen läßt. Leider bieten wir noch keinen Gobby-Service an. Wenn du Lust hast, das zu bauen, wende dich an server-ag@.
  
 
== Gespeicherte Daten ==
 
== Gespeicherte Daten ==
Zeile 14: Zeile 14:
 
Alle über Etherpad eingegebenen Daten werden derzeit unbefristet gespeichert. Dies betrifft:
 
Alle über Etherpad eingegebenen Daten werden derzeit unbefristet gespeichert. Dies betrifft:
  
* Das Dokument selber
+
* das Dokument selbst,
* Die Historie des Dokuments
+
* die Historie des Dokuments,
* Das Chatprotokoll
+
* das Chatprotokoll.
  
 
=== Apache ===
 
=== Apache ===
Zeile 22: Zeile 22:
 
Da die Verbindungen zum Etherpad über den Apache geschleift werden, loggt dieser zudem die Verbindungen mit den folgenden Informationen:
 
Da die Verbindungen zum Etherpad über den Apache geschleift werden, loggt dieser zudem die Verbindungen mit den folgenden Informationen:
  
* Hostname/IP-Adresse des Clients
+
* Hostname/IP-Adresse des Clients,
* Zeitpunkt des Zugriffs
+
* Zeitpunkt des Zugriffs,
* Informationen des Browsers des Clients
+
* Informationen des Browsers des Clients,
* Den Dokumentennamen eines Etherpads (GET-Parameter)
+
* den Dokumentennamen eines Etherpads (GET-Parameter).
  
Diese Informationen werden allerdings nach 3 Wochen gelöscht.
+
Diese Informationen werden nach drei Wochen gelöscht.
  
 
== ToDos ==
 
== 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.
+
Ein tolles Feature wäre es, wenn sich jemand ein Etherpad reservieren könnte. Der Usecase ist, dass die Sachen im EP nicht weltöffentlich sein sollen, sondern nur für 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.
+
Dazu müsste das Etherpad irgendwie an den gerade angemeldeten Benutzer rankommen. Das ginge vielleicht mit einem OpenID-Provider, den wir noch aufzusetzen hätten.
Und dann muesste natuerlich die noetige Logik in Etherpad implementiert werden, dass ein Pad eben mit einer Art ACL versehen werden kann.
+
Und dann muüste natürlich die nötige 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).
+
Es wäre auch toll, wenn der Benutzer sich eine Gobby-Instanz klicken könnte. Potentielle Probleme sind die Firewall (man könnte das auf der Hetzner Maschine laufen lassen) und verwaiste Sessions (könnte evtl. durch eine Art Counter implementiert werden, i.e. keine Änderungen mehr seit >7 Tagen: Session beenden. Idealerweise wieder herstellbar machen).
  
 
== Interna ==
 
== Interna ==
  
[https://github.com/ether/etherpad-lite Etherpad-lite] ist eine JavaScript-Neuimplementation (über [http://nodejs.org/ nodejs]) des in Java geschriebenen Etherpads und ist daher deutlich weniger Ressourcenhungrig.
+
[https://github.com/ether/etherpad-lite Etherpad-lite] ist eine JavaScript-Neuimplementation (über [http://nodejs.org/ nodejs]) des in Java geschriebenen Etherpads und ist daher deutlich weniger ressourcenhungrig.
  
 
Die Instanz läuft auf dem Fachschaftsserver im RZ des Informatikums.
 
Die Instanz läuft auf dem Fachschaftsserver im RZ des Informatikums.
  
Wir benutzen direkt die Version aus dem git, welche in <tt>/var/lib/etherpad-lite/</tt> liegt. Sie wird ab und zu von 6keitzel auf den neusten Stand gebracht. Die Abhängigkeit [http://nodejs.org/ nodejs] wurde manuell kompiliert und paketiert und liegt derzeit in Version 0.6.4 vor. Die Einrichtung folgte generell der offiziellen [https://github.com/ether/etherpad-lite Installationsanleitung].
+
Wir benutzen direkt die Version aus dem git, welche in <tt>/var/lib/etherpad-lite/</tt> liegt. Sie wird ab und zu von 6keitzel auf den neuesten Stand gebracht. Die Abhängigkeit [http://nodejs.org/ nodejs] wurde manuell kompiliert und paketiert und liegt derzeit in Version 0.6.4 vor. Die Einrichtung folgte generell der offiziellen [https://github.com/ether/etherpad-lite Installationsanleitung].
  
Für das Setup werden Einstellungen für diverse Komponenten benötigt. Dazu gehört Etherpad-lite selber, MySQL, Apache, ein Init-Skript und eine Logrotate-Konfiguration.
+
Für das Setup werden Einstellungen für diverse Komponenten benötigt. Dazu gehört Etherpad-lite selbst, MySQL, Apache, ein Init-Skript und eine Logrotate-Konfiguration.
  
 
=== Etherpad-lite ===
 
=== Etherpad-lite ===
  
Etherpad-lite wird über <tt>/var/lib/etherpad-lite/etherpad-lite/settings.json</tt> konfiguriert. In der derzeitigen Konfiguration lauscht der Daemon lokal auf Port <tt>9001</tt> und benutzt eine MySQL-Datenbank für die Persistierung. Für Etherpad-lite wurde ein Systembenutzer angelegt, welcher sich nicht eigentändig einloggen darf.
+
Etherpad-lite wird über <tt>/var/lib/etherpad-lite/etherpad-lite/settings.json</tt> konfiguriert. In der derzeitigen Konfiguration lauscht der Daemon lokal auf Port <tt>9001</tt> und benutzt eine MySQL-Datenbank für die Persistierung. Für Etherpad-lite wurde ein Systembenutzer angelegt, der sich nicht eigenständig einloggen darf.
  
 
=== MySQL ===
 
=== MySQL ===
Zeile 56: Zeile 56:
 
=== Apache ===
 
=== Apache ===
  
Der lokal-lauschende Daemon wird über Apache als Reverse Proxy von außen erreichbar. Die relevanten Konfigurationsdateien sind:
+
Der lokal-lauschende Daemon ist über Apache als Reverse Proxy von außen erreichbar. Die relevanten Konfigurationsdateien sind:
  
 
* <tt>/etc/apache2/sites-templates/ep.mafiasi.de</tt>
 
* <tt>/etc/apache2/sites-templates/ep.mafiasi.de</tt>
Zeile 68: Zeile 68:
 
=== Logrotate ===
 
=== Logrotate ===
  
Etherpad-lite loggt nach <tt>/var/log/etherpad-lite/etherpad-lite.log</tt>. Damit dieser Log nicht vollläuft wacht Logrotate über diesen Log mit der Konfiguration aus <tt>/etc/logrotate.d/etherpad-lite</tt>.
+
Etherpad-lite loggt nach <tt>/var/log/etherpad-lite/etherpad-lite.log</tt>. Damit dieser Log nicht vollläuft, wacht Logrotate über diesen Log mit der Konfiguration aus <tt>/etc/logrotate.d/etherpad-lite</tt>.

Version vom 18. November 2012, 14:54 Uhr

Einer unserer Dienste ist Etherpad, ein kollaborativer Editor im Webbrowser.

Er ist ohne Anmeldung zu erreichen unter https://ep.mafiasi.de

Inzwischen wurde die Instanz auf Etherpad-Lite migriert. Die Wiki-Seite zur alten Instanz lässt sich unter Etherpad (alt) finden.

Eine Alternative ist Gobby, das richtige GTK+ Widget anbietet und sich somit intuitiver und sinnvoller bedienen läßt. Leider bieten wir noch keinen Gobby-Service an. Wenn du Lust hast, das zu bauen, wende dich an server-ag@.

Gespeicherte Daten

Etherpad

Alle über Etherpad eingegebenen Daten werden derzeit unbefristet gespeichert. Dies betrifft:

  • das Dokument selbst,
  • die Historie des Dokuments,
  • das Chatprotokoll.

Apache

Da die Verbindungen zum Etherpad über den Apache geschleift werden, loggt dieser zudem die Verbindungen mit den folgenden Informationen:

  • Hostname/IP-Adresse des Clients,
  • Zeitpunkt des Zugriffs,
  • Informationen des Browsers des Clients,
  • den Dokumentennamen eines Etherpads (GET-Parameter).

Diese Informationen werden nach drei Wochen gelöscht.

ToDos

Ein tolles Feature wäre es, wenn sich jemand ein Etherpad reservieren könnte. Der Usecase ist, dass die Sachen im EP nicht weltöffentlich sein sollen, sondern nur für a) eine Person, b) eine Liste von Mafiasi oder c) nur Mafiasi. Dazu müsste das Etherpad irgendwie an den gerade angemeldeten Benutzer rankommen. Das ginge vielleicht mit einem OpenID-Provider, den wir noch aufzusetzen hätten. Und dann muüste natürlich die nötige Logik in Etherpad implementiert werden, dass ein Pad eben mit einer Art ACL versehen werden kann.

Es wäre auch toll, wenn der Benutzer sich eine Gobby-Instanz klicken könnte. Potentielle Probleme sind die Firewall (man könnte das auf der Hetzner Maschine laufen lassen) und verwaiste Sessions (könnte evtl. durch eine Art Counter implementiert werden, i.e. keine Änderungen mehr seit >7 Tagen: Session beenden. Idealerweise wieder herstellbar machen).

Interna

Etherpad-lite ist eine JavaScript-Neuimplementation (über nodejs) des in Java geschriebenen Etherpads und ist daher deutlich weniger ressourcenhungrig.

Die Instanz läuft auf dem Fachschaftsserver im RZ des Informatikums.

Wir benutzen direkt die Version aus dem git, welche in /var/lib/etherpad-lite/ liegt. Sie wird ab und zu von 6keitzel auf den neuesten Stand gebracht. Die Abhängigkeit nodejs wurde manuell kompiliert und paketiert und liegt derzeit in Version 0.6.4 vor. Die Einrichtung folgte generell der offiziellen Installationsanleitung.

Für das Setup werden Einstellungen für diverse Komponenten benötigt. Dazu gehört Etherpad-lite selbst, MySQL, Apache, ein Init-Skript und eine Logrotate-Konfiguration.

Etherpad-lite

Etherpad-lite wird über /var/lib/etherpad-lite/etherpad-lite/settings.json konfiguriert. In der derzeitigen Konfiguration lauscht der Daemon lokal auf Port 9001 und benutzt eine MySQL-Datenbank für die Persistierung. Für Etherpad-lite wurde ein Systembenutzer angelegt, der sich nicht eigenständig einloggen darf.

MySQL

Die Datenbank heißt etherpad_lite. Die Benutzerdaten stehen in /var/lib/etherpad-lite/etherpad-lite/settings.json.

Apache

Der lokal-lauschende Daemon ist über Apache als Reverse Proxy von außen erreichbar. Die relevanten Konfigurationsdateien sind:

  • /etc/apache2/sites-templates/ep.mafiasi.de
  • /etc/apache2/sites-available/ep.mafiasi.de
  • /etc/apache2/sites-available/ep.mafiasi.de-ssl

Init-Skript

Der Daemon wird über das Init-Skript /etc/init.d/etherpad-lite verwaltet. Darüber wird Etherpad-lite auch beim Systemstart mitgestartet.

Logrotate

Etherpad-lite loggt nach /var/log/etherpad-lite/etherpad-lite.log. Damit dieser Log nicht vollläuft, wacht Logrotate über diesen Log mit der Konfiguration aus /etc/logrotate.d/etherpad-lite.