wiki:pne-openpne3
 ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Version 52 (modified by tejimaa, 12 years ago) (diff)

--

WikiInclude(TOC)?

OpenPNE3仕様

本WikiにはOpenPNE3仕様に関する、概要説明や仕様などの確定した情報を記載 しています。本Wikiについての草稿や議論は、ノートページに記載してください。

OpenPNE3の制約事項

  • PHP5以降限定になります。
  • mod_rewrite必須になります。
  • DB構造が大幅に変更になります。
  • 使われていない機能の統廃合が行われます。

PHPフレームワークの選定

PHPフレームワークを導入します。

pne-openpne3-note

参考情報

IBM developerWorksの比較記事

http://www.ibm.com/developerworks/opensource/library/os-php-fwk1/ http://www.ibm.com/developerworks/opensource/library/os-php-fwk2/ http://www.ibm.com/developerworks/opensource/library/os-php-fwk3/ http://www.ibm.com/developerworks/opensource/library/os-php-fwk4/ http://www.ibm.com/developerworks/opensource/library/os-php-fwk5/

Googleトレンド調べ

http://sc.pne.jp/200712231511.png

http://www.google.com/trends/viz

http://www.google.com/trends/viz

上記のフレームワーク中から選びます。

フレームワーク選定の要件

評価マトリックス

ZendFrameworkCakePHPsymfonyCodeIgniter?
Googleトレンドの人気3位1位2位4位
テストフレームワークの有無
国際化対応レベル
ドキュメント量
サポートの継続
[DB]PostgreSQL MySQL SQLiteを抽象化
携帯UAの機種振り分け
携帯認証カバー(個体識別 キャリアUA)
[ktai URL]/.ZsrMKtQAyh9GHdXP./member/1
パフォーマンス(FWでの劣化)
パフォーマンス(FW機能による高速化)
[DB]members id member_id
[URL]/member/1 /community/1
サポートするPHPバージョンPHP5PHP4 PHP5PHP5PHP4 PHP5
[SlavePNE]PearAuthサポート
OpenID
OpenSocial
小窓
PHP小窓
OpenPNEサンプルコーディングの結果

その他条件

  • DB抽象化されていて、PostgreSQL MySQL SQLiteがシームレスに利用できる?
    • チューニング目的以外では、セットアップ、DB操作のSQLは1パターンのみで運用可能
  • 携帯の特殊な挙動に対して、フレームワークでカバーできるか?
  • Smartyテンプレートを使用できるか?(もしくは置き換えるに値する素敵なテンプレートエンジンを使えるか?)
  • パフォーマンスが劣化しないか?
  • ドキュメントが充実しているか?
  • 今後サポートが継続されそうか?
  • テスト関連のフレームワークが備わっているか?
  • 国際化対応の機構が組み込まれているか?
  • トレンドなのでRailsをある程度意識していて欲しい

考慮しなくても良い要件

  • OpenPNE2系からの移行に伴う作業負荷は考えない
  • PHP5限定のフレームワークでも良い

URLスタイル

/xxx/h_home.phpのように.phpを使わないURLスタイルに変更されます。

pne-openpne3-note

上記変更に伴いmod_rewrite環境が必須になります。

※pathinfoで実現する救済措置は検討中です。

DBレイアウト

  • RailsスタイルのDB名、カラム名を採用する
  • テーブル名
    • members
    • communities
  • カラム名
    • 主キー => id
    • 外部キー => member_id

HTMLレイアウト

  • FullCSS
  • コンテナ方式
  • 公式レイアウトは固定幅、固定フォント
  • インターフェースと装飾を明確に区別する
    • インターフェースは、ボタン配置など、装飾は配色、スキン等

データ構造

pne-openpne3-note

画面構造

perspective(h_ f_ c_)

  • h_自分系
  • f_フレンド系
  • c_コミュニティ系

管理構造

権限管理

ターゲットがある物

  • FriendLevel?
    • フレンド フレンドじゃない
  • CommunityLevel?
    • コミュニティ外 コミュニティメンバー コミュニティ管理人 コミュニティ副管理人

SNSで一意

国際化

国際化に対応できる機構にします。

pne-i18n

WikiInclude(DIRECTORYNAVI)?