plugins:improvedmedia

NP_ImprovedMedia.php

media.phpの代わりに利用できる便利なメディアマネージャ。従来のmedia.phpを拡張し、削除とファイル名変更機能を追加。加えて、画像の必須属性であるalt属性の入力もサポート。

General Plugin info
作者: Mocchi
最新のバージョン: ver.2.0.1(2008/01/31)
入手先: http://japan.nucleuscms.org/bb/download.php?id=1313(51KB, Zip)
フォーラム参照先: http://japan.nucleuscms.org/bb/viewtopic.php?t=2805
セキュリティチェック:

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする
  3. プラグインオプションの設定を確認します

このプラグインの使い方

Nucleus CMSには外部ファイル(画像やPDFなど)をサーバにアップロードし、アイテムに埋め込む機能が備わっています。 このプラグインは、その機能を拡張し、ファイル名の変更と削除機能を追加してあります。 また、GreyBoxをバンドルしたバージョンを利用することで、機能の呼び出しを少しだけ装飾することができます。

使用上の注意

  • 代替テキストは英数字40文字、日本語20文字に制限されています。
  • 変更後のファイル名は、英数字30文字に制限されています。日本語は使用できません。
  • ファイルを削除するときは、ほんとうに削除していいのか、少し考える時間を設けるとよいでしょう。

オプション

Ver.1.2から、以下の2つのオプションを追加しました。

プライベート・コレクションのオン・オフ

デフォルトでは、Nucleusインストール時と同様に、プライベート・コレクション・ディレクトリ機能がオンとなっています。オフにすることで、メンバー間の共有ディレクトリの使用を徹底することができます。 なお、メディア・ディレクトリにフォルダが作成されていない状態でこの機能をオフにすると、エラーとなります。その場合は、FTPソフトかサーバ提供環境でディレクトリを作成してください。

Media Controlページに表示するファイル数

表示ファイル数を5件から50件の間で指定できます。

GreyBoxユーティリティの利用

Ver.1.2 budling GreyBoxでは、GreyBoxユーティリティによってMedia Controlを開くオプションが追加されています(下図、左はオフ、右はオン)。

:plugins:offgreybox.png :plugins:ongreybox.png

グローバル設定の日付の付加による動作の違い

Nucleusのグローバル設定にある「アップロードするファイル名の頭に日付を付加する」オプションにより一覧画面での日付とファイル名の表示およびファイル名変更時の動作が異なります。

「はい」のとき

  • 一覧画面での日付の表示は、「登録日」となり、ファイルの先頭に追加されている日付が入ります。
  • 一覧画面でのファイル名の表示は、先頭の日付を取り去ったものとなります。
  • ファイル名変更時に、ファイル名の先頭に日付(数字8桁)+ハイフンがついていないファイルは、そのファイルの最終更新日を先頭に追加します。

「いいえ」のとき

  • 一覧画面での日付の表示は、「更新日」となります。
  • 一覧画面でのファイル名の表示は、ファイル名そのままとなります。
  • ファイル名変更時に、ファイル名の先頭に日付を付加する事はありません。

スキン変数の実装

スキンに変数を記述することで、スキンから機能を呼び出すことができます。以下の2つの記述を、スキンに追加してください。なお、テンプレートからの呼び出しはサポートしていません。

<head></head>要素内

<%if(hasplugin,ImprovedMedia)%> <%ImprovedMedia(head)%> <%endif%>

<body></body>要素内

<%if(hasplugin,ImprovedMedia)%> <%ImprovedMedia(anchor)%> <%endif%>

すると、<%ImprovedMedia(anchor)%>を追加したところにアンカー「ファイル管理」が出現します。このアンカーをクリックすることで、機能の呼び出しをすることができます。なお、こうして呼び出されたMedia Controlは、ボタン「文書に挿入」を持たず、ファイルのアップロード・削除・ファイル名の変更のみ利用できます。

他のプラグインとの組み合わせ

NP_ActionLogPlusを一緒に利用している場合、外部ファイルに関する履歴に「ファイル削除」と「ファイル名変更」が加わります。このプラグインが発生するイベント「PostRenameMedia」「PostDeleteMedia」をキャッチするからです。

他のプラグインとの競合

NP_ImageManager、NP_EachBlogDir、NP_Mediatocuと同時に使う事はできません。

動作の仕組み

備忘録として残しておきます。

アイテムの追加/編集の時

  1. action変数により「AdminPrePageHead」 、「BookmarkletExtraHead」、「PreSendContentType」のイベントが発生した際、headにJavascriptを挿入。 /plugin/eachblogdir/media.phpをポップアップ表示するジャバスクリプト関数AddMedia()を埋め込む。
  2. また同時に、ジャバスクリプト関数includeImageとincludeOtherMediaもヘッダに追加。
  3. 追加したジャバスクリプト関数はXHTMLファイルに直接埋め込まれているため、コアのfunction AddMedia()より呼び出し優先される。
  4. AddMediaはプラグインのmedia.phpにユーザを誘導し、includeImageとincludeOtherMediaは代替テキスト入力を代行する。

開発履歴

  • 2008.01.31 Ver.2.0.1
    • GreyBox機能がオフの際のコード埋め込み不具合を修正
    • ヘルプファイル更新
  • 2008.01.15 Ver.2.0
    • コードの見直しに伴い、バージョンをあげた。
    • ファイル・アップロード、ファイル名変更、ファイル削除の各プラグイン・イベントを設定。
    • プラグイン・イベントに関するNucleus CMSのバージョン間での違いを吸収するために、ファイル・アップロードに関するコードをマージ。
    • Internet Explorerでファイルを開く際に、ポップアップしないJavaScriptのバグを修正。
    • ヘルプの更新。
    • プラグイン関連のディレクトリ構造の変更。
  • 2007.11.20 Ver.1.3(非公開)
    • スキン変数を実装。スキンからの呼び出しを可能とした。
    • スキンから呼び出された際は、ボタン「文書へ挿入」を非表示にした。
    • GreyBoxを含むパッケージにした。
  • 2007.11.06 Ver.1.2(Bundling GreyBox) * 2007.11.06 Ver.1.2(Bundling GreyBox)
    • GreyBoxユーティリティによるウィンドウオープンを実装。
  • 2007.11.01 Ver.1.2
    • ヘッダ追加情報の上書き状態を修正。オプションの追加。パースエラーの修正。Nucleus3.3のコードを合体。ヘルプの更新。
    • プラグイン関連のディレクトリ構造の変更。
  • 2007.06.21 Ver.1.1
    • プライベート・コレクションのオン・オフを追加。パースエラーの修正。ヘルプの更新。
  • 2007.02.17 Release Candidate 1
    • リリースキャンディデート1
  • 2006.12.22 Beta
    • ベータバージョン
  • 2006.12.20 Alpha
    • アルファバージョン
 
plugins/improvedmedia.txt · 最終更新: 2008/01/31 13:00 by mocchi