Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand

March 5, 2018 (Mon)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2681
 - Jared Whiklo

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2690
 - Danny Bernstein

March 6, 2018 (Tues)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2694
 - Jared Whiklo

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2675
 - Longshou Situ

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2669
 - Jared Whiklo

March 7th, 2018 (Wed)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2696
- Longshou Situ

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2661
- Joe Harrington

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2686
- Longshou Situ

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2678
- Longshou Situ

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2677
- Yinlin Chen

March 8th, 2018 (Thurs)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2679
- Longshou Situ

Ticket to Specification Tracking

The table below is derived from the following document

Fedora API Spec and Delta Document Verification

...

Change the PreferInboundReferences URI in Prefer header

from http://fedora.info/definitions/v4/repository#InboundReferences to the one defined in the spec (ie http://fedora.info/definitions/fcrepo#PreferInboundReferences)

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2617
- Ben Pennell

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2699
- Randall Floyd

Jira
serverDuraSpace JIRA
serverIdc815ca92

...

-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2688
- Danny Bernstein

March 9th, 2018 (Fri)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2713
- Danny Bernstein

March 12th, 2018 (Mon)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2700
- Randall Floyd

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2684

...

- Longshou Situ

March 13th, 2018 (Tues)

none

March 14th, 2018 (Wed)

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

  • Though the message coming back in the case of an attempt to move from RDFSource to NonRDFSource says "Resource Already Exists" instead of returning a constrained by header
  • Same message is returned trying to move from ldp:Container to an ldp:DirectContainer or ldp:BasicContainer or ldp:Container

MUST change resource's type if request's type Link is a subtype of resource's current type

MUST change resource's interaction model if request's type Link has an LDP interaction model

Using PATCH it is currently possible to add an rdf:type of ldp:NonRDFSource to an existing ldp:RDFSource. This should fail with a 409.

...

2706
- Ben Pennell

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2591
- Longshou Situ

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2594
- Longshou Situ

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2701
-

...

Randall Floyd

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2702
- Randall Floyd

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2703
- Randall Floyd

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2707

...

The Accept-Datetime header is used to request a past state, exactly as per [RFC7089section 2.1.1. A successful response must be a 302 (Found) redirect to the appropriate LDPRm

If no LDPRm is appropriate to the Accept-Datetime value, an implementation should return a 406 (Unacceptable).

...

- Ben Pennell

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2618
- Longshou Situ

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO

...

The response to a GET request on an LDPRv must include the following headers

-2705
- Joe Harrington

March 15th, 2018 (Thurs)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2705
- Joe Harrington

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2722
-

...

Yinlin Chen

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2615
-

...

Longshou Situ

...

Jira

...

LDPm GET

  • An implementation must support GET, as is the case for any LDPR.
  • The headers for GET requests and responses on this resource must conform to [RFC7089section 2.1. Particularly it should be noted that the relevant TimeGate for an LDPRm is the original versioned LDPRv.
  • In addition, any response to a GET request must include a <http://mementoweb.org/ns#Memento>; rel="type" link in the Link header.

...

serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2721
- Randall Floyd

March 16th, 2018 (Fri)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

...

2719
- Ben Pennell

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2729
- Longshou Situ

...

LPPm OPTIONS

  •  An implementation must support OPTIONS.
  •  A response to an OPTIONS request must include Allow: GET, HEAD, OPTIONS as per [LDP].
  •  An implementation may include Allow: DELETE if clients can remove a version from the version history, as noted in 3.8 HTTP DELETE.

...

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2723
- Joe Harrington

Ticket to Specification Tracking

The table below is derived from the following document

Fedora API Spec and Delta Document Verification


Issue DescriptionSpec ReferencePriorityDifficultyStory PointsRelated JIRAsCan be worked nowSprintDepends onNotes
Duplicate headers when GETting binaries
2615LDPm GETLDPm: PUT, POST, and PATCH must return 405 method not allowed4.2.3-5

111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2616

2714

LDPm GET

LDPm: DELETE

The server is responsible for all behaviors implied by the LDP-containment of the LDPRm.

x


Change the PreferInboundReferences URI in Prefer header

from http://fedora.info/definitions/v4/repository#InboundReferences to the one defined in the spec (ie http://fedora.info/definitions/fcrepo#PreferInboundReferences)

3.2.1111
4.2.6

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2620This is a MAY: Are we planning to implement?

LDPCv : An implementation must support GET, as is the case for any LDPR. Any response to a GET request must include a <http://mementoweb.org/ns#TimeMap>; rel="type" link in the Link header. Currently the <http://fedora.info/definitions/v4/repository#TimeMap> is being used.

4.3.2122

2675

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2696

x


HTTP Head does not return the same headers as if the request were a GET3.3311

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2643 (may be closed - depending on approach to fcrepo-2617)4.3.

2661

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2681LDPCv: Disallow PUT and PATCH

2714

x


POSTing a LDP-NR does not return correct constrainedBy Link header3.5
211
1

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2686

2677

x

LDPCv: POST

  • POST that does not contain a Memento-Datetime header should be understood to create a new LDPRm contained by the LDPCv, reflecting the state of the LDPRv at the time of the POST. Any request body must be ignored.
  • A Memento-Datetime header should be understood to create a new LDPRm contained by the LDPCv, with the state given in the request body and the datetime given in the Memento-Datetime request header.
4.3.3



MUST return 409 if request's type Link is not resource's current type or subtype thereof, or not in LDP namespace
  • Though the message coming back in the case of an attempt to move from RDFSource to NonRDFSource says "Resource Already Exists" instead of returning a constrained by header
  • Same message is returned trying to move from ldp:Container to an ldp:DirectContainer or ldp:BasicContainer or ldp:Container

MUST change resource's type if request's type Link is a subtype of resource's current type

MUST change resource's interaction model if request's type Link has an LDP interaction model

Using PATCH it is currently possible to add an rdf:type of ldp:NonRDFSource to an existing ldp:RDFSource. This should fail with a 409.

3.6, 3.7.1133

Jira
serverDuraSpace JIRA
serverIdc815ca92

JiraserverDuraSpace JIRAserverIdc815ca92

-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2617

2591

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2618

LDPCv: DELETE:

Delete of an LDPCv must remove the LDPCv and removing the versioning interaction model from the original LDPRv.

4.312

2594


x

Behavior or Direct and Indirect containers must be verified once these two tickets have been resolved.
Replace current Link rel="type" Header with memento specified link (i.e. http://mementoweb.org/ns#OriginalResource)4.1111
2

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2684

Vary :

When an LDPCv supports POST, and allows clients to specify a datetime for created URI-Ms, Vary-Post/Vary-Put: Memento-Datetime.

4.4111 Jira

2678

LDPm GETAre we planning to support DELETE?
x


The Accept-Datetime header is used to request a past state, exactly as per [RFC7089section 2.1.1. A successful response must be a 302 (Found) redirect to the appropriate LDPRm

If no LDPRm is appropriate to the Accept-Datetime value, an implementation should return a 406 (Unacceptable).

4.1.1122

Jira

serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2685

2613

x
LDPc POST

Replacing Contents from Mementos

Non-normative note: Using the ingest-by-reference mechanism, one can replace the contents of an LDPRvwith that of an LDPRm by providing it's URL as the URL parameter in a Content-Type: message/external-body header. For example, given an LDPRm with URL http://example.org/some/memento, the full header would be 
Content-Type: message/external-body; access-type=URL; expiration=1;
    URL="http://example.org/some/memento"


LDPm GET

The response to a GET request on an LDPRv must include the following headers


4.1.1111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2678

4.5.3532

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2682Default acls must be defined in accordance with the SOLID WEBAC spec.5.0

2679

x


LDPm GET

  • An implementation must support GET, as is the case for any LDPR.
  • The headers for GET requests and responses on this resource must conform to [RFC7089section 2.1. Particularly it should be noted that the relevant TimeGate for an LDPRm is the original versioned LDPRv.
  • In addition, any response to a GET request must include a <http://mementoweb.org/ns#Memento>; rel="type" link in the Link header.
4.2.1133

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2614

x
LDPCv: POSTThis may be complete with the resolution to fcrepo-2617. Needs to be verified.

LPPm OPTIONS

  •  An implementation must support OPTIONS.
  •  A response to an OPTIONS request must include Allow: GET, HEAD, OPTIONS as per [LDP].
  •  An implementation may include Allow: DELETE if clients can remove a version from the version history, as noted in 3.8 HTTP DELETE.
4.2.2111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2615

x
LDPm GET
LDPm: PUT, POST, and PATCH must return 405 method not allowed4.2.3-5111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2616

x
LDPm GET

LDPm: DELETE

The server is responsible for all behaviors implied by the LDP-containment of the LDPRm.

4.2.6


Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2620

x

This is a MAY: Are we planning to implement?

LDPCv : An implementation must support GET, as is the case for any LDPR. Any response to a GET request must include a <http://mementoweb.org/ns#TimeMap>; rel="type" link in the Link header. Currently the <http://fedora.info/definitions/v4/repository#TimeMap> is being used.


4.3.2122

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2643
(may be closed - depending on approach to fcrepo-2617)

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2681





LDPCv: Disallow PUT and PATCH4.3.2111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2686

x


LDPCv: POST

  • POST that does not contain a Memento-Datetime header should be understood to create a new LDPRm contained by the LDPCv, reflecting the state of the LDPRv at the time of the POST. Any request body must be ignored.
  • A Memento-Datetime header should be understood to create a new LDPRm contained by the LDPCv, with the state given in the request body and the datetime given in the Memento-Datetime request header.
4.3.3


Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2617

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2618


x (2618)



LDPCv: DELETE:

Delete of an LDPCv must remove the LDPCv and removing the versioning interaction model from the original LDPRv.

4.3122

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2684

x
LDPm GETAre we planning to support DELETE?

Vary :

When an LDPCv supports POST, and allows clients to specify a datetime for created URI-Ms, Vary-Post/Vary-Put: Memento-Datetime.

4.4111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2685

x
LDPc POST


Replacing Contents from Mementos


Non-normative note: Using the ingest-by-reference mechanism, one can replace the contents of an LDPRvwith that of an LDPRm by providing it's URL as the URL parameter in a Content-Type: message/external-body header. For example, given an LDPRm with URL http://example.org/some/memento, the full header would be 
Content-Type: message/external-body; access-type=URL; expiration=1;
    URL="http://example.org/some/memento"

4.5.3532

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2682





Create container mementos from body



Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2706










Provide separate timemap for binary and description



Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2707





Create historical binary mementos





Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2708





Create binary description mementos




Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2709





Ignore referential integrity of memento properties




Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2710





Default acls must be defined in accordance with the SOLID WEBAC spec.5.0222

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2683

x


Non-normative note: Implementations may set default access controls for all resources by including an ACL for the root container with an authorization that applies to access by any agent (acl:agentClass foaf:Agent), applies to any resource (acl:accessToClass ldp:Resource), and is defined to be inherited (acl:default). The example below grants read access (acl:mode acl:Read) but any combination of modes may be specified.5.2123

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2632

x


The interaction pattern for ACL discovery is described in [SOLIDWEBACACL Resource Location Discovery. A conforming server must advertise the individual resource ACL for every controlled resource in HTTP responses with a rel="acl" link in the Link header, whether or not the ACL exists. The ACL resource should be located in the same server as the controlled resource.5.31
2
22

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2683

2704

x
Non-normative note: Implementations may set default access controls for all resources by including an ACL for the root container with an authorization that applies to access by any agent (acl:agentClass foaf:Agent), applies to any resource (acl:accessToClass ldp:Resource), and is defined to be inherited (acl:default). The example below grants read access (acl:mode acl:Read) but any combination of modes may be specified.5.212

depends on fcrepo-2688
The server must reject the request and respond with a 4xx or 5xx range status code, such as 409 (Conflict) if it isn't able to create the LDPR with the specifiedLDP-RS as the ACL. In that response, the restrictions causing the request to fail must be described in a resource indicated by a rel="http://www.w3.org/ns/ldp#constrainedBy" link in the Link response header, following the pattern of [LDP4.2.1.6.5.4111
3

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2632

2705

x
The interaction pattern for ACL discovery is described in [SOLIDWEBACACL Resource Location Discovery. A conforming server must advertise the individual resource ACL

depends on fcrepo-2688

Restrict Cross Domain ACLs

  •  it MUST respond with a 4xx range status code
  •  and MUST advertise the restriction
 for every controlled resource in HTTP responses
  • with a rel="
acl" link in the Link header, whether or not the ACL exists. The ACL resource should be located in the same server as the controlled resource
5.
3
5
1
222

Jira
serverDuraSpace JIRA

serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5keyFCREPO-2704depends on fcrepo-2688The server must reject the request and respond with a 4xx or 5xx range status code, such as 409 (Conflict) if it isn't able to create the LDPR with the specifiedLDP-RS as the ACL. In that response, the restrictions causing the request to fail must be described in a resource indicated by a rel="http://www.w3.org/ns/ldp#constrainedBy" link in the Link response header, following the pattern of [LDP4.2.1.6.

serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2687

x


Implement ACL linking on resource creation5.4222
Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2688
x



5.7.1111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2715

x



5.7.1
5.4
111

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2705

2716


depends on fcrepo-
2688

Restrict Cross Domain ACLs

5.522
2716


5.7.1,2111
2

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2687x

2717


depends on fcrepo-2717


5.7.3111
Implement ACL linking on resource creation5.4222

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2688xACL Append mode: jiras need to be created.5.7

2718


depends on fcrepo-2718
JIRAs needed!


When an ACL includes an acl:accessToClass statement, it gives access to all resources with the specified type, whether that type is client-managed or server-managed.

5.8


Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2689

x


Verify ACL inheritance5.9


JIRAs needed!




Critical Non-Alignment Issues to be included in the 5.0.0 release

JiraPriorityDepends OnStory Points