modification_date erronée

3 messages Options
Embed this post
Permalink
danielle

modification_date erronée

Reply Threaded More More options
Print post
Permalink
Bonjour,
et bien voilà, j'ai créé un nouveau type de contenu à l'aide de DataGridField. Quand j'édite une instance et ajoute une colonne au champ DataGridField, les modifications sont bien visibles  et la date de modification affichée est correcte :
Dernière modification  22/02/2009 11:51,
cependant quand je fais des manips, foin de ma nouvelle colonne et j'ouvre une session de Clouseau :
td3.modification_date
DateTime('2009/02/22 11:48:54.601 GMT+1')
Un td3.update(**dict(fieldname='datas'))  ne fais rien à l'affaire : td3.datas n'est pas à jour
Ce n'est que lorsque je fais un @@reload que td3.modification_date est correcte et que je peux atteindre ma nouvelle colonne.



Alexandre Garel

Re: modification_date erronée

Reply Threaded More More options
Print post
Permalink
danielle a écrit :

> Bonjour,
> et bien voilà, j'ai créé un nouveau type de contenu à l'aide de
> DataGridField. Quand j'édite une instance et ajoute une colonne au champ
> DataGridField, les modifications sont bien visibles  et la date de
> modification affichée est correcte :
> Dernière modification  22/02/2009 11:51,
> cependant quand je fais des manips, foin de ma nouvelle colonne et j'ouvre
> une session de Clouseau :
> td3.modification_date
> DateTime('2009/02/22 11:48:54.601 GMT+1')
> Ce n'est que lorsque je fais un @@reload que td3.modification_date est
> correcte et que je peux atteindre ma nouvelle colonne.
>  
Avec quoi ajoute tu la colonne, utilise tu le fichier source de ton type
de contenu ? Utilise tu un outil genre Schema Extender ?

Si ton instance est lancé en 'fg', les templates et ressources statiques
sont mises à jour immédiatement, ce peut être le cas des javascript par
exemple qui composent DataGridField. Par contre les objets python qui
doivent enregistrer les données n'auront un schéma à jour qu'après un
reload.

Alex


--
Alexandre Garel - [hidden email]
Pilot Systems - 9, rue Desargues - 75011 Paris
Tel : +33 1 44 53 05 55 - http://www.pilotsystems.net
Hébergement Zope et Plone gratuit - http://www.objectis.org



_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr
Alexandre Garel

Re: modification_date erronée

Reply Threaded More More options
Print post
Permalink
danielle davout a écrit :

> Merci, effectivement j'étais en mode debug et en mode normal les
> modification_date sont maintenant ok, je n'aurais pas penser seule aux
> eventuels effets secondaires du mode debug
> Cependant je ne suis pas sortie d'affaire...
> Pour ajouter une colonne, je me sers de l'interface plone, j'entre les
> données à la main.
> En fait je propose juste une interface graphique pour construire petit
> à petit un thesaurus collant au contenu du site, un mot une colonne
>  Ce n'est donc pas du contenu que je vais chercher dans un fichier.
> Je n'utilise pas SchemaExtender
> pour tout dire
> ThesaurusDataSchema = ATContentTypeSchema.copy() + atapi.Schema((
>
>     atapi.StringField('language',
>         required=True,
>         storage=atapi.AnnotationStorage(),
>         widget=atapi.StringWidget(label=_(u"language"),
>                                   description=_(u""))
>         ),
>
>     DataGridField('datas',
>             searchable=True,
>             columns=columns,
>             allow_empty_rows = False, # Must be false to make auto
> insert feature perform correctly
>             widget = DataGridWidget(
>                 auto_insert = True,
>                 description=description,
>                 columns={},
>              ),
>      ),
> avec AnnotationStorage pour le titre et la description
>
>
> Ce que je ne comprend pas, mais pas du tout, c'est que je n'ai pas
> accès aux colonnes que je viens de rentrer directement alors
> - que je les vois affichées et
> - que si je fais une copie de mon thesaurus, toujours via l'interface,
>  là je n'ai pas de problème
> J'arrive même après avoir l'enregistrer à la main
> à l'aide de Clouseau à la faire reconnaitre comme un
> thesaurus pour txngindex, le but ultime de tous mes efforts. C'est frustrant
>  
Il faudrait aller dans le détail à ce stade là. Ce n'est clairement pas
simple.

Si je devais chercher, je regarderais du coté du schéma. En effet, si je
modifie le schéma à la volée, quand je crée un nouvel objet le schéma
est copié, mais dans les objets créés précédemment le schéma est peut
être une ancienne copie (ce n'est pas forcément exactement ça mais une
chose de cet ordre là).

En plone 3, lorsque l'on retrouve le schema, il y a appel à une
adaptation (schema = ISchema(self) dans Archetypes/BaseObject.py). C'est
peut être à cet endroit qu'il faut se plugguer et adapter pour renvoyer
une version à jour du schema ?


Alex


> 2009/2/22 Alex Garel <[hidden email]>:
>  
>> danielle a écrit :
>>    
>>> Bonjour,
>>> et bien voilà, j'ai créé un nouveau type de contenu à l'aide de
>>> DataGridField. Quand j'édite une instance et ajoute une colonne au champ
>>> DataGridField, les modifications sont bien visibles  et la date de
>>> modification affichée est correcte :
>>> Dernière modification  22/02/2009 11:51,
>>> cependant quand je fais des manips, foin de ma nouvelle colonne et j'ouvre
>>> une session de Clouseau :
>>> td3.modification_date
>>> DateTime('2009/02/22 11:48:54.601 GMT+1')
>>> Ce n'est que lorsque je fais un @@reload que td3.modification_date est
>>> correcte et que je peux atteindre ma nouvelle colonne.
>>>
>>>      
>> Avec quoi ajoute tu la colonne, utilise tu le fichier source de ton type
>> de contenu ? Utilise tu un outil genre Schema Extender ?
>>
>> Si ton instance est lancé en 'fg', les templates et ressources statiques
>> sont mises à jour immédiatement, ce peut être le cas des javascript par
>> exemple qui composent DataGridField. Par contre les objets python qui
>> doivent enregistrer les données n'auront un schéma à jour qu'après un
>> reload.
>>
>> Alex
>>
>>
>> --
>> Alexandre Garel - [hidden email]
>> Pilot Systems - 9, rue Desargues - 75011 Paris
>> Tel : +33 1 44 53 05 55 - http://www.pilotsystems.net
>> Hébergement Zope et Plone gratuit - http://www.objectis.org
>>
>>
>>    
>
>  

--
Alexandre Garel - [hidden email]
Pilot Systems - 9, rue Desargues - 75011 Paris
Tel : +33 1 44 53 05 55 - http://www.pilotsystems.net
Hébergement Zope et Plone gratuit - http://www.objectis.org



_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr