Fork me on GitHub




(1) 2 »


architecture AJAX : exemple de module
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Voici un module exemple d'architecture AJAX de type JSON RPC. Il s'appuie sur la classe agent du framework Ajax Agent. Un des avantages de ce framework est son intégration facile dans un système existant, ce qui a été fait dans ce module.

Ce module exemple propose un seul écran exemple concernant une mise à jour de quelques données d'un utilisateur de xoops (table Users). Il y a 2 actions possible :
- Un chargement des données à partir de l'identifiant.
- Une mise à jour de 3 champs basiques de l'utilisateur avec en retour un message de bonne prise en compte (ou d'erreur).

Le telechargement s'effectue ici : AjaxModel

J'espère que cela pourra vous être utile.

Posté le : 03/05/2006 10:04
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Semi pro
Inscrit: 05/06/2004 14:25
Messages: 750
Bonjour,
je suis moi même entrain de tenter de coder un theme/module/hack xoops basé entre autre sur AJAX.

Le topic qui en parle

J'ai vu qu'il existe différentes classes pour faciliter la gestion d'AJAX, il en existe d'ailleurs énormément.

Sur quels critères avez vous choisi Ajax Agent?

Aparament il gère coté client ET serveur, contrairement aux autres que j'avais trouvé. Mais quel intéret car les scripts php c'est ce qu'on va personnaliser pour notre propre utilisation, ya quasi rien à gérer, juste un get ou post non?

Posté le : 05/05/2006 22:52
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Semi pro
Inscrit: 05/06/2004 14:25
Messages: 750
Bonjour,
j'ai testé votre module en local avec easyphp, et la le drame, ca fait planter mon navigateur (enfin nan mais ca lui fait utiliser 99% du cpu, donc c'est tout comme...) quand je click sur enregistrer ou charger, en gros quand la fonctionnalité ajax est utilisée!

J'ai essayé avec FireFox 1.5.0.3, Opera, IE6 ... memes symptomes,
Mais ca à l'air de prendre en compte les modifs quand mm lorsque j'utilise la fonction enregistrer...

j'avais vu sur le net que ajax fonctionnait en 2 modes, un synchrone , basique, mais qui freeze le navigateur tant qu'il n'a pas recu de réponse du serveur, et un autre désynchronisé, qui est toujours utilisé.
Peut etre que le problème vient de la.. je n'en sais rien.

Posté le : 06/05/2006 01:20
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

Peut-être temps de passer à comet ?

A +

Posté le : 06/05/2006 01:26

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Semi pro
Inscrit: 07/05/2005 14:17
Messages: 1126
et aprés comet ahah ! http://microformats.org/wiki/rest/ahah (non ce n'etait pas un rire ou alors nerveux )

un exemple de comet

http://www.lightstreamer.com/

et je sais pas si vous l'avez remaruez mais, gmail propose depuis une paire de jour un chat dans votre messagerie (au fait il me reste un peu plus d'un millier d'invitation alors si vous en voulez ?) je pense que c'est ca dont ils parlent dans l'articles sur comet? je comprend pas bien l'anglais mais...


pour ma part, je me demande comment intégrer une gallerie ajax direct dans xoops... je pense que je passerais par le module page.

Posté le : 06/05/2006 01:43
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Semi pro
Inscrit: 05/06/2004 14:25
Messages: 750
ahah c'est une lib de base pour gérer du ajax... basique mais du coup très légère!

et lightstream c'est payant...

Posté le : 06/05/2006 04:47
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Xoops accro
Inscrit: 18/01/2004 17:13
De Ma Caverne
Messages: 2839
salut,
comme exemple ya aussi discuss, module de chat en ajax, dispo dans le referentiel
marco

Posté le : 06/05/2006 09:30

Trio de choc : FrXoops, FreeboxHD et OVH
MdxProd.com : des liens xoops indispensables
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Citation :

Sur quels critères avez vous choisi Ajax Agent?

Un des avantages de ce framework Ajax Agent est son intégration facile dans un système existant. Tout est présent dans un seul fichier php agent.php à inclure. Il intègre une génération de JavaScript permettant de lancer la requête, un encodage décodage PHP et une classe PHP appelée Agent servant de contrôleur coté serveur pour appeler la fonction voulue.
Je l'ai essayé et il a marché du premier coup sans trop de fatigue. Voila le critère principal de mon choix.
Il existe bien entendue une multitude de framework PHP Ajax voir ajaxpatterns et aussi des bibliothèques javascript comme prototype.js ou qui facilitent le code d'application Ajax.
Je vous conseille également le papier de Rasmus sur le sujet : Rasmus
Citation :

ca fait planter mon navigateur (enfin nan mais ca lui fait utiliser 99% du cpu, donc c'est tout comme...)

Un point commun de ses framework est que le message de retour s'effectue par la fonction "echo". Hors le système de log de xoops s'il est activé (Mode de mise au point=mise au point php) utilise "echo" pour afficher les erreurs PHP. La conséquence est que le message de retour de la requête Ajax se cumule avec les messages d'erreur php remontés par xoops à l'aide de la classe XoopsErrorHandler du fichier class\errorhandler.php.
Pour faire marcher Ajax, il faut donc désactiver le Mode de mise au point debug et utiliser à la place d'autres d’outils de debug dont :
- Un système de log avec écriture sur un fichier. Il existe chez pear un système de log simple et très bien fait sous la forme d'un fichier Log.php à inclure dans le répertoire class.

Mettre dans le header :
require XOOPS_ROOT_PATH.'/class/Log.php';
$conf = array('mode' => 0600'timeFormat' => '%X %x');

puis utiliser le code suivant pour logguer des messages :
$log->log('insert a  xg_class:'.$sql);

On peut aussi modifier la classe XoopsErrorHandler du fichier class\errorhandler.php. La function XoopsErrorHandler_Shutdown() doit être modifier
echo $error_handler->renderErrors();

devient
$conf = array('mode' => 0600'timeFormat' => '%X %x');
$log_error = &Log::singleton('file''error.log''error'$conf);
$log_error->log($error_handler->renderErrors());


Enfin il existe pour firefox une extention firebug très utile pour inspecter le code html et pour faire ressortir
les erreurs javascript.

J'espère que ces petites précisions vous aiderons à faire de beau module xoops AJax.


Marco, pour le
Citation :

module de chat en ajax, dispo dans le referentiel

Marche-t-il avec le mode debug PHP activé ?
Quel est le nom du module ?

Posté le : 08/05/2006 12:18
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Xoops accro
Inscrit: 18/01/2004 17:13
De Ma Caverne
Messages: 2839
Salut,

Citation :

Marche-t-il avec le mode debug PHP activé ?

salut,
non, j'ai ouvert un incident sur Sourceforge/Projet Xoops/bugtracker (xml rpc et mode debug) il a longtemps déja

le module c'est Discuss

marco

Posté le : 08/05/2006 12:27

Trio de choc : FrXoops, FreeboxHD et OVH
MdxProd.com : des liens xoops indispensables
Partager Twitter Partagez cette article sur GG+
Re: architecture AJAX : exemple de module
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Marco a dit 'y a aussi discuss module de chat.

un petit tour dans le référentiel, dans la rubrique "chat" :

https://www.frxoops.org/modules/referentiel/viewcat.php?cid=12

et parmi les 8 modules, tu trouves facilements 'discuss'.
et même sans le nom, la description aide :

Citation :

Voici un module fort sympathique, qui en réalité nous montre les possibilités de la technologie AJAX.

Posté le : 08/05/2006 12:29
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

215 Personne(s) en ligne (192 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 215 | Plus ...