課題 #932
CakePHP1.3への対応
| Status: | 担当 | Start: | 04/30/2010 | |
|---|---|---|---|---|
| Priority: | 急いで | Due date: | ||
| Assigned to: | % Done: | 0% |
||
| Category: | その他 | |||
| Target version: | 1.8.0 |
Description
移行に関する問題点¶
- BaserCMSは、javascriptやcss等のassetファイルを、vendors/js/ vendors/css/ 内に配置しているが、1.3ではこれが読み込めなくなる。
- js の配置場所は次の3つが基本形。これはDispatcherで決め打ちされているので変更不能。
- app/webroot/js
- app/webroot/theme/{theme_neme}/webroot/js
- app/plugins/{plugin_name}/webroot/js
※ プラグイン自体の配置場所は、App::buildで移動可能だが、結局プラグインフォルダ内に入れる必要がある。
- また、Dispatcherも、App::importではなく、requireで読み込まれている為、フック不能。
対応策(検討中)
- その1:BaserCMSをCakePHPのプラグインとして構築し、bootstrapでApp::buildするコードを読み込ませる
- 移行が大変な上、処理の流れも複雑になってしまう。
- その2:assetファイルは、app/webroot/に配置する
- app/webroot内が最初から散らかってる事になってしまう。
- その3:assetファイルは、demoテーマファイルに梱包する
- テーマが重くなるし、テーマの準備が面倒臭くなる
- テーマを作成してもらう場合、管理画面で必要なassetを梱包してもらえない可能性がある。
- その4:管理画面用テーマファイルを用意する。しかもテーマ名を変更可能にする。
- その場合、viewファイルも梱包するか検討する必要がある。
- jQuery等、管理画面と公開ページで共用して使うファイルもそれぞれ用意する必要がある。
※ できれば、現在のBaserCMSの仕様のようにソースはそのまま残し、別の場所にコピーしてカスタマイズという仕組みが望ましいが、実現できる手段が今のところ思いつかない。
※ CakePHPの仕様が、App::buildでwebrootの場所を追加でき、$dispacher->asset() で、読み込み対象となる仕様になれば一番望ましい。
History
Updated by nojimage over 1 year ago
ryuring は書きました:
CakePHP1.3はPHP4をサポートしてないので検討が必要ですね。
1.3まではPHP4をサポートしています。(4の環境で動かしていないのでアレですが。
2.0からPHP5.2以上ですね。
http://cakephp.lighthouseapp.com/projects/42648/2-0-migration-guide
主にビュー周りの修正が必要になりますが、1.3に移行しちゃっていいと思います。
Updated by ryuring over 1 year ago
あ、そっか。勘違いしてました。
まとまった時間できたら1.3にいきたいですね。
プラグインまわりの仕様が変わったと聞いたので、そこがちょっと気になりますね。
Baserは、1.2系のプラグイン仕様にかなり依存していて、その上でさらに独自仕様に拡張してるので。。
Updated by ryuring over 1 year ago
その1は、URL構成がスマートでなくなる上、baserが提供する公開サイドのコンテンツをカスタマイズしにくくなるのでボツ。
その3は、テーマ制作が複雑になるのでボツ。
Updated by ryuring over 1 year ago
- Target version set to BaserCMS 1.6.0
Updated by ryuring over 1 year ago
- Priority changed from 高め to 急いで
Updated by ryuring over 1 year ago
- Tracker changed from TODO to 課題
Updated by ryuring over 1 year ago
- Target version changed from BaserCMS 1.6.0 to 1.7.0 beta
Updated by ryuring over 1 year ago
- Target version changed from 1.7.0 beta to 1.8.0
Updated by ryuring over 1 year ago
- Assigned to set to ryuring