pict-drupal-module.png ファイルのダウンロードカウントを記録するオリジナルのDrupalモジュールです。

同種のモジュールとしてDownload Countというモジュールが既にありますが、一番大きな違いはDownload CountモジュールがDrupalのプライベートファイルシステムでのみ動作するのに対して、Public Download CountモジュールはDrupalのパブリックファイルシステムで動作する点です。

ちょっと分かりづらいかと思いますので、プライベートファイルシステムとパブリックファイルシステムについてはじめに簡単に説明します。

Drupalのファイルシステムについて

  • パブリックファイルシステム アップロードされたファイルはHTTPのタグにより直接サーバーからダウンロードされます。Drupalはファイルのダウンロードにおいて間を仲介したりしません。ダウンロードされるファイルはサイトのアクセス可能な場所にありますので、誰でも制限なく自由にダウンロードでき、URLを直接指定してダウンロードすることも可能です。Drupalの標準インストールではパブリックダウンロードシステムが選択されています。

  • プライベートファイルシステム アップロードされたファイルはHTTPにより直接アクセスできない場所に置かれます。ダウンロードする場合には仮のURLを使用してDrupalが間に入ってダウンロードの橋渡しをします。直接URL指定してもダウンロードできません。またダウンロードできるユーザーを制限したりもできますし、誰でも勝手にダウンロードできないようにする場合にはプライベートファイルシステムを使うことが推奨されます。
もし、あなたがサイトでファイルを公開してダウンロード可能にする場合で、そのファイルに対して各種制限などを適応したいと考えているのであれば、このモジュールではなく、Download CountモジュールとDrupalのプライベートファイルシステムを使うことをおすすめします。Public Download Countモジュールは、以下のような人のために開発されたものです。

  1. 何らかの理由により、パブリックファイルシステムを使わなければないないが、ファイルのダウンロード数を記録したい
  2. 外部サーバーにあるファイルのダウンロード数も記録したい

主な特徴

  • Drupalのパブリックファイルシステムで動作する
  • 外部サーバにあるファイルのダウンロードカウントも記録可能
  • 対象となるファイルの拡張子を指定可能
  • 年・月・日別のダウンロード数を参照可能
  • データをCSVファイルとしてエクスポート可能
  • オリジナルのコンテンツは変更しない

Public Download Countモジュールは言ってみれば、外部のファイルダウンロードカウントCGIプログラムを組み込んで使うのに似ています。つまり、コンテンツに含まれるアンカータグをコンテンツが表示される時に自動的に加工して外部PHPスクリプトを間に仲介させてダウンロードカウントを記録するようにする、という仕組みになっています。この点ではDownload Countモジュールとは全くことなるアプローチをしています。これにより、Public Download Countモジュールは外部サーバーに設置したファイルのダウンロード数の記録もとることが可能です。

インストール

まず、モジュールをDrupalのPublic Download Countプロジェクトページよりダウンロードします。そしていつものようにモジュールのディレクトリでアーカイブを展開します。あとは、管理セクション > サイトの構築 > モジュールページでモジュールを有効にします。これでインストールは完了です。

使い方(1) 環境設定

インストールが完了したら対象となるファイルの拡張子を管理セクション > サイトの環境設定 > Public Download Countのページで指定します。拡張子は大文字小文字の区別はしません。
ss-pubdlcnt-3.png
これで準備は全て完了です。あとはファイルがダウンロードされるたびにカウントが記録されていきます。

使い方(2) ダウンロード記録を見る

ダウンロードカウントの記録を見るには、管理セクション > リポート > Public Download Countのページへ行きます。ここでは以下のようにまずファイルのリストとそのファイルの合計ダウンロード数のリストが表示されます。

ss-pubdlcnt-1.png
ここで、ファイル名をクリックすると、そのファイルがダウンロードできるページにジャンプします。そのファイルのカウンターを0にリセットする場合は「Reset」を、そのファイルのカウンターの詳細を見る場合には「Detail」をクリックします。

詳細(Detail)を選択すると以下のように各ファイルについて年別、月別、日別のダウンロード数を見ることができます。

ss-pubdlcnt-2.png

使い方(3) ダウンロード記録をエクスポートする

ダウンロード記録はExcelなどに取り込めるようにCSV(カンマ区切りのテキストファイル)形式のファイルとしてエクスポートすることができます。

ss-pubdlcnt-4.png

使い方(4) ダウンロードリンクの横にダウンロード数を表示

Public Download Countモジュールはファイルダウンロードのリンクのすぐ横に、そのファイルのトータルダウンロード数を表示することが可能です。
ss-pubdlcnt-5.png
管理者の場合には、このダウンロード数の部分をクリックすることで、そのファイルのダウンロード数の詳細統計ページへジャンプすることができます。また管理者でないユーザでも、管理セクション > ユーザの管理 > 権限ページで
「view total download count in nodes」項目を有効したロールに対してこのダウンロード数を表示することができます。(ただし、詳細統計ページへのリンクは管理者権限をもつユーザのみ)。

ss-pubdlcnt-6.png


使い方(5) ブロックを作成する

このモジュールは、ブロック作成して指定した期間のダウンロード数のリストを表示することができます。まず、環境設定ページで使いたいブロックの個数を指定します。次にブロックのページに行き、作成したブロックのおのおのについて設定をおこないます。
ss-pubdlcnt-8.png
このように個々のブロックについてリストに表示する項目数やリストにリンクを貼るかどうか、また対象とする期間を「去年・今年・先月・今月・先週・今週・昨日・今日」の中から選択することができます。

作成されたブロックは以下のようなリストが表示されます。
ss-pubdlcnt-7.png
ファイル名をクリックするとそのファイルをダウンロードするノードにジャンプします。またファイル名のあとにダウンロード数を表示するかどうかは、ユーザ設定の権限で、「view total download count in block」の権限を許可されているロールに表示されます。管理者の場合には、このカウント数のリンクをクリックすることでそのファイルのダウンロード統計ページにジャンプします。


ちょっと技術的な説明

このモジュールは以下のような条件を満たすアンカータグに対してのみ動作します。

  1. アンカータグのURLがディレクトリでなくファイルになっている事
  2. ファイルの拡張子がモジュールの環境設定で指定した拡張子の中の1つである事
  3. プライベートファイルシステムへのパス(/system/file/をパスに含む)でない事
  4. ノード中にあるアンカータグのみが対象で、コメント中のアンカーは対象外
  5. アンカーにクエリ文字列がある場合は対象外(http://example.com/prog.php?param1=XXX¶m2=YYYのような場合)
  6. アンカー中にrel="lightbox"(もしくはthickbox、shadowbox)のrel属性記述がない事

注: Public Download Countモジュールは、lightbox、thickbox、shadowboxなどを使ってJavascriptで別ウィンドウに表示される画像データをうまくカウントできないために対象外としています。

 

No votes yet