Zope… continuado.

Indagando mucho mas en la migracion de squishdot de zope2.7 a 2.9, finalmente he dado con:

»Re: Broken postings after migration to 2.8.4.

by Ignacio Valdes Jan 20, 2006; 08:06am :: Rate this Message:

**Hello all, thanks to Chris Withers magic, here is the fix for old
Squishdot sites migrating to Zope 2.8:

First, the problem: «intSet has been deprecated for about 5 years, and
Squishdot hasn’t used it in about as long. Sadly, Squishdot sites
created before then will, apparently, still have some intSet’s in
them. In 2.8, the class was finally removed, and so Zope no longer
knows what to do with the data that makes up the intSet object, hence
the KeyErrors you were getting. fixdot basically goes through all the
postings and replaces any intSets it finds with IISets, which are the
new version.»

To run fixdot, create the file fixdot.py in the Extensions
subdirectory in the filesystem of your current zope that is NOT 2.8.x
ie you must run this BEFORE you migrate to 2.8.x. fixdot.py should
contain the following code:

from StringIO import StringIO
from intSet import intSet
from BTrees.IIBTree import IISet

def fixdot(self):
output = StringIO()
for id,posting in self.data.items():
if isinstance(posting.ids,intSet):
posting.ids = IISet(posting.ids)
print >> output, ‘Fixed ‘,id

print >> output, ‘Done!’
return output.getvalue()

After creating fixdot.py in the Extensions folder, go to the ZMI and
in the Squishdot site subdirectory, Add an External Method. Fill in
fixdot for all of the fields it asks for. Then run it. For example, it
can be invoked as follows: http://localhost:8080/squishinstance/fixdot

where squishinstance is the name of your old squishinstance. After
this has run, it should be migratable to 2.8.x Good luck!

Other edits I did:

Which are linked from the article discussion at:

There may also be an issue with TinyTablePlus on 2.8.x that requires a
small edit but I’m no longer sure what that is.

— IV

Ahora en lo que estoy trabajando es en un par de chroots (uno de sarge y otro de etch, realmente prefiero hacer un tiradero en el par de chroots, creados con debootstrap, eso y que la conexion con nisamox, desde mi oficina es de casi 2mbits) donde he estado trabajando puesto que el servidor de producción ya esta viejito…

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.