[Setup] Re: Migration from 2.5.5 -> 3.0.6

Maurits van Rees m.van.rees at zestsoftware.nl
Fri Aug 22 00:01:51 UTC 2008


Hi, 

I will add some comments inline.

akertis, on 2008-08-21:
>
> I was first trying 3.1 then 3.0 actually seemed to work a little better. I
> couldn't even get to zmi/Plone at all because it would error out and I
> installed 3.1 again and this is the error i'm getting. Previously I could
> get the plone part to load and run the portal_migration but not with 3.1.
>
> 2008-08-21T17:42:30 INFO ZServer HTTP server started at Thu Aug 21 17:42:30
> 2008
> 	Hostname: prodwebwin02.energycap.local
> 	Port: 81
> ------
> 2008-08-21T17:42:30 INFO ZServer HTTP server started at Thu Aug 21 17:42:30
> 2008
> 	Hostname: prodwebwin02.energycap.local
> 	Port: 8080
> ------
> 2008-08-21T17:42:41 WARNING Init Class Products.Formulator.Form.ZMIForm has
> a security declaration for nonexistent method 'fieldAdd'
> ------
> 2008-08-21T17:42:41 WARNING Init Class Products.Formulator.Form.ZMIForm has
> a security declaration for nonexistent method 'fieldAdd'
> ------

These warnings are harmless and can be ignored.

> 2008-08-21T17:42:41 ERROR Application Could not import Products.Formulator
> Traceback (most recent call last):
>   File "C:\Program Files\Plone 3\Zope\lib\python\OFS\Application.py", line
> 709, in import_product
>     product=__import__(pname, global_dict, global_dict, silly)
>   File "e:\Plone 2\Data\Products\Formulator\__init__.py", line 16, in ?
>     
>   File "e:\Plone 2\Data\Products\Formulator\FSForm.py", line 10, in ?
> ImportError: cannot import name expandpath

This looks like the version of Formulator you are using is not
compatible with Plone 3 or you are missing a dependency.

> ------
> 2008-08-21T17:42:42 ERROR ShellExServer EventMarshaller not available. You
> will not be able to import and export iCalendar files properly without this.
> Traceback (most recent call last):
>   File "e:\Plone 2\Data\Products\ShellExServer\config.py", line 52, in ?
> ImportError: No module named Calendaring.marshaller

Apparently you are missing a product called Calendaring here.  The
error sounds more like a warning: you are missing some functionality
but Zope can start up just fine.

> 2008-08-21T17:42:56 ERROR Application Couldn't install DavPack
> Traceback (most recent call last):
>   File "C:\Program Files\Plone 3\Zope\lib\python\OFS\Application.py", line
> 786, in install_product
>     initmethod(context)
>   File "e:\Plone 2\Data\Products\DavPack\__init__.py", line 733, in
> initialize
>   File "C:\Program Files\Plone 3\Data\Products\Archetypes\utils.py", line
> 765, in getPkgInfo
>     ['__pkginfo__'])
>   File "C:\Program Files\Plone 3\Data\Products\Archetypes\__pkginfo__.py",
> line 12, in ?
>     bugfix, release = bugfix.split('-')[:2]
> ValueError: need more than 1 value to unpack

This looks like an error in DevPack.  Perhaps there is a newer
version.  I don't know this product.


> 2008-08-21T17:43:12 WARNING OFS.Uninstalled Could not import class
> 'GlossaryTopic' from module 'Products.ZopeTutorial.TutorialTopic'
> ------
> 2008-08-21T17:43:12 WARNING OFS.Uninstalled Could not import class
> 'FieldHelpTopic' from module 'Products.Formulator.FieldHelpTopic'

I see these two warnings too in some sites.  Irritating but harmless.

> ------
> 2008-08-21T17:43:12 INFO Zope Ready to handle requests
> ------
> 2008-08-21T17:43:19 WARNING OFS.Uninstalled Could not import class
> 'PloneFormMailer' from module 'Products.PloneFormMailer.PloneFormMailer'
> ------
> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
> 'CalendarTool' from module 'Products.Calendaring.tools.calendar'
> ------
> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
> 'LocalSiteHook' from module 'Products.Five.site.localsite'
> ------
> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
> 'CustomSearch' from module 'Products.customsearch.customsearch'
> ------
> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
> 'webexform' from module 'Products.webEx.webex.webexform'

Looks like you hade these products in your Plone 2.5 site and have not
put them in the Products directory in Plone 3.

> 2008-08-21T17:43:24 ERROR ZPublisher BeforeTraverse: Error while invoking
> hook: "__local_site_hook__"
> Traceback (most recent call last):
>   File "C:\Program Files\Plone
> 3\Zope\lib\python\ZPublisher\BeforeTraverse.py", line 145, in __call__
>     meth(*(container, request, None)[:args])
> AttributeError: __call__
> ------
> 2008-08-21T17:43:25 ERROR Zope.SiteErrorLog
> http://localhost:8080/Plone/manage_main
> Traceback (innermost last):
>   Module ZPublisher.Publish, line 125, in publish
>   Module Zope2.App.startup, line 238, in commit
>   Module transaction._manager, line 96, in commit
>   Module transaction._transaction, line 395, in commit
>   Module transaction._transaction, line 495, in _commitResources
>   Module ZODB.Connection, line 510, in commit
>   Module ZODB.Connection, line 555, in _commit
>   Module ZODB.Connection, line 582, in _store_objects
>   Module ZODB.serialize, line 407, in serialize
>   Module OFS.Uninstalled, line 40, in __getstate__
> SystemError: This object was originally created by a product that
>             is no longer installed.  It cannot be updated.
>             (<LocalSiteHook at broken>)

Okay, this one is nasty and can be tricky to get rid of.  You
definitely need backups here in case you make a mistake that can't be
reverted.

Some info about the error is here:

http://groups.google.com/group/getpaid-dev/browse_thread/thread/eb7b681511667e42/e8a81f505aea9bbb?#e8a81f505aea9bbb

Best is to try and fix this in Plone 2.5, like I mentioned in one of
the posts of that thread:

1. In the quick installer uninstall CMFonFive if you have that
   installed.  Also: do *not* add CMFonFive to your Products directory
   under Plone 3.  If you have no CMFonFive in Plone 2.5, you can
   ignore this first point.

2. Go to http://<your plone site>/manage_site.html
   Click on the "Unmake site" button. 

Hopefully this will function without errors.  And hopefully you will
then be able to start your plone 3 site also without errors.  When
not, there are some things you can try in Plone 3, but it's much
harder there.  Here goes.


Add these lines at the top of
C:\Program Files\Plone 3\Zope\lib\python\Products\Five\site\localsite.py:

-------------------------------------
from zope.event import notify
from ExtensionClass import Base

class LocalSiteHook(Base):
    def __call__(self, container, request):
         pass
-------------------------------------

This should make the LocalSiteHook object not broken anymore.  If Zope
then starts up correctly you can breathe a sigh of relief. :-)

It's a workaround.  Really the (formerly) broken object should be
removed.  On Linux I would start Zope in debug mode with "bin/zopectl
debug".  I think there is no way to do that on Windows though.  If you
know PDBDebugMode you can put that in your instance and perform some
actions in the python prompt that comes up when you encounter an
exception after starting zope with runzope.bat.  For the record, this
is what I would do (I'm doing this from memory):

import transaction
del app.__local_site_hook__
transaction.commit()
# Or perhaps the broken object needs to be removed from
# the Plone Site:
del app.your_plone_site_id.__local_site_hook__
transaction.commit()

And I had a case where after a zope start the component registry was
dead and I needed to do this:

from zope.component.globalregistry import globalSiteManager
app.setSiteManager(globalSiteManager)
transaction.commit()


If you start screaming now, that is perfectly understandable. ;-)
This stuff is ugly and scary.  At least I did not like having to do
this for a client; but that site is still running fine after this
treatment. :-)


> ComponentLookupError: (<InterfaceClass
> plone.portlets.interfaces.IPortletManager>, 'plone.leftcolumn')

Hopefully this error goes away after you have run the plone_migration.
Perhaps it is also caused by the broken local site hook.

Good luck!

-- 
Maurits van Rees | http://maurits.vanrees.org/
            Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]




More information about the Setup mailing list