OPDS 入門

OPDS Primer

注意事項
原文:
OPDS Primer
公開日:
2012-2-24
最終更新日:
2012-2-24
原文投稿日:
2011-6-14
原著者:
Hadrien Gardeur & Benoît Larroque
翻訳者:
ろす(@lost_and_found)

原文全表示

この文書のステータス

Status of this document

これは Open Publishing Distribution System Catalog 1.0 specification の入門書だ。この文書は規範よりも参考に近い。もし万が一この文書と OPDS カタログの仕様が一致しない場合は、仕様のほうを参照して欲しい。

原文表示

OPDS カタログとは何か

What are OPDS Catalogs?

OPDS カタログは、本やジャーナルやその他のデジタルコンテンツを、あらゆるユーザが、あらゆる場所から、あらゆる電子化されたフォーマットで、あらゆるデバイスに、集約、配信、発見できるようにする。

原文表示

OPDS カタログの仕様は開発が続けられており、われわれ専門グループはどんなアイデア、提案、フィードバックも歓迎する。

原文表示

フィードとエントリ

Feeds & Entries

OPDS カタログは Atom 配信フォーマット (Atom 仕様) が定義するフィードとエントリの概念を取り入れている。

原文表示

Atom は “フィード”と呼ばれる関連情報をリストとして記述した XML ベースの文書フォーマットである。フィードは拡張可能なメタデータの集合を持った“エントリ”と呼ばれる幾つものアイテムで構成される。例えばそれぞれのエントリにはタイトルがある。

原文表示

フィードは基本的にはエントリのコンテナであり、Atom を読み込んでみれば中には、フィードか単独のエントリのいずれかがあるはずだ。

原文表示

ナビゲーションフィードと取得フィード

Navigation Feeds and Acquisition Feeds

OPDS カタログには、用途の異なる二種類のフィードがある。

原文表示

  1. カタログによってクライアントをナビゲートするナビゲーションフィード

    原文表示

  2. 出版物を一覧化して取得可能にする取得フィード

    原文表示

いずれのフィードも妥当な Atom フィードであり、一般的な Atom クライアントによって読み込める。

原文表示

カタログ制作者はナビゲーションフィード取得フィードを別々にすることが期待される。つまり両者は併存できない。

原文表示

カタログリンクとパブリケーション

Catalog Links and Publications

同様に OPDS のエントリには次の二種類がある。

原文表示

  1. ナビゲーションフィードの中で、他のフィードを示すカタログリンク

    原文表示

  2. 取得フィードの中で、様々なメタデータをリストし、取得リンクを提供する パブリケーション

    原文表示

取得リンクがあるものはパブリケーションと判別される。取得リンクがないエントリはカタログリンクだ。

原文表示

取得リンクは、取得できるリソースへのリンクだ。

原文表示

Atom の中での取得リンクは、基本的に “http://opds-spec.org/acquisition” によって始まるリレーションを(rel 属性に)持った link タグとなる。

原文表示

OPDS は予め定義された様々な取得シナリオあらわすリレーションを持つ。

原文表示

これらの取得シナリオが適さない場合には、汎用的な取得リレーションを利用することもできる。

原文表示

関連する rel 属性の値:

原文表示

取得シナリオ 属性の値
汎用的な取得 http://opds-spec.org/acquisition
オープンアクセス http://opds-spec.org/acquisition/open-access
販売 http://opds-spec.org/acquisition/buy
貸し出し http://opds-spec.org/acquisition/borrow
購読 http://opds-spec.org/acquisition/subscribe
サンプル http://opds-spec.org/acquisition/sample

原文表示

フルエントリ

Full Entries

カタログ制作者には出版物のエントリに詳細なメタデータを入れることが推奨される。帯域と速度の問題を避けるために、OPDS では AtomPub で最初に導入された仕組みであるフルエントリを推奨する。

原文表示

あらゆる出版物は rel="alternate"type="application/atom+xml;type=entry" の属性を追加したlink タグを追加することで、エントリの内容を再定義した別の文書を示すことができる。

原文表示


  <entry>
    <title>On the Origin of Species</title>
    <id>http://www.example.com/42</id>
    <author>
      <name>Charles Darwin</name>
    </author>
    <updated>2010-01-02T15:27:07Z</updated>
    <link type="application/epub+zip"
             href="http://www.example.com/42.epub" rel="http://opds-spec.org/acquisition/open-access"/>
    <link type="application/atom+xml;type=entry" 
             href="http://www.example.com/42.atom" rel="alternate" title="Full entry"/>
  </entry>

エントリの部分的な例

原文表示

フルエントリの最も一般的な利用ケースは、出版物について詳細な説明を行う場合だ。この部分的なエントリでは summary 要素の中で短い説明を行なう一方、フルエントリでは content 要素の中で完全な説明を行う。

原文表示

またフルエントリは OPDS に、カタログが特定のドメインに固有のメタデータやリンク関係を利用できるようにする、シンプルな拡張の仕組みを与える。

原文表示

ナビゲーションフィードによるナビゲーションの他に、クライアントは検索によっても出版物にアクセスできる。

原文表示

OPDS の検索はOpen Search フォーマットに基づいており、クライアントがカタログを検索する方法を Open Search Description Document と呼ばれる別の文書に記述する。

原文表示

検索は OPDS のオプショナルな機構となっている。

原文表示

Examples

ボブは、OPDS に対応したデバイスを使っており、新しい本を手に入れたいと思っている。

原文表示

彼はデバイスで OPDS カタログを開いて、利用できる様々なセクションを持ったリストを取得する。

原文表示

このカタログがナビゲーションフィードだ。

原文表示

彼は一つのセクション、例えば “Scientific books” を選び、利用できる出版物のリストを取得する。

原文表示

このリストが取得フィードだ。このタイトルのリストは、出版物のリストから全ての title 要素を取り出すことによって作られている。

原文表示

彼はある一冊の本(On the Origin of Species)に要約があるか調べてみたいと思う。彼がその本を選ぶと、クライアントはその本の要約と出版日、そしてこの本に関するユーザのレビューを表示する。

原文表示

ボブが出版物を選ぶと、リーディングシステムはフルエントリへのリンクを探し、その内容を取り出してボブに見せる。

原文表示

要約を読んだボブはこの本を手に入れることに決め、ダウンロードボタンをクリックする。

原文表示

クライアントが本をダウンロードできるアドレスは、取得リンクによってわかる。

原文表示

これは OPDS の一般的な利用法を解説したシナリオだ。次にやや高度な利用法を見てみよう。

原文表示

ボブは取得フィードに辿り着く前に、幾つものナビゲーションフィードを経由することもある。例えば、Books > Scientific Books > XIX century Books > High School Classics (それぞれの ‘>’ はリンクが続くことを表す。)

原文表示

OPDS カタログフィードは、取得フィードをいう葉を持ったツリーと見なすことができる。

原文表示

ボブは新しい本を読みたいのではなく、単に On the Origin of Species が読みたかったのかもしれない。彼はクライアントでカタログを開き、検索機能を使って “the origin of species” とタイプする。カタログプロバイダから条件にマッチした On the Origin of SpeciesSpecies of the OriginOriginal spätzel cooking が直接彼に返される。彼はその中から目的の本を選んで取得するだけでよい。

原文表示

この例では、クライアントはマッチするはずの出版物を探すのに Open Search Description Document を利用する。カタログプロバイダは問い合わせに対して取得フィードを直接返す。

原文表示

この On the Origin of Species の特定の版は無料では手に入れられなかったもしれない。カタログプロバイダは Buy のリレーションを利用し、リンクの中に価格を提示することができる。この本を取得しようとすれば、ボブはコンテンツを手に入れる前に必要な支払いを要求されただろう。

原文表示

パブリケーションのエントリは複数の取得リンクを持つことができる。カタログプロバイダは 二番目のリンクを、Sample のリレーションを利用して、本のサンプル用の章に使うこともできる。

原文表示

オートディスカバリ

Autodiscovery

OPDS カタログはクライアントに自動的に見つけてもらうことができる。link タグに type=”application/atom+xml;profile=opds-catalog” という属性を指定するだけだ。この仕組の詳細は仕様に書かれている

原文表示

オートディスカバリは OPDS のオプショナルな機構となっている。

原文表示

フィードのクロール

Crawling feeds

クライアントは出版物に関する全てのデータを必要とすることがあるかもしれない。OPDS ワークグループこの潜在的な課題を認識しており、出版社に対してクロール専用のフィードを提供することを推奨している。

原文表示

クローラは OPDS のオプショナルな機構となっている。

原文表示

はじめてみよう

Getting Started

Feedbooks では OPDS カタログを http://www.feedbooks.com/catalog で公開している。

原文表示

OPDS で何ができるかの先進的な例として我々のフィードとエントリを見てもらいたい。

原文表示

あなたが自分のカタログをテストするには、我々が用意した Feedbooks のカタログに接続したリーディングシステムの一覧を見て欲しい。

原文表示