[silva-dev] Silva2.0 document creation times?
Andy Altepeter
aaltepet at bethel.edu
Thu Jul 12 18:56:29 CEST 2007
On Thursday 12 July 2007 11:08, Andy Altepeter wrote:
> Greetings,
>
> It appears that Silva 2.0 doesn't set the creation datetime on newly
> created documents. It does appear to work in Silva 1.5.3. Ideas?
I have one:
Upon looking further, it seems that the set_creation_datetime function used to
called in SilvaObject.manage_afterAdd
Now in Silva2.0, which uses zope3 events, this is placed in an event handler,
SilvaObject.object_moved, and registered on the IObjectMoved event. This
event does get called when an object is added, and it does appear to set the
creationtime.
So, jumping into SilvaObject._set_creation_datetime, I'm getting a
BindingError. Here's the traceback (of course, most relevant at the bottom):
2007-07-12 11:46:40 ERROR Zope.SiteErrorLog
http://cirdan.its.bethel.edu:9180/sr/edit/add_object_submit
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 Products.FileSystemSite.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.FileSystemSite.FSPythonScript, line 164, in _exec
Module None, line 4, in add_object_submit
- <FSPythonScript
at /sr/service_views/Silva/edit/Container/add_object_submit used
for /sr/service_views/Silva/edit/Container/Publication>
- Line 4
Module Products.FileSystemSite.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.FileSystemSite.FSPythonScript, line 164, in _exec
Module None, line 51, in add_submit
- <FSPythonScript at /sr/service_views/Silva/add/add_submit used
for /sr/service_views/SilvaDocument/add/Document>
- Line 51
Module Products.FileSystemSite.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.FileSystemSite.FSPythonScript, line 164, in _exec
Module None, line 1, in add_submit_helper
- <FSPythonScript
at /sr/service_views/SilvaDocument/add/Document/add_submit_helper>
- Line 1
Module Products.Silva.zcml.handlers, line 196, in factory_method
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 Products.Silva.SilvaObject, line 593, in object_moved
Module Products.Silva.SilvaObject, line 125, in _set_creation_datetime
Module Products.SilvaMetadata.MetadataTool, line 148, in getMetadata
BindingError: invalid content type Silva Document for metadata system
For Documents (and prob. all VersionedContent types that use the provided
dynamic content_factories), the object_moved event calls
_set_creation_datetime on the object (a "Silva Document"), which isn't
registered in the metadata system.
SilvaDocumentVersions, however, are registered for metadata. Looking in
SilvaObject.get_creation_datetime, the retrieval of the actual dt is on
object.get_previewable (which for versionedcontent types, returns the
previewable version).
I think the last line of SilvaObject.object_moved should be changed from:
object._set_creation_datetime()
to:
object.get_previewable()._set_creation_datetime()
(given that get_creation_datetime defers to get_previewable)
I can make this change, but want to pass it by the folks at infrae before I
do.
Cheers,
Andy
>
> Andy
>
> _______________________________________________
> silva-dev mailing list
> silva-dev at lists.infrae.com
> https://lists.infrae.com/mailman/listinfo/silva-dev
More information about the silva-dev
mailing list