[Usuarios-plone] importando un zexp y bitacoras...

Héctor Velarde hector.velarde at gmail.com
Tue Jan 20 23:25:40 UTC 2009


javier wilson escribió:
> una de las cosas que mas me cuestan es depurar, encontrar donde esta el 
> problema,
> pocas veces he sentido los logs me ayuden.

esto se logra simplemente con la experiencia; poco a poco vas a entender 
la lógica de los mensajes de la bitácora y vas a ver que eres capaz de 
encontrar los errores rápidamente.

> hace poco intentaba exportar un .zexp e importarlo en otra maquina, 
> obtenia mensajes como:
> 
> ImportError: No module named SomeType
> 
> resulta habian objetos rotos (huerfanos?) de algun tipo cuyo producto ya 
> se habia des-instalado,
> entonces a borrar los objetos rotos en el sitio original... tuve que ir 
> directorio por directorio con el ZMI,
> borrandolos uno a uno.

ok, hay varias cosas acá que tienen que ver con buenas y malas prácticas 
de desarrollo que también es normal que a un principiante lo confundan.

me imagino que lo que estás haciendo es tratando de replicar algo que 
realizaste en un sitio de desarrollo en otro de desarrollo o producción. 
  no me voy a meter mucho en el tema porque corro el riesgo de 
explicarte otra cosa, de modo que lo mejor sería que, con base en lo que 
quieres hacer, preguntes cuáles son las mejores prácticas.

vuelvo entonces a tu pregunta; lo que ocurre acá es que has dejado 
objetos en la base de datos de un tipo de contenido que ya no existe, de 
modo que Zope (y Plone) ya no saben cómo tratarlos y por lo tanto te 
mandan el error.

yo acabo de probar lo siguiente:

1. instalé un producto que agrega un tipo de contenido (ATGoogleVideo)
2. agregué un objeto de ese tipo
3. desinstalé el producto y me quedó el objeto roto
4. busqué el tipo de contenido utilizando el catálogo y obtuve una 
referencia

entonces, puedes localizar los objetos rotos buscándolos por tipo de 
contenido con el catálogo y luego borrarlos todos.

el código que utilicé para hacer la búsqueda es el siguiente:

results = context.portal_catalog.searchResults(Type="Google Video")
print len(results)
return printed

el resultado obtenido fue 1.

para más información sobre el catálogo te recomiendo buscar el API de 
Zope o instalar el producto DocFinderTab 
(http://www.zope.org/Members/shh/DocFinderTab).

la próxima vez, primero borra los objetos antes de eliminar el tipo de 
contenido, de ese modo no tendrás este problema.

saludos

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3578 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.plone.org/pipermail/plone-usuarios-plone/attachments/20090120/92058e49/attachment.bin>


More information about the Usuarios-Plone mailing list