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

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

--

検討中案件

  • OpenPNE2.8の次は3.0ではなくOpenPNE2.10とする
  • OpenPNE安定版マイナーバージョンアップ中はDB定義とconfig.phpディレクトリ構造を変更しない
  • メジャーバージョンアップでは2バージョンアップに1度DB定義変更をする(現在は1バージョンアップ毎)

設計


上へ戻る


設計ルール

新規・高度なプログラミング手法は極力利用しない

オブジェクト指向は、

  • PHP4 PHP5間での違いが激しすぎる
  • PHP5でのオブジェクト指向が中途半端
  • コミッター全員が使いこなせない
  • PHP用のエディタでうまく管理出来るものが見つからなかった

という理由で極力利用していません。

現状のプログラムレベルでは

  • 命名規則を徹底すれば何とかなる
  • コミッターががんばってたくさんコードを読む
  • プログラムの習熟度がある程度低くても、とりあえずコードが書ける
  • オブジェクト指向ではある程度の、モデル化が必要だが 変化の激しいSNSのモデル化は、現時点で出来そうもない

上へ戻る

コーディングルール

  • 長くていいから、変数をしっかり書く
  • 全コードをもう一度書き直すモチベーションを維持する
  • スタイルについては 確かPEAR準拠にする

上へ戻る


コア設計

MasterPNE

SlavePNE

ポイント実装

上へ戻る


OpenPNEAPI

OpenPNEに用意するAPI

(OpenPNE内部の情報を外部に提供する)

OpenPNEAPIの方針

OpenPNEでは、APIを新規に作成する事よりも、なるべく既存のAPIの仕様を利用する方針をとります。

  • 理解しやすい
  • 十分にテストされている
  • すでにライブラリを作ってくれている
XMLRPC
RSS
  • OpenPNEの更新情報を認証付きRSS情報として配信


仕様案

ユーザーごとにカスタマイズされたRSSを取得する方法は

  • http://sns.example.com/?m=api&a=rss&t=friend_diary
  • HTTPS通信
  • メソッド GET
  • ベーシック認証でメルアド、パスワードを渡す

結果はRSS形式

OpenPNEが取りに行くためのAPI

RSS
  • 外部BLOG情報はRSSを通じて取得している
AmazonWebService?
  • 現在OpenPNEのレビューはAWSを通じて取得している
    • AWSプロトコルに合わせてくれれば、どんなレビューでもOpenPNEから取得できる
XMLRPC
  • OpenPNEブランクボックス(仮)用
  • レスポンス書式
    • BODY(HTMLタグ)
    • サニタイズを行うかどうかは、サイト管理者が決定する。
    • デフォルトでは行う設定

上へ戻る