Odradek, Il s’agit probablement de Jean-Pierre Bertin-Maghit. Voir le billet sur son livre collectif sur les propagandes le 14 octobre dernier sur la RDLRaoul Nilvert, Seule la photo en noir et blanc au centre n’est pas extraite du film. Elle est dans le dossier &l&q;o; Katynanbspu» sans plus de précision.
[[Ruby/Ruby on Rails]]

#contents
*はじめに [#t4806deb]

Rails 2.3対応で、WYSIWIG(FCKEditor)対応で、画像アップロード機能つきのブログプラグインを入れてみる。

[[Bloggity - Rails Blog Plugin Made Stupid Simple | Relentless Simplicity :: The Bonanzle Tech Blog:http://www.williambharding.com/blog/rails/bloggity-an-evolving-rails-blog-plugin/]]

*インストール [#k5bd4481]

[[Bloggity 公式サイト:http://www.williambharding.com/blog/rails/bloggity-an-evolving-rails-blog-plugin/]] のドキュメントの"Installation Instructions"を見ながら作業します。

**必要プラグインのインストール [#w3ea9067]
まずは、will_paginateを入れていなければインストールします。

 sudo gem install will_paginate

そして、ライブラリをロードさせるために、config/environment.rbの最後のendの前あたりにconfig.gemを挿入しておきます。

#geshi(ruby){{
  # load pagination library
  config.gem "will_paginate"
end
}}

(attachment_fuもいる?)

**プラグイン自身のインストールと初期設定 [#ubf74bba]
インストール手順の1〜4です。

プラグイン自身をインストール
 script/plugin install git://github.com/wbharding/bloggity.git

db作成
 rake bloggity:bootstrap_db 

画像やスタイルシートなどを/public/以下へコピー
%%rake bloggity:bootstrap_bloggity_assets%%
…なんだけど、うまく動かない(スタイルシート郡などが丸々コピーされずに、public/stylesheets/bloggity というファイル1個だけできるとか)ので、修正したのを作った。→本家ブログ・コメント欄でも指摘されている模様。
(本家に投げておこうと思う)

lib/tasks/bloggity_fix.rb:
#geshi(ruby){{
namespace :bloggity do 
	desc "(fixed)Copy the stylesheets and Javascripts used natively " +
           "by bloggity into host app's public directory"
	task :bootstrap_bloggity_assets_fixed => :environment do
		destination_root = RAILS_ROOT + "/public/"
    %w(stylesheets images).each{|asset|
      destination_dir = File.expand_path(File.join(destination_root, asset, 'bloggity'))
      FileUtils.makedirs destination_dir, :verbose => true
      FileUtils.cp_r(Dir[File.join(BLOGGITY_BASE_DIR, 'public', asset, '*')],
        destination_dir, :verbose => true)
    }
		puts "Files successfully copied!"
	end
end
}}
そして、
 rake bloggity:bootstrap_bloggity_assets_fixed
を実行。

といいますか、具体的に以下のようにコピーするだけですので手動でやってもらってもよいです。

-vendor/plugins/bloggity/public → public/stylesheets/bloggity
-vendor/plugins/images/public → public/images/bloggity

あとは、FCKEditorやjQueryなどを/public/以下へコピー
 rake bloggity:bootstrap_third_party_assets
**その他の初期設定など [#p5b5800b]

以下、インストール手順の5,6を進めていきます

 (原文)5. Take a gander at bloggity/lib/bloggity/user_init.rb. This shows the methods that bloggity will use to interface with your user model (for blog permissions and such). Implement these in a sensible way in your user model. Don’t forget to copy the blog associations into your user.  (If you prefer, you could also copy the UserInit into a lib directory of yours, fill in the methods, and include it in your User model directly)


(vendor/plugin/)bloggity/lib/bloggity/user_init.rbの中身をコピって、Userモデルで実装するか、もしくは、UserInitをlib/以下に作って実装して、Userモデルにincludeするかってこと。

 (原文)6. There are two methods in bloggity/lib/bloggity/bloggity_application.rb: current_user and login_required. Implement these in your application_controller.rb if you haven’t already.

(vender/plugin/) bloggity/lib/bloggity/bloggity_application.rb に current_user 、login_requiredを application_controller.rbで実装していないなら、実装しろ、と。



とりあえずは、簡単に終わりそうな6の方を先にやってみます。

まず、application_controller.rb でBloggity::BloggityApplicationをincludeしておく

application_controller.rb:
#geshi(ruby){{
class ApplicationController < ActionController::Base
  include Bloggity::BloggityApplication

  :
}}

次に application_controller.rb に current_user 、login_requiredを実装する。

以下は、ユーザー認証プラグイン [[../Authlogic]] を使っている場合:
Authlogicのexampleを参考にした場合current_user はすでに実装されているはず。
あとは、login_requiredを実装します。
(Authlogicのサンプルの場合、user認証されているかどうか見てされていなかったらログイン画面に飛ばすメソッド=require_userでいいかな、と)

application_controller.rb:
#geshi(ruby){{
private
  # Implement in your application
  def login_required
    require_user
  end
}}

こんな感じ?


さて、後は本家ブログにも報告されているバグ修正など…(気づかずにハマった)

vendor/plugins/bloggity/app/controllers/blog_posts_controller.rb:
#pre{{
   def new
-    @blog_post = BlogPost.new(:posted_by_id => current_user, :fck_created => true, :blog_id => @blog_id)
+    @blog_post = BlogPost.new(:posted_by => current_user, :fck_created => true, :blog_id => @blog_id)
 		@blog_post.save! # save it before we start editing it so we can know it's ID when it comes time to add images/assets
 		redirect_to blog_named_link(@blog_post, :edit)
   end
}}
:posted_by_id → :posted_by にするだけです


(まだ途中…)

とりあえず、これだけで、ブログに投稿、閲覧、ファイルのアップロードなどはできるはずです。


肝心のインストール手順の 5. の user_init.rb ですが、
これを弄ることで、ユーザー別に書き込み権限などの設定が可能になります。
(現状では全ユーザーが好きに書いたり消したりできてしまいます(ログインはしてないといけません。閲覧は誰でも可能))

大体どんな感じに動くかわかったので、
この辺はまた後日にやりたいと思います。

[TODO]:bloggityの user_init.rb を弄る手順を書く。

もうちょっとカスタマイズしたいなあ…。
**簡単な使い方 [#n66d2811]

ここでは少しだけ触れます。
詳しくは、[[公式github:http://github.com/wbharding/bloggity/tree/master]]の"Usage"を参照してください。


DBを除けばわかりますが、デフォルトで "main"というブログが作られています。

下記アドレスでアクセス可能です。

http://localhost:3000/blogs/main


ログインした状態で、下記にアクセスすると "main"に新規ポストができます。(ログイン状態で 前述の"main"にアクセスしたアドレスにも下記へのリンク"New blog post"が張られているはずです)
http://localhost:3000/blogs/1/blog_posts/new

ログインした状態で以下にアクセスすると"main"の他にブログ自体を新規作成できます。
(マルチブログが可能ということです)
http://localhost:3000/blogs/new


*参考リンク [#kd828f41]
-[[Bloggity - Rails Blog Plugin Made Stupid Simple | Relentless Simplicity :: The Bonanzle Tech Blog:http://www.williambharding.com/blog/rails/bloggity-an-evolving-rails-blog-plugin/]]
公式サイト?
-[[wbharding's bloggity at master - GitHub:http://github.com/wbharding/bloggity/tree/master]]
公式のgithubリポジトリ
 
----
#pcomment(,reply)
TIME:"2016-09-04 (Sun) 21:33:41" REFERER:"http://tobysoft.net/wiki/index.php?cmd=edit&amp;page=Ruby%2FRuby%20on%20Rails%2Fbloggity" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
Front page   Edit Diff Backup Upload Copy Rename Reload   New Pages Search Recent changes   Help   RSS of recent changes