× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
コース・カテゴリ作成ウィンドウの細かい更新をしました。
そして、Realtime Validator を実装しました。 2008年6月18日~19日 (Lonely Lion2 Site) Realtime Validator を実装する時、<%= start_validate_page %> と<%= end_validate_page %>を使いました。 しかし、これは <% validate_page do %>と<% end %>で実装することもできます。 このように2パターン用意されているものはたくさんあるんだけど、どっちの方がいいのかな? PR |
コース作成ウィンドウで、カテゴリを選択できるようにしました。
それと、create_cm_course と create_cm_course_category が長かったので、cm_ を削りました。 2008年6月17日 (Lonely Lion2 Site) |
コースを作成するためにはカテゴリも必要なので、カテゴリを作成できるようにしました。
方法は前回と同じなので、さくっとできました。 2008年6月16日 (Lonely Lion2 Site) 前回書き忘れていましたが、Rubricksのバージョンが0.6.10に上がりました。 今は0.6.9で開発しています。 変更点さえ気をつけていれば大丈夫だと思うので、しばらくは0.6.9で開発します。 RubricksDevelopmentComponentMigrationTo0610Ja - Rubricks Project - Trac |
今回の内容は主にコースデータをデータベースに追加する実装を行いました。
具体的には、 ・オペレーションバーへコース作成のボタン配置 ・コース作成ウィンドウの作成 ・コースデータをデータベースへ追加 ・多言語対応 です。 作業内容は以下にまとめました。 2008年6月9日~14日 (Lonely Lion2 Site) オペレーションバーへのボタン配置方法 オペレーションバー(CM) (Lonely Lion2 Site) 多言語対応の方法 多言語対応(CM) (Lonely Lion2 Site) booleanなのにtext_fieldを使っている等の問題がありますが、とりあえずデータベースに追加できたので。 これから、細かいところを修正していきます。 |
PART1はCourse Managementコンポーネントのユースケース図です。
今回行ったのは以下の通りです。 ・「コースを作成する」ユースケースのユースケース記述 ・rubricks-0.6.9のインストール ・コンポーネントのジェネレート ・ER図 ・テーブルの作成 以上です。 大体は過去に作ったものを使っています。 |
Rubricksのコンポーネント、Course Managementコンポーネント(CM)の開発を行います。
CMは、LMSで最低限必要な機能を提供します。 CMコンポーネントのユースケース図を作成しました。 ユースケース図(CM) (Lonely Lion2 Site) PCによってはGoogle Sitesの動作がきついかもしれないので、こっちにも貼っておきます。 あまり深くは考えず、後で変更するつもりで作成しました。 それよりも、過去に作った論文とアプリケーションを見て思い出す作業に時間をかけました。 次は各ユースケースとアクターの説明を簡単に書いて、ユースケース記述に入っていきます。 ついでに、ちょっと恥ずかしいですけど、論文を添付しました。 CMについて (Lonely Lion2 Site) |
今日は、A.6. Post Model の作成から一気に最後まで終わらせました。
A.6. Generaterはないみたいですね。 Scaffoldはあったけど。 5章 Scaffolding でも、あまり使い道はなさそうだ。 Railsでも結局はScaffoldのコードは痕跡程度しか残らないけど、それでも便利だった。 チュートリアルにも使えたしね。 A.7. ぉ、findAll()だ!w Railsっぽいなw A.8. 以下はA.8.にあるサンプルの一部です。 $this->Post->id = $id;find()じゃなくて、read()なんだ。 find()はないのかな?って思って調べてみたらあった。 6.2.2. データを取り出す ただし、Railsのように、 $this->set('post', $this->Post->find($id));では上手くいかない。 第1引数が$conditionsになっているので、 $this->set('post', $this->Post->find("id = $id"));のようにすると上手く動く。 あ、findByXxxもあるじゃん! それなら、 $this->set('post', $this->Post->findById($id));これでも上手く動くね。 read()を使いたいなら、第2引数が$idなので、 $this->set('post', $this->Post->read(null, $id));でいける。 サンプルの文はPHPに慣れていない所為かわからないけど、自分にとっては気持ち悪い感じがするので、findByXxxを使おうと思う。 A.9. 特になし A.10. textfieldじゃなくて、inputなんだ。 でも、HTML的にはinputの方が自然かな。 わかりづらい気がするけど(Railsに慣れてる所為)。 A.11. 以下は、A.11.にあるサンプルの一部です。 文字列にコード埋め込めるんだ。"/posts/delete/{$post['Post']['id']}" ってことは、A.8.で追加した、 は、'/posts/view/'.$post['Post']['id'] "/posts/view{$post['Post']['id']" でもいけるってことだ。 A.12. A.13. 特になし A.14. 平和、尊敬、女性、お金が想像以上に手に入るのかw それは嬉しいなw Railsにかなり近いからわかりやすいね。 だからこそ逆に、Railsと違うって思ってしまうけど。 あとは単純にPHPの文法に慣れていないから違和感がある。 でも、少しはわかってきた気がする。 チュートリアルは終わったので、次はマニュアルに軽く目通して、もうちょっと規模を大きくしてみるかな。 |
まずは、付録 A. Cake ブログチュートリアルをやってみることにしました。
A.3.のデータベースの作成から。 SQL文はblog_post.sqlというファイルで保存しました。 $mysql -uroot -pこれでテーブルが作られます。 A.4.はGRANT・・・で設定した通りにloginとpasswordを変更します。 databaseも自分で作成したデータベース名に変更します(今回の場合はcake_blog)。 そして、アプリケーションのトップページ(http://localhost/index.php)を開くと次の2文が追加されています。 ポート番号を変更している場合は、ポート番号の指定を忘れずに。 Your database configuration file is present.ちなみに、自分はこんなエラーが出ました。 Fatal error: Call to undefined function mysql_connect()phpinfoを見てみると、MySQLの記述がありませんでした。 phpinfoを見たい場合は、phpinfo.phpというファイルをDocument Root(htdocs)に置いて、次のように書きます。 <?php phpinfo() ?>http://localhost/phpinfo.phpにアクセスすると見れます。 ポート番号w(ry 原因は、前回PHPのインストールの時にWINDOWSディレクトリに配置したphp.iniにありました。 extention_dir = "C:/php/extensions"になっていました。 古いバージョンはこうだったのかもしれませんが、今は違います。 extension_dir="C:/php/ext"に直しました。 あと、以下の2行のコメントアウトを外します。 extension=php_mysql.dll保存してApacheの再起動をすると、phpinfoにMySQLの記述が増え、エラーも消えました。 A.5.の現象は自分も起きていて、原因もなんとなく気づいていましたが、放置してました。 httpd.confを修正します。 <Directory ”DocumentRootが指定されてる">のAllowOverride部分を以下のように修正します。 AllowOverride Allこれで終わりです。 また、以下の1行のコメントアウトが外れていることも確認して下さい。 LoadModule rewrite_module modules/mod_rewrite.soこれでCSSが反映されます。 ちなみに、今までアプリケーションのトップページにアクセスする時に、 http://localhost/index.php としていましたが、 http://localhost/ でもいけるようになります。 ポーt(ry 明日はモデルの作成からです。 |
PHPを勉強するために、CakePHPを試してみることにしました。
CakePHPを一言で言うと、PHPでRailsライクな開発ができるアプリケーションフレームワークです。 とりあえず、Apacheのインストール。 2php : Apacheのインストール(Windows) 特に問題はないと思います。 自分の場合は80番ポートがすでに使われているというエラーメッセージが出ました。 ちゃんと調べていないですけど、おそらくSkypeの所為。 というわけで、conf/httpd.confのListenを適当に変更しました。 次にPHPのインストール。 2php : PHPのインストール(Windows) MySQLはすでに入っているので問題なし。 CakePHPは、 CakePHP: the rapid development php framework. Home からダウンロードします。 寄付を求められますが、寄付なのでしなくても落とせます。 解凍後、中身をhtdocsに配置します。 これで終わり。 http://127.0.0.1/index.php にアクセスすると、何か表示されました。 あ、ポートが80じゃなかったら、ポート番号の指定も忘れずに。 明日はデータベースの設定かな。 以下にこれから参考にする予定のサイトを挙げておきます。 フォーラム - CakePHP Users in Japan CakePHP プログラマーズ リファレンスガイド CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社 CakePHP修行! アーカイブ | IDEA*IDEA |
RubricksはRuby on Railsを利用して開発されたオープンソースのCMSです。
私はこのRubricksをLMS(Lerning Management System)としても利用出来るようにするため、コンポーネントの開発を行います。 長くなりそうなので分けました。 というわけで、トップページから見ている方は、右下の「つづきはこちら」へ。 |
忍者ブログ [PR] |