Skip to content
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

TimeGate Negotiation -- in defense of option #1 #3

Open
ikreymer opened this issue May 24, 2017 · 0 comments
Open

TimeGate Negotiation -- in defense of option #1 #3

ikreymer opened this issue May 24, 2017 · 0 comments

Comments

@ikreymer
Copy link

ikreymer commented May 24, 2017

A con for option 1 states:

This solution tightly integrates the solution for raw mementos with the existing Memento framework. Archives will need to expose the dimensions of rawness that they support so that Memento aggregators can then evaluate the mementos offered by each archive.
Because the TimeGate must redirect to a URI-M that satisfies the preferred dimensions of rawness, mementos containing different dimensions of rawness will need to be identified by different URI-Ms.

But this sounds to like it should be a pro :)

The whole point of adding this is to integrate with the Memento framework!

I imagine this working by including a Prefer: original-content to a TimeGate request, and being redirected to the id_ or im_ version of the url, instead of the rewritten version (no id_ or im_)

Because the TimeGate must redirect to a URI-M that satisfies the preferred dimensions of rawness, mementos containing different dimensions of rawness will need to be identified by different URI-Ms.

This too sounds like it should be a pro! The TimeGate should redirect to a different URI-M if it is rendering the content differently, otherwise the same URL could represent completely different content.

If curl -H 'Prefer: screenshot' 'http://archive.example.com/web/2016/http://example.com/' returns a screenshot, while
curl -H 'Prefer: original-content' http://archive.example.com/web/2016/http://example.com/ returns HTML while curl -H 'Prefer: emulator-netscape-3' http://archive.example.com/web/2016/http://example.com/ returns an embedded emulator running Netscape 3, then then meaning of
the URL http://archive.example.com/web/2016/http://example.com/ is completely lost!

A user might send this url thinking it was a screenshot to another user, who would only see plain HTML. A user could not reliably cite this URL nor share with others, without knowing the value of a hidden Prefer header and how it completely changes what they are viewing! If there was a memento plugin that specified the Prefer header and resulted in different renderings, it would just lead to confusion.

Of course, URLs are not guaranteed to be the same in any sense to begin with, but I think this would just make archives seem less reliable indicators of content, and is against common practices of RESTful APIs.

To avoid these issues, a screenshot, raw memento, and an embedded emulator should all have unique urls, and do, in current implementations of such features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant