Redmineにブログパーツを貼るには

Redmineプラグインを作った
Added by kanata over 3 years ago

Redmineプラグインを作った。
Redmineにブログパーツを貼るには、このプラグインの機能を使えば可能。
可能というか、HTMLとJavaScriptで出来ることなら、なんでもできてしまう。

Redmine RawHtml plugin

RawHtml plugin開発

概要

通常のRedmine(RubyOnRails)は、デフォルトで許可していないタグやスクリプトを表示・実行することができません。
これはセキュリティ上の仕様であり、正しい、あるべき姿です。

ただ、ただどうしても、貼り付けたいブログパーツとか、実行させたいJavaScriptとかがある場合があります。
それを可能にするWikiマクロになります。

使い方

{{rawhtml(ここにhtmlタグ等を書く)}}

{{rawhtml(<div style="color:#ff0000">あああ</div>)}}

あああ

実行例

SlideShareの貼り付け

PHOTOPRESSOの貼り付け

ブログカードの貼り付け(はてなブログ記事紹介ジェネレータを利用)

オシャレ定量化コマンドを作ってオシャレ評価してみた - A painter and a black catオシャレ定量化コマンドを作ってオシャレ評価してみた - A painter and a black cat

ブログカードの貼り付け(Embed Code Generatorを利用)

オシャレ定量化コマンドを作ってオシャレ評価してみた - A painter and a black cat

ダウンロード

このページに添付してあるやつをダウンロードします。

redmine-rawhtml-0.8.0.tar.gz

セットアップ

DBは使ってないので、rakeとかは必要ありません。
ダウンロードファイル解凍後、pluginsフォルダへ。

# mv -i ./rawhtml /opt/alminium/plugins

お使いの環境に合わせて、ファイルの所有者を変更してください。

# cd /opt/alminium/plugins

# chown -R apache:apache rawhtml

注意事項

利用者のセキュリティに対する考慮について

このプラグインは 全てのタグ、全てのスクリプトを許容 します。
そのため、Redmineの登録ユーザは、 XSSCSRF 等の攻撃を容易に仕込む事が出来ます。

まぁ…かなり気の知れた仲間内で使うとか、私みたいに自分用Redmineとして使ってる人向けだと思ってください。

特定のユーザだけ許可するとか、そんな機能を加えればいいんだろうけど。

混在コンテンツのブロックについて

HTTPとHTTPSが入り交ざってコンテンツを配信していることを、混在コンテンツと言います。
最近のほとんどのWebブラウザは混在アクティブコンテンツに対しては自動でブロックします。
これはWebブラウザのセキュリティを考慮した仕様です。

以下の条件で、表示されたり、表示されなかったりします。

ブログパーツがhttp ブログパーツがhttps
表示元のサイトがhttp ○表示できる ○表示できる
表示元のサイトがhttps ×表示できない ○表示できる

これはこのプラグインに限った話ではなく、ブログパーツ一般のお話になります。
うまく表示されないブログパーツについては、混在コンテンツになっていないか確認するのがよいでしょう。

ちなみにニコニコ動画のブログパーツがhttpのみで、このサイトをhttpsでアクセスしていると、うまく表示されないんや。。


Comments

Add picture from clipboard (Maximum size: 100 MB)