From: Greg Burri Date: Tue, 8 Jul 2008 17:26:54 +0000 (+0000) Subject: MOD maj TODO X-Git-Tag: 1.1.0~95 X-Git-Url: https://git.euphorik.ch/?a=commitdiff_plain;h=7be9ffc059fd6487a4a14b819502352383f3b281;p=euphorik.git MOD maj TODO --- diff --git a/doc/TODO.txt b/doc/TODO.txt index 4d194cd..5648a40 100755 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -1,45 +1,7 @@ -== TODO == +== TODO == + +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= - * un tuple { } 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 @@ -236,40 +198,13 @@ [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 "" -[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 + === 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