#92 — Can't clone a site with CacheFu installed

by Ricardo Newbery last modified Jan 08, 2009 02:25 PM
State Tested and confirmed closed
Version: 1.1
Area Functionality
Issue type Bug
Severity Low
Submitted by Ricardo Newbery
Submitted on Aug 17, 2007
Responsible Ricardo Newbery
Target release: 1.1.1
Can't clone a site with CacheFu installed. By cloning, I mean within the ZMI root, copy and paste. An AttributeError is raised upon attempting the paste. This happens even if CacheFu is "disabled". Temporarily uninstalling CacheFu in the QI is a workaround but then you lose your CacheFu settings.

Adding this here to remind myself to fix it before the next release.

Traceback (innermost last):
  Module ZPublisher.Publish, line 119, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 42, in call_object
  Module OFS.CopySupport, line 222, in manage_pasteObjects
  Module zope.event, line 23, in notify
  Module zope.component.event, line 26, in dispatch
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module zope.component.event, line 33, in objectEventNotify
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module OFS.subscribers, line 140, in dispatchObjectCopiedEvent
  Module zope.app.container.contained, line 182, in dispatchToSublocations
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module OFS.subscribers, line 140, in dispatchObjectCopiedEvent
  Module zope.app.container.contained, line 182, in dispatchToSublocations
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module plone.app.linkintegrity.handlers, line 60, in modifiedArchetype
  Module Products.Archetypes.Referenceable, line 57, in addReference
  Module Products.Archetypes.ReferenceEngine, line 356, in addReference
  Module OFS.ObjectManager, line 347, in _setObject
  Module zope.event, line 23, in notify
  Module zope.component.event, line 26, in dispatch
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module zope.component.event, line 33, in objectEventNotify
  Module zope.component._api, line 130, in subscribers
  Module zope.component.registry, line 290, in subscribers
  Module zope.interface.adapter, line 535, in subscribers
  Module OFS.subscribers, line 118, in dispatchObjectMovedEvent
  Module OFS.subscribers, line 151, in callManageAfterAdd
  Module Products.Archetypes.ReferenceEngine, line 149, in manage_afterAdd
  Module Products.Archetypes.Referenceable, line 219, in manage_afterAdd
  Module Products.Archetypes.Referenceable, line 200, in _updateCatalog
  Module Products.Archetypes.Referenceable, line 289, in _catalogUID
  Module Products.Archetypes.UIDCatalog, line 212, in catalog_object
  Module Products.CacheSetup.patch, line 93, in catalog_object
  Module Products.CacheSetup.patch, line 83, in _purge
  Module Products.CMFSquidTool.queue, line 120, in queue
  Module Products.CMFSquidTool.SquidTool, line 147, in getUrlsToPurge
  Module Products.CMFCore.Skinnable, line 123, in getSkinNameFromRequest
AttributeError: 'NoneType' object has no attribute 'get'
Added by Ricardo Newbery on Aug 21, 2007 09:24 AM
Issue state: unconfirmedopen
Target release: 1.1.1None
Added by (anonymous) on Sep 25, 2007 08:27 AM
I get the same error when trying to install CacheFu from script:

qi.installProduct('CacheSetup',locked=0)
Added by Maurits van Rees on Nov 16, 2007 03:24 PM
I have the same traceback when I reinstall eXtremeManagement on a Plone 3.0.2 or 3.0.3 site.

And right after that I get a lot of lines complaining Zope cannot find javascript files, like this:

  Sorry, the requested resource does not exist.
  Check the URL and try again.
  Resource:
  http://projects.zestsoftware.nl/[…]/p>


I think I fixed this. I created a branch of the CMFSquidTool trunk:
https://svn.plone.org/[…]/maurits-fix-get-urls-to-purge

This changeset fixes it for me:
http://dev.plone.org/collective/changeset/53973

The test I added there fails, but at least it does not throw an exception. The failure is:

  AssertionError: ['plone/portal_skins/plone_images/logo.jpg/foo', 'plone/logo.jpg/foo'] != ['http://nohost/plone/portal_skins/plone_images/logo.jpg/foo', 'http://nohost/plone/logo.jpg/foo']

Can someone check if the fix is good anyway?
Added by Reinout van Rees on Dec 28, 2007 11:30 AM
Issue state: openresolved
I merged Maurits' branch to trunk (and fixed up the test right away). This fixes it for me.
Added by John DeStefano on Jan 07, 2008 07:25 PM
I can confirm this error on a 2.5.5 site migrated to 3.0.4 (and then to 3.0.5 in hopes of fixing this). CacheFu doesn't even need to be installed; just having its component directories added to the Products tree seems to kick this off.
Added by Ricardo Newbery on Feb 06, 2008 04:43 AM
Issue state: resolvedclosed
Target release: None1.1.1

Maurit's cmfsquidtool fix seems to fix this but I added another fix to the Install utils that appeared to be contributing to this... http://dev.plone.org/collective/changeset/58323

No responses can be added.