[[PageOutline]]
= OpenPNE2.10設計Wiki =
OpenPNE開発者向けのTRACです。
現在のOpenPNEの開発状況をお知らせします。
http://openpne.jp/img.php?filename=c_459_1181639484.gif&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=459 2.10仕様議論]コミュニティの内容を反映しています。
OpenPNE2.10に組み込もうと思っている仕様をまとめています。
※いまのところ手嶋が把握しているところを書いているので、足りなければ加筆修正を是非お願いします。
{{{
#!html
ここにあがっている機能案や画面などは、仕様策定段階のものです。リリース時には変更される可能性があります。
}}}
== コア部分 ==
OpenPNE本体の挙動や設計面についての仕様です。
=== APIの整備・新設 ===
* カスタマイズ開発や、拡張モジュールの開発を支援するため、長期間サポートする関数群を新設する
* OpenPNEバージョンのX.Y.Zにたいして同一のX(OpenPNE2.Y.Zだったら2)の間仕様を保持する。仕様が減らない、増えることはある。
* 外部API(XMLRPC REST)と内部モジュール(PHP関数呼び出し)共通して本API関数群を利用できる
* API関数群は識別のため、共通のプレフィックスがつく(op_xxxx)
関数案
* op_c_member4c_member_id(c_member_id)【メンバーオブジェクト取得】
* op_c_member4cookie() or op_c_member4cookie()【クッキーセッションからメンバーオブジェクトを取得】
=== 【page_include()】Smarty関数の追加 ===
現状でテンプレートからドッチやBIZ等の外部モジュールを呼び出すには、page.php系であらかじめ変数をアサイン(OpenPNE本体を低レベルで変更)しなければならない。
これだと作りづらいので、テンプレートから拡張モジュールを呼び出すSmarty関数を新設する。
page_include("module","action","params");
というような感じでtpl内に埋め込んで使えるといい。
http://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/language.function.include.html
この関数を作り直す感じ。
* 懸案
* パフォーマンス
* $u やc_member等必ず共通して呼び出す部分を重複するのは非効率
=== 要望吸い上げ方法の検討 ===
OpenPNE.jpをはじめとしてユーザーの要望を元に仕様策定をする場合、mixiに搭載されているような、要望吸い上げの機構がほしい。
http://d2.mixi.jp/search_idea.pl
=== PostgreSQLへの対応 ===
http://openpne.jp/img.php?filename=c_463_1182310573.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=463 【PostgreSQL対応】コミュニティ管轄]
OpenPNEをPostgreSQLでも対応したいという要望から、【PostgreSQL対応】コミュニティ主体で検証作業を進めています。
* 課題
* 長期的にサポートできる体制をとれるか?
* とにかくMySQLでいいからスピードを速くしてくれという要望と折り合いをつける
* DSNの設定だけでスイッチできるような仕様にできるか?
=== MasterSlavePNE関連 ===
http://openpne.jp/img.php?filename=c_402_1176812985.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=402 【MasterPNE SlavePNE プロジェクト】]
mod_auth_mysqlをもっと活用できるように、メールアドレスのMD5値をDBに保持してほしい。
c_member_secureに md5_idの絡むがあるといいなぁ。
Blowfishだと都合が悪い、AES暗号方式に変えてくれてもいい。
http://modauthmysql.sourceforge.net/CONFIGURE
参照。
== 管理画面周りの仕様 ==
http://openpne.jp/img.php?filename=c_392_1180712377.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=392 【管理画面】コミュニティ]
OpenPNE2.10の管理画面での重点項目は
* 管理者ログイントップページ「ダッシュボード」の機能充実
* 業者や迷惑ユーザーの監視機能を強化
* 管理画面メニュー構成の見直し
* 意味的に同一の機能を統合する
* 不要機能を削除
こんな形で進めていきます。
=== ダッシュボード ===
ダッシュボード画像案
[[Image(WikiStart:20070718_2.png,600)]]
=== タグ挿入系仕様を一本化 ===
現在機能としては似通った機能が別々の項目として管理されているので、まとめたい。
その際に発生する不都合のカバーが必要になる
バナーをローテーションする機能が無くなる。【バナー】
HTMLタグだけが認められている項目【HTML挿入】
martyの変数を仕込める部分【テンプレート】
== サーバ運用周りの仕様 ==
http://openpne.jp/img.php?filename=c_141_1169207181.jpg&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=141 OpenPNEサーバ運用]
とにかくチューニング!
* 同一リクエスト=レスポンス内のSQLキャッシュ
* 一定時間のSQLキャッシュ
* PCスタイルシートの分離配送
* ktaiキャッシュを効かせる
== コミュニティ周りの仕様 ==
コミュニティ関連では
* トピックを検索できるようにする
* イベントを外部にも公開できるようにする
* イベントをコミュニティ概念から切り離す
等を検討しています。
=== PCでもトピックをML的に使う ===
現在携帯ではトピック書き込みをML的に利用できる。
SNSにログインできないために、仕様策定議論に参加できない人も結構いると思う。
PCでもML的に使えれば、いい。
* トピックをPCにもメール配信する(すでにできている)
* mail.phpの携帯メール制限をはずす
* mail.php FromアドレスのチェックをPC用にも行う
* Subjectを変更[トピック名:連番]でいいかと
* Re:はとりあえず無くてもOK
* 添付メール、マルチパートも当面無視
* メーラーでスレッド表示するために、メッセージID、Reference InReplyToの処理は行いたい
== 携帯電話周りの仕様 ==
http://openpne.jp/img.php?filename=c_283_1174406113.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=283 【PNEKtaiプロジェクト】]
携帯電話関連では
* 絵文字対応
* レイアウトの見直し
* PCと同等の機能を実現する
* 携帯単体で完結するSNSへの配慮
* 書き込み内URLにAタグリンクを張る
等が検討されています。
== PNEBIZ関連機能 ==
http://openpne.jp/img.php?filename=c_134_1174479948.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=134 【PNEBIZプロジェクト】コミュニティ]
=== ドメイン制限をかけたい ===
http://openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=2326
http://trac.openpne.jp/browser/OpenPNE/branches/work/motoi/doc/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%88%B6%E9%99%90%E6%A9%9F%E8%83%BD%E3%81%AE%E6%8B%A1%E5%BC%B5%E6%A1%88.ppt?rev=3406&format=raw
=== IP制限をかけたい ===
法人組織では、固定IPにできることが多い、OpenPNEのレベルでIP制限をかけることができれば、セキュリティが向上していい。
== 小窓関連 ==
http://openpne.jp/img.php?filename=c_386_1175181252.png&w=180&h=180&m=pc&dummy=x.png
[http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=386 小窓プロジェクト]
小窓プロジェクトでは、コンスタントな小窓の追加と、小窓の活用度を向上させるための取り組みについて議論しています。
検討中の小窓
* ニコニコ動画小窓
* YoutubeJapan小窓
* ぐるナビ小窓
小窓を核にした新機軸
* 小窓ランキング
* SNS内に貼られた小窓のビュー数やコメント数などを元に人気ランキングを作る
* 小窓スライドショー
* SNS内に貼られた小窓をランダムでスライド表示する仕組み
* サイドバー小窓
* 小窓をサイドバー領域に手軽にはれるようにする
== 現在のOpenPNE開発進捗状況 ==
各開発バージョンごとの進捗状況をまとめます。
=== OpenPNE2.9.1 ===
milestone=OpenPNE2.9.1
[[TicketQuery(milestone=OpenPNE2.9.1)]]
=== OpenPNE2.9.2 ===
milestone=OpenPNE2.9.2
[[TicketQuery(milestone=OpenPNE2.9.2)]]
=== OpenPNE2.10開発タスク ===
各バージョンで追加される機能をまとめています。
※2.9系の開発はマイルストン指定がまだ不十分なので分類が行けてません。
milestone=OpenPNE2.10開発タスク となっている、Ticketのサマリーです。
ここで議論されている仕様がOpenPNE2.10に入る可能性があります。
順次、追加削除される可能性があるので、確定事項ではありません。
[[TicketQuery(milestone=OpenPNE2.10開発タスク)]]
== 開発時の決まり ==
=== コミット時 ===
* php文法エラーが無いこと(なるべく)
* HTML文法エラーが無いこと(なるべく)
* アカウント情報(パスワード等)が含まれていないこと
=== リリース手順 ===
* TAGを打つ
* zip tar.gz tar.bz2ファイルを作りsf.netにUPする
* ChangeLogを編集
{{{
[[TicketQuery(milestone=OpenPNE2.10開発タスク)]]
このようなTracクエリを使って楽をしてみてはどうか?
}}}
* SourceForge.netにリリース文を書く
* www.openpne.jp TOPへの掲載
{{{
安定版OpenPNE2.6.8をリリースしました。
詳細については安定版改版履歴をご覧ください。
ダウンロード
}}}
* www.openpne.jp/pne-downloadsへの掲載
== その他 ==
このWikiを編集するには、OpenPNE.jpのプロフィール画面でTRACIDの設定が必要です。
パスワードはOpenPNE.jpと同じものが使えます。