PDFを表示するためのDrupal 7モジュールの選択方法

モジュール選択技術の事例研究

最近、クライアントからDrupalのサイトに新しい機能を追加するよう依頼されました。ブラウザにPDFファイルを表示します。 drupal.orgのオプションを閲覧したとき、私は新しいモジュールを選んだので、これが私の実際の意思決定プロセスを文書化する絶好の機会であることに気付きました。 私はいつもモジュールを賢明選ぶと言っていますが、今ではこれが実生活でどのように機能しているかを見ることができます。

あなたが望むものを定義する

最初のステップは、あなたが望むものを定義することです。 私の場合、私は望んでいた:

Drupal.orgで検索

これらの目標を念頭に置いて、次のステップはDrupal.orgでの簡単な検索でした。 モジュール・グッドネスのボール・ピットに飛び乗る時間。

"比較" PDFモジュールのページ

私の最初の休止は、このページ:PDFビューアモジュールの比較です。 Drupal.orgは、同じスペース内のさまざまなモジュールの長所と短所を概説する優れたドキュメンテーションページの伝統を持っています。 比較ページのリストが中央にありますが、サイト全体に散在しています。

PDF比較ページには、4つのPDFビューアモジュールが含まれていました。 私はここでそれらをカバーし、検索して見つけた他のいくつかのものをカバーします。 私はスキップすることを決めた候補者から始めます。

さて、これらのモジュールがなぜこのプロジェクトでうまくいったのか(あるいはほとんどなかったのか)の詳細を掘り下げてみましょう。

ファイルビューア

ファイルビューアはInternet Archive BookReaderを使用しています。私はInternet Archiveの中毒者ですから興味をそそられました。 私がそこに行くたびに、私は恐怖のくすぐりを感じ、私がエーテルから摘み取ることができる本の山に圧倒される。

それは、デモンストレーションサイトが私には少し醜いと思われると言われています。 私はそれで生活するかもしれませんが、pdf.jsがはるかにスタイリッシュに見えるときに私のクライアントが疑うことがありました。

また、プロジェクトページをもう一度見て、大胆な発表を頂きました: このモジュールは、PDFモジュールに正式に移行されました 。 けっこうだ。 400個以下のインストールで、より一般的なPDFモジュール(これから説明します)との統合は良い動きのようです。 マージ/移動/放棄されたモジュールは絶対にダウンロードしないでください。

Googleビューアファイルフォーマッタ

Google Viewer File Formatterは、Googleドキュメントを使用してウェブページにファイルの表示を埋め込む方法です。 私はGoogle Docsの多機能性が気に入っていましたが、私の目標の1つは、サードパーティのサービスとは独立していることでした。

また、このモジュールのインストール数は100未満でした。

Ajaxドキュメントビューア

「AJAX」は一般的なJavaScript用語ですが、Ajax Document Viewerは特定のサードパーティサービスに依存していることが判明しました。 約100回のインストールのみ。 上に移動...

Scald PDF

Scald PDFには40個のインストールしかありませんでしたが、明らかにScald(はい)という大きなプロジェクトの一部だったので、一見しなければなりませんでした。 Scaldプロジェクトのページでは、Scaldは、DrupalでMedia Atomsを処理する方法を革新的に取り入れたものです 」と説明しています。

その文章は、「革新的な取り組み」と「アトム」とペアになった「メディア」という2つの巨大な赤旗を生み出しました。 "Atom"は明らかに "物"のための再利用された言葉でした。それはそれをすべて赤旗にしました。 Drupalは、これらの空ボックス型の単語、つまりノードエンティティ機能に好都合です。単語が一般的になればなるほど、変化はより掃除されます。

私がスクロールダウンしたとき、私の疑惑が確認された。 Scaldがどのようにして自分のサイトでMediaをどのように扱ったかについて、私が興奮した主張を読んでいます。

今、真実は、Drupalのメディア処理がいくつかの再発明を使用できるということです。 Scaldはこの分野で唯一野心的なプロジェクトではない。 しかし、これまでのインストール数が1000未満であったため、1階に入ることは望ましくありませんでした。

確かに、来年、Scaldが次のViewsになるかもしれない。 それは揺れ動くだろう。 しかし、それは捨て去られたサイトの(小さな)跡が残っているので、捨て去ることもできます。

今のところ、私ははるかに野心的で危険な解決策に固執したいと思っていました。 PDFを表示してください。 それが私が求めていたものです。

シャドーボックス

Shadowboxは私を驚かせました:PDFから画像、ビデオまで、あらゆる種類のメディアを表示する単一のソリューションだと主張しました。 これは「メディアアトム(Media Atoms)」のような全く新しい概念を導入せずにメディアを表示することに焦点を当てるだけなので、Scaldほど掃除はしていませんでした。 しかし、私が言及したように、私は既にColorboxが好きです。 私はその決定を再考する必要はありませんでした。

しかし、私は16,000以上のインストールで、Shadowboxが同じスペースでより強力な選択肢になる可能性があることに注意しました。 私一見をしなければならなかった。

Shadowbox Drupalモジュールは、基本的にJavascriptライブラリShadowbox.jsの橋渡しであるため、私は図書館のウェブサイトをチェックアウトしました。 そこで、私は次の2つの理由を発見しました。

2つの競合相手:" PDF" " PDFリーダー"

残りの部分を取り除き、今私は2つの明らかな候補者になった:PDFとPDFリーダー

この2つのプロジェクトには、

違いは?

PDFリーダーにもGoogle Docsの統合オプションがありました。 この特定のケースでは、私のクライアントがそれを好きかもしれないと思ったので、私はその選択肢が好きだった。

一方、 PDFは、共同メンテナーを求めているとマークされました。 これは、開発者が間もなくプロジェクトを放棄するという兆候かもしれませんが、一方で、最も最近のコミットは1週間前であったため、少なくとも開発者は依然として活発でした。

一方、 PDF Readerは積極的に維持されているとマークされましたが、最新のコミットは1年前です。

明確な勝者がなければ、私はそれらを両方ともテストすることにしました。

競合相手のテスト

私は両方のモジュールを私のライブサイトのコピーでテストしました。 (モジュールがどんなに強固で無害であっても、ライブサイトで最初に試してはいけません。サイト全体を破壊する可能性があります)。

PDFより多くのオプション(Google Docsなど)があるように思えたので、私はPDF Readerに偏っていました。 だから私はPDFを最初に試して、それを取り除くことにしました。

PDF失敗:コンパイルが必要ですか?

しかし、 PDFをインストールしてREADME.txtを読むと、私は見ただけでプロジェクトのページで無視した問題を発見しました。 何らかの理由で、このモジュールではpdf.jsを手動でコンパイルする必要があります。 プロジェクトページでは、これが必ずしも必要ではないことが示唆されていましたが、README.txtはそれを示唆していました。

PDFリーダーはこのステップを必要とせずに全く同じライブラリを使用するので、私は結局それを試してみることにしました。 それがうまくいかない場合は、いつでもPDFに戻ってpdf.jsを手動でコンパイルすることができます。

PDFリーダー:成功! 並べ替え

だから、まもなく、私はPDFリーダーを試しました。 このモジュールは、Fileフィールドを表示するための新しいウィジェットを提供します。 必要なコンテンツタイプにファイルフィールドを追加し、ウィジェットタイプをPDF Readerに設定します。 次に、このタイプのノードを作成してPDFをアップロードします。 PDFは、ページの「ボックス」に埋め込まれて表示されます。

コンテンツタイプを再度編集し、フィールドの表示設定を変更することで、さまざまな表示オプションを試すことができます。

私は、各表示オプションに長所と短所があることを発見しました。

したがって、最終的には、私のソリューションは、 埋め込み表示オプションでPDFリーダーを使用することでした。 このオプションを使用すると、PDFをDrupalノードに添付してDrupal Webページに確実に表示できます。

残念なことに、時には「信頼できる」だけでは不十分です。 この検索のすべての後、私は結局サードパーティサービスを検討しなければならなかった。