Upload
masaki-komagata
View
8.088
Download
3
Embed Size (px)
DESCRIPTION
Introduce CMS Lokka.
Citation preview
PaaS向けCMS LokkaMasaki Komagata FJORD, LLC
komagataと申します
FJORDという会社で働いています
社員2名
@komagata(プログラマー)
@machida(デザイナー)
Cloud(特にPaaS)向けCMS
“Lokka”のご紹介
ところで私はHerokuが好きです
Web制作会社(主にデザイン)にとってHerokuの良い所
Web制作会社(主にデザイン)にとってHerokuの良い所
•無料
Web制作会社(主にデザイン)にとってHerokuの良い所
•無料•デプロイが楽(capistranoなにそれおいしいの)
Web制作会社(主にデザイン)にとってHerokuの良い所
•無料•デプロイが楽(capistranoなにそれおいしいの)
•メンテナンスフリー(運用費用が必ず貰えるわけじゃない)
自社サービス全て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)
元々デザインの案件はWordPressを使ってました
Lokkaを作った理由
Lokkaを作った理由
•WordPressがHerokuで動かない
Lokkaを作った理由
•WordPressがHerokuで動かない
•WordPressのプラグインをPHPで書くのが(精神的に)キツイ、自由度が低い
Lokkaを作った理由
•WordPressがHerokuで動かない
•WordPressのプラグインをPHPで書くのが(精神的に)キツイ、自由度が低い
•ベタなブログツールをRubyistはあまり作りたがらない
もはやWordPressを打倒するしかなぁい!
HerokuでLokkaを使う方法
$ git clone git://github.com/komagata/lokka.git
$ git clone git://github.com/komagata/lokka.git$ cd lokka
$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create
$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master
$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master$ heroku rake db:setup
$ git clone git://github.com/komagata/lokka.git$ cd lokka$ heroku apps:create$ git push heroku master$ heroku rake db:setup
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に特有の工程はこれだけ
Admin login (user / password : test / test)
ローカルよりHeroku
で動かすほうが簡単
Lokkaの特徴
1. 特定のDBに依存しない
1. 特定のDBに依存しない
• RDB, KVS, Document指向DB, etc...
1. 特定のDBに依存しない
• RDB, KVS, Document指向DB, etc...
•MySQL, PostgreSQL, SQLite, Redis
1. 特定のDBに依存しない
• RDB, KVS, Document指向DB, etc...
•MySQL, PostgreSQL, SQLite, Redis
ActiveRecordではなくDatamapperを使ってるのでmemcached互換APIがあれば多分動く(対応DB Adapterが沢山)
しかし・・・
しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL
が動くから意味無い。
しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL
が動くから意味無い。
• KVS対応の実態はobjectをMarshalして保存してるだけ。aggregateも実装するとKVSの利点をスポイル。
しかし・・・•開発当初はHerokuかGAEで動くことを目指していたが、最近のPaaSは大抵MySQL
が動くから意味無い。
• KVS対応の実態はobjectをMarshalして保存してるだけ。aggregateも実装するとKVSの利点をスポイル。
• ActiveRecordにすれば楽だったかも…
2. ファイルシステムに書き込まない
2. ファイルシステムに書き込まない
•テンポラリなもの以外には使わない
2. ファイルシステムに書き込まない
•テンポラリなもの以外には使わない•画像アップロードなどは外部サービスへ(picasaプラグイン)
2. ファイルシステムに書き込まない
•テンポラリなもの以外には使わない•画像アップロードなどは外部サービスへ(picasaプラグイン)
• PaaS向けでないOSSは一見動いてるように見えてインスタンスが増えるとおかしくなる場合がある。
3. シンプルなテーマAPI
3. シンプルなテーマAPI
•WordPressを使っていたデザイナーにとって分かりやすく、かつ一貫したテーマ(テンプレート)APIを目指しています。
3. シンプルなテーマAPI
•WordPressを使っていたデザイナーにとって分かりやすく、かつ一貫したテーマ(テンプレート)APIを目指しています。
•プログラマー向けにerb, haml, slim, erubis
にも対応。
<h1><%= @site.title %><h1><% @posts.each do |post| %> <h2><%= post.title %></h2> <%= post.body %> <a href="<%= post.category.link %>"> <%= post.category.name %> </a><% end %>
4. プラグインの自由度が高い
4. プラグインの自由度が高い
• Lokka PluginはSinatra Extensionのサブセット。
4. プラグインの自由度が高い
• Lokka PluginはSinatra Extensionのサブセット。
• Rubyなので本体のメソッドを置き換えたりが自由。(WordPressプラグインを書いてる時これができなくてイライラした)
# lokka/hello.rb:module Lokka::Hello def self.registered(app) app.get '/' do 'hello' end endend
トップページを横取りしてhelloを表示
トップページを横取りしてhelloを表示
Lokkaの問題点
1. 普及してない
1. 普及してない•プラグインが少ない
1. 普及してない•プラグインが少ない•テーマが少ない
1. 普及してない•プラグインが少ない•テーマが少ない•事例が少ない
1. 普及してない•プラグインが少ない•テーマが少ない•事例が少ない•テストが少ない
(#^ω^)ピキピキ
2. 共有レンタルサーバーで動かない
2. 共有レンタルサーバーで動かない
•CGIに対応してないから。Rackのみ。
2. 共有レンタルサーバーで動かない
•CGIに対応してないから。Rackのみ。
•要望はあった
2. 共有レンタルサーバーで動かない
•CGIに対応してないから。Rackのみ。
•要望はあった• PaaS普及を願うのみ
3. 管理画面からプラグインインストールができない
3. 管理画面からプラグインインストールができない
•WordPressやJenkinsは管理画面から1
クリックでプラグインがインストールできる。(便利)
3. 管理画面からプラグインインストールができない
•WordPressやJenkinsは管理画面から1
クリックでプラグインがインストールできる。(便利)
• PaaSではファイルに書き込めないから無理。
3. 管理画面からプラグインインストールができない
•WordPressやJenkinsは管理画面から1
クリックでプラグインがインストールできる。(便利)
• PaaSではファイルに書き込めないから無理。
•どうしよう・・・(未解決)
Lokkaでは使ってくれる方、開発に参加してくれる方を募集しています。
HerokuとLokkaでブログ書いてみませんか?
X
以上です。ありがとうございました。
X