Thanks for reviving this issue...I started a similar thread quite a
while back for older versions of P4AVideo (1.0 and 1.1b1 on plone 2.5.5,
sites I am needing to upgrade to 3.x) but never got enough info to
figure out how to truly remove P4AVideo "under the hood." It has been on
back burner for a while but is going to be an issue again RSN as I need
to upgrade an important site that has used P4AVideo.
In my case (not as severe as yours), even with the product uninstalled
from the site and then completely removed from the instance, there is
still something left causing errors.
One basic issue: a folder that contains links to videos and was
previously set to display as a video container using P4AVideo cannot
have new links added. An error is thrown on the attempt to add a link -
traceback below (it does not matter if the link is to video content or
not). Clearly there is still something to do with plonevideoembed
happening, even though P4AVideo was uninstalled from the site and then
removed from the instance.
Any assistance appreciated, again...
thanks,
John S.
-----------------------
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Products.CMFPlone.FactoryTool, line 369, in __call__
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 90,
in __call__
Module Products.CMFFormController.BaseControllerPageTemplate, line
28, in _call
Module Products.CMFFormController.ControllerBase, line 244, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in
__call__
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 104,
in __call__
Module Products.CMFFormController.Script, line 145, in __call__
Module Products.CMFCore.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.CMFCore.FSPythonScript, line 164, in _exec
Module None, line 1, in content_edit
- <FSControllerPythonScript at /mysite.tld/mysite.tld/content_edit
used for
/mysite.tld/mysite.tld/video/portal_factory/Link/link.2010-10-20.2295548503>
- Line 1
Module Products.CMFCore.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.CMFCore.FSPythonScript, line 164, in _exec
Module None, line 11, in content_edit_impl
- <FSPythonScript at /mysite.tld/mysite.tld/content_edit_impl used
for
/mysite.tld/mysite.tld/video/portal_factory/Link/link.2010-10-20.2295548503>
- Line 11
Module Products.Archetypes.BaseObject, line 657, in processForm
Module Products.Archetypes.BaseObject, line 760, in _renameAfterCreation
Module Products.Archetypes.BaseObject, line 235, in setId
Module Products.ATContentTypes.lib.autosort, line 152, in
manage_renameObject
Module Products.CMFPlone.PloneTool, line 1192, in reindexOnReorder
Module Products.CMFCore.CatalogTool, line 388, in reindexObject
Module Products.CMFCore.CatalogTool, line 339, in __url
Module ZODB.Connection, line 732, in setstate
Module ZODB.Connection, line 786, in _setstate
Module ZODB.serialize, line 604, in setGhostState
Module ZODB.serialize, line 597, in getState
Module zope.interface.declarations, line 768, in Provides
Module zope.interface.declarations, line 671, in __init__
Module zope.interface.declarations, line 47, in __init__
Module zope.interface.declarations, line 1365, in _normalizeargs
Module zope.interface.declarations, line 1364, in _normalizeargs
TypeError: ('iteration over non-sequence', <function Provides at
0xb7733c6c>, (<class 'Products.ATContentTypes.content.link.ATLink'>,
<class 'p4a.plonevideoembed.interfaces.IVideoLinkEnhanced'>))
--------------------------------
> --
> You received this message because you are subscribed to the Google
> Groups "Plone4Artists users" group.
> To post to this group, send email to p4a-...@googlegroups.com
> To unsubscribe from this group, send email to
> p4a-user-u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/p4a-user?hl=en
> Visit the Plone4Artists site at http://plone4artists.org
--
John Schinnerer - M.A., Whole Systems Design
--------------------------------------------
- Eco-Living -
Whole Systems Design Services
People - Place - Learning - Integration
jo...@eco-living.net
http://eco-living.net
basically you have to remove all the p4a markerinterfaces from the
individual objects before you update, move your instance or remove the
product. In my book "Plone 3 Multimedia" http://amzn.to/dtrp0C there are
tips on how to do this.
Cheers,
-Tom
--
My Book "Plone 3 Multimedia" ist available! http://amzn.to/dtrp0C
Tom Gross
email..........tom@toms-projekte.de
skype.....................tom_gross
web.........http://toms-projekte.de
blog...http://blog.toms-projekte.de
Thanks...and where else is info on how to do this available, open source?
Nothing personal, I am not going to buy a $40 book just to find out how
to clean up a mess that P4AVideo leaves behind.
The fact that these products, in "release" versions, do not uninstall
themselves cleanly and will break one's site or parts of it when removed
needs to be documented clearly in the product docs, and until they do
uninstall themselves cleanly, how to clean up their mess also needs to
be documented there. I have several sites now "held hostage" by P4AVideo.
regards,
John S.
--
fair enough. There are other useful tipps in the book too ;-). But as I
said you have to remove all the marker interfaces. I don't think the 2.5
of p4a has it included but you may have a look in a recent version of
p4a.z2utils.utils. There is a helper method to remove the marker
interfaces: remove_marker_ifaces. Maybe you have to adapt it for your needs.
-Tom
--
I will look into the code you mention, hopefully something relatively
simple to be done.
If not, I'm not programmer enough to fix the product in this area,
hopefully someone is and will RSN - which may not help those of us who
have used now-legacy versions mistakenly assuming that the product could
be uninstalled by - well, uninstalling it!
thanks again,
John S.
--
I will do what I can, if I am able to figure out how to clean up after
the legacy versions I have used.
And at least it's documented in list archives now... ;-)
cheers,
John S.
On 10/20/2010 09:08 PM, Wyn Williams wrote:
> It would be an idea to document these things more clearly, and as it is
> open source I look forward to you doing just that John.
>
>
>
> On Wed, 2010-10-20 at 20:34 -1000, John Schinnerer wrote:
>> Aloha,
>>
>> Thanks...and where else is info on how to do this available, open source?
>> Nothing personal, I am not going to buy a $40 book just to find out how
>> to clean up a mess that P4AVideo leaves behind.
>>
>> The fact that these products, in"release" versions, do not uninstall
>> themselves cleanly and will break one's site or parts of it when removed
>> needs to be documented clearly in the product docs, and until they do
>> uninstall themselves cleanly, how to clean up their mess also needs to
>> be documented there. I have several sites now"held hostage" by P4AVideo.
>>
>> regards,
>> John S.
>>
>
--
A while back, August I think, there was �a p4a sprint by 6 feetup? Was anything successful?--�Eric S. Tyrer IIAssistant Director � Web Systems
�Module ZPublisher.Publish, line 115, in publish
�Module ZPublisher.mapply, line 88, in mapply
�Module ZPublisher.Publish, line 41, in call_object
�Module Products.CMFPlone.FactoryTool, line 369, in __call__
�Module ZPublisher.mapply, line 88, in mapply
�Module ZPublisher.Publish, line 41, in call_object
�Module Products.CMFFormController.FSControllerPageTemplate, line 90, in __call__
�Module Products.CMFFormController.BaseControllerPageTemplate, line 28, in _call
�Module Products.CMFFormController.ControllerBase, line 244, in getNext
�Module Products.CMFFormController.Actions.TraverseTo, line 38, in __call__
�Module ZPublisher.mapply, line 88, in mapply
�Module ZPublisher.Publish, line 41, in call_object
�Module Products.CMFFormController.FSControllerPythonScript, line 104, in __call__
�Module Products.CMFFormController.Script, line 145, in __call__
�Module Products.CMFCore.FSPythonScript, line 108, in __call__
�Module Shared.DC.Scripts.Bindings, line 311, in __call__
�Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
�Module Products.CMFCore.FSPythonScript, line 164, in _exec
�Module None, line 1, in content_edit
� - <FSControllerPythonScript at /mysite.tld/mysite.tld/content_edit used for /mysite.tld/mysite.tld/video/portal_factory/Link/link.2010-10-20.2295548503>
� - Line 1
�Module Products.CMFCore.FSPythonScript, line 108, in __call__
�Module Shared.DC.Scripts.Bindings, line 311, in __call__
�Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
�Module Products.CMFCore.FSPythonScript, line 164, in _exec
�Module None, line 11, in content_edit_impl
� - <FSPythonScript at /mysite.tld/mysite.tld/content_edit_impl used for /mysite.tld/mysite.tld/video/portal_factory/Link/link.2010-10-20.2295548503>
� - Line 11
�Module Products.Archetypes.BaseObject, line 657, in processForm
�Module Products.Archetypes.BaseObject, line 760, in _renameAfterCreation
�Module Products.Archetypes.BaseObject, line 235, in setId
�Module Products.ATContentTypes.lib.autosort, line 152, in manage_renameObject
�Module Products.CMFPlone.PloneTool, line 1192, in reindexOnReorder
�Module Products.CMFCore.CatalogTool, line 388, in reindexObject
�Module Products.CMFCore.CatalogTool, line 339, in __url
�Module ZODB.Connection, line 732, in setstate
�Module ZODB.Connection, line 786, in _setstate
�Module ZODB.serialize, line 604, in setGhostState
�Module ZODB.serialize, line 597, in getState
�Module zope.interface.declarations, line 768, in Provides
�Module zope.interface.declarations, line 671, in __init__
�Module zope.interface.declarations, line 47, in __init__
�Module zope.interface.declarations, line 1365, in _normalizeargs
�Module zope.interface.declarations, line 1364, in _normalizeargs
TypeError: ('iteration over non-sequence', <function Provides at 0xb7733c6c>, (<class 'Products.ATContentTypes.content.link.ATLink'>, <class 'p4a.plonevideoembed.interfaces.IVideoLinkEnhanced'>))
--------------------------------
On 10/20/2010 01:47 PM, Noe Misael Nieto Arroyo wrote:
Hi all,
Some time ago I built a Plone site that included p4a.ploneaudio,
p4a.plonevide and, of course, all of the dependencies.
Now that I want to uninstall them, it literally breaks the site in such
an expectacular way I can't even get to the Plone instance throug the
ZMI. The error I get is this:
2010-10-20 18:36:31 WARNING OFS.Uninstalled Could not import class
'IAudioSupport' from module 'p4a.audio.interfaces'
2010-10-20 18:36:31 WARNING OFS.Uninstalled Could not import class
'IVideoSupport' from module 'p4a.video.interfaces'
2010-10-20 18:36:31 WARNING OFS.Uninstalled Could not import class
'AudioSupport' from module 'p4a.ploneaudio.content'
2010-10-20 18:43:51 ERROR ZODB.Connection Couldn't load state for 0x1b98
Traceback (most recent call last):
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/ZODB/Connection.py",
line 761, in setstate
� � self._setstate(obj)
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/ZODB/Connection.py",
line 819, in _setstate
� � self._reader.setGhostState(obj, p)
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/ZODB/serialize.py",
line 605, in setGhostState
� � obj.__setstate__(state)
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/zope/component/persistentregistry.py",
line 42, in __setstate__
� � self._createLookup()
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/zope/interface/adapter.py",
line 80, in _createLookup
� � self._v_lookup = self.LookupClass(self)
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/zope/interface/adapter.py",
line 389, in __init__
� � self.init_extendors()
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/zope/interface/adapter.py",
line 426, in init_extendors
� � self.add_extendor(p)
� File
"/home/tzicatl/Documentos/programar/iservices/anec/parts/zope2/lib/python/zope/interface/adapter.py",
line 430, in add_extendor
� � for i in provided.__iro__:
AttributeError: type object 'IAudioSupport' has no attribute '__iro__'
2010-10-20 18:43:51 ERROR Zope.SiteErrorLog 1287618231.760.401188755449
http://localhost:9022/anec
Traceback (innermost last):
� Module ZPublisher.Publish, line 110, in publish
� Module ZPublisher.BaseRequest, line 429, in traverse
� Module ZPublisher.BeforeTraverse, line 99, in __call__
� Module Products.CMFCore.PortalObject, line 94, in
__before_publishing_traverse__
� 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 zope.app.component.site, line 375, in threadSiteSubscriber
� Module zope.app.component.hooks, line 61, in setSite
� Module Products.CMFCore.PortalObject, line 75, in getSiteManager
� Module ZODB.Connection, line 761, in setstate
� Module ZODB.Connection, line 819, in _setstate
� Module ZODB.serialize, line 605, in setGhostState
� Module zope.component.persistentregistry, line 42, in __setstate__
� Module zope.interface.adapter, line 80, in _createLookup
� Module zope.interface.adapter, line 389, in __init__
� Module zope.interface.adapter, line 426, in init_extendors
� Module zope.interface.adapter, line 430, in add_extendor
AttributeError: type object 'IAudioSupport' has no attribute '__iro__'
The version of the packages are these:
p4a.fileimage = svn
http://svn.plone.org/svn/collective/p4a/p4a.fileimage/trunk/@99100
p4a.audio = �svn
--
Visit the Plone4Artists site at http://plone4artists.org --
FYI for anyone finding this thread and dealing with older versions of
P4A like 1.0 and 1.1b1 (on plone 2.5.x) - there is such a helper method,
it's in
pythonlib/p4a/z2utils/utils.py
within the P4A product bundle files.
If I can figure out how to use/apply it, I'll post more info.
If anyone already knows how please advise.
thanks,
John S.
--
Please put it up at
http://www.coactivate.org/projects/plone-video-sprint/2010 if you are keen.
Cheers
And.