Author: mfortun Date: 2011-07-20 17:26:30 +0200 (Wed, 20 Jul 2011) New Revision: 1081 Url: http://nuiton.org/repositories/revision/wikitty/1081 Log: * add a solution for UI improvement inside wikitty publication Added: trunk/wikitty-publication/src/site/rst/publication-ui.rst Added: trunk/wikitty-publication/src/site/rst/publication-ui.rst =================================================================== --- trunk/wikitty-publication/src/site/rst/publication-ui.rst (rev 0) +++ trunk/wikitty-publication/src/site/rst/publication-ui.rst 2011-07-20 15:26:30 UTC (rev 1081) @@ -0,0 +1,78 @@ +Wikitty Publication ui +---------------------- +@author: Manoël Fortun + +But +=== + +Pour le moment wikitty publication et ses script engine ne permettent pas de +faire d'interface graphique, on peut seulement écrire du code qui sera exécuté +par le moteur. + +Le but de cette partie est donc l'ajout de la possibilité de faire des +interfaces graphique dans wikitty publication afin de réellement pouvoir faire +plus que l'affichage du résultat de l'évaluation d'un script, pouvoir atteindre +l'objectif de wikitty publication qui est la possibilité de développer des +applications web complète. + + +Existant +======== + +Avec le script engine on peut définir le type de retour de l'évaluation du +script, mais comme celui ci sera finalement affiché dans une page web, pour +avoir des interfaces il faut que le résultat soit en html. + +On retrouve dans les wikittyPubText des choses comme ça: + +var result = +""+ +" <div class='menu'>\n"+ +wpEval.doAction(wpContext, "WikiMenu")+ +" </div>\n"+ +" <h1>Bonjour Les Lutins,</h1>\n"+ +" Bienvenue sur le Wikitty Wiki\n"; + +wpContext.setContentType("text/html"); +result; + +Le html écrit dans des variables qui seront renvoyé en tant que résultat du +sript, et on doit préciser le contentType du résultat pour que celui si soit +correctement interprété. + +A titre d'exemple dans xwiki quand on veut rajouter des éléments UI, on les +écrit en html, mais c'est différent puisque dans xwiki on peut avoir plusieurs +langage par "page" qui sont interprétés localement, ce que l'on peut pas faire +dans wikitty publication, du moins pas avec le fonctionnement actuel. + + +Solution proposée +================= + +La solution la plus simple serait d'autoriser le html directement dans les +WikittyPubText, voir avoir un nouveau wikittyPub pour le html. Mais ce n'est +pas suffisant comme solution, on perd la possibilité d'avoir du code +dans ces wikittyPubText là. + +Il faut finalement un nouveau script engine pour le html, ce qui implique que +dans le code html on pourra insérer des invocations direct à des éléments mis +dans les bindings. + +Par exemple: + + +<div class='menu'> +wpEval.doAction(wpContext, "WikiMenu")+ +</div> +<h1>Bonjour Les Lutins,</h1> +Bienvenue sur le Wikitty Wiki + +<img src="wpContext.makeUrl("/raw/Logo")"/> + +Cette solution à l’intérêt d'être relativement simple et de permettre la +création de page naturellement, puisqu'il n'y a aucune différence de traitement +tout passe par "eval". + +On gagne toutes les possibilités du Html pour le rendu, avec la possibilité +de javascript et css, javascript qui peut être inséré dans la page ou évalué +en tant que code.
participants (1)
-
mfortun@users.nuiton.org