どもー。
全然ブログを作成する習慣が作れてませんが、とやかく、まとまってないことをまとめてみます。

今回のテーマはOpenPNE3.6の新機能です。
OpenPNE3.6は3.4との差分が多く、実用性がかなり向上しているということで
自分が開設しているSNSでは3.5.x-devをどんどん追うということをしていましたw
それくらい素晴らしい機能(もしくは今までなんで無かった)が多いバージョンなのであります。

以下、僕主観な感じなので全てではないです。

ログイン永続化

http://redmine.openpne.jp/issues/328

なんで無かった?ってことで付けました。
OpenPNE2系統とは内部的な仕組みは違うらしいです。

「かんたんログイン」に対する対処

「かんたんログイン」がヤバい件ということで、その段階的な対処の第一弾と言えるでしょう。
具体的には、こちらを御覧ください。

セッション維持時間問題の対処

http://redmine.openpne.jp/issues/1008

今まで、みじけぇ!!っていう意見が多くあったのもありその対処がされたようだ。
セッション維持時間を設定できるようになった上、今までよりずっと長く設定されるようになった。

モバイル自動リンク

http://redmine.openpne.jp/issues/1160

なんで無かったパート2
これもOpenPNE2系は若干異なっていて
なんと外部のサイトにもリンクされます。

…っといってもあの憎きCookie非対応のdocomo端末様がいらっしゃるので外部にはそのままつながりません。
セッションが維持されていない中間ページにジャンプします。

そこで、直接リンクをするか、メールでURLを送るか、Google Mobile Proxy(デフォルト)を利用するかを選ぶことができるわけです。
(docomoとauは内臓のフルブラウザへのリンクも用意している。)

この機能は設定でOffにできるようにしました。(OpenPNE.yml上)

さらにさらに、メールアドレスと電話番号もリンクできるように設定できます。(もちろんデフォルトではオフ)

[プラグイン開発者向け] メールテンプレート周りの改善

http://redmine.openpne.jp/issues/1329

メールタイトルが変更できるようになった上に、mail_template.yml に
テンプレート情報を作成するだけでメールテンプレートの追加が可能です。
これについては後でもうちょっとkwskやります。

[プラグイン開発者向け] スキンプラグインで画像を上書き

http://redmine.openpne.jp/issues/1116

僕が欲しかったので作った。反省はしない。(結構差し戻されましたが 🙁 その点は反省しています。)

どういう事かというと、 no_image.gif を 有効なスキンプラグインの web/images ディレクトリに置けば
そっちが優先されて表示されます。

よりデザイン拡張・変更にとって役に立つことでしょう。

(今後は管理画面から設定できるようにしたいが、その布石でもある)

その他パフォーマンスに関わる問題

ここは細かくは言いませんが、パフォーマンスを向上するためのIssueが幾つも作られていました。

うん。19日に0.9.0-betaをリリースしたばっかりなんだけど、
早速だけど問題がいろいろ見つかってしまったんだ。
すまない。

修正された問題・改善

  • 致命的なことにメモリリーク発生あり。全力で直した。
  • ログを残せるようにした。
  • コードの可読性向上とか

しまった、ドキュメントに ログについての話しを忘れていた…

このプラグインに含まれている各タスクで

–log-file=ログファイルのパス か -l ログファイルのパス

を指定してやると、メールの送信についてのログ(成功・失敗・メモリ消費量)
が記録されるようになります!

現状は bin/*.cron をいじるなどして対処してください。

次は、1回あたりの送信でメンバーID区切ったりできるようにしてみようかな。
デイリーニュース送信を複数台体制でできるようにしてみるわけです。

手嶋屋内で思い切って、ってかデイリーニュースってコアにいらなくね?
っていったら意外にも賛同を受けたので、メーリングリストにあとで話しを持ち出す。
今のOpenPNE3はよりフレームワークにするために、現状コアにある機能を
削除していくというのも大事かもしれない。
(もちろん、少なくともニーズがあったのならば
削除するに当たって、代替えするものをプラグインで実装する必要性はある。)

—-

インストールとか

インストールもアップデートも以下をOpenPNE3のディレクトリで実行して頂きたい。

$ ./symfony opPlugin:install opLiteMailTaskPlugin -s beta
$ ./symfony cc

あとは、ドキュメントやらを見てください。

—-

ドキュメント
開発リポジトリ
プラグイン情報

開発なツッコミは Twitterで @ooharabucyouまで。

opLiteMailTaskPluginというのを出した。

このプラグインは、現在OpenPNE3本体で発生している次の問題を解決できる。

  • デイリーニュースの中身空っぽじゃん。(正確にはデイリーニュース周りの拡張に対応したプラグインがない。
  • デイリーニュースの送信遅くね?
  • デイリーニュースはメモリーリーク起こりすぎじゃね?

あとついでにフレンドの誕生日お知らせメールも同じくメモリーリークが起きている。

そんなわけで、これらを解決したやつをOpenPNE3のプラグインとして出した。

なぜ、OpenPNE3本体に搭載しなかったかというと、イレギュラーなことばっかりやっていたり
するからだ。
例えば、このプラグインは opDiaryPluginと opCommunityTopicPlugin
に完全に依存している。

そんな概要はさておきインストール方法はこちらのドキュメントなどを御覧下さい。

ライセンスは OpenPNE3本体と同様のApache License 2.0です。

導入するひとは完全に人柱です。本当にありがとうございます。
バグやらがあったら Twitter で ooharabucyou に突っ込むのが一番早いかもしれないです。

ちなみに、開発はここでやってるよ。
http://github.com/kawahara/opLiteMailTaskPlugin

これ作ってておもったんだが、デイリーニュースってプラグインでよくね?
っていう議論がしたい。