IIIF Curation Viewer

“IIIF Curation Viewer”は、国文学研究資料館が公開する古典籍データを人文学オープンデータ共同利用センターのウェブサイト上で閲覧するために開発された、IIIF (International Image Interoperability Framework)準拠の画像ビューワである。ページ移動やズームといった一般的なビューワが持つ機能に加え、複数の資料の中から任意のページを取り出し、任意の順序で閲覧する機能を特徴として有している。

この文書は、本ビューワの画面上に示されていない動作詳細を中心に記述する。時系列拡張に関する内容については、IIIF Curation Viewer for Timelineを参照のこと。またビューワの設置に関する情報はインストールを参照のこと。

IIIF Curation Viewerの機能をとりあえず試してみたい方は、以下のデモサイトをお試しいただきたい。

IIIF Curation Viewerのデモンストレーション

おすすめIIIFサイト

基本利用者向け機能

ビューワ画面

ビューワ画面の操作項目
番号 項目名 説明
1 資料名(リンク) 資料名が表示され、押下により関連情報へ遷移する。
Curation API準拠JSONファイルのURLによる表示対象指定時は括弧内にキュレーション名が表示され、押下により関連情報に遷移する。
labelパラメータによるキュレーション名指定時は、括弧内にキュレーション名が表示される。
2 ページナビ(ボタンとプルダウン) 閲覧対象内で前後にコマ移動する。中央部(「表示中のコマ番号 / 閲覧対象コマ数」形式)のプルダウンでコマ指定移動する。
3 サムネイル一覧表示(ボタン) 閲覧対象のサムネイル一覧を表示する。
4 資料ナビ(ボタンとプルダウン) 閲覧対象内で前後の資料に移動する。中央部(「表示中の資料番号 / 閲覧対象資料切替数」形式)のプルダウンで資料指定移動する。
5 元資料閲覧(ボタン) 表示中のコマの「元資料内でのコマ番号 / 元資料のコマ数」形式で表示され、押下により元資料単体(ページ絞り込みなし)での閲覧に遷移する。
6 キュレーションリスト登録/解除(ボタン) 表示中のコマをキュレーションリスト(後述)に登録または登録解除する。
7 キュレーションリスト表示(ボタン) キュレーションリストを表示する。
8 画像ダウンロード(ボタン) 表示中のコマの画像をダウンロードする。
9 情報表示(ボタン) 表示中の資料に関する権利関係やライセンス、ロゴ、マニフェストのURL等の情報を表示する。
10 ヘルプ表示(ボタン) ヘルプ情報を表示する。
11 ズームイン/ズームアウト(ボタン) 表示中のコマをズームイン/ズームアウトする。
12 フルページ表示(ボタン) フルページ表示状態を切り替える。
フルページ表示時は、ビューワの左右両端にページ移動用ボタンが表示される(一定時間でフェードアウトする)。
13 部分矩形領域指定(ボタン) 表示中のコマの一部分を選択する。ボタン押下後、表示中のコマをクリックしてドラッグすることにより、コマの一部分を選択できる。
領域の選択を表す矩形を、以下「領域選択」という。
領域が選択されているときは、編集ボタンと削除ボタンが表示される。
編集ボタン押下後、領域選択のハンドルをドラッグすることにより、領域選択を変形・移動できる。変更を確定するには適用を押下し、取り消すにはキャンセルを押下する。
削除ボタンを押下すると、領域選択を即時削除できる。

キュレーションリスト画面

IIIF Curation Viewer v1.1からは、本ビューワの閲覧対象を指定するリスト(以下「キュレーションリスト」という。)を画面上の操作によって作成できる。

ただし、Web storage (local storage)が利用できないブラウザ環境(ブラウザが「CookieとWebサイトのデータ」を常にブロックする設定になっている場合や、一部のブラウザのプライベートモードなど)では、この機能は利用できない。

本機能が利用できるブラウザ環境では、キュレーションリスト表示ボタンを押下すると、キュレーションリスト画面が表示される。キュレーションリスト画面は、自らリスト登録を行ったコマについて、閲覧順序変更や登録解除等を行える画面である。ここで作成するキュレーションリストは、外部から指定された閲覧対象状態(pagesパラメータやcurationパラメータなどの指定)によらず、独立して保持される。

キュレーションリスト登録ボタンにより、任意のコマをリスト登録したのち、キュレーションリスト表示ボタンを押下すると、以下のようなキュレーションリスト画面が表示される。

キュレーションリスト画面
番号 項目名 説明
1 URL(リンク) キュレーションリストに登録されたコマを、リストの順序で閲覧できるURL。
キュレーションリストに、pagesパラメータでは表現できない内容(コマの部分矩形領域(後述)など)が登録されている場合は、非表示となる。
2 サムネイル(画像とボタン) キュレーションリストに登録されたコマのサムネイル。
ドラッグ&ドロップにより、閲覧順序を変更できる。「×」ボタン押下によりリストから削除される。
3 全てクリア(ボタン) キュレーションリストに登録されたコマを全て登録解除する。
4 JSON(ボタン) キュレーションリストをCuration JSON形式で取得する。
5 閉じる(ボタン) キュレーションリスト画面を閉じる。

なお、IIIF Curation Viewer v1.4からは、curationパラメータ指定により読み込んだキュレーションリストを表示したブラウザタブでは、その内容がキュレーションリスト画面に表示され、リストの編集が行えるようになった。

このリストは、タブごとに独立であり、タブを閉じると消去される(curationパラメータ指定によりキュレーションリストを読み込む前に作成していたキュレーションリストがある場合は、その内容が再びキュレーションリスト画面に表示されるようになる)。読み込んだキュレーションリストにない資料からコマを追加したい場合、同じタブでmanifestを開き、コマもしくはコマの一部分をリストに登録する。

ただし、Web storage (session storage)が利用できないブラウザ環境では、この機能は利用できない。

部分矩形領域指定

IIIF Curation Viewer v1.2からは、表示中のコマの部分矩形領域を選択することができる。この選択は、コマを移動するとクリアされる。

表示中のコマの一部分を選択した状態で、キュレーションリスト登録を行うと、選択領域がキュレーションリストに登録される。キュレーションリスト登録後に、選択領域の編集や削除を行った場合であっても、キュレーションリストに登録済みの内容は維持される。

また、領域選択をクリックすると、ポップアップが表示され、付加的な機能を利用できる。

マニフェストURLのドラッグ&ドロップ

IIIF Curation Viewer v1.3からは、マニフェストURLのドラッグ&ドロップに対応している。

ドラッグ&ドロップにより資料の閲覧を開始するには、ビューワの資料名表示部分下部にマニフェストURLをドラッグし、資料名表示部分下部の背景色が変化すればドロップする。

ただし、ビューワ設置者により表示が認められていないマニフェストURLをドロップした場合は、表示されない。

プラグインによる機能拡張

IIIF Curation Viewer v1.4からは、本ビューワにプラグインを導入することで、利用者のニーズに応じた機能拡張が可能となっている。プラグインにより拡張される機能の例については別資料を参照のこと。

キーボードショートカット

キー名 動作
左矢印、Back space、コンマ 閲覧対象(ピックアップ)内で前のコマへ移動
サムネイル一覧を表示中は、サムネイル一覧の前ページ移動
右矢印、Space、ピリオド 閲覧対象(ピックアップ)内で次のコマへ移動
サムネイル一覧を表示中は、サムネイル一覧の次ページ移動
f フルページ表示切り替え
t サムネイル一覧表示切り替え
c キュレーションリスト表示切り替え
l(小文字エル) キュレーションリスト登録状態切り替え
+ (Numpad) ズームイン
- (Numpad) ズームアウト

高度利用者向け機能

URL(GET引数)による動作指定

本ビューワは、URLの引数を活用して動作を細かく制御できる点に特徴がある。例えば、pagesパラメータでの列挙や、Curation APIに準拠して閲覧対象を記述したJSONファイルを用いて、閲覧対象を指定することができる。以下は指定できるパラメータのリストである。

パラメータ名 内容 値の形式 補足
pages(*1) identifierによる表示対象指定 <identifier>(/<pages>)?(:<identifier>(/<pages>)?)* ここで、
<identifier> ::= [0-9]{9}(*2)
<pages> ::= <page num>(-<page num>)?(,<page num>(-<page num>)?)*
<page num> ::= -?[0-9]+
<page num>は、1から始まるページ番号、負数は最終ページからの位置。
manifest(*1) Manifest JSONファイルのURLによる表示対象指定 URL ビューワ設置者の設定により表示が認められたURL。
表示対象が提供するIIIF Image API準拠レベルにより、ビューワの機能が一部制限されることがある。
curation Curation APIに準拠するJSONファイルのURLによる表示対象指定 URL Curation APIを参照。
pos 表示ページ指定 [0-9]+ 表示対象ページのうち、何番目を画面に表示するかの数値(1から始まる通し番号)
full フルページ表示(オプション) 1 1:フルページ状態でページを開く
tnパラメータとの同時指定不可
tn サムネイル一覧表示(オプション) 1 1:サムネイル一覧を表示した状態でページを開く
fullパラメータとの同時指定不可
lang 表示言語指定(オプション) "ja"など "ja"または未指定:日本語表示
上記以外("en"など):英語表示
label キュレーション名指定(オプション) URLエンコード(UTF-8)文字列 キュレーション名として表示する文字列
curationパラメータとの同時指定は無効

*1:v1.3以降では、ビューワ設置者の設定により利用不可の場合もある。

*2:人文学オープンデータ共同利用センターのウェブサイト上で提供されている「日本古典籍データセット」の例。v1.3以降では、ビューワ設置者の設定により異なる。

記述例

  1. 単一資料『唐糸草紙』の全ページ表示のケース(通常表示)
  2. 単一資料『唐糸草紙』のp.23-50のみ表示のケース
  3. 単一資料『唐糸草紙』のp.6,9,11,14,19のみ表示のケース
  4. 単一資料『唐糸草紙』の末尾5ページのみ表示のケース
  5. 単一資料『唐糸草紙』を逆順に全ページ表示のケース
  6. 単一資料『唐糸草紙』で一部のページを重複表示のケース
  7. 複数資料『画本虫撰』『唐糸草紙』の全ページ表示のケース
  8. 複数資料『画本虫撰』のp.1,12,24と『唐糸草紙』のp1,9,11のみを表示のケース
  9. Curation API準拠JSONファイルの読み込み(表示対象は8.に一部矩形領域指定を加えたもの)
  10. 単一資料『唐糸草紙』のp.6,9,11,14,19のうち、p.11(3番目)を最初に表示するケース
  11. 単一資料『唐糸草紙』のp.6,9,11,14,19のうち、p.11(3番目)を最初にフルページ表示するケース
  12. 単一資料『唐糸草紙』の全ページ表示(英語)のケース
  13. 複数資料『画本虫撰』のp.1,12,24と『唐糸草紙』のp1,9,11のみを表示(英語)のケース

制限事項

本ビューワのcr:Curationに関する実装では、Curation API拡張のベースとしたIIIF Presentation API 2.1の全仕様には対応していないが(Range内のrangesプロパティには未対応。Rangemembersプロパティ内ではCanvasのみ対応、members内のRangeの入れ子は未対応など)、Curationの仕様としてこれらを禁じるものではない。

本ビューワのsc:Manifestに関する実装は、IIIF Presentation APIの全仕様に対応したものではない。

活用情報

ライセンス

IIIF Curation Viewer v1.4

Copyright 2016 Center for Open Data in the Humanities,
Research Organization of Information and Systems

Released under the MIT license

Core contributor: Jun HOMMA (@2SC1815J)

Licenses of open source JS libraries, see acknowledgements.txt

開発履歴

バージョン1.4 (2018-04-04)

  1. プラグインによる機能拡張に対応
  2. 外部キュレーションのリスト編集に対応

バージョン1.3 (2017-10-11)

  1. IIIF対応を拡大し、外部IIIFサイト表示に対応
  2. マニフェストURLのドラッグ&ドロップに対応
  3. インストールオプション設定に対応

バージョン1.2 (2017-06-02)

  1. IIIF時系列拡張仕様(Timeline/Cursor API)に対応
  2. 画像の部分領域キュレーションに対応

バージョン1.1 (2017-04-03)

  1. 画面操作によるキュレーションリスト作成に対応

バージョン1.0 (2016-11-10)

  1. IIIF拡張仕様(Curation API)に対応