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
Panel |
---|
|
Environment
- Version of Fedora: <git-hash> https://github.com/fcrepo4/fcrepo4/commit/fe92e09c54949b930a27dbd5f24a591cbd4ed568 (as of 2018-06-12)
- Version of Fedora Specification: <git-hash>Version of script: <git-hash>: https://github.com/fcrepo/fcrepo-specification/commit/83b3bca9627e5ba9fda5b0c1718bea455747f559 (as of 2018-06-13)
- Test Compatibility Suite
- Legacy - Version of script: 9d20fad (repo and usage here: https://github.com/rotated8/fedora-spec-testing)
...
3 Resource Management
Lead
Expand |
---|
3.1 General (Jared Whiklo)
3.1.1 |
...
SHOULD create an LDP-NR if creation request includes NonRDFSource type Link in headers, regardless of Content-Type headers: Untested
...
LDP Containers |
...
|
...
|
...
|
...
|
...
3. |
...
MUST be supported on LDP-RSs
MUST support sparqlupdate
MAY support other update types
MUST return 4xx (409), with more info in body and constrainedBy Link in headers when modifying protected resource statements
MUST return 2xx if successful
3.2.1 Interaction models
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
...
1.2 LDP-NR creation
3.1.3 Constraints Document
3.1.4 Data Model
3.2 HTTP GET3.2.1 Additional values for the Prefer header
3.2.2 LDP-RSs
3.2.3 LDP-NRs
3.3 HTTP HEAD
3.4 HTTP OPTIONS (Yinlin Chen)
3.5 HTTP POST
|
...
|
...
3.5.1 LDP-NRs
|
...
|
3.3.1 LDP-NRs
...
|
...
3. |
...
6 HTTP PUT |
...
|
...
|
...
|
...
3. |
...
6.1 LDP-RSs |
...
|
...
|
...
|
...
|
...
3. |
...
6.2 LDP-NRs (Danny Bernstein) |
...
|
...
|
...
|
...
|
...
3. |
...
6.3 Creating resources with HTTP PUT |
...
3. |
...
MUST return describes Link to LDP-NR if request is to associated LDP-RS
3.5.1 Additional values for the Prefer header
MAY support PreferContainedDescriptions URI in Prefer header
SHOULD support PreferInboundReferences URI in Prefer header
3.5.2 LDP-RSs
MUST return Preference-Applied header if request's Prefer header is honored
3.5.3 LDP-NRs
MUST return Digest header as directed by request's Want-Digest header
3.6 HTTP HEAD
MUST NOT return a body
SHOULD return same headers as if the request was a GET
MUST return a Digest header if the same request as a GET would have
MAY omit payload headers from response
3.7 HTTP DELETE
MAY be supported
3.7.1 Depth header
...
7 HTTP PATCH (Jared Whiklo)
3.7.1 Containment Triples
3.7.2 Interaction models
3.8 HTTP DELETE (Yinlin Chen)
3.8.1 Recursive Delete
|
...
|
...
3.9 External Binary Content
3.9.1 Advertising External Content Support
3.9.2 External Content for RDF Resources
3.9.3 Redirected and Proxied External Content
|
4 Versioning
Leads
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 Resource Versioning
4.1 Versioned Resources
4.1.1 HTTP GET (LDPRv)
4.1.2 HTTP PUT (LDPRv) (Danny Bernstein)
4.2.1 HTTP GET (LDPRm)
4.2.3 HTTP POST (LDPRm)
4.2.4 HTTP PUT (LDPRm)
4.2.5 HTTP PATCH (LDPRm)
4.2.6 HTTP DELETE (LDPRm)
4.3.1 HTTP GET (LDPCv) (Jared Whiklo)
4.3.2 HTTP OPTIONS (LDPCv) (Jared Whiklo)
4.3.3 HTTP POST (LDPCv) 4.3.3.1 Implementations that allow POSTs for LDPCvs
4.3.3.2 Implementations that disallow POSTs for LDPCvs
4.3.4 HTTP PUT (LDPCv)
4.3.5 HTTP PATCH (LDPCv)
4.3.6 HTTP DELETE (LDPCv)
4.4 Implementation Patterns
|
5 Resource Authorization
Leads
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5. Resource Authorization
5.1 ACLs are LDP RDF Sources
5.2 ACL Representation and Interpretation (Danny Bernstein)
5.3 ACLs are discoverable via Link Headers
5.4 ACL linking on resource creation (Peter Eichman)
5.5 Cross-Domain ACLs (Peter Eichman)
5.6 Cross-Domain Group Listings
5.7 Append Mode
5.7.1 LDP-RS (Append)
5.7.2 LDPC (Append)
5.7.3 LDP-NR (Append)
5.8 Access To Class
5.9 Inheritance and Default ACLs
|
6 Notifications
Lead
Expand |
---|
6.1 Notification Events
6.2 Notification Serialization
6.3 Examples
|
7 Binary Resource Fixity
Lead
Expand |
---|
7.1 Transmission Fixity
7.2 Persistance Fixity
|
3.8 External Binary Content
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?)
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
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
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?)
MAY support an expiration parameter (for LDP-NR create or update?) if the request has a message/external-body Content-Type header
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
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
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
5 Resource Authorization
6 Notifications
...