MOD maj TODO
authorGreg Burri <greg.burri@gmail.com>
Tue, 8 Jul 2008 17:26:54 +0000 (17:26 +0000)
committerGreg Burri <greg.burri@gmail.com>
Tue, 8 Jul 2008 17:26:54 +0000 (17:26 +0000)
doc/TODO.txt

index 4d194cd..5648a40 100755 (executable)
@@ -1,45 +1,7 @@
-== TODO ==
+== TODO ==\r
+\r
+Ce fichier est obsolète, Redmine le remplace : http://www.euphorik.ch:81
 
-=== v1.1 ===
-* Mise à jour automatique de la version dans le about en fonction du tag/branche courant (lors de la mise en production) ?
-   * Remplacé par un fichier VERSION et un script dans /tools
-* Gestion de l'historique au niveau du navigateur (pouvoir revenir aux pages précédentes). Utiliser un plugin jQuery si possible. Voir du coté des ancres (fragment d'url) : #ancre.
-   * http://www.euphorik.ch/#page=chat
-* Revoir le système de conversation : 
-   * Pouvoir extraire "toute la conversation" ou seulement une "sous conversation" (ce qui est actuellement le cas)
-   * Tous les messages auquels on répond doivent faire partie de la conversation !
-   * L'entête de la conversation contient :
-      * le premier message (la racine)
-      * des flèches et un numéro de page pour passer d'une page à l'autre
-      * un bouton "réduire"
-      * un bouton "créer lien"
-      * un bouton "fermer"
-   * Possibilité de fermer temporairement une conversation (la réduire sous la forme d'un onglet)
-      * etre averti lorsqu'un nouveau message arrive dans une conversation réduite
-      * étudier la solution SVG et le calcul de pourcentage pour la largeur des fenêtres
-         * le calcul des largeurs devra surement être fait en pixel et actualisé lorsque le conteneur change de taille
-* Mettre un icon (genre sablier ou truc qui tourne à la apple) lorsque le chat se charge (également lors d'un changement de page par exemple)
-   * L'icon apparait tout en haut (absolute)
-   * Simuler un réseau lent, peut-être exist-il des plugins
-* Pouvoir récupérer son mdp (ou en générer un http://www.euphorik.ch/ autre) via son email. Marquer dans le profile que l'email sert à cela et n'est pas visible pas les autres personnes
-   * L'utilisateur peut sur la page de login inscrire un email
-   * un id est généré et envoyé par email avec une adresse de type http://www.euphorik.ch?emailid=<id>
-      * un tuple {<id> <id_user> <date>} est inséré dans la table 'recup_id'
-   * Lorsque l'utilisateur se rend sur l'adresse l'id et la date sont vérifiés, si tout est ok le cookie "cookie" est définit pour l'utilisateur. L'utilisateur est alors loggé.
-* Réaliser un système de preproduction, étapes de preprod :
-   * Renommer euphorik_bd_update en euphorik_bd_admin et ajouter deux fonctions pour faire un backup et reprendre depuis ce backup
-      * Déplacer également les fonctions d'admin de euphorik_bd vers euphorik_bd_admin tel que "print_users" par exemple
-   * 1) Réalisation d'un backup de la BD dans BD/backups/preprod.bckup
-   * 2) Copie parfaite de l'environnement de prod vers /var/euphorik_preprod/ (sauf les mutables : BD)
-   * 3) Copie d'un yaws_conf_preprod
-   * 4) Lancer yaws (attention : port différent dans yaws_conf_preprod !)
-   * 5) Restoration des données preprod.bckup
-   * 5) Lancer le processus de mise en prod pour la preprod
-   * 6) Tester si tout va bien
-* Tests de monter en charge coté serveur, analyse de la complexité (regarder du coté des TODO dans le code). Utiliser eventuellement Tsung
-* Profiling pour améliorer les performances (client et serveur)
-   * Ne plus attacher chaque evenement sur chaque message mais de manière générale à l'ensemble des messages
-   * traitementComplet() de euphorik.js est très très lent à executer
 === v1.2 ===
 * option dans le profile pour ouvrir les liens dans un nouveau tab
 * Pouvoir auto répondre à une conversation
 [ok] Enlever le petit carré mis en couleur et mettre le pseudo + date en couleur à la place
 [ok] Mettre dans la FAQ la signification des couleurs associées aux messages.
 [ok] Elaborer une stratégie de mise à jour de la structure de la BD quand celle ci est modifiée (voir euphorik_bd:vers_version())   
-=== v1.0.1 ===
-[ok] Ne pas pouvoir poster avec "<nick>"
-[ok] La validation du profil fait revenir sur la page de chat
-[ok] Ne plus mémoriser le numéro de page dans le profile
-[ok] faire un backup de la base v1 avant d'écrire la mise à jour 1->2, permet de revenir à la 1 si des modifs supplémentaires sont nécessaires
-[ok] Modifier le comportement du système de reponse :
-   * Ne plus concatener les id des messages auquels on répond
-   * Un élément se place entre le pseudo et la ligne de saisie du message et affiche le nombre de message auquel on répond
-      * Lorsque l'on passe le curseur sur cet élément les messages sont affichés en dessous du bouton
-   * Les messages auquels ont répond sont mis en évidence
-      * lors de la mise à jour des messages la liste est interrogé pour savoir s'il faut le mettre en évidence
-[ok] Avoir une option dans le profile pour montrer son rang (ekMaster) de manière ostantatoire, discret ou caché
-[ok] Pouvoir inverser le chat
-[ok] supprimer le cookie si le client n'arrive pas à s'authentifier avec (réponse négative du serveur)
-[ok] (Pouvoir inverser le chat) tester la faisabilité
-[ok] Inverser l'affichage des messages auquels on répond (lorsque le curseur se trouve sur le numéro à coté de la ligne de saisie) en fonction du sens du chat\r
+\r
 
 === Bugs ===
 1 : Critique
 2 : Urgent
 3 : Peu grave
 
-[1] Il arrive qu'après le poste d'un message le refresh ne se fasse plus, peut-être une "race-condition" dans la classe PageEvent de euphorik.js
-   * Observé sur opera et firefox
-   * Après quelques analyses il apparait que firefox attend alors que le processus n'existe plus du coté yaws
-   * Cela arrive après 5-10min
-   * Regarder du coté des paramètres (options) du socket coté yaws s'il n'y a pas un indice, par exemple un timeout
-   * solution de secours : timeout de (1 à 5 min) sur la connexion ajax
-   * Est-ce que yaws tient compte du "Keep-Alive 300" de l'entête HTTP ? (=5min) (normalement pas puisque HTTP/1.1) après avoir regardé les sources il me semble que non
-   * Normalement si le socket est fermé du coté de yaws, le client devrait être avertis... !?
-   * Après beaucoup d'investigation il semblerai que se soit le firewall/routeur qui coupe la connexion sans prévenir,
-      pour éviter cela il est possible de mettre 'keepalive' à true au niveau du socket, voir : 
-         - http://erlang.org/doc/man/inet.html#setopts-2
-         - http://forums.globalscape.com/tm.aspx?m=4114
 [2] Le minificateur js doit ajouter un espace après une expression régulière sinon il est possible que le caractère qui suit celle ci soit pris pour un modificateur de la regexp
 [2] Le widget select qui permet la sélection des css n'est pas initialisé correctement au chargement du site
 [2] Traiter les tags TODO et FIXME dans le code