Hi Paul :-) Paul Browning wrote:
We (i.e. the University of Bristol) are trying to decide about which authoring tool to support for use with Zope. We have a requirement that any tool must work securely - no passwords floating about in the clear.
We have found this requirement to be to be severely limiting - Dreamweaver, GoLive et al just don't support https (good 'ol cadaver and vi have no such problems).
So first question: is this assessment correct?
Well, yes and no. Yes, not many of the tools support SSL, most people aren't _that_ concerned about security. No, because it's easy to set up and ssh tunnel to do your work over. Once that's in place, _any_ tool can work with SSL/SSH...
We have had some success if we insert WebDrive into the equation - GoLive and even FrontPage (if you open via the File menu rather than a drag and drop) seem to then work fine over https, but NOT Dreamweaver.
I'd recommend using WebDrive somwhat differently. I use WebDrive over WebDAV into Zope. Then I just edit the files as if they were local HTML using DreamWeaver. I don't use any of the 'Site' shenanigans since I've never seen the need. (And I don't want to have to 'synch to server' every time I make a change...)
In trying to understand the DW problem I tried making DW's local folder a Webdrive mounted Zope folder. As far as I can see DW insists on creating a .TMP file (to hold the edits of any original object) which then gets renamed on being saved - but then you loose the original ZPT object metatype.
Second question: has anyone a working workaround for the DW problem? I think I can see how to attack it with PUT_factory but I don't have deep Zen in this department (or any other!).
PUT_factory is what you want, put the attached file in an external method and it'll do the job nicely! cheers, Chris from Products.PythonScripts.PythonScript import PythonScript from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from OFS.DTMLDocument import DTMLDocument from OFS.Image import Image from OFS.Image import File def PUT_factory( self, name, typ, body ): # Gimme a PageTemplate or a PythonScript, but never DTML! if typ=='text/x-python' or (body and body[0]=='#'): ob = PythonScript( name ) elif typ.startswith('text'): ob = ZopePageTemplate(name, body, content_type='text/html') elif typ.startswith('image/'): ob = Image(name, '', body, content_type=typ) else: ob = File(name, '', body, content_type=typ) return ob