ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

phpMixiBBSコミュの全体仕様

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コメント(30)

ディレクトリレイアウトとかどうしますかね?
うちでやってるのは

+-+-htdocs/  クライアントに見せる方
 +-lib/     ライブラリ群

というかんじで、htdocsの下にコンフィグファイルを置いて
ライブラリは別の場所に移せるようにしています。
あとデータディレクトリも分けた方が良いかな
ディレクトリレイアウトとか後回しにした方がいいかもしれません。
先に名称と外部仕様を決めてからにしませんか?
名称を決めないとsourceforgeに登録できませんしね。

>>仕様
そんな感じで大丈夫だと思います。
作りまーす。
項目を10個決めてくださいまし。
名前かー・・・名前が一番難しい。
考えます。

名前のアイデアだしは、別のトピでやったほうがいいんじゃないかな?


■仕様の希望いくつか
・プラグインの仕組み(ある程度最初から考える必要あり)
・URLから呼ばれるファイルが1つだけだと嬉しい。
 実際にはindex.phpにして、ディレクトリ指定させる。

■仕様の抜け
・過去ログの概念を無くすかどうか検討。
仕様の希望。

■アクセシビリティ関係。
・デフォルトで、見やすい画面。
 特に、コントラスト高めにする。
・画像のALTテキスト
・ボタンやリンクにアクセスキーをつける。
・文字の大きさを変えられるように。

最後のは、、
CSSで文字サイズを絶対値指定すると、
ブラウザのメニューで変えられない(変えづらい)ので、

・↓ここみたいな文字サイズ変更ボタンをつけるか、
 http://www.sunwave.co.jp/
・文字サイズの絶対値指定禁止!か、
 (いまいちバグっぽくてダメですよねえ…)

ってことです。
まあ、あくまでも、最終リリースまでの希望ってことで。
スレッド主がスレッドをロックできるとうれしいです。
この機能がついてるBBSって少ないので出来れば重宝されると思います。
ふうん。考えたこと無かったです。
スレッドをロックって、つまり、
書き込めないようにする権限が、
そのスレッドを作った人にあるって事ですか?
HTMLタグの許可・禁止を管理画面から選択できると良いかもしれませんね。

>>かね様
恐らくそうですね、自分が前に一度見たスレッドロック機能がついている掲示板にはスレッドを立てた人のみに権限があります。
例えば以下の掲示板はスレッドロック機能がついてます。

http://www.kent-web.com/bbs/patio/patio.cgi
デフォルトのデータ形式は

- テキスト(CSV タブ区切り?)
- バイナリ(GDBMなど)

で固めてしまって、
項目をどうするかってな感じになりそうな気がします。

プラグインが必要なアプリって作ったことがないんですが、
簡単に実装できるものなのでしょうか?酷くパフォーマンスが
落ちたり、プログラムが肥大化しなくて、読みやすい
APIであればOKだと思います。
プラグインの仕組み、考えましょう。
どなたか名案ありますか?
ぼくもちょっと考えてみます。

設定画面からプラグインを、
ネット経由でインストールできるとかっこいーなー(妄想)。
プラグインのカタログが表示されてさ。


PHPって、わりと、
可変変数や可変関数を使っても、
パフォーマンスはあまり落ちない《印象》があります。
(もとから速くないって話もあるが)
ネットからインストールなんてかっこよすぎですねぇ…うわー実装してみたい〜
> 9: かね さん
アクセシビリティにはstrictに行きたいですね。

> プラグインの仕組み、考えましょう。

プラグインと言っても漠然としてますよね。考えられるのは入出力フィルタや認証絡みでしょうか?

メインルーチンの方に、プラグイン登録関数(引数は挙動(フィルタ/認証/テンプレート操作など)、callback、優先順位って感じでしょうか)(名前空間が汚れそうなのでメソッドにしてもいいですね)を用意しておいて、プラグインフォルダの中身を片っ端からinclude(メソッドにする場合はクラス内でinclude)。

プラグインは関数/メソッドを定義して、そのcallbackをプラグイン登録関数で登録。

メインルーチンは、入出力や認証などの際にプラグインから登録関数で登録された該当callbackを順次呼び出してプラグインの処理を噛ます感じでいいんじゃないでしょうか?

ネット経由のインストールは技術的には非常にチャレンジングですが、容易にセキュリティホールに繋がりますし、その場合の被害はハンパなく大きいものになる(何しろサーバに任意のコードを送りつけたりできちゃう)ので慎重に行きたいです。
プラグイン形式だと、
MYSQLやsmartyを使う使わないとか、
基本的なところも決めたりできるってことですか?
最初の話ではMYSQLは使わないという前提だったんですけど、
インストールとかで細かくカスタマイズできたら
うれしいです…
>satore さん
そこまで激しいプラグインを準備するとなるとカナリ骨になります。
CSVの形式を変えたりレイアウトを簡単に変更できたり…任意の項目が追加できる…それくらいにしておいた方がいいと思います。
MySQLなどのRDB関連は今回使わないという方向ですし。
いずれSQLバージョンを作るのもいいと思います。
とりあえず、シンプルで骨格となる最小限のものを作成し
そのあとカスタマイズ、プラグ印の作成など考えるべきではないでしょうか?
まずはSQLをつかわない、最小限の機能を持ったシンプルな掲示板の作成から考えましょう。
ネット経由のインストール、auのBREWアプリみたいに、信頼されたサーバからだけインストールできるようにするんでしょうね。

DNSのアタックまで心配し始めると、公開鍵で署名とかややこしいことになってきますが・・・

ま、このへんは妄想ということで、具体論はしばらく先ですね。
>>かね様
スレッドのロックについてはDilemma様が書き込みしてくださいました。
大体cookieでブラウザの判別をします。
cookie&パスワードで実装できそうです。

>設定画面からプラグインを、
>ネット経由でインストールできるとかっこいーなー(妄想)。
>プラグインのカタログが表示されてさ。
この方式を装備しているPHPスクリプトは存在しています。
LimboCMSが装備していますね
Limboの仕組みなら書けますけど。。。
1つ案なんですが…。

定時(1時間おき等)にバックグラウンドでスレッド一覧や並び替えしたものをHTML化して出力しておけば、リアルタイムに表示してある物以外、データーのあるファイルにアクセスが無くなるので、負荷も少なくなるかな…と思いました。
どうでしょ
静的なHTMLを用意して、通常表示はそれを使用するというのは、負荷の面からかなり有効そうですね。

でも、定時っていうのは難しそうです。cronの使える環境ばかりではないですし…。

むしろ、書き込みがある度に一覧は静的HTMLを生成してしまうとかはどうでしょうか?
静的HTMLの生成は、ユーザにレスポンスを返した後に行えば、体感速度的に問題になる事はないと思います。

ただ、これはこれで、複数人が連続で書き込んだらどうするのかとか、問題はありますけれども。
普段自分が掲示板を作るときは書き込み実行時に静的HTMLにスレッド並び替えした物を書き込むと言う方式をとっています。
プラグインの一つとして、画像掲示板も実装できるようにしたいなぁ
定時が難しいようでしたら、メインプログラムの中に

$nowdate = mktime (0, 0, 0, date("m"), date("d"), date("y"));
if( ( $nowdata%3600 > 10)//間引きすぎな罠
{
ファイルカキコミ();
}

とか。微妙に間引いてあげると負荷が減るかも^^;
上のソースは若干冗談じみておりますが、特定時間のアクセスでフラグを立ててあげて、書き込めばいいのかな?と思います。

#ファイルのタイムスタンプってとれるのかしら?もし取れればそれをフラグにすればいいかもしれませんね
画像掲示板は想定しておきたいのですが、皆様のご意見はどうなんでしょう…
アップローダのようにも使えたら便利ですよね。
今回の場合、1スレッドに1つ以上の書き込みデータファイルを作る方向ですよね?

その場合、例えば何百スレッドと出来てしまうとスレッド一覧作成の負荷も無視できないほどになります。ので、一覧は静的なHTMLにした方がいいかも知れません。

ただその場合、タイミングはどうあれファイルをロックする必要が出てきますね(壊れてもまた再生成できるので被害は少ないですが)。

> 27: さまよえるプログラマ さん
stat()でタイムスタンプは取得できますよ。

画像に関しては、例えば [画像dir]/[スレッドID]/[書き込みID]_[連番].jpgのようにファイル名や階層を決めてしまえば比較的簡単に実装できると思います。

その場合、スレッドIDと書き込みIDから画像ファイル名が絞り込めるので、若干効率が悪くても良いならプラグインにも出来そうです。
ファイルロックは何をするにしても必要ですね。
fopenなどを直接使わず、ラッピングした関数を準備してソコにロックさせる機能なども入れましょうか〜

>かなださん
stat()ですか〜知らない関数でした。ありがとうございます。
スレッドはディレクトリでまとめて管理するという考え方で私もいいと思います。
ですが、画像のUPはプラグインではなく、基本設計かなぁ…と思いました。
画像というか、ファイルのアップ機能だけは、基本設計の中に取り込んでおいて、それを利用したプラグインとして、画像貼り付けプラグインやら、アップローダプラグインやらを実装してあげるのがスマートかなと思います。
ふむ。それいいですね。>Otchyさん
アップロードしたいのは、
画像に限らない可能性がありますからね。
表示するHTMLの仕様は何に致します?
IRCの話題ではXHTML1.1で…と言う事です。

個人的にはこだわらない派なんですが…。皆様はどのようにお考えですか?
>XHTML1.1
少々骨が折れそうですが問題無いと思います。
(私はXHTML1.0で作ってそれをXHTML1.1に書き換えようかと)

ただし、利用する人が簡単にデザインを変更出来るという点に重きを置くのであればXHTML1.0の方が良いのではないかとも思います。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

phpMixiBBS 更新情報

phpMixiBBSのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング