70
PaaS向けCMS Lokka Masaki Komagata FJORD, LLC

PaaS向けCMS Lokka

Embed Size (px)

DESCRIPTION

Introduce CMS Lokka.

Citation preview

Page 1: PaaS向けCMS Lokka

PaaS向けCMS LokkaMasaki Komagata FJORD, LLC

Page 2: PaaS向けCMS Lokka

komagataと申します

Page 3: PaaS向けCMS Lokka

FJORDという会社で働いています

Page 4: PaaS向けCMS Lokka

社員2名

@komagata(プログラマー)

@machida(デザイナー)

Page 5: PaaS向けCMS Lokka

Cloud(特にPaaS)向けCMS

“Lokka”のご紹介

Page 6: PaaS向けCMS Lokka

ところで私はHerokuが好きです

Page 7: PaaS向けCMS Lokka

Web制作会社(主にデザイン)にとってHerokuの良い所

Page 8: PaaS向けCMS Lokka

Web制作会社(主にデザイン)にとってHerokuの良い所

•無料

Page 9: PaaS向けCMS Lokka

Web制作会社(主にデザイン)にとってHerokuの良い所

•無料•デプロイが楽(capistranoなにそれおいしいの)

Page 10: PaaS向けCMS Lokka

Web制作会社(主にデザイン)にとってHerokuの良い所

•無料•デプロイが楽(capistranoなにそれおいしいの)

•メンテナンスフリー(運用費用が必ず貰えるわけじゃない)

Page 11: PaaS向けCMS Lokka

自社サービス全てHerokuに

• Help me, hackers!(http://help-me-hackers.com)

• Ham Cutlet(http://hamcutlet.fjord.jp)

• Next Holiday(http://holiday.fjord.jp)

• MAKES THIS(http://makesthis.com)

Page 12: PaaS向けCMS Lokka

元々デザインの案件はWordPressを使ってました

Page 13: PaaS向けCMS Lokka

Lokkaを作った理由

Page 14: PaaS向けCMS Lokka

Lokkaを作った理由

•WordPressがHerokuで動かない

Page 15: PaaS向けCMS Lokka

Lokkaを作った理由

•WordPressがHerokuで動かない

•WordPressのプラグインをPHPで書くのが(精神的に)キツイ、自由度が低い

Page 16: PaaS向けCMS Lokka

Lokkaを作った理由

•WordPressがHerokuで動かない

•WordPressのプラグインをPHPで書くのが(精神的に)キツイ、自由度が低い

•ベタなブログツールをRubyistはあまり作りたがらない

Page 17: PaaS向けCMS Lokka

もはやWordPressを打倒するしかなぁい!

Page 18: PaaS向けCMS Lokka

HerokuでLokkaを使う方法

Page 19: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git

Page 20: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka

Page 21: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create

Page 22: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master

Page 23: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master$ heroku rake db:setup

Page 24: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master$ heroku rake db:setup

Lokkaに特有の工程はこれだけ

Page 25: PaaS向けCMS Lokka

$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master$ heroku rake db:setup$ heroku apps:open

Lokkaに特有の工程はこれだけ

Page 26: PaaS向けCMS Lokka
Page 27: PaaS向けCMS Lokka

Admin login (user / password : test / test)

Page 28: PaaS向けCMS Lokka
Page 29: PaaS向けCMS Lokka
Page 30: PaaS向けCMS Lokka
Page 31: PaaS向けCMS Lokka

ローカルよりHeroku

で動かすほうが簡単

Page 32: PaaS向けCMS Lokka

Lokkaの特徴

Page 33: PaaS向けCMS Lokka

1. 特定のDBに依存しない

Page 34: PaaS向けCMS Lokka

1. 特定のDBに依存しない

• RDB, KVS, Document指向DB, etc...

Page 35: PaaS向けCMS Lokka

1. 特定のDBに依存しない

• RDB, KVS, Document指向DB, etc...

•MySQL, PostgreSQL, SQLite, Redis

Page 36: PaaS向けCMS Lokka

1. 特定のDBに依存しない

• RDB, KVS, Document指向DB, etc...

•MySQL, PostgreSQL, SQLite, Redis

ActiveRecordではなくDatamapperを使ってるのでmemcached互換APIがあれば多分動く(対応DB Adapterが沢山)

Page 37: PaaS向けCMS Lokka

しかし・・・

Page 38: PaaS向けCMS Lokka

しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL

が動くから意味無い。

Page 39: PaaS向けCMS Lokka

しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL

が動くから意味無い。

• KVS対応の実態はobjectをMarshalして保存してるだけ。aggregateも実装するとKVSの利点をスポイル。

Page 40: PaaS向けCMS Lokka

しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL

が動くから意味無い。

• KVS対応の実態はobjectをMarshalして保存してるだけ。aggregateも実装するとKVSの利点をスポイル。

• ActiveRecordにすれば楽だったかも…

Page 41: PaaS向けCMS Lokka

2. ファイルシステムに書き込まない

Page 42: PaaS向けCMS Lokka

2. ファイルシステムに書き込まない

•テンポラリなもの以外には使わない

Page 43: PaaS向けCMS Lokka

2. ファイルシステムに書き込まない

•テンポラリなもの以外には使わない•画像アップロードなどは外部サービスへ(picasaプラグイン)

Page 44: PaaS向けCMS Lokka

2. ファイルシステムに書き込まない

•テンポラリなもの以外には使わない•画像アップロードなどは外部サービスへ(picasaプラグイン)

• PaaS向けでないOSSは一見動いてるように見えてインスタンスが増えるとおかしくなる場合がある。

Page 45: PaaS向けCMS Lokka

3. シンプルなテーマAPI

Page 46: PaaS向けCMS Lokka

3. シンプルなテーマAPI

•WordPressを使っていたデザイナーにとって分かりやすく、かつ一貫したテーマ(テンプレート)APIを目指しています。

Page 47: PaaS向けCMS Lokka

3. シンプルなテーマAPI

•WordPressを使っていたデザイナーにとって分かりやすく、かつ一貫したテーマ(テンプレート)APIを目指しています。

•プログラマー向けにerb, haml, slim, erubis

にも対応。

Page 48: PaaS向けCMS Lokka

<h1><%= @site.title %><h1><% @posts.each do |post| %> <h2><%= post.title %></h2> <%= post.body %> <a href="<%= post.category.link %>"> <%= post.category.name %> </a><% end %>

Page 49: PaaS向けCMS Lokka

4. プラグインの自由度が高い

Page 50: PaaS向けCMS Lokka

4. プラグインの自由度が高い

• Lokka PluginはSinatra Extensionのサブセット。

Page 51: PaaS向けCMS Lokka

4. プラグインの自由度が高い

• Lokka PluginはSinatra Extensionのサブセット。

• Rubyなので本体のメソッドを置き換えたりが自由。(WordPressプラグインを書いてる時これができなくてイライラした)

Page 52: PaaS向けCMS Lokka

# lokka/hello.rb:module Lokka::Hello def self.registered(app) app.get '/' do 'hello' end endend

トップページを横取りしてhelloを表示

Page 53: PaaS向けCMS Lokka

トップページを横取りしてhelloを表示

Page 54: PaaS向けCMS Lokka

Lokkaの問題点

Page 55: PaaS向けCMS Lokka

1. 普及してない

Page 56: PaaS向けCMS Lokka

1. 普及してない•プラグインが少ない

Page 57: PaaS向けCMS Lokka

1. 普及してない•プラグインが少ない•テーマが少ない

Page 58: PaaS向けCMS Lokka

1. 普及してない•プラグインが少ない•テーマが少ない•事例が少ない

Page 59: PaaS向けCMS Lokka

1. 普及してない•プラグインが少ない•テーマが少ない•事例が少ない•テストが少ない

(#^ω^)ピキピキ

Page 60: PaaS向けCMS Lokka

2. 共有レンタルサーバーで動かない

Page 61: PaaS向けCMS Lokka

2. 共有レンタルサーバーで動かない

•CGIに対応してないから。Rackのみ。

Page 62: PaaS向けCMS Lokka

2. 共有レンタルサーバーで動かない

•CGIに対応してないから。Rackのみ。

•要望はあった

Page 63: PaaS向けCMS Lokka

2. 共有レンタルサーバーで動かない

•CGIに対応してないから。Rackのみ。

•要望はあった• PaaS普及を願うのみ

Page 64: PaaS向けCMS Lokka

3. 管理画面からプラグインインストールができない

Page 65: PaaS向けCMS Lokka

3. 管理画面からプラグインインストールができない

•WordPressやJenkinsは管理画面から1

クリックでプラグインがインストールできる。(便利)

Page 66: PaaS向けCMS Lokka

3. 管理画面からプラグインインストールができない

•WordPressやJenkinsは管理画面から1

クリックでプラグインがインストールできる。(便利)

• PaaSではファイルに書き込めないから無理。

Page 67: PaaS向けCMS Lokka

3. 管理画面からプラグインインストールができない

•WordPressやJenkinsは管理画面から1

クリックでプラグインがインストールできる。(便利)

• PaaSではファイルに書き込めないから無理。

•どうしよう・・・(未解決)

Page 68: PaaS向けCMS Lokka

Lokkaでは使ってくれる方、開発に参加してくれる方を募集しています。

Page 69: PaaS向けCMS Lokka

HerokuとLokkaでブログ書いてみませんか?

X

Page 70: PaaS向けCMS Lokka

以上です。ありがとうございました。

X