メイン

2007年10月02日

投票ページの修正

V02R02 20071001版

少し変数名を変更。
作品を編集すると内部的な順番が入れ替わってしまうのを入れ替わらない様に修正。
カテゴリの全数をカウントしている部分にバグがあったので修正。

元々シンプルなのであまり弄る所無し。
後は私的なコメント入れたりすれば完成。

2007年10月01日

World Custom Championship用の投票ページ

10月ニダ。
色々追い込まれて、今年もあっと言う間に過ぎていくのだ。

仕事も谷間ということで、暇ポイ。急遽内職してWorld Custom Championship用の投票ページを作成しました。

本当はもっと凝った汎用投票スクリプトなるものを作っていたんだけど、複雑になりすぎて、時間が無くなってきて、ボツしかけ。やべーなと思いつつ忘れかけていたところ、Lionel氏から「君とこのコンテスト進んでる?」なるメールが来て、ケツに火が点いた私は、昔の簡易投票スクリプトを引っ張り出したのでした。

4年前に作ったのでソースはスパゲッティになってるし、そもそも動かなくなっていた。動かない理由はPHP4が今のPHP5のような立場だった頃に作ったため、外部由来の変数の扱いが今なら超危険とされる扱いになっていて、PHP側が対策を入れた(非global変数化した)ためです。

とりあえず動くように変数の引渡しを書き換え、木曜日にとりあえず復活させました。金曜日にボツになったスクリプトから変数チェッカーの関数を抜き出し、イメージ処理関数もパチって、メイン処理を今風にswitch~case文に書き換え、決めうちにされていた作表ルーチンも関数化し、HTML部分を分離して、土曜日にソース整理、デバッグして、なんとか形になりました。

元々、 非公式・改造ゾイドグランプリ2003に限定して作られていたので、あまり汎用性はないのですが、World Custom Championship用にも使えるはずです。きっと。

各作品のデータはURLへのリンクとしてしかスクリプト内では保持していないので、新たに作成するか、展示ルームを活用する必要があります。

それよりもコンテストの事が忘れられていないか、まだみんなコンテストに出す気力(興味)を持っているのかが気がかりです。トミーも再販だといいながらすぐ休止だといいだすし、私も細々とコトブキ屋のゾイドを組んでるぐらいです。

本家の日本がこれではw 海外の人に顔向けが出来ません。頑張りましょう。

2007年07月09日

展示ルームの変更 V03RC12

修正を入れましたので報告します。

1.全般的
 致命的エラーの処理関数を変更。
 通常の使用法では呼び出される事はありませんが、不正なセッション(手続きを踏まずにあるフェーズを呼び出す)、ブラウザの戻るを使って、消去済みアイテムを呼び出す、SQLの構文が不正になった等の場合に呼び出されて処理を中断します。
 ある場所に操作ログを吐き出すようにして、ユーザには簡潔なメッセージのみとしています。

2.HTML構文の修正。
 滅多に呼び出されないユーザ編集や削除のあたり。

3.HTMLサニタイジングの強化

15ファイルぐらい書き換えたので、バグってたらご報告ください。

2007年07月05日

展示ルームの変更 V03RC10

展示ルームですが、最近チョコチョコ変更を入れています。

投票システムを展示ルームのソースから流用して作りつつあるのですが、ちょっと前ならOKだったようなやり方に攻撃方法が見つかって駄目になってたり、このチェックだけではすり抜けたりと、なんだかんだとありまして、コピペしてさっさと作るという目論見は崩れております。
また文法チェッカというものを当時は使っておりませんで、間違いまくりだったりでして、それも直しています。

結局のところ、展示ルームからコピペというより、投票システム開発から、展示ルームにバックポートしてるような状態です。

本日の影響箇所

1.全般的
 JavaScriptを組み込が可能な事からXSSの可能性があるためにあるサーバ変数を別のものに変更。
 置換ツール使って全体的に変えましたが、デグレる可能性は殆どありません。

2.ログイン、ログアウト、ユーザ登録、ユーザ登録OK、ユーザ編集、ユーザ削除、ユーザ編集OK、ユーザ削除OK、個人データ参照、シリーズデータ参照、シリーズ検索
 HTML構文の間違いを修正
 formタグの括りが間違ってるとデグレると思いますが、一通りはチェック済み

3.共通関数
 メール、ホムペのチェックの関数をバイナリセーフになるように変更しました。

4.ユーザ登録処理
 htmlサニタイジングの強化

一応、diaruga(開発マシン)上で動作チェックはしてから、decalto(運用マシン)に適用していますが、おかしな挙動に気がついたら報告をお願いしておきます。

2007年06月28日

MediaWikiのアップデート

実験機にミラーしてあるサイトで上手くアップデート出来ましたので、本サーバの方のMediaWikiも最新版の1.10にアップデートしました。

動作に問題は無いと思いますが、異常を見つけた方はコメントお願いします。

アップデートの方法は、MediaWikiのアップデートに書かれている通りにやれば問題は無かったです。事前にスキームの修正は必要かもしれません。

2007年06月24日

無断転載されたようだ

どうも、うちのサイトのゾイドの写真が新参のネットショップ「ゾイド所谷商店」に無断転載されたようです。

基本的に私の撮った写真そのものへの著作権はCC2.1のライセンスで公開しておりまして、ファンサイト等で非商用で使う限り転載フリーですが、ネットショップは営利目的だから駄目です。金は自分で苦労して儲けろ。

問題のサイト

ttp://zoido.ocnk.net/

うちのサイトの写真が大量に使われています。


とか、

これ

ゾイド格納庫とはまったく関係がありませんので、私が転売屋を始めたとか思わないで下さい(笑)

続きを読む "無断転載されたようだ" »

2007年02月14日

MediawikiがPHP5.2.1にすると表示されなくなる

PHP5.2.1で Memory limit is now enabled by default に変更されたわけですが、デフォルトの8MBではMediawikiが表示されなかったようだ。
Apacheのエラーログにメモリリミットに引っかかった旨が出ていて、

memory_limit = 16M ; Maximum amount of memory a script may consume (8MB)

にしたら表示されるようになった。Mediawikiは意外とメモリを要求するものらしいです。展示ルームとか、掲示板類は無事だったようですので。

ブラウザのキャッシュが残っていたので、「問題なし」に見えていたのですが、気をつけないとダメでした。見に来たのに真っ白な画面が表示された人、ごめんなさい。

2006年10月02日

Movable Type3.2→3.3アップグレード

Movable Type3.21から3.33にアップグレードしました。

>アップデートは、非常に簡単で、ダウンロードしてきたアーカイブを解凍して、その中身を全部、サーバに上書きでアップロードするだけ

と某所に書かれていたのでその通りに。
ま、それだけでは無理ですけど。

・./mt-feed.cgi
・./plugins/WidgetManager/widget-manager.cgi

は実行権限の付与が必要です。他にも環境によってはあるかも知れません。
他に書き換わったファイルもチェックしましよう。

Session関係のデータベースの更新に失敗しましたが、プライマリキーの重複とか言われたのでキーを消して続行。上手くいったはずです。キーうんぬんは途中でMySQLのバージョンアップも行なっているのでその関係かもしれません。

後、
mt-config.cgiに

DeleteFilesAtRebuild 1

と一行追加すると、エントリを削除した時にそのエントリの個別エントリーアーカイブが削除されるよになったのと、、カテゴリーを削除した時に、カテゴリーアーカイブも削除されるのが大きな変更かな。

ともあれ、無事アップグレード成功。

2006年08月23日

MediaWikiのバージョンアップ

MediaWikiのバージョンアップを行ないました。系列は1.6のままです。
検索機能が正しく動いていない不具合がありましたので修正しました。

MediaWikiのカスタマイズのひとつにindex.phpを表示させないようにするにはLocalSettings.phpと.htaccessの設定を変更する。というものがあって、そのようにしていたのですが、そのままではスクリプトに渡す検索URIが不正なものになり正しく変数を渡せてませんでした。

LocalSettings.php
$wgScriptPath = "/zoids/zoids_wiki";
$wgArticlePath = "/zoids/zoidsWiki/$1";

はネットのchipsに書かれている通りです。ネット上のものは wiki/ に置くには とされてますが、うちのは階層が一個下です。

問題は .htaccess の方で

RewriteRule ^zoidsWiki/?(.*)$ /zoids/zoids_wiki/index.php?title=$1 [L]

がネット上の例ですが、検索時に
(略)zoids/zoidsWiki/%E7%89%B9%E5%88%A5:Search?search=(略)&fulltext=%E6%A4%9C%E7%B4%A2
というURLが生成されます。これはRewriteRuleによって
(略)zoids/zoids_wiki/index.php?title=%E7%89%B9%E5%88%A5:Search?search=(略)&fulltext=%E6%A4%9C%E7%B4%A2
に書き換えられます。

GETメソッドで変数を渡すには
URI?変数名1=値&変数名2=値
と最初だけ?で、後は&で結ぶ必要がありますが、?が2個でてしまい、正しく値が渡されません。

?を一つだけにするために

Options MultiViews
RewriteRule ^zoidsWiki/?(.*)$ /zoids/zoids_wiki/index.php/$1 [L]

として解決しました。

もう一つ。
自由に登録出来る状態になっていましたが、これはこちらの設定ミスで意図してなかったものでして、登録されていたいくつかのアカンウトは消しました。書き換えが出来る人は限定したいためです。ご理解ください。

2006年06月14日

phpBB-2.0.21

掲示板スクリプトのphpBBの最新版 2.0.21 がリリースされているようです。日本語版もダウンロード可能です。

近日中にバージョンアップの方を行ないます。

MySQLはバージョンを上げましたので、脆弱性には対処できたかと思います。
Apache もバージョンUPしておきました。

2006年06月05日

展示ルームVersion3RC6

掲示板でのバグ報告の修正。

内容
作品編集時に写真が10枚フルにアップロードされていると、作品コメントのみの編集等でエラーが表示される。

修正
ファイルアップロードが出来ない状態になると、ファイル保存No.がフォームから送られて来なくなるが、その場合でもファイル保存No.をチェックしていたため。ファイルアップロード時のみチェックを行なうように修正。

2006年05月12日

展示ルームVersion3RC5

掲示板での依頼の件の反映
内容
作品編集時に些細な変更で作品がageらないように、sageチェックボックスをつけた。

修正
編集書き込み時にチェックボックスの有無で編集時刻の更新の有無を切り替えを追加。
新規投稿時は無条件にageる。

SQL文に間違いがあった(2重に更新していただけで、表立った不具合は無し)を修正。

作品編集で写真ファイルを置き換える事が出来なかったバグの修正(評価式の文法間違い)。
作品編集で編集モードの指定チェックができていなかったバグの修正(同上)。

age,sageチェックの追加で、必ずしもデータベースが書き換えられないので、書き換えチェックを一部外した。

注意書きの追加をしてみた。

写真の置き換えは意外と誰も使ってなかった?それともデグレた?
とりあえず、直したので使ってくださいまし。

2006年04月16日

展示ルームVersion3RC2/3

Version3RC2
新着レスのメール配信先に間違いがあったので修正。

Version3RC3
ガーベジコレクションの実装。
投稿に失敗したゴミデータを一定時間ごとに削除するもの。削除するトリガーは作品投稿。
作品投稿する時にテンポラリ時刻が一時間以上過ぎているもの(一時間以内に投稿が確定されなかったもの)を検索して削除する。

なるべく破棄ボタンを押して意識的に捨てて欲しいですが、ネットワークやPCの関係上、かならずしもトランザクションを保証出来ない場合もあるかと思います。その場合はこの機能がゴミデータを消去しますので、万が一失敗した場合は、一時間後に再チャレンジして下さい。

同じ名前の作品は投稿出来ません。

2006年04月13日

展示ルームVersion3RC1

一通り動いていると思われるのでRC(リリース候補)版としておきます。
引き続き、バグ、機能の要望は受け付けます。

Ver2のデータはバックアップをとって鯖本体からは削除。今後は転送機能のみをサポート。
外部に紹介する場合はVer3のリンクを今後は使用して下さい。(リンクフリーのポリシーに基づき、自サイトから自分の作品に直接リンクをはったりしても構いません)

毎回毎回、画像認証はうっとうしいので登録時のみに。
自動ログインを設定して違うPCから入ると蹴られるようにしてましたが、うっとうしいので停止。
チェックを入れておけば、毎回ログインする必要はありませんのでご活用ください。

2006年04月03日

展示ルームVersion3B06

コメント編集周りのバグ修正
コメント削除時、正しく権限が確認されていなかったのを修正
特権ユーザーが書き込もうとした場合の処理判定が不適切だったため、致命的エラーになる問題を修正
投稿者別コメント一覧で、特権モードで編集する事が出来なかった問題を修正

自動ログインの実装。
あんまりセキュリティ的には良くないが、利便性を考えて実装。
複数のPCに保存しようとすると無効化されるようにはしておいた。

シリーズで編集出来ない程文字数の多いコンセプトが存在していたので、文字数の拡張を行った。

2006年04月01日

展示ルームVersion3B05

V03B04R2006033001
管理者権限でユーザを削除するとログアウトさせられてしまうバグの修正
ユーザ権限でユーザを削除する時のエラー処理の戻り先の記述間違いを修正

V03B05R2006040101
データベースの構造を一部変更
users yobi_02→js_false (BOOL)
sakuhin mail_send (INT) 追加

ユーザー情報を編集すると、毎回登録通知が送られてしまうバグを修正
ユーザーアイコン(アバター)を利用できるようにした。
希望する人には作品にコメントがついたらメール通知するようにした。

コメント時のJavaScriptの利用をユーザが強制的に指定出来るようにした。
JavaScriptが無効の場合は設定しないと書き込めないので、警告文を出すようにした。

かなりメール通知って複雑な判定式(メールアドレスを登録、メール配信を希望、オーナが作品を見た時刻より現時刻が大きく、かつ、オーナーが見た時刻よりメール送信時刻が小さい場合、メールを送信する)なので、失敗とかしたりするかも。
作品投稿者の人にはレスがついたのがすぐわかっていいのでは?と実装したけども、不快な書き込みも管理者より先に見てしまう可能性は否定出来ないので自己責任で選択して下さい。デフォルトは「しない」です。
また、メールアドレスが登録されていないと、当然のごとくしません。

ToDo
レスをつけた作品にさらにレスがついたらレスをつけた人達に通知 というのも実装したいんだけど、どうやれば実現出来るのか、アイデア浮かばず保留。
RSSがもっと普及すればいらんような気もする。

自動ログインの実現。

つけたいと思っている機能はそろそろ終わりで、安定化(デバッグ)が今後の課題。

2006年03月28日

展示ルームVersion3B04のなりかけ

V03B04R2006032702

コメント記入の機能が、一部の環境で正しく動作しない件の対策を入れた
ユーザ情報コメント一覧のリンクにページ内位置の情報を付加
管理者モードでコメントの削除の後のユーザデータ更新に失敗(不要な処理であるにも関わらず実行していた)するバグを修正
コメント内コメントリンク(Linkで表示される)の表示を多少変更
ユーザー登録時への管理者へのメール通知、及びユーザーがメールアドレスを記入した時は、そのメールアドレスへ登録内容をメールで通知する機能の追加。この機能はconfigで選択可能。

不具合が起きたご本人の報告がまだないのと、時間が無くてチェックがちゃんと出来てないのでリリースは見送り。

返信があったらメールを貰う の機能も織り込んだらリリース予定。

2006年03月26日

展示ルームVersion3B03

パワー切れ&本職が忙しかったのであまり変更は無し。

変更
作品一覧を作成する関数のHTML記述を変更
R06032401でサムネイルへのリンクの記述が間違えていたのでR06032501で修正
配色を少し変更
検索時、並べ替えのオプションが渡されない事があるのを修正

ToDo
メール配信システム
NG関係


PHPにおける謎のFatal error

PHPの特定のバージョン、ビルドによるようですが、以下のようなエラーが出てしまうことがあるようです。

Fatal error: [] operator not supported for strings

これは要素を配列の最後に追加するという記述

$array[] = $var;

array_push() 等の関数の説明書にも正しいものとして記述されているのですが、何故かエラーになってしまうというものです。
私の場合は、Debianの

$ php -v
PHP 4.3.10-16 (cli) (built: Aug 26 2005 23:01:56)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

で発生しました。
うちの鯖のkonig(PHP 4.4.2)や、decalto(PHP 5.1.2)では発生しませんでした。4.3.10を使った事は殆ど無いので4.3.10固有のバグで世間的には処理済のことかもしれません。
ぐぐるとそのようなエラー表示になって止まってしまっているサイトも何箇所かあるようでしたが、日本語で対処方法が書いてあるサイトが見つからなかったのでメモ。

次のようなコードでディレクトリの一覧を取得しようとして、

//まずディレクトリ一覧を取得
while (false !== ($file = readdir($handle)))
{ 
	if ($file != "." && $file != "..")
	{ 
		if(is_dir($file))
		{
			$logdir[] = $file;
		}
	}
}
closedir($handle);

エラー
そこで

//まずディレクトリ一覧を取得
settype ( $logdir, 'array'); //変数の型を配列にする
while (false !== ($file = readdir($handle)))
{ 
	if ($file != "." && $file != "..")
	{ 
		if(is_dir($file))
		{
			array_push($logdir, $file);
		}
	}
}
closedir($handle);

で解決。

2006年03月23日

展示ルームVersion3B02

変更

JavaScript未対応ブラウザへの対応。
単純検索(更新順)で、ソート機能、作品名自由検索を追加。
シリーズを編集しても編集時刻が変わらないバグの修正。
レス表示の並び順を正順にした。またページ内リンクを追加した。
管理者モードでのコメント編集でコメントオーナーの編集も可能にした。
RSS配信の追加(RSS Version2)

展示ルームVersion3B01

一通り機能実装が出来て、実用に耐えると思われるので公開βリリースとします。
引き続き正式版に向けて改良、テストを行なっていきますが、利用者の参加が必要と判断いたしましたので切り替えます。
現時点で、新旧のデータは同期させました。また旧のデータは書き込めないようにします。

変更点
トップページ(デフォルト)のレイアウトを変更。縦は見難いとの指摘が合ったため。
未ログイン時は一定期間(現在は2週間)以内の投稿に対する閲覧数のベスト5を表示
ログイン時は前回のログイン時刻以降に更新された作品と、以前ログインした以降にレスがついた自分の作品を表示。後は前と同じで最近の投稿10件にした。

新レスポンスの表示の追加。
副産物w
未ログイン時は、最近投稿されたレスポンス10件を表示
ログイン時は前回のログイン時刻以降についたレス10件を表示

シリーズ、ユーザ検索時のソートオプションの追加。
正逆順で並べ替えをします。並べ替えたままページ区切りも可能です。

ジャンル(種別)の絞り込みを追加。

細かいデザインの修正

ToDo
編集時、エラーで返ると入力した値ではなく、登録されたデータが表示されて入力内容が破壊される問題の修正。
JavaScript未対応時の処理。
管理者へのメール通知機能。
恒久的Cookieによる自動ログイン、及び簡易チェック
規制関連の投稿チェック(投稿期間、無駄な空白、改行嵐等)

2006年03月22日

展示ルームVersion3A06

追加機能
管理者モードの作成
コメント編集モード(編集、削除)

バグ修正
コメント編集時の書き換え権限のチェックが不適切だったのを修正

変更
ログイン時に中止をつけた
デザインの修正を開始

ToDo
非JavaSctipt時の対応(携帯ブラウザで管理できるように)
β版に向けてのバグチェック
ドキュメントの用意。

3/22 01:45時点でVer2とVer3は同期しています。

2006年03月21日

展示ルームVersion3A05

追加機能
管理者モードの作成
作品編集モード(ユーザの置換え、通常の編集、隠しデータの閲覧、削除)
シリーズ編集モード(通常の編集、削除)
ユーザー編集モード(通常の編集、削除)

バグ修正
エラー時の戻り場所の異常をいくつか直した。
気がついたエラーコード(エラー原因の表示)を適切なものにした。
シリーズ編集のシリーズ存在確認方法の間違いを修正。
→シリーズ名を編集すると別シリーズと認識されて新規作成に入ってしまう。
ユーザ編集で、名前を変更しないと重複するとみなされる件の修正。
シリーズ検索で変数が被って実行時間が正しく計測されなかったのを修正。

変更
MySQLサーバのコンパイル方法によっては表示が文字化けしてしまう問題を解消
→konigや、自分でコンパイルしたdeclatoでは問題はない。CentOSバンドル版等はインポートすると化ける
作品投稿の際の確定時に、ファイルの存在と、データベース内容の矛盾を確認するようにした。(気休め、途中で中止されるとチッェクされない)
検索クエリを発行する時に、必要なカラムにだけ絞るようにして高速化
仕様変更で不要になったループを削除
ユーザ一覧作成関数の機能追加

ToDo
コメントデータの管理者モードの作成
細かい表示、デザインの修正

もうすぐβ版としてリリース出来ると思います。

2006年03月19日

展示ルームVersion3A04

成果
作品データ、写真ファイルの移行ツールを作成。
Ver2からVer3へデータをコピーしてみるテストの実行。

変更点
データベースのインデックス構造を変更。検索時間の短縮。
エラー処理関数のコマンドプロンプト対応。

既知の問題
新旧のユーザ登録を統合した後に、さらにインポートをかけると、ユーザID、名前、パスワードのマッチングが取れなくなる。
ユーザIDが同じ作品データなのに、パスワードや名前がVer2のものになる。
インポートした後に、Ver2の方で変更される可能性もあるため、Ver2のデータに置き換わるようにしたが、それが裏目に出た。
ユーザ編集でパスワードの変更をすれば、再び直る。
ユーザの統合は、完全に移行するまで行なわないことにする。

ToDo
管理者ツールの作成
実行時間の短縮
エラー処理が適当なところをユーザフレンドリーに
並べ替えの条件を増やす
バグの確認


2006年03月17日

展示ルームVersion3A02

掲示板にも書きましたが、α版として、展示ルームVer3を公開しました。
展示ルームとして使用するにあたっての機能は実装されています。

あくまでも不安定な開発版ですので、データの消失等に対しては一切の保証を致しません。また、随時アップデートされていくため、時には使用できない場合もあります。ご利用の際はその点留意してください。

現時点で、任意のタイミングでVer2のコメントをVer3へと移行するツールは完成しています。
データ構造(管理方法)が違うため、Ver2のコメントに使われた名前で新しい仮ユーザを作成し、Ver3へインサートされるようになっています。インサート後、手動でVer3とのユーザ情報のマージをするようになっています。
作品へのリンクは、今は作品データがインポートされていないので、見つからないエラーになります。

Ver3のデータがないとマージできず【ユーザ名】で表された名前になってしまいます。必ずしもデータの保証は出来ないのですが、マージに時間がかかる為、登録作業を出来る方はユーザ登録の方を進めてください。

引き続き、シリーズ、ファイル、作品データの移行ツールの作成を進めてまいります。


2006年03月07日

展示ルームVersion3A01

展示ルームの新バージョンもだいぶ形になってきた。
メインページ(作品個別のページ)は以下のような感じ。

Version2では、投稿された写真は一律に640x480にサーバ側で縮小して、投稿されていただけ縦に並べていたが、新バージョンでは、サムネイル指定(主写真)として指定されたものが、まず一枚表示される。
その他の写真はというと、主写真の下にサムネイルの一覧が表示されるので、それをクリックすると主写真が置き換わる仕組みだ。これはJavaScriptを用いているので、非対応のブラウザのために、別途リンクを設けている。
Version2でもサムネイルは全ての写真について作成しているので、互換は保たれると思う。
なお、写真の投稿数は以前はある意味無限であったが、今バージョンは10枚を最大とする。
また、縮小処理前の写真もそのまま保存するようにした。

JavaScriptついでに、サムネイルの上にカーソルを持ってくると、個別の写真に設定されたコメントを表示するようにしてある。これはこのバージョンからの機能。

その下はスクリーンショットが切れているが、従来の様に見た人のコメントが表示される。
見た人コメントは従来はファイル管理であったが、今バージョンは全てデータベースで管理される。よってコメント保持数は事実上制限は無い。また検索等も実装できるだろう。
コメント記入フォームはJavaScriptにて別窓に表示される。

ユーザ認証に関してだが、投稿に関する部分は簡単なユーザ登録&ログイン認証をしてからでないと行なえないようになっている。ログインしてなければ必要に応じて認証が要求される。見る分に関しては特に必要は無い。
ユーザ登録は単に、ユーザ名とパスワードを入れて登録するだけの簡単なもの。レスがついたら投稿者にメールする等の機能を実装するため、&変人避けのため。

残りは検索関係と保守管理(Version2からの引継ぎツール)ページなので、公開まで暫く待ってください。


2006年02月23日

展示ルームVersion3

展示ルームV3のログイン画面らしきもの

どっかで見たことあるような形式だが気にしないw
まだ状態遷移しか動いていない(データベースとの連携もしていない…というか、konigでは動かないw)が、週末までにはユーザ登録、ログイン、ログアウトぐらいは作り込みたいところ。

ユーザ管理周りの動きとしては

1.閲覧だけでは特に何もしない。
2.作品投稿や、コメントポスト等、書き込む状態に遷移したら、ログイン状態をチェック
2-1.ログインしてなければログインを促す(スクショはここ)
  ログインに成功したら移動
2-2.ログイン済みであれば移動
3.ログアウト処理

という動きをさせるつもり。
コメントまで登録制にするのか?は柔軟にするつもり。

注意:decalto.zoids-fan.net:9080は外からは(ルーティングの関係で)見えません。DNSは引けると思いますが。
常時動いてないですし。

2006年02月14日

展示ルームVersion3

唐突に上司に休まれたため仕事が暇になり→妄想 構想開始。
思いついたことをとりあえずメモ

内部的な変更(チャレンジ)
IDE(統合開発環境)を使ってみようではないか。Eclpseとか→リモートデバッガも使いたい。
ドキュメント管理してみよう。
PHP5/PostgreSQL8系での開発(元々依存はしてないはず)、MySQLの方が一般的な雰囲気だが。

→以下、いきなり難しいかも。
classとか使ってみよう。
フレームワーク?テンプレート?食えるのか?

内部仕様の変更
コメントもデータベースに取り込む
データベーステーブルの変更→変換ツールもいるわな
アップロードファイルのディレクトリ分散→数千も保存するとえらいことに
URI等のハードコーディングを減らす→ decalto / konig 双方ですんなり動くこと
クエリ発行の改善。実行速度とか。

対外的な変更
セッション管理の組み込み
いわゆるユーザ登録→メールによる通知機能。投稿者とコメント者のコミニュケーションがイマイチな気がするから。
上記のテンプレとも関係するが、デザインの変更。CSSもかな。
検索機能の提供

ネオブロで投稿が増えるのか、が、モチベーションに影響する悪寒w
昔みたいに時間も取れないしね。

当分はdeclatoで動かして開発します。

2006年02月10日

コメントコーナー改修

キットへのコメントコーナーですが、雑談が多いようなので改修しました。

キット話に花が咲いて、どんどん対象が大きくなっていくのは半ば仕方がない事だと思います。が、元々はそのような使い方を想定して作られたものではないです。ですから、スクリプト自体も簡素な作りになっています。
そのような話は、掲示板で注意書きを書きましたが、やっぱ効果なしw

私が雑談を嫌っている理由は、コメントコーナーは名の通り、キットへのコメントをつけるコーナーとして作ったもので、キットへの評価を見に来た人にとって、雑談は邪魔なノイズだからです(実際にそのような苦情を受け取ったことがあります)。有用な意見が関係の無い書き込みに埋もれ流れてしまうのは、コメントコーナーの価値を下げることだと考えるからです。

雑談の定義を明確にするのは難しいと思いますが、

「投票が反映されないなぜ」
「このサイトは悪い投票が多いのはなぜ」

とかはキットには関係ないものです。このキットは悪い評価が多いですね、ならば判りますが。

管理人の言うことを聞け、と強制するのもひとつの手段ですが、人がついてくるとは限りませんので、これは最後の手段です。で、コメントコーナーの住民?の方用に雑談スレッドを用意しました。

キットから、話が大きくズレそうだと思ったら 雑談(と思う)時はチェック→ にチェックを入れてから書き込んでください。その内容はキットのコメントとしても書き込まれますが、雑談用スレッドにも同じものが書き込まれます。
キットの方には雑談用スレッドへのリンクが追加されます。また雑談用スレッドにはキットへのリンクが張られます。この雑談のリンクが張られている書き込みを見たら、雑談用スレッドに移って会話を続けてください。何をもって雑談とするかの明示、また雑談だろという強制は私はしません。みなさんの自主的な判断に任せます。

削除は連動していません。ユニークIDをつけて識別する等の工夫がいるので、面倒(ry
削除する場合は個別に削除してください。パスワード等は同じです。

最後に上記の質問への答えですが、
前提として、
コメント投稿、キット評価投票のプログラムはかなり簡易に作られています。
データチェックに引っかかった場合は、エラー表示などせずに、単に無視します。
リファラが無い、ログが無いなど致命的エラーの場合は簡易なテキストを出力して停止します。

投票が反映されない
過去に投票したことがあれませんか?
二重投票の厳密なチェックは実際に投票データを書き込むときに行われる(負荷を抑えるため等による)ため、簡易なホスト名チェックに引っかからない限り、投票は出来るように見えます。しかし、実際に書き込む際にチェックされ、投票しようしたデータは無視されます。

このサイトは悪い投票が多い
本当に投票(クリック)する人がいるのか? という軽い気持ちで作成されたため、当初はホスト名による重複投票チェックしかしていませんでした。また、そんな暇人もいないだろうと。
ところが、実際にはアンチなんたらの方々は毎日のごとく「悪い」に投票し続けました。あまりにも偏った結果になっていたので、ログをみたら、ある特定のプロバイダからの投票ばかりだったのです。5-6人はいたと思いますが。
それから、そのようなプロバイダから投票されたデータの重複を削除し、現在の投票チェックに改善されましたが、何に投票したかのログが失われたものが多数あり、完全に修復するに到っていません。なので、わりと「悪い」が多いのです。良いに投票する人は一回しかしませんが、悪いは何回も投票したがる。それが人間の性のようです。
もちろん、サンプルが多くても「悪い」のは、多分、みなさんに受けが悪かったキットだと思います。

2006年01月11日

コメントコーナースクリプト改善

キットに対するコメント投稿コーナーがありますが、コメント数が増えてきたのでページ区切りの改造を入れました。

50コメントごとに区切りが入りますが、コメント数保持の最大値は1000です。またギルドラゴンのコメントは対処が間に合わず古いコメントが消えてしまっていますが、バックアップが見つかれば復旧させます。

正常に動いていると思いますが、バグ等がありましたらお知らせください。

2006年01月10日

レビューの追加

久々にゾイドを作る時間が取れたので、レインボージャークウインドと、デッド・ボーダー(復刻版)を追加しました。
強化パーツも入手済みなのですが、いくつかのゾイドは箱にしまってしまい、取り出す億劫さからまだつけてません。ジャークは飾っていたので取り付けてみました。

新作も残るはランスタッグの限定だけかと思いますので、まだ組んでいないデッドリーコング、ゴジュラス、デススティンガー、デスザウラー、マッドサンダーという大物にチャレンジしたいところ。組んでも飾る場所が無いのが痛い。時間が無いのも社会人の悩みですw

キットコメント欄が盛況というか、想定外以上に書き込みがあるものがあるので、ページ区切りの処理をいれるように近日中に改造を入れます。たまにため口利いているアレゲな人も見受けられますが、止めましょう。特定の人間弾いたり、禁止ワード入れたりする仕組みを入れるのは面倒だしね。

今週末はWHFがあるので、噂のネオブロックス等が発表されるのか楽しみなところです。今のところは何も書かれていませんし、何も無いかもしれません。

2006年01月07日

ブログの変更

ブログに使用していたプログラムをGsBlogからMovableTypeに変更しました。

過去のブログは読み取り専用で保存しておきますが、RSS等のフィールドを登録されている方は変更をお願いします。