Prochains travaux sur ce forum + ToDo List
GreG24-Apr-2006/18:03:16+2:00
Voici la liste de ce qui sera implemete prochainement:
1v2) fonction de recherche (basee sur le SEARCH de IMAP)
2v2) pour chaque thread, affichage du premier, dernier, date, ...
3v2) onglet settings base sur les cookies (affichage reverse, affichage du flash, ...)


Ci-dessous, la todo list de bbimap V1, dont voici la situation aujourd'hui:
1 -> fait
2 -> obsolete
3 -> a faire
4 -> a faire (tres simple par rapport a V1)
5 -> fait
6 -> a faire (cf 1v2)
7) a faire
8) a faire
9) a faire


From:    GreG
Subject:    TODO List

1) l'URL d'un thread doit utiliser l'UID du premier message, afin que cette URL soit stable.

2) Utiliser enbase/16 pour l'encodage du nom user dans IMAP, ceci afin d'autoriser des noms possedant des espaces, des caracteres accentues, ...

3) Gerer les cookies pour login user

4) Decouper les threads en pages

Veuillez repondre en ajoutant les points qu'il manque a ce forum.

From:    johnatemps
Subject:    TODO List

5) Afficher les threads par ordre de dernières modifications.

From:    Philippe
Subject:    TODO List

6) mettre en place la fonctionnalité de recherche

7) tester les performances de BBIMAP, et la volumétrie occupée

8) Gestion des droits utilisateurs : modérateurs, invités, pas d'anonymes, possibilité d'éditer/modifier des posts, des threads entiers, etc.

9) statistiques ?
johnatemps28-Apr-2006/10:37:22+2:00
Hello,

Il faut se décider au niveau du design,
soit tout est centré dans une colonne,
soit tout est aligné à gauche.

J'ai une grande résolution d'écran,
et j'avoue que le passage entre la
page listant les threads, et celle
listant leur contenu, n'est pas facile.

Mais je chipotte, et tu y pensais certainement.

Charles.
johnatemps28-Apr-2006/10:38:33+2:00
(j'ai une préférence pour la version centrée, mais dans ce cas il faudra tout centrer, boutons du haut y compris.
DideC29-Apr-2006/11:33:05+2:00
Pour tout centrer, il suffit de mettre le temps dans une TABLE centré avec une largeur de 800px.

(Oh grand YaKa !!)
DideC29-Apr-2006/11:35:45+2:00
Il faut implémenter rapido une balise CODE (tranformée en < PRE > HTML) car les ocdes postés sont quasi illisible !
Philippe5-May-2006/10:41:56+2:00
Greg,

Pour implémenter une barre de boutons (ce qui pourrait simplifier la vie au parseur, si elle utilisée) :

1/ Créer un fichier Javascript ACEditor.js contenant le code suivant :

*******************************************>>>>>cut here
var ACEditor; /* make sure to change the onload handler of the
<body> tag to the form you're using!... */

maintenant = new Date();
var jours, mois = new Array();
jours = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']
mois = ['janvier', 'fevrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'decembre']
la_date = new String();
la_date = jours[maintenant.getDay()] + ' ' + maintenant.getDate() + ' ' + mois[maintenant.getMonth()] + ' ' + maintenant.getFullYear();



function mozWrap(txtarea, lft, rgt) {
   var selLength = txtarea.textLength;
   var selStart = txtarea.selectionStart;
   var selEnd = txtarea.selectionEnd;
   if (selEnd==1 || selEnd==2) selEnd=selLength;
   var s1 = (txtarea.value).substring(0,selStart);
   var s2 = (txtarea.value).substring(selStart, selEnd)
   var s3 = (txtarea.value).substring(selEnd, selLength);
   txtarea.value = s1 + lft + s2 + rgt + s3;
}

function IEWrap(lft, rgt) {
   strSelection = document.selection.createRange().text;
   if (strSelection!="") {
      document.selection.createRange().text = lft + strSelection + rgt;
   }
}   
// Cette fonction permet de faire fonctionner l'insertion de tag image dans un textarea de IE sans sélection initiale,
// à la position du curseur

function IEWrap2(txtarea,lft, rgt) {
   txtarea.focus();
   if (document.selection) {
      txtarea.focus();
      sel = document.selection.createRange();
      sel.text = lft+rgt;
   }
}

function wrapSelection(txtarea, lft, rgt) {
   if (document.all) {IEWrap(lft, rgt);}
   else if (document.getElementById) {mozWrap(txtarea, lft, rgt);}
}

function wrapSelectionBis(txtarea, lft, rgt) {
   // pareil que la wrapSelection, avec une différence dans IE
   // qui permet à wrapSelectionBis de pouvoir insérer à l'endroit du curseur même sans avoir sélectionné des caractères !!!
   // Pour mozilla, c'est bien la fonction Wrap standard qui est appelée, aucun changement
   
   if (document.all) { // document.all est une infamie de IE, on détecte cette horreur !
      IEWrap2(txtarea,lft, rgt); // Attention, un parametre de plus que IEWrap
   } else if (document.getElementById) {
      mozWrap(txtarea, lft, rgt); // là on est chez les gentils
   }   
}   



function wrapSelectionWithLink(txtarea) {
   var my_link = prompt("Entrez l'URL: ","http://");
   if (my_link != null) {
      lft="<a href='" + my_link + "'>";
      rgt="</a>";
      wrapSelection(txtarea, lft, rgt);
   }
   return;
}
/* Aaaxl modif for ACeditor */
function wrapSelectionWithImage(txtarea) {   
   nom = document.ACEditor.filename.value;
   descript = document.ACEditor.description.value;
   align = document.ACEditor.alignment.value;

   lft= " {{attach file=\"" + nom + "\" desc=\"" + descript + "\" class=\"" + align + "\" }} ";
   rgt = "";
   wrapSelectionBis(txtarea, lft, rgt);
   return;
}   

document.onkeypress = function (e) {
if (document.all) {
   key=event.keyCode; txtarea=thisForm.body;
   if (key == 1) wrapSelectionWithLink(txtarea);
   if (key == 2) wrapSelection(txtarea,'**','**');
   if (key == 20) wrapSelection(txtarea,'//','//');
}
else if (document.getElementById) {
   ctrl=e.ctrlKey; shft=e.shiftKey; chr=e.charCode;
   if (ctrl) if (shft) if (chr==65) wrapSelectionWithLink(thisForm.body);
   if (ctrl) if (shft) if (chr==66) wrapSelection(thisForm.body,'**','**');
   if (ctrl) if (shft) if (chr==84) wrapSelection(thisForm.body,'//','//');
   //if (ctrl) if (shft) if (chr==85) wrapSelection(thisForm.body,'__','__');
}
return true;
}
/* end chris w. script */



/*
written by meg hourihan
http://www.megnut.com
meg@megnut.com

warning: it only works for IE4+/Win and Moz1.1+
feel free to take it for your site
but leave this text in place.
any problems, let meg know.
*/
function mouseover(el) {
   el.className = "raised";
}   
function mouseout(el) {
   el.className = "button";
}   
function mousedown(el) {
   el.className = "pressed";
}   
function mouseup(el) {
   el.className = "raised";
}
/* end meg script */

<<<***********************************************>>>> cut


2/ Ce fichier js doit être localisé dans l'arborescence de ton serveur web, tu t'en doutes.

3/ Dans le Head du code de la page (print build-markup {<html>
<head> ...), rajoutez les DEUX codes suivants :

3a - A la suite des déclarations de style :
#toolbar    {   
         margin: 0;
         padding: 0;
         width: 282px;
         background: white;
         border-top: 1px solid buttonhighlight;
         border-left: 1px solid buttonhighlight;
         border-bottom: 1px solid buttonshadow;
         border-right: 1px solid buttonshadow;
         text-align:right;
          }
         
.button    {
         background: buttonface;
         border: 1px solid buttonface;
         margin: 1;
         }
         
.raised      {
         border-top: 1px solid buttonhighlight;
         border-left: 1px solid buttonhighlight;
         border-bottom: 2px solid buttonshadow;
         border-right: 2px solid buttonshadow;
         background: buttonface;
         margin: 1;
         }
         
.pressed   {
         border-top: 1px solid buttonshadow;
         border-left: 1px solid buttonshadow;
         border-bottom: 1px solid buttonhighlight;
         border-right: 1px solid buttonhighlight;
         background: buttonface;
         margin: 1;
         }      

3b - Puis, après la balise de fermeture du style, l'appel au javascript (adapter le chemin avec le tien) :
<script type="text/javascript" src="/js/ACEditor.js"></script>


4/ Remplacer ta balise <body> par :
<body onLoad="thisForm=document.ACEditor;">


5/ récupérer les images des boutons de la toolbar :
http://pl.legoff.free.fr/tmp/img.zip

et décompressez dans un répertoire adéquat sur ton serveur web. (tu pourras les changer si tu veux, bien sûr).

6/ Dans ton code, au dessus de la déclaration du textearea : <textarea name="bla" rows="10" cols="60"></textarea>,
rajoutez les liens vers les images composant la toolbar :
(adapter le chemin /img/ avec le tien)

<div id="toolbar">
<img class="button" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);"
onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<b>','</b>');" src="/img/bt_strong.png"
width="20" height="20" align="middle" alt="click to make your selection bold)" title="click to make your selection bold">
<img class="button" onmouseover="mouseover(this);" onmouseout="mouseout(this);"
onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<i>','</i>');"
src="/img/bt_em.png" width="20" height="20" align="middle" alt="click to make your selection italic" title="click to make your selection italic">
<img class="button" onmouseover="mouseover(this);" onmouseout="mouseout(this);"
onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<u>','</u>');"
src="/img/bt_ins.png" width="20" height="20" align="middle" alt="click to make your selection underlined" title="click to make your selection underlined">
<img class="button" onmouseover="mouseover(this);" onmouseout="mouseout(this);"
onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<code>','</code>');"
src="/img/bt_code.png" width="20" height="20" align="middle" alt="click to make code parts" title="click to make code parts">
<img class="button" onmouseover="mouseover(this);" onmouseout="mouseout(this);"
onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelectionWithLink(thisForm.bla);"
src="/img/bt_link.png" width="20" height="20" align="middle" alt="click to add a link" title="click to add a link">

<img class="button" align="middle" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<ul><li>','\n</li></ul>');" src="/img/bt_ul.png"
width="20" height="20" alt="List" title="List">
<img class="button" align="middle" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelection(thisForm.bla,'<ol><li>','\n</li></ol>');" src="/img/bt_ol.png" width="20" height="20" alt="numeric list" title="numeric list">

<img class="button" align="middle" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelectionBis(thisForm.bla,'<br />','');" src="/img/bt_br.png" width="20" height="20" alt="Insert a BR" title="Insert a BR">
<img class="button" align="middle" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelectionBis(thisForm.bla,'<hr />','');" src="/img/bt_hr.png" width="20" height="20" alt="Insert a HR" title="Insert a HR">

<img class="button" align="middle" width="20" height="20" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapSelectionBis(thisForm.bla,la_date,' ');" src="/img/bt_date.png" alt=""Insert the current date " title="Insert the current date ">
</div>

7/ Tester. Sauf erreur de ma part, cela devrait marcher du premier coup. La balise <code> doit être reliée (cf Didec) à une balise de style <PRE> HTML adaptée.

===Philippe
Philippe5-May-2006/10:44:32+2:00
ToDO :

Ce serait bien de pouvoir avoir une feuille de style optionnelle comme dans Codeur ancienne version.
Peut-être une variable Post en plus ? ou cookie ?

===Philippe
shadwolf5-May-2006/10:58:49+2:00
pour moi ce qu'il manque c'est:

1) des catégories (c'est pas si dur que ca mettre en place)
et on sait que ca améliore ennormément la lisibilité

2) les fiches utilisateurs

3) panneaux de configuration

4) la pobilitée de modifier supprimer des messages (seul les admins et l'auteur du message devraient pouvoir le supprimer/ modifier.

5) support text riche ou text evolué la encore je pense que ca peut etre implémenter assez facilement.
Philippe5-May-2006/12:19:07+2:00
ToDO :

Ce serait bien de pouvoir avoir une feuille de style optionnelle comme dans Codeur ancienne version.
Peut-être une variable Post en plus ? ou cookie ?

===Philippe
GreG8-May-2006/16:55:02+2:00
Philippe,
Je vais integrer le parseur d'abord. C'est vrai que l'on pourrait tout faire en HTML, mais ca ne permet pas de faire un color-code du code par exemple.
Par contre, le code que tu proposes me parait interressant pour le support des boutons (et les boutons eux-meme!).
Philippe9-May-2006/11:08:44+2:00
GreG,

Y'a pas de problème ! Je pense d'ailleurs que tu peux ajouter des boutons pour intégrer des boutons [makedoc] [/makedoc], qui iront bien avec le parseur.

Sinon, plus tard, pourras-tu rajouter une ligne (genre <hr> ou avec un style dédié à un DIV pour faire plus propre) pour séparer visuellement chaque post ? Pour gagner en lisibilité.
Merci de ton boulot.
===Philippe
Reb-Kodeur9-May-2006/14:39:27+2:00
séparer visuellement chaque post ? --> plutot faire comme sur codeur, des <div> à couleurs alternatives.
Philippe9-May-2006/17:10:11+2:00
<i>>>séparer visuellement chaque post ? --> plutot faire comme sur codeur, des <div> à couleurs alternatives.</i>

... d'où l'intérêt d'un style dédié à un DIV, comme avec les classes de styles ligne_1 et 2.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2