You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Fedora's alignment with each category of the Fedora API Specification needs to be verified for completeness and correctness. Below is a listing of the specification categories, the person/people taking the lead on ensuring alignment, and the current status of alignment.

Legend

(question) - Untested
(tick) - Tested, working
(error) - Tested, not working
(warning)- Needs review

Environment


3 Resource Management

Lead

3.1 General

  • Empty section

3.1.1 LDP-NR creation

  • (question) SHOULD create an LDP-NR if creation request includes NonRDFSource type Link in headers, regardless of Content-Type headers: Untested

3.1.2 LDP Containers

  • (tick) MUST be able to create LDP Containers: Tested in 3.3
  • (question) MUST distinguish between triple types
  • (question) MUST return 409 with constrainedBy Link in headers for ldp:contains membership predicate if server cannot distinguish between triple types (Contradictory?)
  • (question) MAY permit ldp:contains membership predicate if server can distinguish between triple types
  • (question) SHOULD allow Prefer header in request to distinguish triple types if server can distinguish triple types

3.2 HTTP PATCH

  • (question) MUST be supported on LDP-RSs
  • (question) MUST support sparqlupdate
  • (question) MAY support other update types
  • (question) MUST return 4xx (409), with more info in body and constrainedBy Link in headers when modifying protected resource statements
  • (question) MUST return 2xx if successful

3.2.1 Interaction models

  • (question) MUST return 409 when modifying the interaction model to a type that is not a subtype of the current type (LDP-NR to LDP-RS or opposite?)

3.3 HTTP POST

  • (tick) MUST be supported on LDP Collections
  • (warning) MUST include default interaction model in constrainedBy Link header (LDP-RS only)
  • (tick) MUST support creation of LDP-NRs
  • (tick) MUST create and associate an LDP-RS when an LDP-NR is created

3.3.1 LDP-NRs

  • (tick) MUST return 409 if request Digest header does not match calculated value for content of new LDP-NR
  • (tick) SHOULD return 400 if request Digest header's type is not supported (Should 'type' be 'algorithm', like the RFC?)

3.4 HTTP PUT

  • (question) MAY include type Link header in request
  • (question) MUST return 409 if request's type Link is not resource's current type or subtype thereof, or not in LDP namespace
  • (question) MUST change resource's type if request's type Link is a subtype of resource's current type
  • (question) MUST change resource's interaction model if request's type Link has an LDP interaction model

3.4.1 LDP-RSs

  • (question) MUST be supported on LDP-RSs for non-server-managed triples
  • (question) MUST return 4xx (409), with more info in body and constrainedBy Link in headers if request modifies server-managed triples (Are triples different than resource statements?) on a LDP-RS

3.4.2 LDP-NRs

  • (question) MUST be supported on LDP-NRs to replace binary content
  • (question) MUST return 409 if request Digest header does not match calculated value for new content of target LDP-NR
  • (question) SHOULD return 400 if request Digest header's type is not supported (Should 'type' be 'algorithm', like the RFC?)

3.4.3 Creating resources with HTTP PUT

  • Non-normative section

3.5 HTTP GET

  • (tick) MUST return describes Link to LDP-NR if request is to associated LDP-RS

3.5.1 Additional values for the Prefer header

  • (error) MAY support PreferContainedDescriptions URI in Prefer header
  • (question) SHOULD support PreferInboundReferences URI in Prefer header

3.5.2 LDP-RSs

  • (tick) MUST return Preference-Applied header if request's Prefer header is honored (Always applied)

3.5.3 LDP-NRs

  • (tick) MUST return Digest header as directed by request's Want-Digest header

3.6 HTTP HEAD

  • (tick) MUST NOT return a body
  • (error) SHOULD return same headers as if the request was a GET
  • (tick) MUST return a Digest header if the same request as a GET would have
  • (error) MAY omit payload headers from response

3.7 HTTP DELETE

  • (warning) MAY be supported

3.7.1 Depth header

  • (tick) MUST support a Depth header in the request, if DELETE is implemented
  • (question) MAY support only certain Depth header values: (How to query?)
  • (question) MUST return 400 if request includes Depth header and unsupported Depth header value: (How to query?)
  • (question) MUST use LDP containment relations for recursive deletion, if recursive deletion is supported: (How to query?)

3.8 External Binary Content

  • (question) MUST return message/external-body in Accept-Post header (for each supported access-type param of supported Content-Types) if external binary content is supported (In response to what?)
  • (question) MUST return 415 for LDP-NR create or update if request has message/external-body and an unsupported access-type, or if external binary content is not supported
  • (question) MUST NOT accept request (return 4xx???) for LDP-NR create or update if request has message/external-body and the server cannot return all the required response headers
  • (question) SHOULD return a Content-Location header for LDP-NR GET or HEAD (read? to match create or update above) with a URI to the content if the server is proxying: (How to query for proxying?)
  • (question) MAY support an expiration parameter (for LDP-NR create or update?) if the request has a message/external-body Content-Type header
  • (question) SHOULD copy content (for LDP-NR create or update?) if the request has a message/external-body Content-Type header and the expiration parameter is set
  • (question) MUST return 4xx or 5xx (for LDP-NR create or update?) if the request has a message/external-body Content-Type header and the expiration parameter cannot be accommodated
  • (tick) MUST return a contrainedBy Link header (for LDP-NR create or update?) if the response status is 4xx: Tested in 3.2 and 3.3

3.8.1 Referenced RDF content in mandataory LDP serializations

  • Non-normative section

3.8.2 Proxied content vs. redirected content

  • Non-normative section


4 Versioning

Leads

empty

5 Resource Authorization

Leads

empty

6 Notifications

Lead

empty

7 Binary Resource Fixity

Lead

7.1 What is fixity?

7.2 Transmission Fixity

  •  (question) MAY be verified by including a Digest header (defined in [RFC3230]) in POST
  • (question) MAY be verified by including a Digest header (defined in [RFC3230])  in PUT

7.3 Persistance Fixity

  • (question) MAY retrieve the checksum of an LDP-NR by performing a HEAD request on it with the Want-Digest header
  • (question) MAY retrieve the checksum of an LDP-NR by performing a GET request on it with the Want-Digest header
  • No labels