オープンソースのDAMシステムResourceSpaceのまとめ


DTP・Web・UIなどのデザインをする上で、ネットから落としてきたテンプレートや資料、フォントやテクスチャー素材といったものを活用することが多い。そういった資産を使用条件などのライセンス情報とセットで管理し、いつでも閲覧・検索ができるようになったらとても便利になる。

これまでは普通に外部ハードディスク入れてFinder上で管理していたが、無料で使えるDAMシステムを見つけたので使ってみることにした。


最新情報

抜粋です。VersionHistoryからフルバージョンを閲覧できます。

  • リビジョン7683が配布されています
    • OCRプラグインが標準搭載になりました
    • CSVファイルからユーザーをバッチ作成できるようになりました
    • チェックサムが重複するファイルのアップロードを拒否するオプションが追加されました
  • リビジョン7458が配布されています
    • リソースの履歴を管理できるバージョン管理機能が追加されました
    • 認証にWordPressを使用できるプラグインが追加されました
  • リビジョン7249が配布されています
    • ビデオの埋め込み共有機能が強化され、HTML5Videoに対応しました
    • YouTubeビデオをResourceSpaceに公開できるyt2rsプラグインが追加されました(使い方がどこにも書いてない……)
  • リビジョン7009が配布されています

自作テーマ

レスポンシブプラグインの見栄えがイマイチだったので、見た目をかっこよくするwhitegry_plusというテーマを公開しています。


DAMシステムとは

DAMとはDigital Asset Managementの意味。DAMシステムとは、画像・動画・音声・書類といったデジタル資産を効率的に管理する為のシステムのことを言う。iPhotoやiTunesもっと汎用的でビジネス向けにしたようなイメージ。Adobe BridgeとかもかなりDAMっぽいと思う。

CMSと何が違うの?

  • CMSとは文書や添付写真といった記事単位の情報資産を効率的に管理・情報発信することが目的のシステムだと思う
  • DAMとは、Finderやエクスプローラ等と同じようにファイル単位の情報資産を効率的に管理・検索することが目的のシステムだと思う

Finderやエクスプローラと何が違うの?

DAM製品によって特徴は異なる。一般的は以下のようなものがある。

  • 多数のメタデータを入力できる為、情報さえインプットすれば検索性が高い
  • ファイルブラウザよりも画像や動画の一覧性が高い
  • マルチユーザーで効率的に利用できる
  • ユーザーやグループごとに公開範囲を制限できる
  • 高度なものでは画像や動画編集ソフトと直接連携できる

どんなメリットがあるの?

使おうとしているDAMの特徴を知った上で、ファイルサーバでの管理よりもメリットがありそうであれば、導入を検討してみてもよいかもしれない。筆者の場合、ResourceSpaceの次のようなメリットから利用が定着した。

  • IllustratorやInDesignの様な、Finderでプレビューできないものをサムネイル付で一覧できるので、素材が探しやすい
  • 素材・ダウンロード元URL・ライセンス情報をセットで保存してあるので、素材の利用条件を明確にできる
  • 単純な階層関係ではなく、メタデータを多用した柔軟なカテゴライズやリスティングができる
  • 気にいった資料画像をランダムに一覧して、アイデアを膨らますことができる
  • 自前のインフラの中に情報を溜め込む為、サービスが勝手に終了することがない

何に使えそう?

  • 無料の素材や購入したストックフォトをアーカイブする
  • 気に入った画像を溜め込むスクラップブックにする
  • 自分で撮った写真や動画をチームで利用できるようにする
  • 自分でデザインしたパーツや作品をアーカイブする

デザイナーの人は何かと気に入った作品をスクラップしたり、素材データを購入するケースが多いのではないかと思う。そういったものを溜め込む場所として便利に使用できる。

ただし、転載が許可されていないデータを社内で共有することは法律上の懸念がある為、個人の用途を越えた利用には十分注意したい。

ResourceSpaceとは

イギリスのMontala社が中心に開発をすすめている、オープンソースのDAMシステム。PHP+MySQL製。BSDライセンスで配布されている。

ResourceSpaceでできること

  • ストックフォトサイトの様なUIで、DAMシステムが手軽に構築できる
  • ImageMagickに対応する形式であれば、サムネイルが自動生成される
    • InDesign, Illustrator, EPS, PSD, PDF等にも標準で対応
  • ffmpegに対応していればプレビュー動画とサムネイルが自動生成される
  • 日本語UIに標準で対応
  • データベースのフィールドが柔軟にカスタマイズできる
  • LDAP認証に対応

ResourceSpaceでできないこと

  • Adobe Bridge的な検索は意外とできない
    • 画像形式、画像サイズ、カラーモードみたいな情報で検索するのは苦手
  • 日付以外で、数字に範囲を持たせて検索したりできない
  • DTPや映像業界向けのアプリケーションと連携するような、高度な機能はない

ResourceSpaceの導入

Bitnamiからインストーラーか仮想マシンのイメージをダウンロードしてインストール又は実行するだけ。
https://bitnami.com/stack/resourcespace

手動でインストールする場合は、こちらのページSVNのアドレスが公開されている。
http://www.resourcespace.org/svn

また、次のDockerfileを使えればdockerで簡単に構築できる。
michael-harris/resourcespace-docker: ResourceSpace Docker Container Built on phusion/baseimage

ResourceSpaceで出てくる基本的な概念

独自の用語が多くてイマイチで分かりにくいところがある。

「リソース」とはアップロードしたデータのこと

ResourceSpaceでは、アップロードしたデータのことを「リソース」と呼ぶ。
リソースには必ず「リソース・タイプ」という情報があり、「リソース・タイプ」によってメタデータのフィールドを変えることができる。

「コレクション」はユーザー専用のアルバム・プレイリストみたいなもの

「コレクション」はユーザーがそれぞれ自分専用に作ることができるプレイリストみたいなもの。
アップロードした書類は、デフォルトでは日付のコレクションの中に整理される。
もちろんコレクションの中身を削除しても、データ自体は削除されない。

メタデータの編集はリソース1件ごとに行うか、コレクション単位でバッチ編集をするかのどちらかになるので、メタデータの編集のために使い捨てのコレクションを使うことも多い。

「テーマ」は「コレクション」の共有版

コレクションはユーザーローカルなものなので、そのままでは自分にしか見えない。コレクションを公開すると「テーマ」というページに並ぶ仕組みになっている。「テーマ」にはコレクションをぶら下げるカテゴリみたいなものを作れるため、たとえば「資料」というカテゴリの下に「デザイン資料」「イラスト資料」といった公開コレクションを登録して、擬似的な階層関係を作れる。

ONにすると便利なデフォルトプラグイン

デフォルトで複数のプラグインがインストールされている。筆者は以下のプラグインを有効化して運用している。

  • format_chooser: 対応している場合、ダウンロードする画像形式を任意のもので選べる
  • lightbox_preview: フルスクリーン表示がlightboxに置き換わる
  • refineresult:検索結果から更に絞り込みを行える
  • track_field_history:メタデータの変更履歴を保持する
  • transform:画像に任意のトリミングを行い、別名保存やダウンロードができる。実はこのプラグインでトップページのスライドショーをカスタマイズできる

config.phpのカスタマイズ

htdocs/include/config.phpに設定を追加記載するとデフォルトを上書きできる。結構な便利機能がデフォルトでOFFに設定されているので、筆者は下のような設定を追加した。htdocs/include/config.default.phpを見るとほかにも色々な設定がコメント付きで記述されている。

config.php

# ffmpegの位置を指定する
$ffmpeg_path="/Applications/ffmpegX.app/Contents/Resources";
# コレクション単位でのZipダウンロード機能をONにする
$collection_download = true;
$use_zip_extension=true;
$collection_download_settings[0]["name"] = 'ZIP';
$collection_download_settings[0]["extension"] = 'zip';
$collection_download_settings[0]["arguments"] = '-j';
$collection_download_settings[0]["mime"] = 'application/zip';
# サイドバーにリソースIDの検索欄を追加する
$resourceid_simple_search=true;
# 検索結果をランダム順にソートする。デザイン資料の閲覧等では便利
$random_sort=true;
# 上のメニューに「マイコレクション」リンクを追加する
$mycollections_link=true;
# 検索一覧でリソースにマウスオーバーした時の吹き出しから、あまり役に立たないアイコン画像を非表示にする
$infobox_display_resource_icon=false;
# 検索一覧でリソースIDも表示する
$display_resource_id_in_thumbnail=true;
# リソースに5つ星でのレーティングを付けることができるようになる
$user_rating=true;
# レーティングによる検索ができるようになる
$star_search=true;
# 検索結果一覧でレーティングを表示する
$display_user_rating_stars=true;
# リソース詳細画面で、マウスオーバー時にプレビューが拡大される
$image_preview_zoom=true;
# リソースのダウンロード時に、確認画面に遷移しない
$direct_download=true;
# リソース詳細画面で、タイトル要素に表示中のリソース題名を表示
$show_resource_title_in_titlebar=true;
# リソース編集画面で、タイトル要素に編集中リソース題名を表示
$distinguish_uploads_from_edits=true;
# 検索結果のページ数を、羅列ではなくドロップダウンメニューにまとめる
$pager_dropdown=true;

ResourceSpaceについて調べる時には

以下のサイトを調べると結構分かることが多い。

公式Wiki
ResourceSpace Documentation Wiki

公式のナレッジベースのページが充実してきている。ユーザーガイドはこちらの方が詳細
ResourceSpace: Knowledge Base Home

GoogleGroupでのコミュニティも活発
ResourceSpace - Google グループ