Reading/Web/PDF Functionality/ja

2017年9月更新
現行のPDFレンダリング・サービスoffline content generator (OCG) は既に保守ができない状態です. 簡単に言うと破損したのです. ウィキメディア財団の閲覧チーム では代替のために数ヶ月前から取り組んできました. OCGはサードパーティの開発から始まり旧式のコードで運用することから、将来的にセキュリティの脆弱性及びその他の深刻な問題をもたらす可能性が懸念されます. この3ヵ月にわたりPDF作成ページにバナーを掲示して、新しいレンダラーのプロトタイプへのfeedback（フィードバック）を募集しました. OCGと比べると、新しいレンダラーは機能を改善します. 表組やインフォボックスを含めて印刷でき、読みやすさを重視した書式を備える予定です. プロトタイプには多くのフィードバックが寄せられ、新しいPDFに必要な更新に取り組み中です.

補遺：PDFブック生成は短期的に無効に
残念ながら、旧来のレンダラー (OCG) はブック形式の機能を完成させる以前に、レンダリングのオプションから削除しなければなりません. OCG 削除の実行までには記事単位のレンダラーは完成する見込みです. ところがブック形式の生成機能は、必要な作業を評価し完成するまで中断します. 当初は代替のレンダラーとして Electron レンダリング・サービスを検討したものの、重いPDFに対応不可能であり、複数の記事をブック形式にまとめようとすると失敗してしまいます. サイズが大きくても、私たちが求める条件を満たすブック形式に対応する新しいレンダリング・システムを決定するため努力を続けます. これは予定外の道のりであり、PDF機能の短期的な削除はまったくの想定外でした.

日程表
 * 2017年10月1日 – 記事単位でレンダーする機能完全版の公開（PDF形式で出力）
 * 2017年10月1日 – ブックのPDF 生成を一時停止
 * 2017年10月1日 – OCG レンダラーの廃止期日を告知
 * 2018年1月 – 新しい PDF レンダラーの公開 （暫定的. 代替のレンダリングのシステム研究の結果待ち）

機能

現行及び予定される機能の全リストは以下にあります.

このページの更新に伴い、PDF 生成ページのバナーや技術ニュース、ウィキメディアの特定のメーリングリストで告知する予定です.

はじめに
旧来のPDF生成サービスであるoffline content generator (OCG) は既に管理できなくなりました. 簡単に言うと、破損したのです. サードパーティ製から始まり旧式のコードで運用するため、今後、セキュリティの脆弱性その他の重大な問題を招きかねません. PDF 機能の導入に当たり旧来のものを置き換えないと、まったく予想外のときに削除しなければならない不幸な事態が突発するかもしれないのです.

さらに加えて、コミュニティから寄せられたレンダリングの要望の多く、中でもthe ability to render tables（表組の生成）に対応できません. そこでその代替策としてふさわしいレンダリング・サービスにエレクトロンを新たに選びました. 次の段階はエレクトロンを介して OCG の機能を複製することです. 必要と判断した機能の主な部分は、下記の要領で説明します. 欠けている点あるいはご提示した一覧で無駄な点について、ぜひ会話に参加してください. 同時に、PDFレンダリングの今後の計画の要点を示し、現時点でのフィードバックを募集します.

Userbase
The following table shows a sample of traffic to the Electron "Download as PDF" service for over a 6 hour period. The traffic is broken down by operating system (OS), browser, and the browser major version (e.g. Windows 7, Chrome v61.*).

Note well that the majority of our traffic appears to come from Windows based machines.

現在の機能の要件
下記のとおり、現在、記事単体およびブック形式のPDFレンダリングには一連の要件があります. 太字で示した部分は、現行の実装と異なります.

履歴

 * ウィキペディアのページから PDF もしくは書籍を生成するには、OCGというサービスで処理します. ブック生成機能を利用して「ブック」（書籍）をレンダリングするためにCollectionにOCGを埋め込んで実行します. ところがOCG には問題が複数あり、わけてもtables（表組）で障害があります.
 * OCG には、コミュニティから苦情があがったように表組を処理できない点を含め、問題が複数、判明しています.
 * ドイツ語話者のコミュニティにおいて、表組のレンダリングは技術の要望リスト第9位です.
 * ウィキメディアのドイツ支部はPDFで表組のレンダリングを解決する取り組みを始め、 Electron を導入しています. 計画では OCG の代替ではなく、併用を目指しています.
 * ウィキメディア財団でもドイツ支部のエレクトロンの取り組みと並行して、 OCG サービスの管理担当が OCG の削除と入れ替えは必須という結論を得ました.
 * WMF 閲覧チーム (Reading Team) は長期的にPDFレンダリングの管理の責任を引き継ぎ、すべてのプロジェクトで表組をレンダリングする計画作りに着手しました.
 * エレクトロンに関してフィードバックを集めるため、閲覧チームはcommunity consultation (コミュニティとの協議) を始めます.
 * 閲覧インフラストラクチャとウェブの両チーム（Reading Infrastructure and Web teams）でエレクトロン・サービスへ OCG の機能をポートする作業量の見積もりを開始しました.

協議を経た更新
現行のPDFレンダラーの実装に関して2017年7月初旬に協議を始めました. その反応の評価を経て以下の考察を行なっています.


 * 記事の配置は2段組より1段がよいというユーザーが上回る
 * 記事の2段組を好むユーザーによると、好きな理由は書式とルックアンドフィール（デザイン）だと強調する. 人により、PDF印刷で1段組を選ぶとフォントの大きさや紙の無駄づかいが気がかり
 * 要望のあった機能
 * 機能的なハイパーリンク
 * 日付とURLの表示. 「このページは[URL]から[date]付でダウンロード」
 * レイアウトや題名、作成年月日のCSS（スタイル）をカスタマイズできる
 * 2段組のオプション
 * 画像の表示/非表示を選べる
 * マージンの調整
 * 節単位の印刷ー脚注や不用な段落、目次の削除が可能
 * テキストの大きさを設定できる

コミュニティからのフィードバックを受け、印刷書式に以下を取り入れました.


 * ハイパーリンク
 * 記事の詳細
 * フォントは小さめで書籍に似た書式

上記の要望で未対応のものはPDFレンダラー第2版まで延期し、利用できるオプションをカスタマイズする設定を構築する予定です.

提案
PDFレンダリングに必要な機能の範囲を下記で提案しています.


 * 記事単体はサイドバーから「PDF 形式でダウンロード」のリンクを使い、PDF を生成
 * 複数の記事は「Book Creator」ツールを介してPDFを生成
 * すべての記事に文章と画像の帰属情報を含める
 * レンダリングで生成した PDF 内の表組みは、印刷出力できる
 * PDF の印刷書式を変更できる (オプション)

印刷書式（Design）
新しい PDF の書式は読みやすさを高めるよう設定しました. コミュニティのフィードバックならびに量的・質的試験の結果によっては、ブック形式/記事単体の両方もしくはどちらかに 2段組で PDF を出力できる機能をビルドするかもしれません.

開発と展開の工程表
下記の大まかな工程表の概要にしたがって開発と展開を進めます. 今後、変更する見込みです.


 * 1) 2017年4月 – 5月：
 * 2) 閲覧チームが上記の機能にバックエンドの支援体制を準備
 * 3) 提案された機能の拡充もしくは縮小は、コミュニティと協議します.
 * 4) 書式に関する質的試験
 * 5) 2017年6月 – 7月：
 * 6) 新しい書式の実施
 * 7) すべてのプロジェクト群で OCG と併用して第1版を実装、パフォーマンスを比較
 * 8) コミュニティ他との協議により反復して改良、限定された変数で引き起こされるエッジケースの特定
 * 9) 2017年8月-同年9月
 * 10) 必要に応じて行われた、その他の変更
 * 11) 2017年10月
 * 12) すべてのプロジェクトでOCG抜きの2回目の反復修正を開始

単一の記事

 * 単一の記事からPDF を作るには「Download as PDF」リンク（PDF形式で書き出す）を選択
 * 「Download as PDF」（PDF として書き出し）を選ぶと、PDFが生成される. ファイルの書き出しのときユーザーは「Download the file link」（ファイルのリンクを書き出す）を選択
 * PDFファイルに含まれる要素：
 * 記事の題名と本文
 * 情報ボックス (ある場合)
 * 表組s (ある場合)
 * 段組なしのレイアウト
 * ページ番号（ノンブル）
 * 記事のすべての画像とキャプション
 * 記事からリンクを貼ったページへのリンク（青字リンクと外部リンク）
 * 本文と画像のソース、寄稿者、著作権

Phabricator Tracking
All PDF-related changes including sunsetting OCG, replacing the Electron PDF renderer, and any updates to books or the collections extension are tracked under the phabricator project Proton. The project page will display any recent updates for all tasks related to PDFs.

2017年10月展開の機能
注記：今回は現行のブック・クリエーターに一切変更を加えない


 * ユーザーは「Create a book」を選択、ブック・クリエーターを起動
 * こうして現行のブック作成ページが開く
 * ブックを書き出すときユーザーはブックページの「download」リンクを選択
 * ユーザーはブックをPDF 形式でのみ書き出す
 * ブックには単一の記事に含まれるすべての要素が収まっている：
 * ブックの表題ページ
 * 記事ごとの終わりに、ブックに収められた記事単位の脚注を表示
 * 記事はそれぞれ新しいページから始まる
 * すべての記事からテキストと画像の出典、貢献者や著作権の情報の項目を集め、単一のセクションにまとめて示す.

Functionality available in November - December, 2017
Styles for books will be updated for improved readability __INDEX__
 * ブックにはページ番号が載った目次を生成
 * 利用者が目次から節を選ぶと、ブックの中の当該のページを表示する