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 |
---|
- Untested |
Environment
- Version of Fedora: 6034a73 https://github.com/fcrepo4/fcrepo4/commit/fe92e09c54949b930a27dbd5f24a591cbd4ed568 (as of 2018-06-12)
- Version of Fedora Specification: e6fc281https://github.com/fcrepo/fcrepo-specification/commit/83b3bca9627e5ba9fda5b0c1718bea455747f559 (as of 2018-06-13)
- Test Compatibility Suite
- Legacy - Version of script:a577fc6 9d20fad (repo and usage here: https://github.com/rotated8/fedora-spec-testing)
...
3 Resource Management
Lead
Expand |
---|
3.1 General (Jared Whiklo)
3 |
...
.1 |
...
- SHOULD create an LDP-NR if creation request includes NonRDFSource type Link in headers, regardless of Content-Type headers: Untested
...
.1 |
...
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
...