WebDAV & co
Several RFC are related to the WebDAV protocol. I have been wondering if this should not be an interresting starting point to both a CMS and an activity management server. In a way, an activity management like FlowGroup could simply expose vCard and vCalendar items, the customization consisting in defining business rules on how to aggregation Organizational Units informations to create the vCard, or when to create a vEvent, a vJournal or a vTodo. These would be wrappers around related documents that would keep track of the business data.
The RFC involved in WebDAV are:
- HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
- Versioning Extensions to WebDAV
- WebDAV Ordered Collections Protocol
- WebDAV Access Control Protocol
- Calendaring Extensions to WebDAV
- Extended MKCOL for WebDAV
Several classes can be defined: an http facade to handle request and response, a provider for the resources, managers for the properties, the locking strategies, the versioning methods, and the ACL.
The http facade is necessary because, in .Net, there are several ways to respond to web request : IHttpModule, http listeners or even WebRequest/WebResponse. I have yet to find a reason to use the last one. The IHttpModule is to provide WebDAV capabilities to an existing web site, http listeners is usefull when a full website is required to support WebDAV.