インストール可能なコンテナ
1つのworkと1つのeditionをまとめる、インストール可能な単位です。
BookFieldパッケージ形式
wbpkgは、BookFieldがローカルファーストの読書体験、オフライン検索、学習計画、構造化参照のために取り込むインストール可能なコンテンツパッケージ形式です。
バージョンスナップショット
概要
wbpkgパッケージは1つのworkと1つのeditionを含みます。BookFieldが端末上で検証・インストールできるように、メタデータ、リーダー用アセット、ナビゲーション、必要に応じたスケジュール、ロケーターインデックスをまとめます。
1つのworkと1つのeditionをまとめる、インストール可能な単位です。
manifest.jsonはidentity、work、edition、assets、navigation、任意のentriesを定義します。
ReaderDocコンテンツはインポート用に準備されるため、Readerは実行時にEPUB、HTML、CSSを解析しません。
navigationTreeはentry pointと、Readerにおけるパッケージ単位の目次を決めます。
locator indexとbindingsにより、対応するパッケージがインストールされていれば、作成者が定義した参照をオフラインで解決できます。
学習計画のメタデータを含むパッケージだけ、manifest.jsonに作成済みのstudyPlansを格納します。
パッケージ構成
パッケージパスはパッケージルート相対のPOSIXパスに統一します。テキストパッケージはreader/配下にReaderDocファイルを持ち、テキストアセットがない画像・音声・動画のみのパッケージではreader/を省略できます。
manifest.json
reader/{assetId}/reader_manifest.json
reader/{assetId}/reader.rdoc
images/{assetId}.{ext}
images/{assetId}-thumb.{ext}
media/{assetId}.{ext}
locator/{profileId}.json
Manifest仕様
manifest.jsonは、BookFieldがインポート前に読む公開仕様です。legacy packageKindとpresentation fieldsは現在のパッケージ形式に含めません。
インストールや置換の判断に使うパッケージIDとバージョンを定義します。
パッケージに含まれるworkとeditionを識別します。
text、image、audio、videoのアセットと、それぞれに対応するローカルパスを列挙します。
Readerがオフラインで開けるentry pointとパッケージナビゲーションを定義します。
パッケージに学習計画メタデータがある場合に限り、作成済みスケジュールを追加します。
作成者が定義した参照とロケーターインデックスを結び付け、オフライン解決を可能にします。
パッケージの作成
ソースコンテンツ、メタデータ、メディア、必要に応じて作成済みのスケジュールや参照を準備します。
manifestメタデータ、ReaderDocコンテンツ、メディア、ナビゲーション、ロケーターファイルを含むインストール可能なパッケージを作成します。
配布前にパッケージ構成とスキーマ互換性を確認します。
Readerへのインポート
BookFieldはパッケージ構成を確認し、未対応または不正なパッケージを拒否します。
対応するパッケージアセットをアプリが管理するローカルストレージに展開します。
ReaderDocペイロード、ナビゲーション、ロケーターインデックス、検索レコード、スケジュールをオフライン利用向けに登録します。
互換性
正本リファレンス
この公開ページは実装検討向けの概要であり、スキーマの正本ではありません。正本ドキュメントとスキーマファイルはBookFieldのソース資料側で管理します。
00-spec-index.md
このページで要約しているバージョン方針、共有manifest形式、パッケージ構成、パス規則、学習計画の保存方法、ロケーター方針の正本です。
04-manifest-json-schema.md
manifest v5仕様、必須のnavigationTree、パッケージルート相対パス、意味検証の境界、拒否ルールの正本です。
08-reader-app-design.md
BookFieldがパッケージを検証・展開し、ReaderDocデータをSQLiteへインポートして、インストール済みパッケージを端末内で読む方法を定義します。
schemas/manifest-v5.schema.json / readerdoc-v3.schema.json
検証ツールが使用するmanifest.jsonとReaderDocペイロードの構造スキーマです。
正本ドキュメントまたはスキーマファイルを変更した場合は、まずソースを更新し、その後この公開スナップショットと説明を更新します。
BookFieldの概要に戻るか、wbpkgの配布フローが自社コンテンツのモデルに合うかご相談ください。