Seguendo il suggerimento di silvio, ho incapsulato un debugger in una
except Type error

il problema e' nella serializzazione del dizionario "state" di un oggetto.
Tutti gli oggetti hanno in questo dizionario informazioni come la
workflow history, date di aggiornamento e creazione, autore e cosi'
via.

Gli oggetti che fanno saltare il tutto hanno una voce in piu' in
questo dizionario: notifyModified che ha come valore una istanza di
una funzione lambda.
forzando all'uopo un del(state['notifyModified']) e facendo proseguire
le serializzazioni la transazione viene committata e tutto funziona!!

Dov'e' il vero PITA?

Ogni volta ho oggetti diversi che mi fanno scattare l'except. Partendo
sempre dalle stesse copie di Data.fs e Catalog.fs e lanciando l'update
security settings gli oggetti che incappano nel type error non sono
sempre gli stessi.

mi rimane il dubbio su come far funzionare le cose in produzione.. ma
almeno mi ci avvicino.

grazie a tutti.



Il 17 giugno 2010 10.31, SauZheR <[email protected]> ha scritto:
> grazie ad entrambi delle preziose indicazioni...
> mi appropinquo al debugging...
>
>
> Il 16 giugno 2010 18.56, Riccardo Lemmi <[email protected]> ha scritto:
>> On Wednesday 16 June 2010, SauZheR wrote:
>>> salve.
>>> oggi ho modificato un permesso nel workflow e ho cliccato su [update
>>> security settings]
>>>
>>> Questo http://pastie.org/private/q0vtogxqmc7mycdfedr1a il risultato...
>>>
>>> chestrami*:"@"ç#a vuole??
>>>
>>>
>>> l'ambiente, oltre a quello che si legge, e' uno zeo con catalogo
>>> montato separatamente. L'istanza e' una col debugmode on accesa
>>> appositamente per lanciare l'operazione
>>>
>>> grazie, e scusate lo sfogo.
>>> alessandro.
>>
>> 'catalogo montato separatamente' vuol dire che hai un mount point solo per
>> portal_catalog?
>>
>> TransactionFailedError significa che durante l'esecuzione una transazione è
>> andata male e ha provocato il rollback di tutta la transazione (tipicamente
>> durante la chiamata a savepoint, cioè durante un commit parziale).
>>
>> L'errore nell'operazione (TypeError: can't pickle function objects) mi fa
>> pensare che hai nel catalogo un oggetto non picklable o più probabilmente hai
>> un riferimento diretto ad un oggetto che sta in un mount point diverso (tipo
>> dentro l'istanza Plone).
>>
>> Puoi provare a controllare se hai valori negli indici o nei metadati che non
>> siano pickable in tal caso devi cancellare l'indice o il metadato e capire
>> come mai ci è finito un valore del genere prima di procedere alla
>> ricostruzione.
>> --
>> Riccardo Lemmi                           Email:   [email protected]
>> Reflab S.r.l. - Plone Design, Development and Consulting
>> Phone: +39 349 4620820                         http://www.reflab.com
>>
>> _______________________________________________
>> Plone-IT mailing list
>> [email protected]
>> http://lists.plone.org/mailman/listinfo/plone-it
>> http://www.nabble.com/Plone---Italy-f21728.html
>>
>
>
>
> --
>  bye
> SauZheR
> ************************************
> l'iterazione è umana...
> la ricorsione, Divina!
> ************************************
> reply to: sauzher AT gmail DOT com
>



-- 
  bye
SauZheR
************************************
l'iterazione è umana...
la ricorsione, Divina!
************************************
reply to: sauzher AT gmail DOT com
_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a