From: Kendall C. <ke...@mo...> - 2001-10-23 04:12:53
|
All, Anyone given any consideration to adding XML-RPC or WebDAV to Webware? One thing I'm doing for a PHP site I want to convert to Webware is writing a WebDAV layer around the database-generated article pages, which lets remote authors and editors use a WebDAV client on their local machine and their favorite editor to author and edit content, which is a real improvement over suffering with TEXTAREA in Netscape or IE. Likewise the site uses XML-RPC in a PHP script to do "Mail this page" functionality (calls, via XML-RPC, a method on my Zope server, which runs an "external Python method" to do send and log the mail, etc.); having a nice XML-RPC Kit in Webware would be very handy, both for client and server. I'm guessing that WebDAV, as an extension of HTTP, would just fit into WebKit? How about XML-RPC? Are these both "-Kit" level integration jobs or what? There's plenty of good XML-RPC and WebDAV code around in Python. As I'm sure all of you know, Fred Lundh's XML-RPC is in Py 2.2's stdlib. So what I'm really asking is how do the Webware gurus imagine both of these being best integrated into Webware? (And I suppose what goes for XML-RPC will be similar to what will go for SOAP, once a SOAP lib makes it into Python std lib, which I expect will happen by 2.3.) Best, Kendall Clark PS--I am not a huge Zope fan, but it has *very* nice XML-RPC support. Essentially every Zope method can be called via XML-RPC, and you don't have to write any support code; it just works. Very nice. -- Honesty subverts! |
From: Kendall C. <ke...@mo...> - 2001-10-23 04:16:01
|
All, Anyone given any consideration to adding XML-RPC or WebDAV to Webware? One thing I'm doing for a PHP site I want to convert to Webware is writing a WebDAV layer around the database-generated article pages, which lets remote authors and editors use a WebDAV client on their local machine and their favorite editor to author and edit content, which is a real improvement over suffering with TEXTAREA in Netscape or IE. Likewise the site uses XML-RPC in a PHP script to do "Mail this page" functionality (calls, via XML-RPC, a method on my Zope server, which runs an "external Python method" to do send and log the mail, etc.); having a nice XML-RPC Kit in Webware would be very handy, both for client and server. I'm guessing that WebDAV, as an extension of HTTP, would just fit into WebKit? How about XML-RPC? Are these both "-Kit" level integration jobs or what? There's plenty of good XML-RPC and WebDAV code around in Python. As I'm sure all of you know, Fred Lundh's XML-RPC is in Py 2.2's stdlib. So what I'm really asking is how do the Webware gurus imagine both of these being best integrated into Webware? (And I suppose what goes for XML-RPC will be similar to what will go for SOAP, once a SOAP lib makes it into Python std lib, which I expect will happen by 2.3.) Best, Kendall Clark PS--I am not a huge Zope fan, but it has *very* nice XML-RPC support. Essentially every Zope method can be called via XML-RPC, and you don't have to write any support code; it just works. Very nice. -- When all you have is capitalism, everyone looks like a wage slave. |
From: Geoffrey T. <gta...@me...> - 2001-10-23 13:23:06
|
On Monday October 22, 2001 07:09 pm, Kendall Clark wrote: > Anyone given any consideration to adding XML-RPC or WebDAV to Webware? XML-RPC is already supported. There's an example in WebKit/Examples/XMLRPCExample.py which shows how easy it is to use. Just write a servlet with XMLRPCServlet as its base class, and define an exposedMethods() method to list which methods should be accessible through XML-RPC. Also note the Application.config option "IncludeTracebackInXMLRPCFault" which you can change to 0 if you don't want tracebacks to be sent back to the client. I can vouch that XML-RPC in Webware works very well -- my company makes pretty heavy use of it. As for WebDAV, it's not currently supported but it wouldn't be too hard to add, I would assume. I doubt that anyone is working on it, but you're welcome to give it a try yourself and ask questions when you get stuck. - Geoff |
From: <ir...@ms...> - 2001-10-23 14:34:50
|
On Tue, Oct 23, 2001 at 09:24:55AM -0400, Geoffrey Talvola wrote: > As for WebDAV, it's not currently supported but it wouldn't be too hard to > add, I would assume. I doubt that anyone is working on it, but you're > welcome to give it a try yourself and ask questions when you get stuck. How are people wanting to use WebDAV? As a way to edit their servlets? When I was writing Zope applications a year ago, the problem with WebDAV was the editors. Zope had WebDAV support, but none of the text editors (available on Unix) did. Has this changed? -- -Mike (Iron) Orr, ir...@ms... (if mail problems: ms...@ji...) http://iron.cx/ English * Esperanto * Russkiy * Deutsch * Espan~ol |
From: Aaron H. <aa...@me...> - 2001-10-23 15:31:00
|
Depending on what you need webDAV for it may be better to use the Apache module and syncronize the security. Even for editing serlvets, this would be a good way to go. For document management under windows you can have webware create a directory listing and then open/edit the file using samba <A href="//slim/Webware">Webware</a> I never tried this with webDAV protocols. -Aaron ----- Original Message ----- From: "Mike Orr" <ir...@ms...> To: <web...@li...> Sent: Tuesday, October 23, 2001 10:37 AM Subject: [Webware-discuss] WebDAV > On Tue, Oct 23, 2001 at 09:24:55AM -0400, Geoffrey Talvola wrote: > > As for WebDAV, it's not currently supported but it wouldn't be too hard to > > add, I would assume. I doubt that anyone is working on it, but you're > > welcome to give it a try yourself and ask questions when you get stuck. > > How are people wanting to use WebDAV? As a way to edit their servlets? > > When I was writing Zope applications a year ago, the problem with WebDAV > was the editors. Zope had WebDAV support, but none of the text editors > (available on Unix) did. Has this changed? > > -- > -Mike (Iron) Orr, ir...@ms... (if mail problems: ms...@ji...) > http://iron.cx/ English * Esperanto * Russkiy * Deutsch * Espan~ol > > _______________________________________________ > Webware-discuss mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webware-discuss |
From: Ian B. <ia...@co...> - 2001-10-23 18:42:44
|
ir...@se... (Mike Orr) wrote: > How are people wanting to use WebDAV? As a way to edit their servlets? Personally, FTP works okay for *me*, but not necessarily other people I might work with. Servlet editting is purely for me, no one else. It would be nice to edit Cheetah templates through WebDAV, and maybe some other documents. WebDAV seems like it works in a URL-namespace, as opposed to a filesystem-namespace, which is nice. Especially if we can have Webware abstract those two a little better. That is, I'd like WebDAV be another protocol that Webware speaks, with the full potential for dynamicism. My impression is that it just means a few new HTTP commands and some XML communication, which should look a lot like XML-RPC. Ontop of that you can built things for editting servlets and whatnot. Ian |
From: <ir...@ms...> - 2001-10-23 16:52:33
|
On Tue, Oct 23, 2001 at 11:31:50AM -0400, Aaron Held wrote: > Depending on what you need webDAV for it may be better to use the > Apache module and syncronize the security. > > Even for editing serlvets, this would be a good way to go. In Zope, the default way of editing servlets is through the web, and Netscape's textarea makes a lousy editor. To use an ordinary editor, you either have to ftp the files out for editing and then ftp them in again, or use WebDAV. Emacs supported transparent loading/saving via ftp, but for other editors you had to do the ftp'ing manually (while wishing that wget had a "put" mode). WebDAV wasn't available either as a standalone utility or integrated into the editors. In Webware, the default way of editing servlets is with a text editor, so the problem does not apply. I am not a fan of through-the-web editing of servlets anyway, but I suppose some people might find it useful. My question is more of a curiosity nature: why would WebDAV be useful with Webware? What kinds of things would you want to edit? I could perhaps see it being used to edit large data fields of some persistent object; e.g., article text. Would it lend itself to that? -- -Mike (Iron) Orr, ir...@ms... (if mail problems: ms...@ji...) http://iron.cx/ English * Esperanto * Russkiy * Deutsch * Espan~ol |
From: Aaron H. <aa...@me...> - 2001-10-23 18:41:35
|
I understand your point here, being able to edit a doc that lives directly in a database is a very cool feature of Zope, and one that originally got me using Zope, but this still may be a nifty solution where you already have a MS Word based knowledge base (as many companies do). Also if you get into the new StarOffice or KOffice all of the datafiles are XML anyway. So pulling in data from a directory of files may make a comeback from the database backend. I use FreeBSD for much of my Webware development, but I use MS Word for most of my writing. (I used to be a religious WordPerfect user - the DOS 5.2 may just have been the most perfect Word Processor every) But I teach MS Word in a college class, and pretty much every office I have been to uses it. Also as a datastore the MS Indexing server is buggy and slow - but very effective if the META info for the word files are used. Rather then push users to learn a new protocol - webdav - I'd rather use what they know. (I fight the Linux/MS battle on the server - where I can win) Although I guess a VBA script that pushed the data from the word doc to the db when the file is saved would be easier and less of a load on the server. The less you have to teach the writers the better. -Aaron ----- Original Message ----- From: "Mike Orr" <ir...@ms...> To: "Aaron Held" <aa...@me...> Sent: Tuesday, October 23, 2001 2:06 PM Subject: Re: [Webware-discuss] WebDAV > On Tue, Oct 23, 2001 at 01:57:17PM -0400, Aaron Held wrote: > > From: "Mike Orr" <ir...@ms...> > > > be useful with Webware? What kinds of things would you want to edit? > > > > > > I could perhaps see it being used to edit large data fields of some > > > persistent object; e.g., article text. Would it lend itself to that? > > > > Years ago I had to turn a NT shared folder of MS Word and MS Excel > > files into an Intranet. It was pretty straighforward to use COM to > > extract certain fields from the files and create HTML pages on the > > fly. I never really thought about using MS Word files as a means to > > generate large text areas - I usually use MS Access as a front end to > > PostGres/MS SQL. > > > > Work can export to HTML so there should be some function call to grab > > a page as HTML. My current project pulls and pushes data to/from > > excell pages, so I'll try to check this out if I have time. > > I use Linux, so I don't use Word, Excel or Access, although I have > used them in the past. > > Webware (and Zope) were originally written to support a > document-editing-and-publishing application. (Think "newspaper" or > "magazine".) In those situations, being able to store an article in > a database but having a way to import/export it to an editor is a > big plus. The data would be in text, HTML or XML format. That's > the kind of situation I was thinking of. > > -- > -Mike (Iron) Orr, ir...@ms... (if mail problems: ms...@ji...) > http://iron.cx/ English * Esperanto * Russkiy * Deutsch * Espan~ol |
From: Kendall C. <ke...@mo...> - 2001-10-23 21:05:31
|
>>>>> "mike" == Mike Orr <ir...@se...> writes: mike> I could perhaps see it being used to edit large data fields of mike> some persistent object; e.g., article text. Would it lend mike> itself to that? Precisely. TEXTAREA blows. That's the first thing. So imagine you have a magazine web site, with lots of editors and authors, spread all over creation, and just about the only common infrastructure they have is a browser and their preferred text editor. I have such a site. Editing "through the web" simply sucks and I've given up all hope that TEXTAREA will ever do anything but suck. It's fine for very, very small things. But I publish 5 and 10,000 word essays and articles every month. And I have a host of editors and authors who need to access this stuff over the Web. The site is presently powered by PHP but I'm wanting to move to Webware. I use mod_rewrite to make clean and implementation-neutral URLs like: /articles/500 /articles/500/plain /articles/500/edit /articles/500/mail-to-friend mod_rewrite turns these into foo.php?id=500&action=print and the like. Which means I can switch to Webware and not break any URLs. Great. But TEXTAREA will still suck. It occurred to me that if I could treat /articles as "just another directory", by wrapping a WebDAV wrapper around it, then editors and authors could use DAV clients (including the nice support MS Office and "web folders" has) and their preferred editor to work on content. So far the biggest technical question that I haven't answered is how to match DAV's locking semantics to, say, Python's DB API or to some lock abstraction layer over Postgres and MySQL, etc. That seems to be the tricky part. For the rest of it, conceptually, at least, it seems fairly simple: at some point in any WebDAV implementation, there's file handling routines, open, close, check for locks, etc. A WebDAV wrapper around a database would replace open() with a SELECT and unlink() with DELETE and the like. None of which is terribly complicated (though care must be taken to do it right generically). In other words, though I haven't looked at code yet, I would expect a good Python WebDAV server implementation to have cleanly separated DAV semantics from underlying filesystem/storage semantics; if so, it shouldn't be *terribly* hard to reimplement the underlying storage interface to use an abstract RDBMS interface, rather than the filesystem. (Which of course opens the question more broadly: how generic is WebDAV and what else might it be used to wrap? LDAP? POP3? IMAP? It's at least an interesting problem.) Anyway, that's the idea. I don't know a lot about MiddleKit, though what I do know about it suggests a DAVKit could use some of MiddleKit's db abstraction and schema support to more cleverly manage the interface between DAV verbs and various RDBMS storage systems. FWIW, that's what's behind my question. :> Best, Kendall Clark |
From: Kendall C. <ke...@mo...> - 2001-10-23 20:50:40
|
>>>>> "geoffrey" == Geoffrey Talvola <gta...@me...> writes: geoffrey> As for WebDAV, it's not currently supported but it geoffrey> wouldn't be too hard to add, I would assume. I doubt that geoffrey> anyone is working on it, but you're welcome to give it a geoffrey> try yourself and ask questions when you get stuck. Yeah, I'm interested in working on this, but I'm not sure *where* in the Webware world it best fits; is this a Kit? Should it just be an extension to HTTP support? Best, Kendall Clark -- THIS MACHINE KILLS FASCISTS http://monkeyfist.com/ |
From: Ian B. <ia...@co...> - 2001-10-23 21:00:32
|
Kendall Clark <ke...@mo...> wrote: > geoffrey> As for WebDAV, it's not currently supported but it > geoffrey> wouldn't be too hard to add, I would assume. I doubt that > geoffrey> anyone is working on it, but you're welcome to give it a > geoffrey> try yourself and ask questions when you get stuck. > > Yeah, I'm interested in working on this, but I'm not sure *where* in > the Webware world it best fits; is this a Kit? Should it just be an > extension to HTTP support? My intuition is that there should be a WebDAVServlet, similar to HTTPServlet. Since WebDAV works ontop of HTTP, it might be already be possible for Webware to respond to such requests -- though I imagine there's some work to get Apache to put such requests through. Ian |
From: Kendall C. <ke...@mo...> - 2001-10-23 21:20:21
|
>>>>> "ian" == Ian Bicking <ia...@co...> writes: ian> Kendall Clark <ke...@mo...> wrote: geoffrey> As for WebDAV, it's not currently supported but it geoffrey> wouldn't be too hard to add, I would assume. I doubt that geoffrey> anyone is working on it, but you're welcome to give it a geoffrey> try yourself and ask questions when you get stuck. >> >> Yeah, I'm interested in working on this, but I'm not sure *where* >> in the Webware world it best fits; is this a Kit? Should it just >> be an extension to HTTP support? ian> My intuition is that there should be a WebDAVServlet, similar ian> to HTTPServlet. Since WebDAV works ontop of HTTP, it might be ian> already be possible for Webware to respond to such requests -- ian> though I imagine there's some work to get Apache to put such ian> requests through. Hmm, this is interesting. It suggests a generic WebDAVServlet which has, as a mixin (?), a default DavFileStore class, which can be replaced by a DavSqlStore class. WebDAVServlet would only know about and use the generic methods of the DAVStore interface, which would be variously implemented, depending on which mixin one used. (Though I suspect that things are bit more complex than this, given Webware's sophistication about managing urlspace.) One Webware config file nicety that suggests itself is masking off particular parts of urlspace as using a particular DavStore, something like: EnableDav /scratch FileStore EnableDav /articles/* SqlStore Kendall Clark |
From: Chuck E. <Chu...@ya...> - 2001-10-23 21:37:54
|
At 04:19 PM 10/23/2001 -0500, Kendall Clark wrote: >Hmm, this is interesting. > >It suggests a generic WebDAVServlet which has, as a mixin (?), a >default DavFileStore class, which can be replaced by a DavSqlStore >class. WebDAVServlet would only know about and use the generic methods >of the DAVStore interface, which would be variously implemented, >depending on which mixin one used. > >(Though I suspect that things are bit more complex than this, given >Webware's sophistication about managing urlspace.) > >One Webware config file nicety that suggests itself is masking off >particular parts of urlspace as using a particular DavStore, something >like: > >EnableDav /scratch FileStore >EnableDav /articles/* SqlStore I'm no WebDav expert, but yes, it sounds like WebDavServlet would be a subclass of HTTPServlet. You might want your WebDevStore to be an instance that the servlet refers to rather than inherits from. That makes it easier for users of the servlet to set up any stand-in object they desire for webdav storage. And yes, having an abstract WebDavStore class is an excellent idea. You might even require stores to inherit it so that you can put concrete code there such as convenience methods. Some people preach you should never do that, but the pay off for being able to add such convenience methods and rely on the existence of certain methods can be substantial. Also, Python allows multiple inheritance so it's not as if you are taking the developer's ability to use other superclasses away. If and how a subclass of WebDavStore could tie into MiddleKit is something I don't know, mostly due to my lack of knowledge and experience with WebDav. Regarding Webware's URL handling, it isn't as sophisticated (or as flexible) as you might think. We'll address that in a future release, but I want to kick 0.6 out the door soon because it's head-and-shoulders above 0.5. -Chuck |
From: Geoff T. <gta...@na...> - 2001-10-23 21:43:43
|
At 04:03 PM 10/23/01 -0500, Ian Bicking wrote: >Kendall Clark <ke...@mo...> wrote: > > geoffrey> As for WebDAV, it's not currently supported but it > > geoffrey> wouldn't be too hard to add, I would assume. I doubt that > > geoffrey> anyone is working on it, but you're welcome to give it a > > geoffrey> try yourself and ask questions when you get stuck. > > > > Yeah, I'm interested in working on this, but I'm not sure *where* in > > the Webware world it best fits; is this a Kit? Should it just be an > > extension to HTTP support? > >My intuition is that there should be a WebDAVServlet, similar to >HTTPServlet. Since WebDAV works ontop of HTTP, it might be already be >possible for Webware to respond to such requests -- though I imagine >there's some work to get Apache to put such requests through. I know zero about WebDav. But my intuition is that if WebDav works on top of HTTP, then WebDavServlet should be derived from HTTPServlet. Just as XMLRPCServlet is derived from HTTPServlet because XML-RPC is layered on top of HTTP. I would just develop it as a base class that sits in the WebKit directory for now. If it comes to fruition, then we can decide whether to just include it in WebKit or put it in a separate Kit. -- - Geoff Talvola gtalvola@NameConnector.com |