[prev in list] [next in list] [prev in thread] [next in thread]
List: kfm-devel
Subject: Re: Webdav + Zope
From: Paul Everitt <paul () zope ! com>
Date: 2002-03-19 15:52:56
[Download RAW message or body]
Hamish Rodda wrote:
> Hi Paul,
>
> On Tuesday, 19th March 2002, Paul Everitt <paul@zope.com> wrote:
>
>>First, I'm extremely pleased to hear about KDE 3's DAV support. I'm a
>>KDE user and am eagerly awaiting the final release, where I'll do my
>>upgrade and give it a try. (In fact, I have a separate computer here
>>where I can try to test it out before I go to Zurich tomorrow.)
>
>
> Great. It's only really getting user testing now, which is of course revealing
> the few rough patches :) In the end it was only about 500 lines of code
> thanks to KDE's design, so it should be easy to maintain and extend.
That's good to hear. I just read in today's KDE Kernel Cousin that the
address book is getting an abstraction on the backend as well, allowing
storage of contacts in SQL as well as LDAP.
>>Regarding DAV and Zope, my experience with nearly every conceivable DAV
>>client has shown me that there is usually more that needs to be done to
>>really leverage the integration. If done, it would make Zope an almost
>>invisible storage for KDE data, but in ways more powerful than a file
>>system.
>>
>>Here are some of the things that I'd like to know more about. I'd like
>>to emphasize that I'm not lobbying for you to do more free work, I'm
>>just trying to get feedback on what these items would mean in the world
>>of kio:
>
>
> As a preface to my answers, integration is somewhat hampered by the user
> interface capabilities of kio. I hope to get around this with a konqueror
> plugin (a kpart). At the moment I don't have a time frame for this however.
Yes, this UI issue is the part where I also don't understand the options.
Considering the runtime, dynamic nature of the interaction, XML happens
to be a reasonably good way for the server to tell the client about its
capabilities. The presentation of the XML can be in a native fashion
(KDE/Qt widgets) or CSS/XSLT. The issue becomes taking actions and
manipulating state.
> KDE is also looking at the kmimetype plugin system. KDE guys: is a provision
> being made for per-slave extended capability plugins? or is kparts all I need
> for the following?
>
>
>>1) Edit source. Since Zope is a dynamic system, the output you get from
>>a GET isn't the source version of the content. Zope provides a
>>workaround where you setup a separate server port for which GET returns
>>the source version.
>>
>>However, a user shouldn't have to be aware of a "source port" and a
>>server administrator shouldn't have to set it up either. You should be
>>able to just look at something and click on "Edit Source" in a menu
>>somewhere. The DAV spec anticipates this, saying that servers can
>>return a src property telling clients where to go for the source
>>version. Unfortunately, no clients support it.
>>
>>Explaining the whole source port thing to people is just a huge annoyance.
>
>
> Yes... the slave is aware of this and sends detected script locations to the
> kde app. A kpart is needed for konqueror to be aware in the UI.
Ideally, in KWord I could do "Edit Source" if the server tells the
client there is a src available in the properties.
>>2) Mime type. Zope is a rich object system, where you can have
>>different kinds of "files", such as new items, expense reports, etc.
>>Unfortunately, nearly no DAV clients support any possible way, other
>>than file extension, to create a "news item" file. In fact, some don't
>>even send a mime type with the PUT.
>
>
> I wasn't really aware of this. Where in the UI would you envisage the person
> specifying the mimetype? I have just checked and we don't send the mimetype
> at the moment... in fact it's unclear to me if kio supports this...?
Right-click, New->[sequence of builtin types, sequence of extended types]
This is the behavior under Windows.
> Again a kpart or custom app could achieve this.
>
>
>>3) Auto complete. With PROPFIND support, you can tab-complete the URLs
>>when navigating a Zope/DAV folder.
>
>
> This is already done thanks to a bonus from kio :)
Great!
>>4) Lock/unlock. It should be simple to set/remove the lock on a Zope
>>resource. As we start do implement more versioning in Zope, there will
>>need to be more operations (checkout/checkin/revert/etc.), as well as
>>displaying the versioning status.
>
>
> Again, done but requires a kpart or custom app support.
I don't think that it should, since there are HTTP verbs that specify
this. It is simply a question of how (or whether) to display it).
>>5) Kate XML. This one might be pretty big. Kate allegedly has XML
>>support in KDE 3. Thus it is possible that Zope page templates can be
>>wonderfully edited directly.
>
>
> Absolutely. I was pleasantly surprised when I first put Kate + kio + webdav
> together.
Any idea if Kate can handle XML namespaces on attributes, such as:
<p tal:content="here/title">Some text</p>
>>Here are some nice-to-haves...
>>
>>1) Sync. I've wanted this for a while -- the ability to do a visual,
>>rsync-style application between the local filesystem and Zope (or two
>>Zopes). If the kio slave doesn't directly support it, once DAV is a
>>kio-slave, perhaps other KDE file sync apps might work.
>
>
> Sync as in versioning, like cvs? I don't quite understand the visual part of
> it. A dedicated kde file sync app should do the trick though, or a separate
> konqueror kpart, it sounds like you want to do this between different
> ioslaves.
Not really like versioning. Rather, a two-paned view that compares
local to remote, then shows the add/change/delete differences in
resources. Similar to cadaver, which has a Gnome frontend.
>>2) Undo. This one should make a lot of sense -- a Zope undo from the
>>application that you are using.
>
>
> Is this a Zope extension? where would I find relevant Zope+dav docs?
Zope has an undo capability that can be driven through a URL scheme. If
KDE was extensible, we would likely wire this in via custom DAV
properties, to expose the undo information.
>>3) Rich presentation. There is probably a way to make the non-file
>>information in Zope, such as security settings and properties, viewable
>>and settable in KDE. Any ideas, without writing a dedicated app?
>
>
> Again, a job for the kpart.
Right. Can a kpart be written in Python?
>>4) Scripting from Python. Some of the items above could be implemented
>>outside of the kio slave. Obviously I'd like to program in Python. How
>>hard is it to extend or script a kio slave?
>
>
> I think this might be achieved through Python+DCOP bindings. Python+KDE
> bindings would be even better though, I heard something a while back
> indicating they would be forthcoming.
Yep, a beta just came out supporting KDE 3.
Thanks for the discussion!
--Paul
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic