コミッタ追加と最近の課題

67 views
Skip to first unread message

komagata

unread,
Oct 27, 2010, 11:05:27 AM10/27/10
to lokka-ja
1.9.2関係のパッチを沢山書いてもらっていた@tyabeさんにコミッタになっていただきました。
ありがとうございます。

http://bit.ly/bdCKoP

今のところ大きなところでは下記のような課題があります。
のぞいてやってもいいよという方がいれば是非お願いします!

・1.9.2対応の一般的なやり方がわからない
・ファイルアップロード機能(picasaとかtwitpicとかs3を使う?)
・mongodb, roma対応
・テスト・・・

tyabe

unread,
Oct 28, 2010, 8:27:12 AM10/28/10
to lokka-ja
1.9.2対応は上手く動かないところを見つけたら適当にパッチを書いていっているだけなんですが、
「こんな風にするといいよー」というのを知っている方がいたらぜひ教えてください!

あと、課題とか不具合とかがどっかにまとまってるといいなーと思ったのですが、
とりあえず@komagataさんのgithubのissuesを覗いていればいいですかね?

nkmrshn

unread,
Oct 28, 2010, 4:27:47 PM10/28/10
to lokka-ja
いつもお世話になっております。

On 10月28日, 午前12:05, komagata <komag...@gmail.com> wrote:
> ・ファイルアップロード機能(picasaとかtwitpicとかs3を使う?)

ファイルアップロード機能を追加してみました。デザインやコーディング仕様などは、
できるだけ既存の流儀を踏襲したつもりです。私のGitHubにpushしてありますが、
komagataさんにpull requestを送ってもよいでしょうか?

http://github.com/nkmrshn/lokka/commit/cecebeaf844fa36d470b22a54d6280c8e3d91d36

機能としては単純で、public/upload_filesに日付ディレクトリ付きでファイルを保存
します。

日付ディレクトリをわざわざ作ったのは、HDDのinode設定にもよりますが、
保存できるファイル数に上限があるためです。過去にこれを無視して、やっていたら
ファイルを作りすぎてHDDのmountをroモードにした反省から、このような設計に
してみました。

同名ファイルがアップロードされたら上書きされます。なお、ファイル管理の為、
upload_filesテーブルが作成されます。

現在の課題は、cleditorからどうやってアップロードし、リンクをテキストエリア
に貼り付けるか検討がついていません。

方法としては、ツールバーのアイコンをクリックすると、type属性がfileなinputタグ
を含むポップアップを表示させ、AjaxでPOSTし、コールバックされたJSONデータ
を加工して、テキストエリアに貼り付けるといった感じを想定しているのですが。
cleditorの場合、JSでプラグインを作る必要があるんでしょうか。cleditorは初めて
なので、もうちょっと勉強してみます。

nkmrshn

unread,
Oct 28, 2010, 5:30:16 PM10/28/10
to lokka-ja
すみません。寝ぼけて、編集機能を付けるのを忘れていました。

http://github.com/nkmrshn/lokka/commit/a3c4c3c6caea0403d425b16e03b2d6d6abf2ab71


On 10月29日, 午前5:27, nkmrshn <nkmr...@gmail.com> wrote:
> いつもお世話になっております。
>
> On 10月28日, 午前12:05, komagata <komag...@gmail.com> wrote:
>
> > ・ファイルアップロード機能(picasaとかtwitpicとかs3を使う?)
>
> ファイルアップロード機能を追加してみました。デザインやコーディング仕様などは、
> できるだけ既存の流儀を踏襲したつもりです。私のGitHubにpushしてありますが、
> komagataさんにpull requestを送ってもよいでしょうか?
>
> http://github.com/nkmrshn/lokka/commit/cecebeaf844fa36d470b22a54d6280...

Masaki Komagata

unread,
Oct 29, 2010, 12:31:02 AM10/29/10
to lokk...@googlegroups.com
> あと、課題とか不具合とかがどっかにまとまってるといいなーと思ったのですが、
> とりあえず@komagataさんのgithubのissuesを覗いていればいいですかね?

二箇所あるんですよね。

Github Issues
http://github.com/komagata/lokka/issues

Lokka - Help me, hackers!
http://help-me-hackers.com/projects/19

Githubは外向きの場所なので、日本語があると英語圏の人が
「うわ、チャイニーズのプロジェクトかよ」
ってなりそうなのでコミットログを含めて全部英語にしています。

Help me, hackers!は日本語サイトなので日本語でやってます。
また、1テーマ作成1万×20個で速攻WordPressの人気テーマを移植する
みたいな使い方が出来ないかなと思って使っています。

今までやった感じだと、help me hackersに載せた場合の方が
「これが解決するとありがたいんだよなー」
って雰囲気が出るので解決される確率が高い気がするのと
英語が苦手なので日本語でとりあえずそっちに書いてしまっています。

ただ、英語圏への窓口は常に開いて用意しておきたいと思います。

2010年10月28日21:27 tyabe <tyab...@gmail.com>:

> --
> このメールは Google グループのグループ「lokka-ja」の登録者に送られています。
> このグループに投稿するには、lokk...@googlegroups.com にメールを送信してください。
> このグループから退会するには、lokka-ja+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

--
------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>

ブログ: http://docs.komagata.org/
FJORD, LLC: http://fjord.jp/
プログラマーのタスク依頼: http://help-me-hackers.com/
何作ってる人?: http://makesthis.com/
CMS for Cloud: http://pyha.cc/
------------------------------------------------------------

nkmrshn

unread,
Oct 29, 2010, 7:04:17 AM10/29/10
to lokka-ja
ファイルのアップロード機能ですが、今朝コミットしたものから、
バグ修正などを加え、komagataさんにpull requestさせていただいてますが、
こっから先はどーすべーかと。

一応、「<img src="/files/3">」などと/filesにGETでIDを指定すれば
send_fileのinlineでアップロードしたファイルを持ってくるぐらい
までは作ったんですが。

この先、CLEditorのツールバーにあるアイコンをクリックして、
どういう風にファイル選択させるのかなど、デザイン面での仕様が
課題になっています。


On 10月29日, 午前6:30, nkmrshn <nkmr...@gmail.com> wrote:
> すみません。寝ぼけて、編集機能を付けるのを忘れていました。
>
> http://github.com/nkmrshn/lokka/commit/a3c4c3c6caea0403d425b16e03b2d6...

Masaki Komagata

unread,
Oct 29, 2010, 11:31:14 PM10/29/10
to lokk...@googlegroups.com
おおお、ありがとうございます!

ただ、CMS for Cloudということで基本的にファイルの書き込みが出来ない
環境が殆どだと思います。(GAEは不可、Herokuは例外的にAPP_ROOT/tmp/以下だけ可)

なので標準の画像アップロード機能としてはTwitpic, Picasa, S3などで実装しないといけないのかなあ
と考えていました。
(普通のLinuxサーバーで動かす人のためにプラグインとしてローカルストレージに保存するやり方は必要だとおもいます)

逆に言うと、
「APPサーバーが複数あることを前提にデータ保存先(DB含む)に配慮して作られている」
というところが通常のCMSと一番違うところなのかなと思います。
(WordPressのAPPサーバーを複数台にしようとすると結構面倒なことになる)

2010年10月29日5:27 nkmrshn <nkm...@gmail.com>:

> --
> このメールは Google グループのグループ「lokka-ja」の登録者に送られています。
> このグループに投稿するには、lokk...@googlegroups.com にメールを送信してください。
> このグループから退会するには、lokka-ja+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

--
------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>

ブログ: http://docs.komagata.org/
FJORD, LLC: http://fjord.jp/
プログラマーのタスク依頼: http://help-me-hackers.com/
何作ってる人?: http://makesthis.com/

CMS for Cloud: http://lokka.org/
------------------------------------------------------------

nkmrshn

unread,
Oct 29, 2010, 11:43:17 PM10/29/10
to lokka-ja
Herokuで動かしてみたのですが、APP_ROOT/tmp以外のAPP_ROOT/public/upload_files
に保存できました。

GAEの方は試していませんが、DBにバイナリを保存するっていうやり方にも対応したい
ですね。はて、どーすべーか...

On 10月30日, 午後12:31, Masaki Komagata <komag...@gmail.com> wrote:
> おおお、ありがとうございます!
>
> ただ、CMS for Cloudということで基本的にファイルの書き込みが出来ない
> 環境が殆どだと思います。(GAEは不可、Herokuは例外的にAPP_ROOT/tmp/以下だけ可)
>
> なので標準の画像アップロード機能としてはTwitpic, Picasa, S3などで実装しないといけないのかなあ
> と考えていました。
> (普通のLinuxサーバーで動かす人のためにプラグインとしてローカルストレージに保存するやり方は必要だとおもいます)
>
> 逆に言うと、
> 「APPサーバーが複数あることを前提にデータ保存先(DB含む)に配慮して作られている」
> というところが通常のCMSと一番違うところなのかなと思います。
> (WordPressのAPPサーバーを複数台にしようとすると結構面倒なことになる)
>
> 2010年10月29日5:27 nkmrshn <nkmr...@gmail.com>:
>
>
>
> > いつもお世話になっております。
>
> > On 10月28日, 午前12:05, komagata <komag...@gmail.com> wrote:
> >> ・ファイルアップロード機能(picasaとかtwitpicとかs3を使う?)
>
> > ファイルアップロード機能を追加してみました。デザインやコーディング仕様などは、
> > できるだけ既存の流儀を踏襲したつもりです。私のGitHubにpushしてありますが、
> > komagataさんにpull requestを送ってもよいでしょうか?
>
> >http://github.com/nkmrshn/lokka/commit/cecebeaf844fa36d470b22a54d6280...
>
> > 機能としては単純で、public/upload_filesに日付ディレクトリ付きでファイルを保存
> > します。
>
> > 日付ディレクトリをわざわざ作ったのは、HDDのinode設定にもよりますが、
> > 保存できるファイル数に上限があるためです。過去にこれを無視して、やっていたら
> > ファイルを作りすぎてHDDのmountをroモードにした反省から、このような設計に
> > してみました。
>
> > 同名ファイルがアップロードされたら上書きされます。なお、ファイル管理の為、
> > upload_filesテーブルが作成されます。
>
> > 現在の課題は、cleditorからどうやってアップロードし、リンクをテキストエリア
> > に貼り付けるか検討がついていません。
>
> > 方法としては、ツールバーのアイコンをクリックすると、type属性がfileなinputタグ
> > を含むポップアップを表示させ、AjaxでPOSTし、コールバックされたJSONデータ
> > を加工して、テキストエリアに貼り付けるといった感じを想定しているのですが。
> > cleditorの場合、JSでプラグインを作る必要があるんでしょうか。cleditorは初めて
> > なので、もうちょっと勉強してみます。
>
> > --
> > このメールは Google グループのグループ「lokka-ja」の登録者に送られています。
> > このグループに投稿するには、lokk...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、lokka-ja+u...@googlegroups.com にメールを送信してください。
> > 詳細については、http://groups.google.com/group/lokka-ja?hl=jaからこのグループにアクセスしてください。
>
> --
> ------------------------------------------------------------
> Masaki Komagata <komag...@gmail.com>

Masaki Komagata

unread,
Oct 30, 2010, 4:26:01 AM10/30/10
to lokk...@googlegroups.com
Herokuもtmp以外にWriteできるんですね!初めて知りました。
dyno増えた時はどこに保存されるかわかんないよ という感じなんでしょうか。
HerokuだとDBも無料は5MB、MongHQでも10MB、Cloudantは256MBだそうですね。

利用者にとって簡単・無料で、どの環境でも共通で使える方法をデフォルトにしたいすね。

Cloudつっても
「スケールするところがメリット」と思って使う人と
「簡単・無料だから」と思って使う人
に大きく分かれる気がします。(僕は後者です・・・)

打倒WordPressつったら後者なのでデフォルトは後者向けで、
前者にも対応できる様になっている という形がいいなあーと思いました。
(設定変更するとMongoDB使えるとかそういう)

2010年10月30日12:43 nkmrshn <nkm...@gmail.com>:

> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

--
------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>

ブログ: http://docs.komagata.org/

nkmrshn

unread,
Oct 30, 2010, 4:47:20 AM10/30/10
to lokka-ja
基本は、DBのテーブルにバイナリを保存し、
選択で:

0. DBのBLOB
1. ファイル直に書き出し
2. Picasa(画像限定)
3. はてなフォトライフ(画像&動画限定)
4. etc.etc...

という感じでしょうか。一応、DBに保存する部分と、
時間に余裕があれば、はてなフォトライフも。

DBに保存の場合、GAEのBLOBは確か1MBまでだったかな。
なのでデフォルトでアップロードできるのは1MBまでに
した方がいいですかね。


On 10月30日, 午後5:26, Masaki Komagata <komag...@gmail.com> wrote:
> Herokuもtmp以外にWriteできるんですね!初めて知りました。
> dyno増えた時はどこに保存されるかわかんないよ という感じなんでしょうか。
> HerokuだとDBも無料は5MB、MongHQでも10MB、Cloudantは256MBだそうですね。
>
> 利用者にとって簡単・無料で、どの環境でも共通で使える方法をデフォルトにしたいすね。
>
> Cloudつっても
> 「スケールするところがメリット」と思って使う人と
> 「簡単・無料だから」と思って使う人
> に大きく分かれる気がします。(僕は後者です・・・)
>
> 打倒WordPressつったら後者なのでデフォルトは後者向けで、
> 前者にも対応できる様になっている という形がいいなあーと思いました。
> (設定変更するとMongoDB使えるとかそういう)
>
> 2010年10月30日12:43 nkmrshn <nkmr...@gmail.com>:

八木 都志郎

unread,
Oct 30, 2010, 7:02:56 AM10/30/10
to lokk...@googlegroups.com
herokuだとファイルシステムはread onlyだよ、と明言してはいますね。
書き込めないことはないけど、運用中にどうなるか保証できないので、
やめてね、ということだと思います。

またherokuだとRDBMSはPostgreSQLなのでBLOBはラージオブジェクトに
なるんですが、不幸なことにこれだと作成されるデータ自体はデータベースサーバ内で
グローバルに参照可能になってしまうという欠点があります。

また、バックアップデータの扱いが面倒だったり、あまりいいことは
ありません。ファイルはストレージに置くのが王道だと思います。

または、多少のオーバーヘッドはありますが画像程度のサイズの情報であれば
base64でエンコードしてテキストデータとして保存するという手を使う人もいるそうです。
これもまた面倒かつ冒険的ではありますが、所詮テキストなのでバックエンドのRDBMSを
選ばない手ではあります。

nkmrshn

unread,
Oct 30, 2010, 7:20:15 AM10/30/10
to lokka-ja
うー。

ファイルシステムに書き出すと、HerokuやGAEが駄目。
DBだと、八木さんにご指摘いただいた通りの欠点が。
Picasaなどを使うと、それらサービスのアカウントなどをLokkaとは別途、
用意しなきゃいけないので、Komagataさんの「利用者にとって簡単・無料」
という仕様が満たせない。

やべ。はまった。

八木 都志郎

unread,
Oct 30, 2010, 8:14:04 AM10/30/10
to lokk...@googlegroups.com
とりあえず、フロントエンドとストレージ部分とを分けて、
共通のAPI仕様だけあればプラグインでなんとかなると思います。

なので、管理画面は今のをそのまま使って、lib/lokka/upload_file.rbを
インターフェース扱いにしてプラグインの方に実装をもっていくとかどうでしょう。

バックエンドの違うを吸収するためには、他にもimgタグにどんな風に記述するか
決めておく必要がありますね。

nkmrshn

unread,
Oct 30, 2010, 9:05:20 AM10/30/10
to lokka-ja
八木さん、度々ありがとうございます。

いただいたアドバイスを元に、バイナリをbase64でエンコードして
DBに保存する方法も追加してみました。

http://github.com/nkmrshn/lokka

APP_ROOT/lokka/app.rbの「set :upload_type」を'db'にすると、
upload_fileテーブルのdataフィールドに保存し、
'file'だとAPP_ROOT/public/upload_filesにファイルを保存します。
これは、設定画面で出来るようにした方がいいのかな。

フロントエンドとストレージ部分を分け、実装をプラグインで処理する
というのは、なるほどと思いました。

ただ、私はまだプラグインをどう作るかさえあまりわかってないので、
未実装です。

後、CLEditorからアップロードしたファイルを挿入するプラグインも
いるんですよね...そっち、先にしようかな。
> ...
>
> もっと読む ≫

Masaki Komagata

unread,
Oct 30, 2010, 10:36:27 AM10/30/10
to lokk...@googlegroups.com
> とりあえず、フロントエンドとストレージ部分とを分けて、
> 共通のAPI仕様だけあればプラグインでなんとかなると思います。

なるほど・・・これは全然思いつきませんでした。いいっすね!

> Picasaなどを使うと、それらサービスのアカウントなどをLokkaとは別途、
> 用意しなきゃいけないので、Komagataさんの「利用者にとって簡単・無料」
> という仕様が満たせない。

打倒WordPress!を掲げてるわけですがw、
WordPressでもAkismetをほぼ利用してるわけで、一般の方やデザイナーの方にとって
外部のアカウントを利用するのはそれ程障壁にならないっぽいです。
(デザイナーの@machidaさんに聞いた)

プログラマーの僕ら的にはちょっと意外な気がしましたが。

例えばGoogle Analyticsのプラグインも殆どの方は使ってるようですし。
ただ、API Keyとかアカウント名とかの入力は設定ファイルではなく管理画面からやりたいようです!

ただ、英語圏で通用して、日本語ローカライズもされてるサービスが好ましいと思います。
(この場合Picasaとかがそれにあたるのかな?)

コメントも外部サービスをプラグインという形で取り入れたいんですが、ローカライズされてる
Disqusみたいなサービスってありますかねえ・・・。

2010年10月30日22:05 nkmrshn <nkm...@gmail.com>:

> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

--
------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>

ブログ: http://docs.komagata.org/

八木 都志郎

unread,
Oct 30, 2010, 10:50:19 AM10/30/10
to lokk...@googlegroups.com
> 例えばGoogle Analyticsのプラグインも殆どの方は使ってるようですし。
> ただ、API Keyとかアカウント名とかの入力は設定ファイルではなく管理画面からやりたいようです!

設定管理用のテーブルってもうあるんだっけ?
WordPressでいうところのwp_optionsテーブル。。。

Masaki Komagata

unread,
Oct 30, 2010, 10:56:03 AM10/30/10
to lokk...@googlegroups.com
今作ってます。1時間ぐらいあればコミットできそうです。

2010年10月30日23:50 八木 都志郎 <yagit...@gmail.com>:

町田 哲平

unread,
Oct 30, 2010, 11:32:03 AM10/30/10
to lokk...@googlegroups.com
画像のアップロードに関してなのですが、
wordpressにflickr managerというpluginがあるのですが、
これが便利なので、個人的にこんな感じになったらいいなぁ、と思います。

http://tgardner.net/wordpress-flickr-manager/

1 pluginをインストール

2 管理画面からflickrのアカウントを入力し、Flickrサイトで認証をする

3 投稿のエディターのツールバーにFlickrのアイコンが出る

4 Flickrアイコンをクリックすると、ライトボックスでFlickrの画像一覧が表示され、投稿に使いたい画像をそこから選択し、
記事に挿入できる

投稿の際にコンピューターのローカルにある画像を使いたい場合は
そのアイコンをクリックしてuploadタブをクリックするとFlickrに画像をアップロードができる
アップロードした後、4へ

こんな感じでFlickrやPicasaやTwitpicを使って画像を扱えたらいいなぁ、って思いました。


2010年10月30日23:50 八木 都志郎 <yagit...@gmail.com>:

--
++++++++++++++++++++++++++++++++++++

合同会社フィヨルド
町田 哲平
mac...@fjord.jp
090-5777-1343
〒151-0071
東京都渋谷区本町2-45-7 ハウス田辺 101

Masaki Komagata

unread,
Oct 30, 2010, 11:51:09 AM10/30/10
to lokk...@googlegroups.com
作ってpushしました。

下記ブログに説明書きました。

「ちょっとしたデータを入れとくところ - komagata [p0t]」
http://docs.komagata.org/4652

2010年10月30日23:50 八木 都志郎 <yagit...@gmail.com>:

nkmrshn

unread,
Oct 30, 2010, 6:27:24 PM10/30/10
to lokka-ja
CLEditorのプラグインを用意し、アップロードした画像ファイルを
テキストエリアに投稿できるようにしました。

http://github.com/nkmrshn/lokka

が。サムネイル表示は、予め圧縮したものではなく、
オリジナルを単にimgタグのwidthとheightで小さくしているだけなので、
DBにファイルを保存してると負荷が高めかも。開発環境が、
sqlite3なんでだからか?本来なら、rmagickとかでサムネイルを
作るんですが...
> ...
>
> もっと読む ≫

Masaki Komagata

unread,
Oct 31, 2010, 12:55:59 AM10/31/10
to lokk...@googlegroups.com
あざーす!

@nkmrshnさんのパッチありがたいので早く取り込みたくてうずうずしてるんですが、
僕も含めて現状多くの人がHerokuで動かしてるので画像の保存先のデフォルトが
ローカルストレージかDBだと困ってしまうかもしれません。

HerokuのPostgreSQLの5MBはテキスト入れるには10年2000エントリ書いてても
余裕なのに対し、画像なら一瞬です。
(デフォルトでエディタにボタンがあったら何も考えず使ってしまうと思います)

実際に僕も画像はFlickrにアップしてURLを貼ってます。

基本、管理画面(/admin/)もプラグイン化しても問題無いぐらいなので
なるべくオプショナルな機能はプラグインみたいに実装してきたいですね(rails3みたいに・・・)

2010年10月31日7:27 nkmrshn <nkm...@gmail.com>:

> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

--
------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>

ブログ: http://docs.komagata.org/

nkmrshn

unread,
Oct 31, 2010, 1:01:45 AM10/31/10
to lokka-ja
大変申し訳ありません。

ただいま、Lokkaのプラグインを勉強中で、ローカルストレージおよび
DBをプラグイン化しています。

外部画像API系のプラグインは、今晩、時間があればチャレンジしてみます。


On 10月31日, 午後1:55, Masaki Komagata <komag...@gmail.com> wrote:
> あざーす!
>
> @nkmrshnさんのパッチありがたいので早く取り込みたくてうずうずしてるんですが、
> 僕も含めて現状多くの人がHerokuで動かしてるので画像の保存先のデフォルトが
> ローカルストレージかDBだと困ってしまうかもしれません。
>
> HerokuのPostgreSQLの5MBはテキスト入れるには10年2000エントリ書いてても
> 余裕なのに対し、画像なら一瞬です。
> (デフォルトでエディタにボタンがあったら何も考えず使ってしまうと思います)
>
> 実際に僕も画像はFlickrにアップしてURLを貼ってます。
>
> 基本、管理画面(/admin/)もプラグイン化しても問題無いぐらいなので
> なるべくオプショナルな機能はプラグインみたいに実装してきたいですね(rails3みたいに・・・)
>
> 2010年10月31日7:27 nkmrshn <nkmr...@gmail.com>:
> ...
>
> もっと読む ≫

Masaki Komagata

unread,
Oct 31, 2010, 1:16:24 AM10/31/10
to lokk...@googlegroups.com
いえぜんぜん!

おもろいかも とおもった部分や
これ必要 と思った部分を

やりたいときにやりたいようにやっていただければ!

プラグインの仕組みももうちょっと作り易いようにしたり
ドキュメントを用意した方がいいですね

2010年10月31日14:01 nkmrshn <nkm...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages