課題 #932

CakePHP1.3への対応

Added by ryuring   almost 2 years ago. Updated over 1 year ago.

Status:担当 Start:04/30/2010
Priority:急いで Due date:
Assigned to:ryuring   % 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 ryuring   over 1 year ago

CakePHP1.3はPHP4をサポートしてないので検討が必要ですね。

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  

Also available in: Atom PDF