前回ではFat Free CRMがうまくセットアップできませんでした。
原因を探り、解決までの過程はこんな感じになりました。
まず、エラーの内容を確認してみましょう。
rake db:createを実行したら、以下のメッセージが返ってきました。
Couldn't create database for {
"encoding"=>"utf8",
"username"=>"root",
"adapter"=>"mysql",
"database"=>"fat_free_crm_development",
"pool"=>5,
"password"=>#,
"socket"=>"/tmp/mysql.sock"
},
charset: utf8,
collation: utf8_general_ci(if you set the charset manually, make sure you have a matching collation)
DBが作れませんでしたって言われてます。
末尾辺りにあるcharset云々と、passwordの表示が変になっているのが気になります。
DBにおけるcharsetはけっこうデリケートなので、原因はcharsetにありそうだと思い調べてみました。
まず、
Fat Free CRMの配布サイトを確認します。
トラブルシューティング的なものは一切ありません。えぇー・・・。
じゃあGoogle先生に聞いてみよう。
Google先生のアドバイス
参考になりそうな情報が全然見つかりませんでしたorz
目新しいプロダクトなため、情報量が少ないのが災いした感じです。
このままでは埒があかないので、Railsのエラーとして地引いてみることにしました。
投網
参考になりそうなサイトを発見!
Aerialarts - rake db:createでキャラクタセット関連っぽいエラー
この記事では、Mac環境で似たような現象が起きたようです。
こちらを参考に、社内サーバのMySQLを見直してみましたが、一向に改善できず・・・。
この辺りで、「charset云々がエラーの原因じゃないんじゃね?」と思い始めます。
そういえば、エラーの中でpasswordの値がおかしかったのを思い出す。
でも、passwordがおかしいってどういうことだろう・・・。
DBのcreateを実行するMySQLユーザーアカウントと異なっていたりするのか、と思い調べてみる。
全然あってます。rootユーザーなので、作成権限がないというわけでもない。
原因がわからないまま、ダメ元で別のMySQLユーザーを作ってセットアップを実行してみることに。
# rake db:create
(in /設置したディレクトリ)
。 。
/ / ポーン!
( Д )
エラーが返ってこない。
そして、DBを確認してみるとfat_free_crm_developmentというDBが作成されている。
エラーが解消できたのは嬉しいが、ものすごく気味が悪い。
最初に実行しようとしたrootユーザーと、成功したMySQLユーザーを見比べてみる。
といっても、違うところはユーザー名とパスワードしかない。
rootユーザーのパスワード: !*********
成功したユーザーのパスワード: *******
基本的に半角英数だが、rootの方は記号も含まれている。
!?
試しに、もう1つMySQLユーザーを作成してみました。
パスワードの
先頭に!を付けて。
database.ymlにこのユーザー情報を設定して、rake db:createを実行してみると・・・。
まったく同じエラーが返ってきました!
どうやらエラーの原因は、MySQLユーザーのパスワードの先頭に!記号があることだと判明。
これはまったく予想していなかった。
エラーメッセージにcharset云々とあるので、ほぼ確実にcharset関連が原因だと思っていたのに・・・。
なんというトラップ。
ものすごくうなだれつつ、インストール手順を参考にFat Free CRMのセットアップを続けることにしました。
# rake crm:setup
(create table処理)
システムのdemoデータを読み込む
# rake crm:demo:load
(ファイルのロード処理)
Fat Free CRMを起動する
# ./script/server
まったく問題なく起動まで進みましたよチクショウ。。。
さて、本来の目的は顧客管理システムの提案材料になるか、ということです。
ざっくり調べてみてわかったことを以下にまとめます。不明瞭な点もあります。
| コンテンツメニュー |
・Profile: 自分の個人情報 編集可
・Dashboard: 最新の活動・動向のお知らせ
・Tasks: 自分のタスクの一覧 追加可能
・Campaigns: キャンペーン一覧 redmineに近いイメージ
・Leads: 契約?拒否?転向?
・Accounts: 会計情報管理っぽい タスク、顧客担当者、見込案件(Opportunities)を設定できる
・Contacts: 顧客情報一覧 氏名、メールアドレス、電話番号が常時表示 顧客に対するタスク、見込案件を設定できる
・Opportunities: チャンス 受注角度が高い見込案件の管理っぽい 「プレゼン中」「交渉中」などのステータスを設定できる
|
| 機能面・その他 |
・タスク、キャンペーンなどの項目追加フォームはAjaxで実装されている
・メール送信がmailto:のみ
・顧客リストをエクスポートする機能はない
・検索はキーワード検索のみ
・開発者向けドキュメントがほとんど見当たらない
|
うーん、残念ながらちょっと今回のお話には合わない感じでした。
Fat Free CRMは、「顧客情報を管理する」というより、
「組織全体の会計情報(案件など)に紐づいて顧客も管理する」、といった感じでしょうか。
動作は軽いので、案件によっては採用もありかもしれません。