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

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

--

TOC

OpenPNE3ノート

【3.0切捨機能フォロー】レビュー機能

3.0では現在のレビュー機能を廃止しようと思います。 日記、小窓などを組み合わせることで、同等以上の機能を実現します。

レビューの新規登録

URL2CMD

レビューは各外部サイトからURL2CMDによって新規登録します。

レビューの閲覧【個別】

日記

プロフィール(メンバー・コミュニティ)

トピック

レビューの閲覧【一覧】

小窓リスト

小窓ランキング

PHPフレームワークの選定

参考情報

Googleトレンド調べ

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

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

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

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

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

評価マトリックス

-ZendFrameworkCakePHPsymfonyethnamapleCodeIgniter??コメント
Googleトレンドの人気3位1位2位--4位-
ドキュメント量-
ユーザー構築情報
WEBでの使用感のレポートの量
------
[DB]PostgreSQL MySQL SQLiteを抽象化------
DBのMasterSlave?読み分け
更新系と参照系を振分ける仕組みが入っているか
OpenPNEでいうところのmainとmain_reader
--
pluginで対応可能
---
部分SSL対応--
pluginで対応可能
---
Sessionストレージ変更(File DB Memcache)----
[SlavePNE]POP3 DB HTTP LDAP対応できるか?
PEAR::Authのcontainer的なものがあるか?
--
xmlrpcでのアプリケーション作成がデフォルトでできる
--
携帯UAの機種振り分け---標準では△
→を使えば実装可能
-pearUsegAgentMobile
携帯認証カバー(個体識別 キャリアUA)--×-標準では△
→を使えば実装可能
-UsegAgentMobile
携帯絵文字--×標準では無
→を使えば実装可能
-MobilePictgram
日本語メール送信出来るか?----
日本語メール受信して処理出来るか?(絵文字含む)--
絵文字は非対応

絵文字は非対応
--
SQLインジェクションカバー
プレースフォルダを使えるか?
----
CSRFカバー
doアクションでワンタイムトークン的なものがつかえるか
--
pluginで対応可能
---
XSSカバー
OpenPNEはsmartyの出力時にチェックしてる
------
テンプレートエンジンに選択自由度があるか?
OpenPNEはsmartyのみ。
-smarty使えないsmartyは、
pluginを使えば使える
SmartySmarty
Flexy
Simple
--
[ktai URL]/.ZsrMKtQAyh9GHdXP./member/1

携帯の認証について
------
国際化対応レベル------
パフォーマンス(FWでの劣化)------
パフォーマンス(FW機能による高速化)------
[DB]members id member_id

?手嶋確認
------
[URL]/member/1 /community/1

mod_rewrite使えるってこと?
-----
サポートの継続

開発体制

昨年度開発がほぼ停止のため
--
OpenID Consumer対応ライブラリ有り-pluginで対応可能----
OpenID Provider対応ライブラリ有り-----
OpenSocial Container-------
小窓OKOKOKOKOKOK-
PHP小窓

smartyのplugin的なことができるか?
--
デフォルトでそんな機能があるそうです

filterを自作する必要があります
--
ページキャッシュ

smartyのキャッシュ的なものがあるか?
------
ページコンポーネントごとキャッシュ

smartyのキャッシュ的なものがあるか?
Templateインクルードとかで。
------
クエリキャッシュ

adodbとかそのレイヤーのこと。
------
OpenPNEサンプルコーディングの結果---
テストフレームワークの有無
rubyみたいな
--デフォルトで○---
サポートするPHPバージョン54 55.14 54 54 5-
一般のレンタルサーバで使えるか?
php,mod_rewriteなど
----
リクエストパラメーターの変換が容易か?
「全角→半角」変換するようなコード
--filterでできる---
Validationの実装が容易-----
action, filter実行時のログ出力機能が標準で備わっている----
actionの自動生成機能があるか---
viewの自動生成機能があるか---
O/R マッパー
開発者が推奨しない
--
DI機能--×
開発中
--
他プロジェクトとの連携---Seasar
Usagi
--
似ているフレームワークJSFRuby On RailRuby On RailStrutsStruts--
フレームワークでの文字モジコード設定--×---
Ajaxを使うモジュールを作成する機能が標準で入っているか
Ajax用Javascriptを書かなくていい、など
-
多少は書く必要があります
--
設定ファイルの記述キジュツ方式ホウシキ-ini, phpyml,ini-ini--
国内大規模サイトでの開発・運用実績--
link

yahooブックマーク

http://gree.jp/

link
link
--
国内開発用メーリングリスト
国内ML多数

国内ML多数

2007年はほぼ休止していた
--

その他条件

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

考慮しなくても良い要件

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

参考情報

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/

CakePHP

概要

Ruby on Railsを強く意識

  • 活発でフレンドリーなコミュニティ
  • 柔軟なライセンス
  • PHP4 と PHP5 での互換性
  • データベースと連携し、クエリを簡略化するための CRUD が統合済み
  • アプリケーションの Scaffolding(足場組み)
  • モデル ビュー コントローラ (MVC) アーキテクチャ
  • 見栄えのよいカスタム URL を実現するリクエストディスパッチャー
  • バリデーションが組み込まれている
  • 高速で柔軟なテンプレート機能 (PHP 構文。各種ヘルパーが付属)
  • AJAX, Javascript, HTML フォームなどのための各種ビューヘルパー
  • セキュリティ、セッション、リクエストなどを処理するコンポーネント
  • 柔軟なアクセスコントロールリスト
  • データのサニタイズ
  • 柔軟なビューのキャッシュ
  • Webサイトのサブディレクトリでも動作。Apache はまったくいじらなくてよいか、わずかな設定のみ。

ZendFramework

足場機能(scaffold)

  • いまのところ見あたらない

ORマッピング

あまり激しくはやらないみたいだ

http://framework.zend.com/manual/ja/zend.db.select.html

$select = $db->select()
    ->from( ...テーブルとカラムを指定します... )
    ->where( ...検索条件を指定します... )
    ->order( ...ソート条件を指定します... );

フィールド名に対して規約での縛りがあまり無い。その代わりリレーションを自動で決定する機構も無い?

この方法は、動的にSELECTを変えたいときに使うそうだ

SQL書かないようにするには下記の方法か?

http://framework.zend.com/manual/ja/zend.db.table.html

symfony

プロジェクト支援

  • テーブル作成、プロジェクトビルド、など支援プログラムがある

MVCモデル

DB抽象化概要

  • 【symfony】ちょっと設定記述が多いかな、と思った。特に複数テーブルの処理では

DB構築

  • 【symfony】YAML形式で記述して、自動テーブル構築、抽象化してそう

リレーションの処理

  • 【symfony】$entory->getFeed()->getName()の用にリレーションをたどれる 1:多 ->getFeeds() 多:1 ->getFeed() の用に処理する

キャッシング

CodeIgniter?

  • DB抽象化されていて、PostgreSQL MySQL SQLiteがシームレスに利用できる?
    • yes
  • 携帯は挙動が特殊なので、フレームワークでカバーできるか?
    • 拡張すれば可能
  • Smartyテンプレートを使用できるか?(もしくは置き換えるに値する素敵なエンジンか?
    • 拡張すれば可能(Wikiに非公式ライブラリ有)
  • パフォーマンスが劣化しないか?
    • たぶん yes。Web上に公開されているベンチマークでは最も高速
  • ドキュメントが充実しているか?
    • 完全なドキュメント有
  • 今後サポートが継続されそうか?
    • yes(企業が開発している)
  • 国際化対応の機構が組み込まれているか?
    • yes(但し、非常に単純。WikiにGettext対応の非公式ライブラリ有)
  • OpenPNE2系からの移行に大きな負荷がかからないか?
    • 書き直しなのでどんなフレームワークでもある程度負荷はかかると思われます
  • トレンドなのでRailsをある程度意識していて欲しい
    • Active Record など意識されてます
  • PHP5限定のフレームワークでOK
    • 4/5とも OK

開発スケジュール

  • 【現在】仕様策定、アイデア
  • 【2008/02/29】仕様決定
  • 【未定】開発XX
  • 【未定】ベータ
  • 【未定】リリース

OpenPNE3で実現する内容

外部フレームワークを導入

外部フレームワークを導入して、プログラミング全体の構造を規定する。

http://trac.openpne.jp/wiki/pne-framework

ここで検討中。

プロジェクトチケット milestone=OpenPNE3.0

No results

OpenPNE3的なチケット keywords=openpne3

OpenPNE3.0で正式決定したわけでは無い物の、OpenPNEなチケットを集めます。

自由にkeywords=openpne3と編集してください。

#151
SNS同士のつながりを作る
#1131
バナー、インフォメーション欄、テンプレート挿入、HTML挿入の仕様を一本化する

どのInterSNS機能の実現するか?

最低1つ以上のInterSNS機能を実現する。

テンプレート構造の見直し

フルCSS化をめざしテンプレート構造を再構築する。

どこまで構造を洗練させるか?

  • 関数名を何とかしたい
    • フレームワーク導入に伴って、 xx4yy => getXXXに変えるかな?
  • 命名規則も決めたい

後方互換性の維持レベルをどうするか?

  • OpenPNEAPIで提供されているぐらいはほしい
  • OP関数は供給したい、関数名は変わっても同等以上の機能は維持したい

PNEBIZを一般モジュールレベルに切り離す

他のモジュールを取り込みやすくするために、PNEBIZ単独で特別扱いすることはやめる。

データ構造

  • メンバー
    • Memberクラス
    • membersテーブル
  • フレンドリンク(メンバーリンク)
    • MemberLinkクラス
    • memberlinksテーブル
  • コミュニティ
    • Communityクラス
    • communitiesテーブル
  • コミュニティトピック
    • CommunityTopicクラス
    • community_topics
  • message
  • event
  • event_topic
  • diary
  • diary_comment
  • permission

メモ

フレームワークメモ

手嶋は WebObjectsが好きだった http://www.apple.com/jp/webobjects/ いずれRuby版OpenPNEも作りたいし、Railsを意識した作りがいいな。

ActiveRecord説明

http://www.railsenvy.com/2007/8/8/activerecord-tutorial

11/3勉強会メモ

OpenPNE3
■後ろ向き(後方互換性を無視できる)
・フレームワーク
・テンプレートを変える(FULLCSS化)

■前向き(InterSNS)
・人2SNS(複数のSNS)
    ・MySNS(MyPNE)

・SNS2SNS2アプリ(SNSメンバー限定Twitterみたいな)
    認証情報を外部アプリに払い出す(MasterPNE、OpenID、OpenSocial)
    貸し会議室、スターバックス(ネーミングライツを取ろう)

・SNS2SNS
    ・OpenPNE2OpenPNE
    ・mixi2PNE
    ・GREE2PNE
    ・モバゲー2PNE

※具体的に
北海道SNSと千葉SNSを交流

1.各SNSのメンバーのみが参加出来る、特設会場(Twitter)を作成して、そこで限定的に交流できる。(プロジェクト的、制限)

2.どんなSNSに入っていてもいいから、サッカーコミュニティに入っている人たち、横串でコミュニケーションできる。(出会い、発見、つながりを広げる)

・イベントは公開してもいいよね

3.6次の隔たり、LinkedInのOpenPNE版
※PNEMonsterで出来ないか?
異業種交流会
カルチャークラブ
飲み会
バー、クラブ
■h_homeから始まらない、SNS
----------------------------------------------
4.PNEMonster
・浮気調査(mixiで、離婚の切り札、作れます)
・SNSの盛り上げに使う(よねすけ、酢鶏)

PNEMonsterはOpenPNE3とは切り離して考える

・Appli2SNS(MasterPNE)

スタンドアローンSNSが、InterSNSに

1/15 国際化・フレームワーク勉強会メモ

https://trac.openpne.jp/svn/OpenPNE_specification/trunk/3.0/20080115_【3.0】フレームワーク・国際化.mm

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

WikiInclude(DIRECTORYNAVI)?