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-

...

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).

...

2707
- 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

...

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.

...

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.

...

-2615
- Longshou Situ

Jira
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

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


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

Jira
server

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

2616

2714

x
LDPm GET

LDPm: DELETE

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




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-

2620

2675

xThis 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-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

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

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-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-

2618x (2618)

LDPCv: DELETE:

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

4.3122

2591

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.4

2594


x
LDPm GETAre we planning to support DELETE?


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.1
111

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

2685

2678

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.353



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.112
2

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

2682Create container mementos from body

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

Provide separate timemap for binary and description

2613

x
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-

2707

2678

Create historical binary mementos

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

2708Create binary description mementos
Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyFCREPO-2709
Ignore referential integrity of memento properties

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-

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

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-

2683

2615

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

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

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

2632

2616

x
LDPm GET
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.3122

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-

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.

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.3122

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

x
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

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

x
depends on fcrepo-2688

Restrict Cross Domain ACLs

5.5222

Jira
serverDuraSpace JIRA
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-

2687xImplement ACL linking on resource creation

2717


depends on fcrepo-2717


5.
4
7.3
2
1
2
1
2
1

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