* http://www.euphorik.ch/#page=chat\r
* Revoir le système de conversation : \r
* Pouvoir extraire "toute la conversation" ou seulement une "sous conversation" (ce qui est actuellement le cas)\r
- * Tous les messages auquels on répond doivent faire partie de la conversation !!
+ * 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)\r
* Possibilité de fermer temporairement une conversation (la réduire sous la forme d'un onglet)\r
- * lien vers une conversation : http://www.euphorik.ch/#conv=45\r
+ * lien vers une conversation : http://www.euphorik.ch/#conv=45
+ * 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\r
* 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)\r
* L'icon apparait tout en haut (absolute)\r
* Simuler un réseau lent\r
* 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\r
-=== v1.2 ===\r
+ * lors de la mise à jour des messages la liste est interrogé pour savoir s'il faut le mettre en évidence
+* Ne plus mémoriser le numéro de page dans le profile\r
+=== v1.2 ===
+* Possibilité d'ajouter des messages dans son profil
+ * Les messages sont soient publics soient privées (Par défaut privées)
+ * Un bouton "+" se trouve à coté de chaque message afin de pouvoir l'ajouter dans son profil
+ * Une série de mots clefs peuvent être ajoutée (tags) le message et alors indexé par rapport à ceux ci
+ * Par exemple : "news", "event", etc..
+ * Proposer les mots clefs les plus courants ?
+ * Une page "conversations" regroupe tous les messages publiques
+ * Il est possible de faire une recherche temps réelle sur les tags\r
* Downloader automatiquement toutes les images et substituer l'url original par une url locale\r
* Lorsqu'une image est posté un processus est lancé (de manière asynchrone évidemment), il va télécharger l'image et la stocker sur le serveur puis substituer l'url\r
* Avoir une liste d'amis dans le profile\r
% attention : il est nécessaire de se trouver dans une transaction.
update(?VERSION_BD) -> fini;
update(Version) ->
- patch(Version),
- update(Version + 1).
+ case mnesia:backup(mnesia:system_info(directory) ++ "/backup" ++ integer_to_list(Version)) of
+ ok ->
+ patch(Version),
+ update(Version + 1);
+ {error, Raison} -> {error, lists:flatten(io_lib:format("Erreur de création du backup de la version ~w : ~w", [Version, Raison]))}
+ end.
% Applique une modification de la BD pour passer d'une version à la suivante.
+% crée un backup avant l'application du patch
+% dans BD/backups nommé "backup<num>" où <num> et le numéro de la version.
% 1 -> 2
patch(1) ->
ok.
%patch(2) ->
+% Reviens à une version précédente de la base de données
+% (les insérés durant les versions plus récentes sont perdues données sont perdues)
+restore(N) ->
+ mnesia:restore(mnesia:system_info(directory) ++ "/backup" ++ integer_to_list(N)).
+
+
% Ajoute un nouveau user et le renvoie
nouveau_user(Pseudo, Cookie) ->
F = fun() ->