Effectivement �a venait bien de �a ;) ! (un mauvais r�flexe JAVA) - from Products.CPSRSS.RSSChannel import RSSChannel
au lieu de : - from Products.CPSRSS import RSSChannel Un grand merci pour votre aide... -----Message d'origine----- De : Tarek Ziad� [mailto:[EMAIL PROTECTED] Envoy� : jeudi 14 avril 2005 11:53 � : TERRIEN Mickael Cc : [email protected] Objet : Re: TR: [CPS-users-fr] Customiser un produit juste une id�e : from Products.CPSRSS import RSSChannel c'est pas plutot : from Products.CPSRSS.RSSChannel import RSSChannel ? TERRIEN Mickael wrote: >Oui je fais l'import de mon patch dans le fichier __init__.py de mon produit >afin que ma classe soit compil�e. > >Mon arborescence : >Products/ > - CPSRSS/ > - RSSChannel.py > - MonProduit/ > - PatchRSSChannel.py > - __init__.py -> import PatchRSSChannel > > > >-----Message d'origine----- >De : Tarek Ziad� [mailto:[EMAIL PROTECTED] >Envoy� : jeudi 14 avril 2005 11:30 >� : TERRIEN Mickael >Cc : [email protected] >Objet : Re: TR: [CPS-users-fr] Customiser un produit > > >TERRIEN Mickael wrote: > > > >>C'est justement ce que je viens d'essayer de faire : >> >>--------------- patchRSSChannel.py ---------------------------- >> >> >>from Products.CPSRSS import RSSChannel > > >>def _retrieveRSSFeed(self): >> #code modifi� >> ... >> >>RSSChannel._retrieveRSSFeed = _retrieveRSSFeed >>--------------------------------------------------------------- >> >>Mais cela ne fonctionne pas. Est-ce bien �a la syntaxe ? >> >>J'ai l'impression que mon patch n'est pas pris en compte vu que c'est une >>m�thode "priv�e" que je mets � jour. >> >> >> >> >Avez vous ajout� votre fichier dans la chaine d'initialisation de zope, >cad en import dans l'__init__.py par exemple ? > > > >> >> >> >>-----Message d'origine----- >>De : Tarek Ziad� [mailto:[EMAIL PROTECTED] >>Envoy� : jeudi 14 avril 2005 11:09 >>� : TERRIEN Mickael >>Cc : [email protected] >>Objet : Re: TR: [CPS-users-fr] Customiser un produit >> >> >>[note : je me permet de Cc sur la mailing pour archivage] >> >>Bonjour, >> >> >>TERRIEN Mickael wrote: >> >> >> >> >> >>>Bonjour, >>> >>>Merci pour votre r�ponse. >>> >>>En fait, je veux centraliser toutes mes customisations (je pr�cise "non >>>commun � plusieurs utilisateurs" sinon je vous les aurais soumis) dans mon >>>produit. >>>Mon but est de faire un "produit" et tant pis si il y a ensuite des >>>probl�mes avec les mises � jour. Je veux juste que quand je r�installe CPS >>>mes fichiers ne soient pas �cras�s donc je veux qu'ils soient dans mon >>>produit. >>> >>>J'essaie pour cela d'appliquer un patch dynamique � la classe >>>"CPSRSS/RSSChannel.py". >>> >>>C'est juste un d�tail que j'ai modifi� dans la m�thode "_retrieveRSSFeed" >>>qui m'impose de surcharger cette m�thode. >>> >>>Comment faire ? >>> >>>J'ai essay� : >>> >>>--------------- patchRSSChannel.py ---------------------------- >>>#D�but >>> >>> >>> >>> >>>from Products.CPSRSS import RSSChannel >> >> >> >> >>>#Suite >>>//Tout le code de RSSChannel.py avec ma modification dans la m�thode >>>"_retrieveRSSFeed" >>> >>>#Patch dynamique appliqu� � RSSChannel.py >>>RSSChannel = RSSChannel >>> >>>#Fin >>>--------------------------------------------------------------- >>> >>>Mais c'est toujours l'ancienne m�thode qui est prise en compte ! >>> >>>Merci d'avance. >>> >>> >>> >>> >>> >>> >>A ok en fait le principe du patch est le suivant : >> >>fichier Foo.py : >>class Foo: >> def bar(self): >> print 'fonctionnement original' >> >> >> >>le patch fichier FooPatch.py : >>(contient juste le delta) >> >> >> >>from Foo import Foo > > >>def bar(self): >> print 'je pr�f�re ainsi' >> >>Foo.bar = bar >># a partir de ce point la classe Foo est patch�e >> >> >> >> >> >> >> >> >> >> >>>-----Message d'origine----- >>>De : Tarek Ziad� [mailto:[EMAIL PROTECTED] >>>Envoy� : mercredi 13 avril 2005 13:11 >>>� : TERRIEN Mickael >>>Cc : [email protected] >>>Objet : Re: TR: [CPS-users-fr] Customiser un produit >>> >>> >>>TERRIEN Mickael wrote: >>> >>> >>> >>> >>> >>> >>> >>>>Dans mon cas, ce sont des classes de ces produits que je modifie. >>>> >>>>Par exemple, RSSChannel.py pour le produit "CPSRSS" >>>>ou encore TypeMakerTool.py pour le produit "CPSTypeMaker" >>>> >>>>Que me conseillez-vous de faire ? >>>> >>>>J'ai l'impression que c'est de cr�er mon propre produit... >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>Ca tiens plus de l'�volution d'un produit que de la cr�ation d'un >>>nouveau produit, car vous etes surement >>>en train de customiser des parties de cps qui n'ont pas �t� pr�vues >>>pour l'instant pour etre customis�s comme les schemas, layouts etc.. >>> >>>Le probl�me surviendra lorsque vous mettrez � jour les produits >>>concern�s avec des nouvelles version de CPS. >>> >>>Pouvez vous nous d�crire bri�vement les modifications que vous apportez ? >>> >>>Si ce sont des besoins de customisation communs � plusieurs >>>utilisateurs, il s'agira alors peut etre de sortir des nouveaux points >>>de customisation du produit concern� pour que vous puissiez adapter le >>>fonctionnement de mani�re p�renne. >>> >>>Tarek >>> >>> >>> >>> >>> >>> >>> >>>>-----Message d'origine----- >>>>De : Anahide Tchertchian [mailto:[EMAIL PROTECTED] >>>>Envoy� : mercredi 13 avril 2005 12:19 >>>>� : TERRIEN Mickael >>>>Cc : [email protected] >>>>Objet : Re: [CPS-users-fr] Customiser un produit >>>> >>>> >>>>TERRIEN Mickael wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Bonjour, >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>Bonjour, >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>je voudrais conna�tre la m�thode conseill�e pour customiser un produit ? >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>La m�thode conseill�e est, en effet, de cr�er son propre produit, dont >>>>l'installeur appelle l'installeur par d�faut de CPS, puis met en place >>>>les comportements personnalis�s. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Actuellement, je modifie directement les sources du produit pour qu'il >>>>>prenne en compte les cas sp�cifiques et g�n�riques. >>>>>Mais je voudrais centraliser ces modifications dans mon produit personnel. >>>>> >>>>>Quelle est la bonne m�thode ? : >>>>>- copier dans mon produit les classes en jeu >>>>>- installer le produit customis� (modifier le fichier install, ...) >>>>>dans mon produit >>>>>- syst�me de patch >>>>> >>>>>Est-ce-qu'une m�thode est ind�pendante des �ventuels mises � jour des >>>>>produits concern�s ? >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>Je ne suis pas sure de comprendre cette question, mais peut-etre que >>>>l'explication precedente y repond : c'est l'appel du script d'update de >>>>CPS avant l'installation des specificites qui assure la mise a jour >>>>correcte du site. >>>> >>>>Pour ce qui est des methodes plus "concretes", tout depend des >>>>modifications. >>>>S'il s'agit de modifier un schema/layout par exemple, il est possible de >>>>les redefinir dans votre produit, et cette configuration ecrasera la >>>>configuration par defaut. >>>> >>>>Certaines fois,la personnalisation est l�g�rement plus compliqu�e >>>>(modifications des methodes d'un widget par exemple). >>>> >>>>D'autres fois encore, il est plus simple de monkey-patcher, voire >>>>patcher, mais en g�n�ral il vaut mieux l'�viter. >>>> >>>>N'h�sitez pas � poser des questions concernant des personnalisations que >>>>vous ne sauriez pas mettre en place. >>>> >>>>Cordialement, >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >> >> >> >> > > > > -- Tarek ZIADE, Nuxeo SARL: Zope Service Provider. Mail: [EMAIL PROTECTED] - Tel: +33 (0)6 30 37 02 63 Nuxeo Collaborative Portal Server: http://www.nuxeo.com/cps Gestion de contenu web / portail collaboratif / groupware / open source _______________________________________________ cps-users-fr Adresse de la liste : [email protected] Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
