I've been following the discussions on both the repository API and the Slide Source and I have a few questions to consider.
The Source IF is an abstraction layer but not a particularly good one in this context.
I agree that the Slide Source should be dropped but I don�t agree that another source is the complete solution.
A source in this context is (in my POV) a data object and you need ways to manipulate data objects in the scope of a transaction, this is not possible with a Source as it stands to day.
I�ve been a part of a project that built a CMS on top of Cocoon (flow), Slide and the *unstable* Slide Source.
The biggest problem with the Source abstraction is the manipulation of properties and content and the lack of transactions spanning over several source actions when doing these manipulations.
Sources were designed for reading information and not for manipulating them.
Naturally one could build something on top of a Source abstraction that encapsulated Source operations within a transaction but what�s the point in that when you could have a repository IF working directly with Slide which supports transactions?
I guess what I'm trying to say is that a WebDAV Source + a Repository IF that doesn�t overlap is what I would have liked if I were to build yet another CMS on top of Cocoon and WebDAV. :)
Best regards, Mats
Stephan Michels wrote:
Hi,
I currently think about the Slide/WebDAV access layer, since I need it for my next project. The access to the Slide repository was my first approach in the past, and perhaps not the best. The Slide API is some parts very beautiful, but not intended to be used outside of Slide. Nevertheless running Slide and Cocoon side by side is pretty cool.
So, I think the WebDAV access is the way to go. The Source IF is already an abstraction layer, so I don't need another like JSR170(in my
POV).
The Repository IFs seems be more helper classes than components. And I think we should using the Source objects instead to reflect all aspects like locking, property handling etc.
My proposal is to drop the Slide Source, but leave the Slide server as option, and using the Slide block in the same sense as the hsqldb block. So that we can use Slide as WebDAV server for our WebDAV examples.
Thoughts?!
Stephan.
BTW, the WedDAV client of S&N is really nice, see http://www.s-und-n.de/sunshine/ccos/produkte/webdavpilot
