[Plone-IT] spostare contenuti... ma sotto sotto.
SauZheR at gOOgle
sauzher a gmail.com
Gio 16 Lug 2009 09:31:01 UTC
Il giorno 15 Luglio 2009 11.41, Yuri<yurj a alfa.it> ha scritto:
> SauZheR at gOOgle ha scritto:
>>
>> Salve a tutti.
>> Ho la necessita' di spostare grossi quantitativi di dati tra cui
>> centinaia di pdf da una cartella plone in un altro oggetto (dello
>> stesso plone) derivato da atfolder.
>> Tecnicamente in un db ad oggetti non c'e' nulla di piu' facile. Basta
>> "appendere" al nuovo container il riferimento agli oggetti contenuti
>> nel old_folder.
>> In effetti l'approccio funziona. Un semplice ciclo:
>>
>> for key, obj in old_folder.objectItems():
>> new_folder[key]=obj
>>
>> fa esattamente cio' che voglio.
>> Rimane solo da cancellare l'old_folder e dare al new_folder l'id che
>> aveva l'old.
>>
>> Il problema e' che questo approccio interessa il catalogo e
>> l'operazione dura diverse decine di minuti per reindicizzare
>> soprattutto i pdf. Alla fine, dal punto di vista del catalogo non
>> dovrebbe cambiare nulla: i percorsi rimangono gli stessi e ugualmente
>> rimangono invariati gli UID.
>>
>> La domanda e': come posso evitare che il catalogo venga interessato da
>> queste operazioni?
>>
>
> queuecatalog :)
>
> http://pypi.python.org/pypi/Products.QueueCatalog
>
> QueueCatalog - asynchronous cataloging
>
> A QueueCatalog delegates most requests to a ZCatalog that is named as part
> of the QueueCatalog configuration.
>
> Requests to catalog or uncatalog objects are queued. They must be processed
> by a separate process (or thread).
>
> The queuing provides benefits:
>
> * Content-management operations, performed by humans, complete much
> faster, this making the content-management system more effiecient
> for it's users.
> * Catalog updates are batched, which makes indexing much more efficient.
> * Indexing is performed by a single thread, allowing more effecient
> catalog document generation and avoiding conflict errors from
> occuring during indexing.
> * When used with ZEO, indexing might e performed on the same machine
> as the storage server, making updates faster.
>
>
>
> http://pypi.python.org/pypi/Products.PloneQueueCatalog
>
> Products.PloneQueueCatalog makes it easier to use QueueCatalog in your Plone
> site.
>
Questa utility e' sicuramente molto interessante. vale la pena approfondire.
>
> Oppure togli l'utility per reindicizzare i pdf (pdftohtml o simile), fai
> l'operazione, e poi quando hai possibilità, reindicizzi.
Plausibile. sarebbe opportuno scriptare il tutto, altrimenti la vedo
troppo inciampevole.
>
> Oppure non fai nulla, poiché il catalogo reindicizza per path e tu quello
> non lo cambi, quindi basta che aggiorni lo uid dell'oggetto forse? Mah...
Dopo l'operazione, se non cancello nulla, ho lo stesso oggetto
indicizzato 2 volte. Cioe' ci sono 2 entry nel catalogo che puntano a
2 path diversi, ma ciascuno di questi URL puntano allo stesso oggetto
nel data.fs: i.e. se modifico l'oggetto di un path, vedo la modifica
anche all'altro path. Credo che ci siano anche 2 uid, a questo punto.
In quanto l'associazione biunivoca mi sembra essere UID<->path...il
che mi creera' qualche problema.
Questo sdoppiamento vorrei evitarlo.
>
>> Grazie dell'attention :P
>>
>> alessandro.
>>
>>
vi faccio sapere ;)
--
bye
SauZheR
************************************
l'iterazione è umana...
la ricorsione, Divina!
************************************
reply to: sauzher AT gmail DOT com
Maggiori informazioni sulla lista
Plone-IT