developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#934 closed new feature (fixed)

wikieditor

Reported by: foxmask Owned by:
Priority: normal Milestone: Jelix 1.2 beta
Component: jelix:forms Version: trunk
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

voici un nouveau control, permettant d'afficher une barre d'outils au dessus du textarea accueillant du texte sous la syntaxe wiki.

à partir du fichier de config et du form.xml on obtiendra l'effet escompté :

exemple :

  • dans un foo.form.xml
    <wikieditor ref="message" config="default" required="true">
    
  • dans le fichier de config defaultconfig.ini.php
    [wikieditor]
    default.engine.name = wr3_to_xhtml
    ; path to the engine file
    default.engine.file = jelix/wikieditor/wr3_to_xhtml/wikieditor.js
    ; define the path to the "internationalized" file to translate the label of each button
    default.config.path = jelix/wikieditor/wr3_to_xhtml/
    ; define the path to the image of buttons of the toolbar
    default.image.path = jelix/wikieditor/images/
    

génère dans la page :

  • pour le header
    <script type="text/javascript" src="/jelix/wikieditor/wr3_to_xhtml/wikieditor.js" ></script>
    <script type="text/javascript" src="/jelix/wikieditor/wr3_to_xhtml/fr_FR.js" ></script>
    
  • dans le formulaire :
    jelix_wr3_to_xhtml_default("jforms_havefnubb_posts_message","/jelix/wikieditor/images/");
    

ce qui donne ceci

Attachments (7)

wikieditor.patch (25.4 KB) - added by foxmask 11 years ago.
wikieditor control
wikieditor_with_markitup.patch (84.3 KB) - added by foxmask 11 years ago.
wikieditor control with markitup
wikieditor_with_markitup_2nd_version.patch (8.8 KB) - added by foxmask 11 years ago.
Nouveau Patch Fonctionnel intégrant MarkItUp?
markitup.tar.gz (116.6 KB) - added by foxmask 11 years ago.
contenu contenant des images à decompresser dans le dossier jelix-www
wikieditor_with_markitup_2nd_version.2.patch (9.6 KB) - added by foxmask 11 years ago.
Nouveau Patch Fonctionnel intégrant MarkItUp??
wikieditor_with_markitup_3ieme_version.patch (10.2 KB) - added by foxmask 11 years ago.
Patch ajoutant le type jforms "Wikieditor" intégrant MarkitUp
wikieditor_with_markitup_v4.patch (72.7 KB) - added by foxmask 11 years ago.
4ieme version du patch di wikieditor

Download all attachments as: .zip

Change History (27)

Changed 11 years ago by foxmask

wikieditor control

comment:1 Changed 11 years ago by foxmask

  • review set to review?
  • Version changed from 1.1 to trunk

comment:2 Changed 11 years ago by geekbay

c'est interessant mais petite question, pquoi tu n'a pas utilise markItUp! http://markitup.jaysalvat.com/examples/wiki/ ?

comment:3 Changed 11 years ago by foxmask

c'est simple ;)

je ne connaissais pas et quand j'ai cherché toolbar sur jquery je n'ai rien trouvé de probant.

après si la team jelix trouve markitup plus interessant, pas de pb.

comment:4 Changed 11 years ago by foxmask

si markitup etait "adopté" on pourrait créer un control plus generic du genre "texteditor" et avec pour parm une type de "langage" de transformation.

exemple :

<texteditor lang="html"> (utiliserait le htmleditor) 

lang="wiki" utiliserait un "set" markitup wiki adapte pour utiliser le wikirend lang="bbcode" utiliserait un "set" markitup bbcode

etc..

mais dans un premier temps il peut etre envisager que je switch "d'engine" en utilsant markitup pour pondre la toolbar

je vous laisse vous prononcer

comment:5 Changed 11 years ago by foxmask

je prepare un second patch avec markitup

comme ca libre à vous de choisir l'implem' ;)

Changed 11 years ago by foxmask

wikieditor control with markitup

comment:6 Changed 11 years ago by foxmask

resultat ici de wikieditor avec markitup

comment:7 Changed 11 years ago by laurentj

Si j'ai bien compris, markitup est basé sur jquery. ça serait logique de l'utiliser. Un autre avantage : on n'a pas vraiment à s'occuper de sa maintenance. ça à l'air en plus suffisamment flexible pour nos besoins. Donc je suis favorable à son utilisation.

J'ai pas encore le temps de faire la review.

comment:8 Changed 11 years ago by foxmask

  • review review? deleted

Pour l'avoir intégré comme plugin dans havefnubb (en attendant que cela soit integrer au core;) , il manque :

# les fichiers lib/jelix-www/markitup/set/wr3/en_*.js ne sont pas fully english. # le fichiers lib/jelix-www/markitup/set/wr3/fr_FR.js n'est pas entierement français (preview not translate)

je refais un patch correcte.

comment:9 Changed 11 years ago by laurentj

  • Milestone set to Jelix 1.2

Changed 11 years ago by foxmask

Nouveau Patch Fonctionnel intégrant MarkItUp?

Changed 11 years ago by foxmask

contenu contenant des images à decompresser dans le dossier jelix-www

Changed 11 years ago by foxmask

Nouveau Patch Fonctionnel intégrant MarkItUp??

comment:10 Changed 11 years ago by foxmask

  • review set to review?

Pour tester le patch il faut récupérer le patch de "22:24" + l'archive contenant les images de la toolbar qui est a decompresser dans le dossier jelix-www

comment:11 Changed 11 years ago by foxmask

  • review review? deleted

j'ai mon patch qui a pris la sauce ;)

il manque

protected $wikieditor =array()

dans jFormsBase.class.php

patch à refaire ;)

Changed 11 years ago by foxmask

Patch ajoutant le type jforms "Wikieditor" intégrant MarkitUp

comment:12 Changed 11 years ago by foxmask

  • review set to review?

voilà c'est fait cette fois ci ;)

pour tester :

  • décompresser markitup.tar.gz dans le rep jelix-www
  • patcher avec wikieditor_with_markitup_3ieme_version.patch

comment:13 Changed 11 years ago by laurentj

  • review changed from review? to review-

jFormsControlWikiEditor.class.php:

    function __construct($ref){ 
        $this->ref = $ref; 
        $this->datatype = new jDatatypeHtml(); 
    } 

le datatype n'est pas html, (on ne tape pas du html) mais une chaine, jDatatypeString

jFormsBase:

        else if($control->type == 'wikieditor') 
            $this->wikieditors [$control->ref] = $control;             

Ok, mais peux-tu au passage transformer tout ces elseif en un bon gros switch ?

jFormsControl.class.php:

  require(JELIX_LIB_PATH.'forms/controls/jFormsControlDate.class.php'); 
  require(JELIX_LIB_PATH.'forms/controls/jFormsControlDatetime.class.php'); 
-	 	 
-	 	#endif 
-	 	 
+ require(JELIX_LIB_PATH.'forms/controls/jFormsControlWikiEditor.class.php'); 

Pourquoi tu vires le endif ? ;-)

Bon sinon pour le reste, ça me parait correcte. Toutefois, il manque des fichiers de configuration par defaut pour markitup non ?

comment:14 Changed 11 years ago by foxmask

Bonjour,

ok pour jDatatypeString

ok pour le switch ;)

comme j'ai pu faire un hg clone hier ; j'ai ensuite recuperé ce patch qui n'est pas passé, alors j'ai (re)fait les modif à la main et oui c'est une coquille le endif en moins

enfin pour la config par défaut de markitup ; comme on met la config suivante dans le defaultconfig.ini.php

[wikieditor]

ce contenu ce retrouve dans le @@<head>...</head>@@

et marktiup n'a besoin de rien d'autre (http://markitup.jaysalvat.com/documentation/)

comment:15 Changed 11 years ago by foxmask

bon,

je ne pensais pas que ça serait si compliqué de retester mais comme Jelix ne me trouve plus aucun de mes modules...

  • j'ai compile jelix (avec php build/buildjelix.php mondist.ini

) pour obtenir une version exploitable du rep lib issue du trunk

  • j'ai remplacé le rep lib (de ma v 1.1.3) par celle compilée du trunk

et jelix ne me trouve plus mes modules

aprés avoir creusé je m'aperçois que la tete du fichier de config à completement changé (il fautdrait mettre une section module et module.access=2) donc je laisse tombé les tests à partir d'une appli configurée en 1.1.3 et retesterai à partir d'une nighlty 1.2pre et de testapp basée sur la meme version.

ps : cerise sur le gateau je dois modifier les fichiers du rep manifests pour que ceux ci rajoutent :

  • le contenu du markitup dans le dossier jelix-www
  • la class jForms dans le dossier forms/controls

la suite au prochain numéro ;)

comment:16 Changed 11 years ago by foxmask

j'ai pu patcher "à la main" la version trunk, et tester avec un simple formulaire contenant que <wikieditor> ;)

je regenererai un patch et le resoumettrai là.

Changed 11 years ago by foxmask

4ieme version du patch di wikieditor

comment:17 Changed 11 years ago by foxmask

  • review changed from review- to review+

si c'est ok pour toi je push sur mon repo.

comment:18 Changed 11 years ago by foxmask

  • review changed from review+ to review?

comment:19 Changed 11 years ago by laurentj

  • Documentation needed set
  • Resolution set to fixed
  • review changed from review? to review+
  • Status changed from new to closed

landed : http://hg.jelix.org/jelix/jelix-trunk/rev/3fc2e8088d59 and http://hg.jelix.org/jelix/jelix-trunk/rev/6e9109e1b93b

I made some little enhancements and change, in order to fix some bugs.

  • The content of the control is now well displayed when displaying only data of a form
  • renamed the section wikieditor to wikieditors in the config
  • added confname.wiki.rules config option to indicate the rules to use by jWiki in order to display the content.
  • the configuration object for markitup is no more called mySettings, but a name 'markitup_enginename_settings' where engine name is the engine defined in the configuration.
Note: See TracTickets for help on using tickets.