Version 32 (modified by 15 years ago) (diff) | ,
---|
TOC(titleindex,heading=リンク,pne,OpenPNEHacks,ChangeLog)?
OpenPNE3仕様
本WikiにはOpenPNE3仕様に関する、概要説明や仕様などの確定した情報を記載 しています。本Wikiについての草稿や議論は、ノートページに記載してください。
仕様議論
PHPフレームワークの選定
OpenPNE3.0を目処にフレームワークを入れ替える予定です。
一軍
- Zend Framework http://framework.zend.com/
- CakePHP http://www.cakephp.org/
- symfony http://www.symfony-project.com/
二軍
- Mojavi http://www.mojavi.org/
- Ethna http://ethna.jp/
- Maple http://kunit.jp/maple/
- CodeIgniter? http://codeigniter.com/
参考
- Ruby on Rails
Googleトレンド調べ
等から選びます。
手順 0.前調査
各フレームワークの書籍を読んで事前知識を持っておく
1.各フレームワークを検証ブランチで検証する
2.フレームワークを決定する
3.OpenPNEを採用されたフレームワークで書き換える
要件
- DB抽象化されていて、PostgreSQL MySQL SQLiteがシームレスに利用できる?
- チューニング目的以外では、セットアップ、DB操作のSQLは1パターンのみで運用可能
- 携帯の特殊な挙動に対して、フレームワークでカバーできるか?
- Smartyテンプレートを使用できるか?(もしくは置き換えるに値する素敵なテンプレートエンジンを使えるか?)
- パフォーマンスが劣化しないか?
- ドキュメントが充実しているか?
- 今後サポートが継続されそうか?
- テスト関連のフレームワークが備わっているか?
- 国際化対応の機構が組み込まれているか?
- トレンドなのでRailsをある程度意識していて欲しい
考慮しなくても良い要件
- OpenPNE2系からの移行に大きな負荷がかからないか?
- PHP5限定のフレームワークでOK
URLスタイル
- .phpを使わない
- http://url/member/1
- http://url/community/1
- http://url/event/1
- http://url/topic/1
- http://url/profile/1
- http://url/profile/1
mod_rewrite必須にする
DBレイアウト
- RailsスタイルのDBレイアウトにする
- テーブル名
- members
- communities
- カラム名
- id member_id
HTMLレイアウト
- FullCSS
- コンテナ方式
- 公式レイアウトは固定幅、固定フォント
- インターフェースと装飾を明確に区別する
- インターフェースは、ボタン配置など、装飾は配色、スキン等
SNSモデル
データ構造
- member
- member_link
- community
- community_topic
- message
- event
- event_topic
- diary
- diary_comment
- permission
画面構造
perspective(h_ f_ c_)
- h_自分系
- f_フレンド系
- c_コミュニティ系
管理構造
権限管理
国際化
- 国際化サポートしているフレームワークを選定する