Etherpad

De Framawiki.

Sommaire

[modifier] Version concernée

La version concernée ici est la 1.1 de la fondation Etherpad.org, installée depuis le paquet pré-compilé pour Debian 6.0.

Adresse du dépôt :

deb http://apt.etherpad.org all .

Le sources :

git clone git://github.com/ether/pad.git

[modifier] Liens utiles

Projet GitHub :

Les problèmes connus sur le dépôt Google :

L'annonce de la sortie de la v1.1 de l'Etherpad Foundation :

Notes d'installation et d'optimisation du RECIT :

Code generated documentation :

Bearstech OpenJDK :

Pauleira installation (décrit l'utilisation du SSL) :

[modifier] Francisation

Traduction de tous les templates présents dans /usr/share/etherpad/etherpad/src/themes/default/templates.

Il s'agit de templates JavaScript EJS.

Un certain nombre de fonctions des bibliothèques statiques contenues dans les dossiers `/usr/share/etherpad/etherpad/src/static/js` retournent du texte présenté à l'utilisateur, donc à traduire également.

[modifier] Gestion des accents

Pour circonscrire les problèmes d'affichage d'accent dans les templates, il convient d'encoder les accents en symboles HTML :

& e a c u t e ;

Pour les scripts JavaScript, il est possible d'enregistrer le fichier source en charset utf8. Dans vi :

:set charset=utf8

Mais il reste les accents des courriels envoyés par le logiciel (lors de l'invitation d'utilisateurs dans un pad ou lors de la création d'un « compte pro »), dans certaines alertes JavaScript et dans le message par défaut à la création des pads.

/usr/share/etherpad/infrastructure/framework-src/modules/faststatic.js
Ligne 49
-  'js': 'application/x-javascript',
-  'txt': 'text/plain',
+  'js': 'application/x-javascript; charset=utf-8',
+  'txt': 'text/plain; charset=utf-8',

Ligne 66
-  return _contentTypes[ext] || 'text/plain';
+  return _contentTypes[ext] || _contentTypes['txt'];


3 occurrences à corriger ici :

/usr/share/etherpad/infrastructure/net.appjet.ajstdlib/ajstdlib.scala

-        msg.setContent(content, "text/plain");
+        msg.setContent(content, "text/plain; charset=utf-8");


2 autres fichiers à éditer :

infrastructure/net.appjet.ajstdlib/streaming.scala
- res.setContentType("text/html");
+ res.setContentType("text/html; charset=utf-8");
infrastructure/net.appjet.oui/execution.scala

- private var contentType = "text/html";
+ private var contentType = "text/html; charset=utf-8";

[modifier] Limitation du nombre d'utilisateurs simultané d'un pad

Éditer le fichier /src/etherpad/quotas.js.

[modifier] Masquer l'adresse IP du serveur en title de chaque utilisateurs connecté

etherpad/src/static/js/pad_userlist.js:113:

/*      if (data.titleText) {
       tr.attr('title', data.titleText);
     }
     else {
       tr.removeAttr('title');
     }*/
       tr.removeAttr('title');

[modifier] Installation du script de relance automatique

Pour que le script de relance automatique fonctionne, il est impératif qu'Etherpad n'ait pas été lancé avec l'utilisateur root en première instance. Sinon les divers fichiers de log sont créés par root, et donc plus accessibles en écriture pour l'utilisateur etherpad, ce qui fait échouer le script silencieusement.

Copier le fichier :

/usr/share/etherpad/contrib/cron/cron.d/etherpad

Dans :

/etc/cron/etherpad
  • Vérifier que le chemin vers etherpad-watcher.sh est bon.

Dans :

/usr/share/etherpad/contrib/bin/etherpad-watcher.sh
  • Personnaliser l'URL du service à surveiller.
  • Éventuellement modifier le TIMEOUT de 480 à 240 secondes.
  • Créer le dossier /usr/share/etherpad/etherpad/data/50x-error-handler/

Copier également le nettoyeur de résidus de conversions :

/usr/share/etherpad/contrib/cron/cron.daily/etherpad-remove-ooconvert

[modifier] Conversions via OpenOffice (ODT, PDF, ...)

Bien que le paquet pré-compilé de la fondation Etherpad soit estampillé « conversion OOo out of the box ». Pour que les conversions fonctionnent, il faut installer, en plus des dépendances du paquet etherpad, le paquet openoffice.org et toutes ses dépendances.

[modifier] Redirection des sous domaines

/etherpad/src/main.js:277:  var newurl = "http://framapad.org"+request.path;

[modifier] Comptes Pro

Make sure it doesn’t redirect to etherpad.com for pro

Edit /usr/share/etherpad/etherpad/src/static/crossdomain.xml

+ <allow-access-from domain="framapad.org" to-ports="*"/>
+ <allow-access-from domain="*.framapad.org" to-ports="*"/>

[modifier] Personnalisation des couleurs disponibles pour les utilisateurs

etherpad/src/etherpad/globals.js

[modifier] Suppression de l'historique d'une discussion

UPDATE PAD_META SET numChatMessages = 0 WHERE PAD_ID = XXXXXX 

[modifier] Le script Debian de lancement de service

/etc/init.d/etherpad.dpkg-new changement de path de /usr/local/etherpad à /usr/share/etherpad.

[modifier] Recompiler Etherpad sous Ubuntu

Laisser tel quel pour GNU/Linux Debian 6.0.

/usr/share/etherpad/bin/exports.sh

-        [ -e "/usr/lib/jvm/java-6-openjdk" ] && export JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
-        [ -e "/usr/lib/jvm/java-6-sun" ] && export JAVA_HOME="/usr/lib/jvm/java-6-sun"
-        [ -e "/usr/lib/jvm/java-6-openjdk" ] && export JAVA_OPTS="-Xbootclasspath/p:../infrastructure/lib/rhino-js-1.7r1.jar:/usr/share/java/scala-library.jar" 
-        export SCALA_HOME="/usr/share/java"
-        export SCALA_LIBRARY_JAR="/usr/share/java/scala-library.jar"
-        export MYSQL_CONNECTOR_JAR="/usr/share/java/mysql-connector-java.jar"
-        export JAVA="$JAVA_HOME/bin/java"
-        export SCALA="/usr/bin/scala"
-        export PATH="$JAVA_HOME/bin:$PATH"
+export JAVA_HOME=“/usr/lib/jvm/java-6-sun”
+export SCALA_HOME=“/usr/share/java”
+export JAVA=“/usr/bin/java”
+export SCALA=“/usr/bin/scala”
+export SCALA_LIBRARY_JAR="$SCALA_HOME/lib/scala-library.jar"
+export PATH=“/usr/bin:/usr/bin:/usr/local/mysql/bin:$PATH”
+umask 022
/usr/share/etherpad/infrastructure/bin/makejar.sh

+source /usr/share/etherpad/bin/exports.sh
cd /usr/share/etherpad/etherpad
bin/rebuildjar.sh

[modifier] Réparation du PadInspector

etherpad/src/etherpad/control/admincontrol.js:536

- content: DIV(body, script)
+ content: DIV(div, script)

Modif arrivée également dans Github : https://github.com/ether/pad/commit/b716b1ce11c22a1c887f0d71dd2599383bf596b8

[modifier] Historique : liens version ou lecture-seule

Non fonctionnel sur Framapad.org.

Issue ouverte sur Github : https://github.com/ether/pad/issues/issue/227

Liens masqués dans :

themes/default/templates/pad/padview_body.ejs:90

[modifier] Fichier de configuration

[modifier] Masquer le port

Etherpad peut s'affranchir de l'utilisation d'un numéro de port dans les URL qu'il communique (courriels...). Pour ce faire il faut positionner la variable hidePort dans le fichier de configuration :

/etc/etherpad/etherpad.local.properties

hidePorts = true

[modifier] Utilisation du SSL

etc/etherpad.localdev-default.properties
-listen = 9000
+listen = 0.0.0.0:9000
+listenSecure = 0.0.0.0:9001
+sslKeyPassword = XXX
+sslKeyStore = ./data/appjet/sslkeystore
+sslStorePassword = YYY


Générer un trousseau de clé de chiffrement pour Etherpad :

keytool -genkey -alias appjet -storepass XXX -keypass YYY -keyalg RSA -keystore etherpad/data/appjet/sslkeystore


Configurer le virtualhost apache en ajoutant une section :

/etc/apache2/sites-enabled/etherpad.conf

<VirtualHost *:443>
       ProxyPass / https://framapad.org:9001/
       ProxyPassReverse / https://framapad.org:9001/
       ProxyPreserveHost on
       ProxyRequests Off

       SSLEngine on
       SSLProxyEngine On
       SSLCertificateFile /etc/ssl/framapad.org.crt
       SSLCertificateKeyFile /etc/ssl/framapad.org.key
       SSLCACertificateFile /etc/ssl/GandiStandardSSLCA.pem
       SSLCertificateChainFile /etc/ssl/GandiStandardSSLCA.pem
       SSLVerifyClient None

[...]

Relancer etherpad et recharger la configuration d'apache.

[modifier] Suppression des pads protégés par un mot de passe dans un espace privé

Pour l'instant, il n'est pas nécessaire de connaître le mot de passe d'un pad d'espace privé protégé par mot de passe pour le supprimer. J'ai proposé que ça soit rendu obligatoire pour les utilisateurs (non admin).

https://github.com/ether/pad/issues/244


Récupérée de « http://wiki.framasoft.org/Etherpad »