-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Requirement for self-reference link in Atom feed is too strict #596
Comments
This issue may be better placed in https://github.com/INSPIRE-MIF/helpdesk-validator - although I am not sure what the organisational relationships between the abstract test cases and the validator are? |
I am not sure, I fully understand the issue, could you perhaps create a pull request in https://github.com/inspire-eu-validation/download-atom/tree/3.1 that illustrates the exact wording you would like to see, and add a link to it here? It would probably be best if this issue would be moved to https://github.com/INSPIRE-MIF/helpdesk-validator for an assessment there. Unless you think that there a problem with the requirements in the technical guidelines? If that would be the case, please explain (preferably with a specific proposal for new wording). |
* Requirement according to TG is not that the self link contains the exact URL from which the feed to test has been retrieved, but a URL at which the feed may be retrieved. * This is the same requirement as for the id, so the same test method should apply here. * See discussion at https://github.com/INSPIRE-MIF/helpdesk/issues/51
Sure, the pull request is at inspire-eu-validation/download-atom#2 Note that this simply replaces the test requirement "the self link must be the same as the Download Service feed URI" with the test requirements as defined for the service feed id, which is logical as the text in the TG states that the "identifier shall be the same HTTP URI that was used for the 'self' reference" (note that this identity is however not part of the formally defined TG Requirement 9, and is presumably for this reason not included in the test requirements for the id element). I don't think the TG as such needs to be corrected, although I find it somewhat remarkable that the formulation in Requirement 7 "The "Download Service Feed" shall contain an Atom 'link‘ element that contains an HTTP URI for the "Download Service Feed" document" is different to that in Requirement 9 "The 'id‘ element of a feed shall contain an HTTP URI which dereferences to the feed" - in my opinion the formulation "an HTTP URI which dereferences to the feed" could also be used for Requirement 7 as it is more clearly defined than "an HTTP URI for the "Download Service Feed" document", whilst having exactly the same implication. |
Dear all, @ejn we will soon provide you some feedback. |
According to RFC4287, the URI reported by
<link rel="self"
"is the preferred URI for retrieving Atom Feed Documents representing this Atom feed" (my emphasis). This implies that the same feed may be available at alternative URIs, but that the canonical URI is the one reported in<link rel="self"
.The abstract test description for INSPIRE Atom feeds interprets this as "the self link must be the same as the Download Service feed URI" (note not "the URI from which the Download Service was retrieved").
The concrete implementation in the validator however obviously requires that the canonical URL is used for retrieving the feed otherwise an error "The Atom feed does NOT contain a link to itself that equals the URL of the requested resource. Check the element /atom:feed/atom:link with @rel='self' and the the request URL." is reported.
Note that the TG also requires (Section 5.1.8) regarding the feed id element that:
From this Requirement 9 (and also Requirement 22) is derived: "The ‘id’ element of a feed shall contain an HTTP URI which dereferences to
the feed".
This implies very clearly that the requirement for
<link rel="self"
is also that it contains a HTTP URI which dereferences to the feed itself, not that it is necessarily the URI from which the feed is retrieved, as its contents shall be the same as the id element.I think that the abstract test description for the self-reference link should be corrected to match the abstract test description for the id element, and the implementation updated accordingly.
Please note that there also appears to be a technical problem in the implementation of this test within the validator: Starting the test with the canonical URL https://www.geodaten-mv.de/dienste/verkehrsnetz_lsbv_inspire_atom?id=17a14b95-94a7-1213-e2a1-pa2424ga2b12&type=service then the request is made to the non-canonical (but in this case still functional) URL https://www.geodaten-mv.de/dienste/verkehrsnetz_lsbv_inspire_atom (see report, which however reports the canonical URL in the self-link and therefore fails this test. Perhaps query parameters are not expected in the URL for an Atom feed (although these are of course valid, and may in many cases be required)?
The text was updated successfully, but these errors were encountered: