Posts Tagged ‘Rails’

    はてなブックマーク - Rails3 で restful-authentication
    このエントリーをはてなブックマークに追加

    こんにちはヤマモトです。
    rails3の正式リリースもなされ、いよいよ実案件での運用も視野に入り始めてきました。

    今回は、Ruby on Rails3で、restful-authenticationは動くのか、というのを取り上げます。

    restful-authenticationとは、サイトのユーザー認証機構を組み込むのには便利なプラグインです。
    ユーザー登録、ログイン、ログアウト用のviewファイルや、
    ユーザー用モデル生成、メールアクティベート、ログイン保持などの機能を一気に提供してくれるので大変重宝しています。

    まずは、プロジェクトを生成します。
    なお、rubyは1.9.2(RVM)です。

    rails new sample

    (旧 rails sample)
    でプロジェクトが作成されます。

    そして、db:createもせずにとりあえず起動。

    rails s

    (旧 ruby script/server)

    ところが

    Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the gem sources.

    のエラー。

    プロジェクト作成時はデフォルトでsqlliteが指定されるのは従来と変わりませんね。
    ということで、config/database.yml内のsqlite表記部分を、postgresへ変更。
    しかし、それでも上記のエラーが出続けます。
    従来であればここを変えればよかったのですが、設定箇所が別のファイルに移ったのでしょうか。
    とりあえず、データベースを指定して作りなおします。

    rails new sample -d postgresql

    すると次のエラーが。

    LoadError (no such file to load -- openssl)

    OpenSSLは使ってないはずですが必要のようですね。

    CentOSを使用したので、
    yum install openssl openssl-devel
    ※debian系は適宜読み替えてください。

    あとはインストールです。

    ruby ~/.rvm/src/ruby-1.9.2-p0/ext/openssl/extconf.rb
    make && make install

    さて、これでようやく
    「Welcome aboard」
    の画面が表示されました。

    では、restful-authenticationを導入してみます。
    導入方法の詳細は様々なページでご紹介されているので詳しくは割愛します。

    まず、restful-authenticationがrails3に対応しているかですが、以下から提供されているようです。
    github.com/Satish/restful-authentication

    状態管理をサポートするacts_as_state_machineや、パスワード再発行に便利なforget_passwordは従来のままで使えそうです。

    aasm

    gem sources -a http://gems.github.com
    gem install rubyist-aasm

    forget_password

    ruby script/plugin install git://github.com/greenisus/forgot_password.git

    そして、ジェネレート。

    rails g authenticated user sessions --include-activation --aasm

    modelやview、controllerが生成されます。

    では、ユーザー登録を行ってみます。

    hostname/signup

    でユーザー登録ページへアクセス。

    すると、

    uninitialized constant UsersController::AuthenticatedSystem

    AuthenticatedSystemが読み込まれてないとのエラーが。
    ここでrails3の洗礼です。
    rails3はlib以下のファイルを自動でロードしてくれません。
    今まではlib以下に作られるauthenticated_system.rbを自動でincludeしてくれていました。
    rails3では、明示的に記述しないといけません。

    記述場所はconfig/initilizer以下にcustom_requires.rbというファイルを作成して

    require 'authenticated_system.rb'

    と記述。

    これでようやくユーザー登録ページが開き、実行することができました。

      はてなブックマーク - プレゼンテーション配信ツール「ZENPRE」のご紹介
      このエントリーをはてなブックマークに追加

      こんにちは。
      最近、これから紹介するサービスの対応に追われ続けている山本です。

      8/3(火)に、Fusicの新サービス「ZENPRE」をOPENしました。
      今回は、そのZENPREのご紹介や特徴について書かせていただきます。

      ZENPREは、スライド資料と動画が同時に配信できるプレゼンテーションツールです。
      Ustreamが身近に使われるようになった昨今、全国で行われるイベントの模様がお気軽に配信・閲覧できるようになりました。
      勉強会やセミナーの様子も配信される機会も増え、主に都心部でしか行われない貴重な勉強会でも遠方にいながらにして擬似的に参加できるようになりました。
      しかし、専用のカメラ機材を使って中継される稀なケースを除き、配信される映像の解像度は低く、スクリーンに映し出された資料の解読が困難なことがなかったでしょうか。

      当サービス「ZENPRE」では、資料と動画を別画面に分けて表示します。そのため資料部分の可読性は一気に向上します。
      また、配信する方のページ操作がそのまま受信する方のページに反映されるため、リアルタイム性が保持されます。
      さらにチャット機能も搭載しておりますので、発表の際の気になった発言もすぐ質問ができ発表者や自分以外の参加者とのコニュニケーションが可能です。

      発表の際に、受信する方が見る画面サンプルを掲載いたします。

      画面は3つの領域に分かれます。
      左側が資料を表示する領域です。この部分が、発表者のページ操作に同期し自動でページが切り替わります。自分で操作することはできません。
      右側上部が動画再生領域です。Ustreamを通した現地の様子が閲覧できます。
      右側下部がチャット領域です。

      これらサービスの利用には、発表者に資料の登録をしてもらう必要があります。
      セミナー等で発表することが決まり、資料の作成も完了したらZENPREに資料を登録してください。
      また、動画を配信するために、UstreamのチャンネルIDも同時に登録しておきます。

      実際に発表の日時になり、自分の番になったらZENPREの配信用画面を会場のスクリーンに映し出します。
      配信用の画面サンプルは以下になります。

      ほぼ受信用の画面と同じですね。
      唯一違うのは、赤色で強調した部分のページ送りボタンが付いていることです。
      「次ページ」ボタンを押すことで、自身の画面のスライドが次ページへ移動するとともに、受信者の画面にも伝わり、次ページが表示されます。
      もちろん「前ページ」ボタンで前ページへ移動し、ページ数の指定もすることができます。
      また、配信用画面には動画は不要というケースもあるため、資料部分のみフルスクリーンで表示することも可能です。

      公開が終了した後は、受信者画面でもページの操作ができるようになり、後々の資料として活用することもできます。

      ページ操作に関しては、この配信用画面から操作する以外にもスマートフォンアプリを利用して行うことができます。
      OPENに合わせて、iPhone用アプリとAndroid用アプリを用意しました。
      どちらのアプリも全く同じ機能を持っているのですが、iPhoneアプリの画面を以下に掲載いたします。

      ページの操作はフリック(画面を指でスライドさせる動作)で行います。
      直感的に、かつ、リモコン感覚でページの操作が可能になります。

      他にも、
      ・新着ニュースの閲覧
      ・過去に配信した資料の閲覧
      がアプリで可能です。

      AppStore、もしくは、AndroidMarketで「ZENPRE」と検索してください。
      無料でダウンロード可能です。

      以上の機能が、すべて無料で利用できます。
      今後、より多くの人に参加してほしい勉強会やセミナーがございましたら、ぜひともZENPREをご活用ください。

      次回は、ZENPREを支えている技術についてご紹介したいと思います。

      ZENPRE
      zenpre.net

      Fusic によるZENPRE紹介
      fusic.co.jp/product/zenpre.html

      ZENPRE on twitter
      twitter.com/ZENPRE