I use Zope 2.7.4-0, CMF-1.4.7, Plone-2.1-alpha. I create a Zope
instance and a Plone site, and my idea is to use an external
PUT_factory and not the one from CMFCore/PortalFolder.py which is
executed by default. I tried to overwrite this method by creating the
"External Method" in the Plone site:
     Id: PUT_factory
     Title: PUT factory for Page Templates
     Module Name: PUT_factory
     Function Name: PUT_factory
but I obtained the error: [The id "PUT_factory" is invalid - it is
already in use].

   I need to use a PUT_factory different from which CMFCore uses,
because there are things that the PUT_Factory by default doesn't do,
like adding the metadata to the Plone's catalogue once a file is
transferred by WebDAV. For example, if I upload a text file
(test.txt), I need that the PUT_factory adds a title to the file. By
default, PUT_factory doesn't add anything to the metadata, but the
"Title" field is obligatory in Plone, because is one by which the
Plone implements his search engines.

If I add the following line to the CMFCore/PortalFolder.py everything
works fine, but I want to find a solution without my intervention to
source code:
--- 1   Wed Apr 20 11:28:31 2005
+++ 2   Wed Apr 20 11:28:56 2005
@@ -344,6 +344,7 @@
         # XXX: this is butt-ugly.
         obj = aq_base( self._getOb( name ) )
         self._delObject( name )
+        obj.title = name
         return obj
     security.declareProtected(AddPortalContent, 'invokeFactory')

Any ideas? Any other solution?

Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to