[opencms-dev] External editing
Alexander Kandzior
alex at opencms.org
Thu Jul 8 10:19:01 CEST 2004
Matt, all,
> So, would this sort of thing belong in the core OpenCms
> product, or in a
> module?
Well from the view of an OpenCms first time user this is certainly a feature
this user would want to have right after installing OpenCms. So it should
either be a core feature, or some kind of "default" module that is always
installed tgether with the core. I would prefer the core solution, but I
belive the person(s) who takes on the task of leading such a project will
finally decide.
We at Alkacon would like to have WebDAV support very much, but will not have
resources to do much work on this before beginning of next year (i.e. after
6 is releasaed). So if someone else wants to start such a project now,
please go ahead. We will try to support such a project as much as we can,
provided that the WebDAV thing is based in the current CVS head. E.g. I am
pretty sure some changes in the core are required for best integration of
WebDAV in OpenCms, and that's where we can certainly help.
For the architecture of the integration, here's my 2 cent:
I think the WebDAV should be a separate servlet in addition to the current
"OpenCmsServlet", e.g. the "OpenCmsWebDavServlet". The mapping in a default
installation could e.g. be /opencms/webdav (instead of /opencms/opencms/).
That additional servlet would handle all the webdav things. What it needs to
do is pretty basic, since with the OpenCms API we already have all the file
functions in the CmsObject already. So the webdav servlet would somhow
interpret the WebDAV requests, and then use the OpenCms API to do file
modification.
Regarding the locks, in CVS head we already have timing on locks, so we can
pretty easily extend this to fully support the WebDAV requirements.
Best Regards,
Alex.
Alexander Kandzior
Alkacon Software - The OpenCms Experts
http://www.alkacon.com
> Alexander Kandzior wrote:
> > I have also thought about a potential WebDAV integration.
> >
> > Well my current concept for the WebDAV integration would look like
> > this:
> >
> > 1. WebDAV access to the OpenCms VFS is possible only for
> the "offline"
> > version (of course). 2. A special offline project e.g.
> called "WebDAV"
> > should be created. All file changes with webdav are made in this
> > project. 3. Locking/Unlocking of a file could be tricky. We could
> > always still use the Workplace to lock a file in the Webdav project
> > before working with it. Another otion is some sort of "auto lock"
> > mechanism that locks the file if a change is made (ie. file
> is saved
> > with webdav) and the file is currently unlocked.
> > 4. Permissions would be fairly simple, the file must not
> even appear in
> > WebDav if the user has no read permissions, and if he has no write
> > permissions but tries to write an error occurs.
> >
> > What do you think?
> >
> > Best Regards,
> > Alex.
> >
> > Alexander Kandzior
> > Alkacon Software - The OpenCms Experts
> > http://www.alkacon.com
> >
> >
> >>-----Original Message-----
> >>From: opencms-dev-admin at opencms.org
> >>[mailto:opencms-dev-admin at opencms.org] On Behalf Of M Butcher
> >>Sent: Wednesday, July 07, 2004 7:47 PM
> >>To: opencms-dev at opencms.org
> >>Subject: Re: [opencms-dev] External editing
> >>
> >>
> >>Tom,
> >>
> >>I see what you are getting at. That is sorta what I had considered
> >>originally (except I was thinking it would require a
> special editor).
> >>
> >>The reason that I suggested that we'd need a local
> repository is that
> >>Web documents in general tend to have a high reliance on
> >>other documents
> >>on the same server. How would we deal with image galleries,
> >>stylesheets,
> >>etc?
> >>
> >>I'm still considering the SOAP v. WebDAV question
> (understanding that
> >>there are other options)... the main thing is that some
> >>mechanism needs
> >>to check permissions, do the file locking, etc. before the
> >>client gets
> >>to edit the file -- and we need some way to manage locking from the
> >>client side. I think this is beyond WebDAV's current
> >>abilities. Anyone
> >>developed WebDAV extensions? Are they easy to do?
> >>
> >>Matt
> >>
> >>Tom Howe wrote:
> >>
> >>>There isn't specifically a need for a local CMS repository,
> >>
> >>although
> >>
> >>>for some things it would certainly help (ie where several documents
> >>>are required in combination to perform an editing task
> >>
> >>(DTD/XSLT/XML).
> >>
> >>>But generally, the idea is that the user downloads the
> >>
> >>document to be
> >>
> >>>edited, a lightweight desktop application catches the
> >>
> >>download, opens
> >>
> >>>the file in the local editing application and posts it back
> >>
> >>once the
> >>
> >>>file has changed.
> >>>
> >>>This process is simply an alternative to the one occuring
> >>
> >>already when
> >>
> >>>the browser based editor presents a file for editing and then saves
> >>>it. Nothing more than that.
> >>>
> >>>The situation where more than one file is required to perform an
> >>>editing task is a little harder to manage I guess. I suppose there
> >>>would need to be a way of downloading a package of files
> or project
> >>>and then having them all monitored for changes.
> >>>
> >>> Tom
> >>>
> >>>-----Original Message-----
> >>>From: opencms-dev-admin at opencms.org
> >>>[mailto:opencms-dev-admin at opencms.org] On Behalf Of M Butcher
> >>>Sent: 02 July 2004 18:25
> >>>To: opencms-dev at opencms.org
> >>>Subject: Re: [opencms-dev] External editing
> >>>
> >>>
> >>>Oh, I see... the client part would function more like the
> >>
> >>TortoiseSVN
> >>
> >>>client (Windows client for Subversion) -- it's main job would be to
> >>>synchronize between a remote and a local CMS repository.
> >>>
> >>>That would introduce a fairly complex set of requirements...
> >>>primarily,
> >>>the CMS would have to handle things more like a version
> >>
> >>control system.
> >>
> >>>I wouldn't see that as impossible, but definitely difficult.
> >>>Essentially, it would pose the same problem that the current
> >>>synchronize-to-disk function is having. Hmm... that's a lot
> >>
> >>to think
> >>
> >>>about. ;-)
> >>>
> >>>Matt
> >>>
> >>>Tom Howe wrote:
> >>>
> >>>
> >>>>I wouldn't waste time writing a client editor! The bitflux one,
> >>>
> >>>although
> >>>
> >>>
> >>>>clever is pretty awful compared with anything available on the
> >>>
> >>>desktop.
> >>>
> >>>
> >>>>Some of the browser based ones like eWebEditPro are ok, but
> >>
> >>still not
> >>
> >>>as
> >>>
> >>>
> >>>>good as a decent desktop one. I used to use Teamsite at a
> previous
> >>>>workplace and the fact that you could use familiar desktop
> >>>
> >>>applications to
> >>>
> >>>
> >>>>edit the content made the most sense. Dreamweaver for
> html, notepad
> >>>
> >>>for
> >>>
> >>>
> >>>>text, photoshop for images etc. Now we have decent authoring tools
> >>>
> >>>like
> >>>
> >>>
> >>>>XMLSPY available for XML editing it would make sense to
> use them for
> >>>>content management too. The Zope plugin I mention does the job of
> >>>>triggering the relevent application and sending the
> contents back to
> >>>
> >>>the
> >>>
> >>>
> >>>>CMS engine. All that needs to be done is catch the
> posting of that
> >>>>content, save it to the right place and unlock the file. That way,
> >>>
> >>>content
> >>>
> >>>
> >>>>management developers can stop wasting time developing
> editing tools
> >>>
> >>>and
> >>>
> >>>
> >>>>get on with building better interfaces for managing workflow and
> >>>>deployment.
> >>>>
> >>>>On Fri, 2 Jul 2004, M Butcher wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Tom,
> >>>>>
> >>>>>I evaluated creating a module to do this using the SOAP
> >>
> >>XML protocol.
> >>
> >>>It
> >>>
> >>>
> >>>>>can be done... it's just a lot of work (mainly in
> implementing the
> >>>>>client). I didn't want to do it myself.
> >>>>>
> >>>>>In the simplest case, SOAP functions would have to exist
> >>
> >>for checking
> >>
> >>>>>permissions, (un)locking, getting the resource, and
> >>
> >>posting the edited
> >>
> >>>
> >>>>>resource. Really, that's not too bad.
> >>>>>
> >>>>>I also looked at creating a XUL application
> >>
> >>(Mozilla-specific client
> >>
> >>>>>application) which would use Mozilla's composer to do the
> >>
> >>editing. It
> >>
> >>>>>would use the SOAP interface to communicate to the server.
> >>
> >>This part
> >>
> >>>>>would have been pretty difficult, though. Maybe a Python or Java
> >>>
> >>>client
> >>>
> >>>
> >>>>>would be easier.
> >>>>>
> >>>>>If enough people are interested, maybe we should try to target a
> >>>
> >>>module
> >>>
> >>>
> >>>>>for 6.0. I'm fairly familiar with the OpenCms internals,
> >>
> >>and would be
> >>
> >>>>>excited to work on the communication layer, but implementing the
> >>>
> >>>client
> >>>
> >>>
> >>>>>editor interface sends chills up my spine. ;-)
> >>>>>
> >>>>>Matt
> >>>>>
> >>>>>Tom Howe wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>As a follow up to a post I made regarding external editing, I
> >>>
> >>>discovered
> >>>
> >>>
> >>>>>>that Zope have an external editor application that does
> >>
> >>just this.
> >>
> >>>>>>It
> >>>
> >>>uses
> >>>
> >>>
> >>>>>>a faily standard HTTP post to send the changed data back
> >>
> >>and webdav
> >>
> >>>for
> >>>
> >>>
> >>>>>>file locking. Might be worth implementing as part of opencms..
> >>>>>>
> >>>>>>URL is
> >>>>>>http://www.zope.org/Members/Caseman/ExternalEditor
> >>>>>>
> >>>>>>Tom
> >>>>>>
> >>>>>>_______________________________________________
> >>>>>>This mail is send to you from the opencms-dev mailing
> >>
> >>list To change
> >>
> >>>>>>your list options, or to unsubscribe from the list, please
> >>>
> >>>visit
> >>>
> >>>
> >>>>>>http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>>>>
> >>>>>_______________________________________________
> >>>>>This mail is send to you from the opencms-dev mailing list
> >>
> >>To change
> >>
> >>>>>your list options, or to unsubscribe from the list, please
> >>>
> >>>visit
> >>>
> >>>
> >>>>>http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>>>>
> >>>>
> >>>>
> >>>>_______________________________________________
> >>>>This mail is send to you from the opencms-dev mailing
> list To change
> >>>>your list options, or to unsubscribe from the list, please
> >>>
> >>>visit
> >>>
> >>>
> >>>>http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>>
> >>>
> >>>_______________________________________________
> >>>This mail is send to you from the opencms-dev mailing list
> To change
> >>>your list options, or to unsubscribe from the
> >>
> >>list, please
> >>
> >>>visit http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>>
> >>>_______________________________________________
> >>>This mail is send to you from the opencms-dev mailing list
> To change
> >>>your list options, or to unsubscribe from the
> >>
> >>list, please
> >>
> >>>visit http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>
> >>_______________________________________________
> >>This mail is send to you from the opencms-dev mailing list
> >>To change your list options, or to unsubscribe from the list,
> >>please visit http://mail.opencms.org/mailman/listinfo/opencms-dev
> >>
> >>
> >>
> >
> >
> > _______________________________________________
> > This mail is send to you from the opencms-dev mailing list
> > To change your list options, or to unsubscribe from the
> list, please
> > visit http://mail.opencms.org/mailman/listinfo/opencms-dev
>
> _______________________________________________
> This mail is send to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list,
> please visit http://mail.opencms.org/mailman/listinfo/opencms-dev
>
>
>
More information about the opencms-dev
mailing list