Brainstorming : un truc me titille sur les MP dans les forums !


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 0:50

En prenant une feuille blanche et en ecrivant en titre MP puis en commençant a coucher quelques idées ... je tombe sur un truc ou mes neurones dérappent ... z'essplique :

- On peut poser comme postulat que créer un MP revient à créer dans un forum special que l'on va nommer MP un topic avec comme seuls lecteurs/editeurs le posteur et le destinataire (simplifions en disant LE destinataire). A partir de ce moment seuls ces deux membres ont accès a ce topic pour y poster des reponses ... Et donc il n'y a bien sur pas redondance (les deux ne faisant qu'accèder à la même information, même si elle leur est présentée comme appartement à leur messagerie privée individuelle). Le reste étant de la broutille consistant a flaguer qui a lu ou pas lu etc ...

- La ou je decroche, c'est quand je vois que le nb de messages privés (ou plus precisement le nombre de reponse privées) est la plupart du temps limité et que l'on doit regulièrement purger les plus vieux messages (c'est le cas de wri). En effet, si on prend un MP1 donné, enchangé entre pseudo A et pseudo B ... et que pseudo A à sa boite de MP pleine ... il va dire "je supprime ces 10 derniers messages reçus" ... ok très bien ... Mais dans le même temps cette suppression n'a pas à avoir d'impact sur l'état de la MP du pseudo B, on est bien d'accord ... et donc il continuera a voir ces 10 messages ...

Donc j'en conclue que les MP dans les forums sont codés en mode "je duplique l'info en autant de destinataires du MP" ou alors que la fonction "je supprime 10 reponses" ne supprime en fait rien a part de l'accès en affichage ? Ou autre hypothèse, les messages ne disparaissent réellement de la bdd que lorsque pseudo A et Pseudo B l'ont supprimé ? Un truc m'échappe ...

Si certains qui connaissent les entrailles des gros forums ont une explications sur ce qui apparait comme un trucs pas clair (en tout cas pour moi).


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 0:54

me souviens plus trop de comment c'est fait chez moi. Ca date. Mais je crois que j'ai fait un truc du style

- Message
- Statut Expéditeur
- Statut Receveur


Marie-Aude
Modérateur
Modérateur
 
Messages: 11870
Inscription: 5 Juin 2006

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 0:55

Je pense que les messages sont traités différement en base, notamment à cause de la fonction d'adressage

Cela dit, en général, la limite de la boite de réception est un "nombre de message" qui peut être contourné en créant des dossiers. Donc ça sent plutôt sa limitation de taille de champs sérialisé permettant de stocker les index des messages


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:08

ESt ce que ca vous parait une aberration si je considère la mise en place tout simplement de "topics privés" (donc du coup 90 % du taf est déjà fait et pas besoin de nouvelles tables).

Scénario :

- En interne j'ai un forum nommé "MP" accessible par personne bien sur (total invisble).

- Un pseudo A poste un MP (donc a destination de pseudo B) (interface similaire a celle qu'on connait) : ca crée le topic numero 12345 dans la table topic (avec MP comme forum de rattachement) et ca crée le post numero 45678 dans la table des posts avec 12345 comme topic de rattachement. Le topic a un champs rempli de plus par rapport a un topic normal : le destinataire. Donc j'ai dans le topic les infos pseudo A et pseudo B.

- Le pseudo B est informé qu'il a recu un MP (pas de bleme on a l'info) et le post 45678 lui est présenté dans sa MP (interface similaire à ce qu'on connait). Il poste une reponse ... il ne fait en fait que répondre à un topic comme il le ferait dans les forum publics ...

etc etc etc

Du coup on tombe bien sur la notion de topic privé tout simplement ...

La MP de chaque membre n'étant que la liste des topics dans lesquels il est posteur/destinaire ... Ca me parait tellement (trop) simple que j'ai peur de me planter quelque part dan sle raisonnement ... Parce que si y a pas de loup, ma MP ets elle pliée en une après midi :D


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:13

c merdouilleux car ce n'est pas la même chose, ca n'a pas le même objectif et ca n'a pas les mêmes fonctionnalités


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:18

Pas les mêmes fonctionnalités ?

Un titre
Un message
des outils de citations, bbcode , smiley

je vois pas la différence ...

Tout le reste n'est qu'un question de presentation des infos (via topic dans le forum et directement les post dans MP) mais sinon techniquement je vosi pas ou est la différence ...

D'alleurs, en regardant de plus près et constatant que l'on peut editer un MP tant que pas lu par le destinataire, j'en viens a penser que cette lecture ne fait que poser un flag "plus editable par emmetteur" et que donc c'est ainsi que procèdent les grands forum ...

Mais la quelqu'un qui connait le code de PhPBB ou FluxBB sur le bout des doigts pourrait confirmer ou infirmer ...

En plus je vois un interet majeur a cette approche (fut elle hérétique ... Hum le nombre de trucs hérétiques que j'ai pu faire dan sma vie :) et qui finalement le sont devenus un peu moins ... ) : la facilité pour présenter une discussion en MP sous forme de son topic complet et pas tous MP de toutes origines mélangés ... Fonctionnalité qui ne semble pas possible dans wri mais j'ai peut etre pas vu le lien qui permettrait d'isoler tout un fil de discussion en MP ...
Dernière édition par Zecat le Dim Mai 01, 2011 1:31, édité 1 fois.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:30

les alertes, l'édition ou la non édition, la suppression ou non

Sinon sur un phpBB, c'est bien différent vu que c'est géré par deux tables différentes


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:32

les alertes, l'edition etc ... ce n'est que de l'interface d'habillage autour mais sur le fond ...


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:36

ben sur le fond, ce n'est pas la même chose. Le truc essentiel sur un forum, c'est bien les topics non ? Si tu t'amuses à augmenter la taille de ta table topic avec des messages privées, ca va vite devenir un truc énorme qui va tout te ralentir


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:43

Bon je viens d'aller voir en detail la MP de phpBB (wri) et le constat est simple :

La boite de reception : liste des post (sous entendu dans le forum MP) dont destinataire est MOI classé par timestamp décroissant. et qu'il y en ait 100 ou 10000 on s'en tappe, c'est le systeme de pagination qui gere le truc.

La boite d'envoi : liste des poste dont emmeteur est MOI et pas encore flagués commes lus par DESTINATIRE.

Les messages envoyés : idem mais flagués

BOUTON NOUVEAU : creation d'un nouveau topic et du premier post

BOUTON REPONDRE : ajout d'un nouveau post dans le topic correspont

PS : j ai dit une bêtise dans topic d'avant ... il y a bien la revue dans les MP permettant de suivre tout le fil du topic (simplement présenté ordre timestamp decroissant).

Bref je vais le jouer comme cela ... ca me parait tellement plus cohérent que d'ajouter une nouvelle table pour les MP ... et pusi ca ouvre des portes : comme par exemple permettre en MP de demander une présentation de type MP ou une présentation de type Forum !


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 1:46

Bon on va attendre d'autres avis et éclairages demain ... de toutefaçon la c'est dodo donc ca va pas coder cette nuit :wink:

Edit : En regardant de plus prêt l'affichage de la "revue" dans les MP on voit que c'est une div deployable et que donc des quon affiche un MP on a sous la main la totalité du fil. Ca accréditerait l'hypothèse que pour les MP les forums font l'impasse du decoupage TOPIC -> POST au profit d'une seule table avec un champs contenant tous les messages d'un fil (posant comme postulats - pas faux - a) qu'un fil ne fera jamais 3000 messages comme ca peut etre le cas dans les topics ... et b) qu'il n'y a pas a gérer le risque de multiples accès concurents en ecriture au sein d'un fil comme c'est le cas au sein d'un topic ... justifiant la table post pour eliminer cette source de conflit d'accès ...).

Hum ... je vais re brainstormer demain :roll:


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 2:09

Bon ben finalement je vais opter pour un compromis :

Vu que ma table topic c'est déjà une structure 5 champs :

numero de topic (auto increment)
numero de forum
datas (texte) : ou je fourre ce que je veux
posteurs (texte)
timestamp

il va me suffir de stocker les "post MP"dans mon champs 'topic datas' tout simplement et comme les posts c'est dejà aussi un seul et unique champ "datas" ca va juste être un deroutage vers le champs du topic au lien du fichier post et un empilement avec un séparateur pour le future explode qui ira bien :wink:

Donc au final :
- je garde l'idée du forum invisible/virtuel "MP"
- Je n'ajoute pas de nouvelle table :wink: (radin le chat ... enfin flemmard surtout :!: )

Dolph
WRInaute impliqué
WRInaute impliqué
 
Messages: 631
Inscription: 1 Mar 2011

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 7:45

Comme le dis Fin', l'important et de ne pas pénaliser la table qui sert à tous, en l'occurence, celle des topics.
Il est donc préférable, même si tu gères les mp comme un fil de discussion fermé, d'ailleurs l'idée est bonne, de crée une table dédiée.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 9:27

Ok manifestement le fait d'alourdir les tables topics/post semble une préocupation et comme vous maitrisez Mysql mieux que moi, je vais me ranger à vos avis ... en simplement clonant pour les MP les deux tables topics et post avec deux nouvelles tables : topics_MP et post_MP ... Comme cela je peux utiliser toutes mes routines génériques simplement en positionnant une variable de contexte ...

Exemple avec la routine forum_topic_get_datas.php
Code: Tout sélectionner
<?php
$sql_base_table="forum_topics";

$sql_champ="numero";
$sql_numero=intval($topic_numero);
$sql_query = "SELECT * FROM ".$sql_base_table." WHERE ".$sql_champ." = ".$sql_numero." ";
$sql_result_query = mysql_query($sql_query) or die("Query failed");
$datas="";
if($sql_row = mysql_fetch_array($sql_result_query)) { $data =  $sql_row['datas']; }
$sql_tab_topic=array();
$sql_tab_topic=explode("|", $datas);
?>


et derrière j'ai une routine : forum_topic_data_to_variables qui charge les 15 ou 20 lignes du tableau dans des variables nommées plus faciles à manipuler. La même logique dans l'autre sens (forum_topic_variables_to_datas et forum_topic_put_datas ...). L'accès aux infos d'un topic se resume donc à :

1 - charger le numero de topic
2 - include forum_topic_get_datas.php
3 - include forum_topic_data_to_variables (*)

(*) Les deux sont séparés parce que bien souvent ne n'ai pas besoin d'avoir les variables mais juste un accès à une valeur dans le tableau. En fait même le explode est séparé mais je l'ai mis la pour la compréhension du topic ici (en effet souvent meme pas besoin d'un explode par exemple pour tester une info avec un simple strpos dans $datas ...

Et donc il me suffira de modifier le code ainsi :

Code: Tout sélectionner
<?php
$sql_base_table="forum_topics".$forum_contexte; // <<<<<<<<<<<<<<<<<< flemmard total !

$sql_champ="numero";
$sql_numero=intval($topic_numero);
$sql_query = "SELECT * FROM ".$sql_base_table." WHERE ".$sql_champ." = ".$sql_numero." ";
$sql_result_query = mysql_query($sql_query) or die("Query failed");
$datas="";
if($sql_row = mysql_fetch_array($sql_result_query)) { $data =  $sql_row['datas']; }
$sql_tab_topic=array();
$sql_tab_topic=explode("|", $datas);
?>


et la chaine de traitement devenant :

0- $forum_contexte="mp"; // $forum_contexte vide si forum ... et rempli si mp
1 - charger le numero de topic
2 - include forum_topic_get_datas.php
3 - include forum_topic_data_to_variables (*)

Du coup objectif atteint :

- rien a réécrire
- identité absolu de traitement topic forum et MP (même routines utilisées)
- non alourdissement des tables topics et post du forum

ca me va, c'est un compromis supportable :wink:


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11991
Inscription: 1 Mar 2005

Re: Brainstorming : un truc me titille sur les MP dans les forums !

Message le Dim Mai 01, 2011 9:42

Question a deux balles : dans PhpMyAdmin est ce qu'il existe une fonction permettant de dupliquer la structure d'une table en indiquant un nouveau nom ou est ce qu'il faut se fader la resaisie des champs ? (je vais passer pour une grosse flemmasse :mrgreen: )

Edit : j'ai trouvé ... dans Operations ... :wink: La au moins je suis sur du clonage (pas de risque de "fote" de frappe)

Brainstorming : un truc me titille sur les MP dans les forums !

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité