一つのブログを複数人で利用しているとき、アップロードしたアイテムを自分だけで利用するプラグイン「RestrictAssets」
■□これは何?
一つのブログを複数ユーザーで利用している場合、自分がアップロードしたアイテム(画像やそのほかアセットファイル)を、自分だけが利用できるようになります。
各ユーザーは、自分以外がアップロードしたアイテムを参照できません。
■□ダウンロード
以下のリンクをクリックして、ダウンロードしてください。
■□動作環境
Movable Type4.x、および MTOS4.xで動作確認をしました。 (2009・11・23現在) 3.xでは動作しません。
■□機能概要
RestrictAssets.plプラグインを、/mtpath/plugins/ 配下にアップロードしてください。
■□想定利用シーン
通常、複数ユーザーでブログを書く場合、各ユーザーに個別ブログを割り当てるのが普通の使い方だと思います。(情報を集約する場合は、MultiBlogなどを利用しますよね)
一方
「一つのブログを複数ユーザーで使用する」
使い方も、良くあると思います。一人一つのブログを割り当てるのは大げさな場合、一ブログに複数ユーザーを「ユーザー」もしくは「ライター」として登録します。
この場合、各ブログ記事は、各ユーザーに所有権限があるためそれほど問題ないのですが、すべてのアイテムを全員が共有できるため、画像やpdfファイルなど、アイテム数が多い場合、運用が混乱します。
「RestrictAssets」を使うと、自分がアップロードしたアイテムファイルしか選べなくなり(他ユーザーがアップロードしたアイテムは見えない)、誤って他者の画像を利用する、といったことがなくなります。
■□権限設定について
本プラグインを利用する場合、「ユーザー」「ライター」のいずれかがアップロードしたアイテムに対して、利用制限をかけます。
「編集者」「ブログ管理者」はすべてのアイテムを管理できます。
※もし「編集者」に対しても、アイテム制限をかけたい場合、プラグイン内の「can_edit_all_posts」という引数を「is_superuser」に置換することによって対応可能となります。
■□利用条件
特に利用制限はありません。個人、商用問わず、ご自由にお使いください。
本プラグインの不具合によるいかなる事象についても免責とさせていただきます。■□今後について
0.2以降 Yamlファイルを利用した書式に変更
0.3以降 MT5対応

コメント(2)
usualoma
にっくさん、こんにちは。
usualomaです。
RestrictAssetsを拝見したのですが、今のバージョンは動いていますでしょうか。MT4.25で確認したところ動いていないように見えます。
おそらく問題点はいくつかあって、まず以下のような書き方はできないはずです。
<mt:unless name="edit_all_posts"><mt:if name="created_by" eq="$author_name"></mt:unless>
<mt:unless name="edit_all_posts"></mt:if></mt:unless>
これは、以下のような書き方ができないのと一緒です。
<div><p></div>
<div></p></div>
例えば以下のような書き方にする必要があると思います。
<mt:SetVar name="show" value="0" />
<mt:If name="created_by" eq="$author_name">
<mt:SetVar name="show" value="1" />
</mt:If>
<mt:If name="is_superuser">
<mt:SetVar name="show" value="1" />
</mt:If>
<mt:If name="show">
</mt:If>
もう一点としては、おそらく以下の条件では判定できないはずです。
手元のMTではできていませんでした。
<mt:unless name="edit_all_posts">
もしかしたら「edit_all_posts」を設定する別のプラグインが入っていたりししますか?
お時間のあるときにご確認をいただければ幸いです。
にっく
usualoma さん、こんにちは。
ご指摘ありがとうございます。というか、わざわざ申し訳ありません。
MTOS4.261とMT4.24で試してOKだったので「そんなに複雑なものじゃないし大丈夫かな」と思っておりましたが、ご指摘の件、確認・修正のうえ再公開いたします。
コメントする