Using the Memento MediaWiki Extension to Avoid Spoilers

Post on 24-Jan-2015

697 views 3 download

description

The rise in fan-based wikis allows fans to discuss TV shows and books in ways never before seen. Unfortunately, as fans, we have the problem of spoilers. Using a fan-based resource is wonderful for those who are current with their reading/watching, but it is frustrating for those who want to experience the suspense of reveals but have not caught up yet. Some sites have even added warnings to their pages to indicate the existence of spoilers, but these effectively tell visitors who are behind on their fiction consumption that the wiki cannot be used by them until they catch up. RFC 7089, also known as Memento, provides a user the ability to choose a date and time in the past, then allows them to browse the web and see how it looked on that date. One of the great use cases of Memento is the avoidance of spoilers. Though Memento was original designed with the Internet Archive and other web archives in mind, these archives do not have all of the past versions of a page, subjecting fans to missing information they otherwise would have had access to, if all revisions of a page were available. Jointly developed by Old Dominion University and Los Alamos National Laboratory, this is where the Memento MediaWiki Extension comes in.

transcript

Using the Memento MediaWiki Extension to

Avoid Spoilers

Shawn M. Jonessjone@cs.odu.edu

Old Dominion University

How many of us watch?

Getting Info On Our Favorite Fiction

All of these are wikis!

All of these wikis run MediaWiki!

The ProblemWe haven’t caught up because of a job/ailing mother/bar crawl/life.

The Problem

Wait, he’s dead?

How do we avoid these spoilers?

We haven’t caught up because of a job/ailing mother/bar crawl/life.

Current “Solution”Post a big SPOILER ALERT on the page

I haven’t caught up. Is this Wiki even useful to me until I catch up?

I’m afraid to use this site now.

Site owners may be losing ad revenue because visitors turn away.

The solutionRFC 7089 describes the Memento Protocol

Memento Chrome Extensionby Los Alamos National Laboratory (LANL)

User installs in browser

Memento MediaWiki Extensionby Old Dominion University and LANL

Site administrator installs in MediaWiki

Simplified Memento Overview

DEMO

• Let’s avoid some spoilers with A Song Of Ice and Fire…

http://ws-dl-05.cs.odu.edu/demo/index.php/Kevan_Lannister

https://www.youtube.com/watch?v=tb0g5D5LTiU

DEMO Screenshots

We want to find information about Kevan Lannister, but haven’t read the book A Dance with Dragons yet. We set the Memento Chrome Extension prior to the release of that book: June 29, 2011.

DEMO Screenshots

We use the Memento Chrome Extension to request a revision of the page close to, but not over, our requested date.

DEMO Screenshots

And we get the revision of the page closest, but not over, the date requested.

DEMO Screenshots

And, as you can see, this revision of the page has no information aboutA Dance With Dragons.

DEMO Screenshots

And that’s not all… I can browse the rest of the site, spoiler-free.

DEMO Screenshots

Here’s the past revision of the page about Tommen Baratheon, as linked to, from the Kevan Lannister page, and still close to, but not over, our requested date.

Summary

• Wikis contain the past revision of ever page• Today’s fiction has given rise to fan wikis• For topics that have evolving information,

Memento can provide a way to avoid spoilers• If the Memento MediaWiki Extension is

installed on your fan-based wiki, then users with the Memento Chrome Extension will be able to avoid spoilers!

Resources• Memento Protocol: http://tools.ietf.org/html/rfc7089• Memento Website: http://www.mementoweb.org/• Memento MediaWiki Extension:

http://www.mediawiki.org/wiki/Extension:Memento• Memento Chrome Extension:

http://bit.ly/memento-for-chrome

• More details:http://ws-dl.blogspot.com/2013/12/2013-12-18-avoiding-spoilers-with.html

• Demo:https://www.youtube.com/watch?v=ciClYjTnscs

• Contact me: sjone@cs.odu.edu

Backup slides

Other uses for the Memento MediaWiki Extension

Evolving laws and legal discourse

Past software contributions (Folding@Home)

Changing relationship between organizations (ICANN vs. Verisign)

Memento Extension vs. Manually Getting Page Revision

Why do it when Memento will do it for you?

This is very time consuming.

Memento let’s you browse through the whole web with a given date!

Memento Extension vs. MediaWiki APIJSON:{"revid":607345961,"parentid":607210719,"timestamp":"2014-05-06T16:07:52Z”}

XML:<rev revid="607519915" parentid="607345961" user="Marklemagne" timestamp="2014-05-07T19:00:26Z"/>

Only a custom MediaWiki client can turn these oldid entries into URIs.

Memento is a web standard way of accessing old web resources and is already implemented for many different applications (web archives, etc.)

Memento Extension vs. MediaWiki APILink: <http://ws-dl-05.cs.odu.edu/demo-302-recommended-relations/index.php/Daenerys_Targaryen>; rel="original latest-version",

<http://ws-dl-05.cs.odu.edu/demo-302-recommended-relations/index.php/Special:TimeGate/Daenerys_Targaryen>; rel="timegate",

<http://ws-dl-05.cs.odu.edu/demo-302-recommended-relations/index.php/Special:TimeMap/Daenerys_Targaryen>; rel="timemap"; type="application/link-format"; from="Sun, 22 Apr 2007 15:01:20 GMT"; until="Fri, 27 Sep 2013 20:48:24 GMT",

<http://ws-dl-05.cs.odu.edu/demo-302-recommended-relations/index.php?title=Daenerys_Targaryen&oldid=1499>; rel="first memento"; datetime="Sun, 22 Apr 2007 15:01:20 GMT",

<http://ws-dl-05.cs.odu.edu/demo-302-recommended-relations/index.php?title=Daenerys_Targaryen&oldid=107643>; rel="last memento"; datetime="Fri, 27 Sep 2013 20:48:24 GMT"

Memento also follows the RESTful principle of “follow your nose”, indicating additional resources to access from here.

Memento Extension vs. Internet Archive

The Internet Archive only gets some of the revisions of a given page.

MediaWiki has all of the revisions of a given page.

Memento Extension vs. Other MediaWiki Time Travel Extensions

While these extensions just work for MediaWiki, Memento works for the entire web.

With the Memento extensions, one can browse the entire web spoiler free by seamlessly accessing web archives and other resources through Memento.

Sample URI-R (Step 1) HTTP Response

HTTP/1.1 200 OKDate: Sun, 25 May 2014 21:39:02 GMTServer: ApacheX-Content-Type-Options: nosniffLink: http://ws-dl-05.cs.odu.edu/demo/index.php/Daenerys\_Targaryen; rel="original latest-version",

http://ws-dl-05.cs.odu.edu/demo/index.php/Special:TimeGate/Daenerys\_Targaryen; rel="timegate",

http://ws-dl-05.cs.odu.edu/demo/index.php/Special:TimeMap/Daenerys\_Targaryen; rel="timemap”; type="application/link-format”Content-language: enVary: Accept-Encoding,CookieCache-Control: s-maxage=18000, must-revalidate, max-age=0Last-Modified: Sat, 17 May 2014 16:48:28 GMTConnection: closeContent-Type: text/html; charset=UTF-8

Sample URI-G (Step 2) HTTP Response

HTTP/1.1 302 FoundDate: Sun, 25 May 2014 21:43:08 GMTServer: ApacheX-Content-Type-Options: nosniffVary: Accept-Encoding, Accept-DatetimeLocation: http://ws-dl-05.cs.odu.edu/demo/index.php?title=Daenerys_Targaryen&oldid=1499Link: <http://ws-dl-05.cs.odu.edu/demo/index.php/Special:TimeMap/Daenerys_Targaryen>; rel="timemap”; type="application/link-format",

<http://ws-dl-05.cs.odu.edu/demo/index.php/Daenerys_Targaryen>; rel="original latest-version”Connection: closeContent-Type: text/html; charset=UTF-8

Sample URI-M (Step 3) HTTP Response

HTTP/1.1 200 OKDate: Sun, 25 May 2014 21:46:12 GMTServer: ApacheX-Content-Type-Options: nosniffMemento-Datetime: Sun, 22 Apr 2007 15:01:20 GMTLink: <http://ws-dl-05.cs.odu.edu/demo/index.php/Daenerys_Targaryen>; rel="original latest-version”,

<http://ws-dl-05.cs.odu.edu/demo/index.php/Special:TimeGate/Daenerys_Targaryen>; rel="timegate”,

<http://ws-dl-05.cs.odu.edu/demo/index.php/Special:TimeMap/Daenerys_Targaryen>; rel="timemap”; type="application/link-format”Content-language: enVary: Accept-Encoding,CookieExpires: Thu, 01 Jan 1970 00:00:00 GMTCache-Control: private, must-revalidate, max-age=0Connection: closeContent-Type: text/html; charset=UTF-8