- 1
[Opened] [résolu] Installation du module jCommunity et surchage de dao
Posted by willy on 04/13/2011 12:24
Bonjour,
J'ai téléchargé et installé le module jcommunity dans mon projet jelix. Mais je ne voudrais pas utiliser la table community_users créé lors de l'installation de ce module par la commande installmodule. J'ai déjà une autre table pour les utilisateurs. Et je compte faire une surcharge du dao user.
1- Est-il possible d'installer le module jcommunity sans que la table community_user ne soit créée ? Si oui, comment le faire ? Sinon, pourquoi permettre la création d'une table dont on n'a pas besoin.
2- J'aimerai avoir quelques précisions au niveau de la surcharge du dao user. J'aimerai savoir ce qui doit s'y trouver pour que cela fonctionne correctement. Pourrais-je remplacer les colonnes par les miennes ? Ou alors la seule possibilité est de conserver les colonnes déjà présentes et juste d'en ajouter de nouvelles ? Je voudra apporter la précision selon laquelle j'ai remplacé les colonnes par les miennes, mais je ne parviens pas à me connecter. J'obtiens l'erreur "Login ou mot de passe incorrect".
Merçi de m'aider à comprendre tout cela afin que je puisse avancer dans mon projet.
[Opened] Installation du module jCommunity et surchage de dao
Posted by laurentj on 04/13/2011 13:52
Bonjour,
Est-il possible d'installer le module jcommunity sans que la table community_user ne soit créée ?
Non, tu peux désactiver l'execution du script d'install du module, mais c'est tout.
Sinon, pourquoi permettre la création d'une table dont on n'a pas besoin.
À priori, tu en a besoin, puisque tu veux surcharger le dao, et utiliser le module.
Je te retourne la question : pourquoi veux-tu créer une autre table ? Rien ne t'empêche d'ajouter des champs dans la table community_users (et surcharger le dao pour declarer ces autres champs).
Pourrais-je remplacer les colonnes par les miennes ?
oui, en changeant le fieldname dans la balise property. mais pas l'attribut name, puisque c'est ce nom auquel s'attend les classes de jCommunity (et jAuth). Et le type des propriétés doit être conservé (ou en tout cas, doivent être de même nature, voir les mêmes contraintes).
Ou alors la seule possibilité est de conserver les colonnes déjà présentes et juste d'en ajouter de nouvelles ?
Tu peux aussi ajouter toutes les colonnes que tu veux.
[Opened] Installation du module jCommunity et surchage de dao
Posted by foxmask on 04/13/2011 13:55
Bonjour,
Version courte :
- non
- la meme structure que la table du module dont on veut surcharger la dao
Version longue :
- on ne peut pas décider d'interdire la création de la table d'un module parce qu'on a deja une table qui gère cette fonctionnalité. Et imaginons que cela soit possible pour la création ; qu'adviendrait il lorsque le module va sortir une nouvelle version ? la mise à jour des nouvelles colonnes ne se faisant pas ; si les controleurs font appel à ces dernieres ; on n'a pas l'air bête :) Donc laisser la création se faire ; puis supprimer la table à la fin de l'installation devrait suffire.
- La structure d'un dao d'un module tiers ne doit pas modifier la nature des colonnes présente dans la DAO. Par exmeple si la primary key est une string ; on ne doit pas en faire un INTEGER.
pour les memes raisons évoquées ci-dessus; dans le controleur si on exploite une properties string mais que la surcharge en a fait un integrer ; ca va craquer de partout. Donc oui ; on conserve la nature des colonnes (on peut les renommer, en changeant le "fieldname" de la property pour que ca coïncide avec les noms de colonnes de sa table mais pas "name") et on ajoute ses nouvelles colonnes dans la DAO surchargeante. Enfin donc le message d'erreur est la traduction de tout ce que je viens d'expliquer de ce qu'il ne faut pas faire :)
I Hope this could help :)
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Installation du module jCommunity et surchage de dao
Posted by willy on 04/13/2011 17:19
Merçi pour toutes ces réponses.
J'ai pu me connecter sans souci après surchage de ma dao comme vous l'avez expliqué.
- 1