[Zope-CMF] custom WebDAV upload handling
David Pratt
fairwinds at eastlink.ca
Tue Jun 7 22:06:04 EDT 2005
Hi Raphael. Perhaps a workflow could be a solution.
You could create an uploads folder that all your bib uploads will be
uploaded into. So instead of registering a content_type in the
registry, you can rely on existing type (File type) that is already
happy with WebDAV and create a file workflow In your workflow script
you could test to see that the upload is coming from the specific
upload folder for your bib files and if it meets this condition changes
the type to what you need and execute anything else you need to do,
like put the files where you want (not sure about your specific needs).
If the file is not being uploaded into the specified folder, it would
pass through script without changing the type. I have used this
approach and it has worked fine for me where I change the type and run
some other processes when a file is uploaded using a regular upload or
using WebDAV.
Alternatively, if you are going to add webdav functionality to your
product, I believe this is demonstrated in CMFDefault in file content
type (File.py) that has upload and webdav methods for hints.
Hope this helps.
Regards
David
On Tuesday, June 7, 2005, at 07:17 AM, Raphael Ritz wrote:
> Hi,
>
> looks like I don't see the forrest for the trees.
>
> What I want to do:
>
> I have a custom product (CMFBibliography) to handle references
> to publications.
>
> Now I want to support FTP/DAV upload of Bibtex files, which may
> contain an arbitrary number of references, in the following way:
>
> 1. If the target folder is a regular portal folder it should
> create a new subfolder of type 'BibliographyFolder' from my
> product and in there it should create appropriate entries
> for the individual references contained in the bibtex file
> (the basic functionality is all there; TTW uploads work as
> expected).
>
> 2. If the target folder is already a 'BibliographyFolder'
> no new folder should be created but the references from the
> bibtex file should be created in there right away for references
> that aren't there yet or edited for those that already exist.
>
> I know that I can use the content_type_registry to
> define that '.bib' uploads should generate BibliographyFolders
> but how do I distinguish the two situations sketched above?
>
> Most importantly, I don't really see where to hook into the
> framework when it comes to 'PUT' versus 'PUT_factory', probabaly
> because I still don't understand the processing chain for uploads
> and what's supposed to happen where and when and in which order
> (calling PUT from webdav null resource calling the folder's
> 'PUT_factory' calling the folder's 'PUT' ???).
>
> I do see from comments in the code that uploads of collections
> aren't supported per se but it shouldn't be too hard to do
> this in special cases like here anyway, shouldn't it?
>
> Any pointers welcome.
>
> Raphael
>
>
> _______________________________________________
> Zope-CMF maillist - Zope-CMF at lists.zope.org
> http://mail.zope.org/mailman/listinfo/zope-cmf
>
> See http://collector.zope.org/CMF for bug reports and feature requests
>
More information about the Zope-CMF
mailing list