[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dav-dev
Subject:    RE: FW: [dav-dev] Re: FW: Post-1.0 mod_dav work
From:       "Vasta, John" <jvasta () rational ! com>
Date:       2000-08-25 13:11:22
[Download RAW message or body]

> Can you give a quick outline of which features of the Delta-V 
> spec you have implemented? i.e. what APIs are present
> to support which features?

First of all, everything is still based on the 4.0 Delta-V draft. Some
tweaking is required in order to bring the existing code up to the latest
protocol draft, and then more work to implement the missing pieces.

Method-wise, there are hooks for CHECKOUT, CHECKIN, UNCHECKOUT, LABEL,
REPORT, and MKRESOURCE (which no longer exists). So missing are
VERSION-CONTROL, SET-TARGET, BASELINE-CONTROL, and MERGE, and MKRESOURCE
needs to be split into MKWORKSPACE and MKACTIVITY. (I've also implemented
the BIND method from the Bindings protocol).

Support for the Workspace and Target-Selector headers exists.

Currently, my versioning provider hooks look something like this:

{
    const char * (*get_vsn_header)(void);
    dav_error * (*mkresource)(dav_resource *resource);
    dav_error * (*checkout)(dav_resource *resource);
    dav_error * (*uncheckout)(dav_resource *resource);
    dav_error * (*checkin)(dav_resource *resource,
			   const char *checkin_policy);
    int (*versionable)(const dav_resource *resource);
    int (*auto_version_enabled)(const dav_resource *resource);
    const char * (*get_workspace_uri)(const dav_resource *resource);
    const char * (*get_stable_uri)(const dav_resource *resource);
    dav_error * (*add_label)(const dav_resource *resource,
			     const char *label);
    dav_error * (*delete_label)(const dav_resource *resource,
				const char *label);
    dav_error * (*get_report)(request_rec *r,
                              const dav_resource *resource,
                              const dav_xml_elem *report_type,
                              dav_text_header *report);
}

There are also a couple small changes to the repository provider hooks.

> As part of the Subversion work that I'm doing, I'll be 
> getting into this quite heavily, too. In particular,
> I'm looking at activities, working resources, history
> resources, etc. But I'm completely excluding workspaces
> and baselines.

I don't have any support for activities or baselines yet, but I think
everything else is covered. I think the generic part of mod_dav won't have
much to do with various resource types, other than to validate that methods
are allowed on them. Most of the resource type support requires implementing
their properties.

> I'm interested to see how well my thinking is going to fit 
> into what you have completed.

I've finally reached the point where I can start working on this stuff
again, so expect to start seeing checkins real soon.

John

_______________________________________________
dav-dev maillist  -  dav-dev@lyra.org
http://dav.lyra.org/mailman/listinfo/dav-dev

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic