前のトピックを表示 :: 次のトピックを表示
著者
メッセージ
dynamis 登録日: 2003年5月 22日 記事: 442
件名: 和訳文書一覧更新に関するお願い 投稿時間: 2005年6月18日(土) 19:17
いつも翻訳部門フォーラムの管理ご苦労様です。
おかげで放置、もとい、安心して任せきっています。(^^;
さて、実は先日からカスタム phpBB を 2.0.15 対応版に Version UP させるのと併せて、長らく放置していてしまっていた和訳ドキュメント一覧 のコードをざっくりと整理しなおしたものを稼働させています。
# 暫く様子を見ていても苦情が来ていませんが、何かあればご指摘ください。
ドキュメント一覧については複雑な検索条件で再現するバグ一点あったのでそれを修正した他、私以外にもモデレータ権限を持つ方がドキュメント一覧の更新処理を実行して頂けるようにしました 。
以下、手順と注意事項などを書きますので、翻訳部門スタッフの皆さん は必要に応じて一覧を更新してください。よろしくお願いします。
# 完全自動化には少し手間がかかるのでまだ当分放置させてください(後述)。
# 今回は version up のオマケ程度でできることとして、私が使っていた既存の処理コードほぼそのままに外観の統一とユーザ権限チェックを追加しただけ。
モデレータ権限を持つアカウント、つまり翻訳部門スタッフの皆さん でログイン後しか更新処理は実行できません。スタッフの方でログイン後にも
アクセス拒否エラー wrote: Only Administrator or Moderator can use this so far.
が表示されてしまう場合はご連絡ください。
手順
以下の2つの URL を順に読み込むことで和訳文書一覧データベースが更新されます。
http://moz.skillup.jp/jtp/doclist.php?mode=parse
http://moz.skillup.jp/jtp/doclist.php?mode=update
それだけです。以上。;-)
注意
各URLを読み込むだけで予告や確認無しで処理が実行されます 。1段階目の処理は長く(12秒ほど)待たされます が通信エラーではないので大人しく待ってください。
一旦実行すると途中で中止や復帰することはできません。トランザクション処理など一切していませんので、順番に処理しないと問題が起きる可能性があります。必ず parse の結果ページが表示されてから update を実行してください 。
エラーメッセージがでてしまった場合はそれをコピペしてご報告お願いします。
1段階目のparse処理でエラー場起きた場合は2段階目のupdate処理は実行しないでください。
# phpbb移行前のデータと合わせてこれまで全3282件のうち2件でエラーが発生した記憶があります。
# 同じエラーは再発しないよう修正済みですが、まだ完全じゃないでしょう。
注意事項をいっぱい書きましたが、万一データが破損してしまっても単にデータベースを破棄してもう一度生成すればよいだけですので、心配は無用です。投稿のテキストを元に生成しているのですから、投稿テキストがある限りすぐに再生成できます。;-)
# phpbb 導入以前の一覧情報も別途バックアップしています。
詳細
phpbbにログイン後これらのURLを順に読み込むと、それぞれ
parse 結果 wrote: Trans Report Parsed Successfully. (newreport/allreport = 205/2637)
update 結果 wrote: Document List Updated Successfully. (205 reports are processed)
のように、新しく認識した進行状況報告(trans bbcode)の数が表示されます。
連続して処理したりして前回の更新以降新しい報告がない場合はそれぞれ
parse 結果 wrote: Trans Report Parsed Successfully. (newreport/allreport = 0/2637)
update 結果 wrote: No new report found. All reports are already processed.
などと表示されます(新しい投稿がない場合は2段階目の処理自体が不要)。
補足 (蛇足)
二段階にしている理由は解析時にエラーが発生した場合に一覧生成用(検索対象)データベースにまでは影響しないようにするためです。trans bbcodeと一対一になる進行状況報告データベースと和訳文書一覧データベースの2つに分けて記録されています。
一段階目のparse処理ではこのフォーラムの全投稿テキストからすべてのtrans bbcodeを検出および解析し、新しいものや書き換えられたものがあればそれを進行状況報告データベースに追加します。
2段階目のupdate処理では進行状況報告データベースに追加された情報を元に一覧生成用の和訳文書一覧データベースを更新しています。
parse 処理ですべての投稿を毎回解析しているのが時間がかかる元凶ですが、phpbbの仕様として投稿を(返信ではなく)書き換えた場合更新されたことが常には記録されないため、trans bbcodeが修正された場合にも新しいものを反映できるよう毎回チェックしています。
# そうしなければparse後に変更された報告の修正がデータベースに反映されない。
# 現在のところ記録されている投稿日が変わるか、内容が変わると新しい進行状況報告と見なして進行状況報告データベースに追加記録します。
本当は投稿更新時は常にphpbb自体のデータベースに記録される日付を更新するかそれ用のフィールドを追加すれば、更新の検出にbbcodeの解析とデータベースとの比較という重い処理を行わずとも、殆どが日付の比較だけで済むようになり圧倒的に早くなります。
それは分かっているのですが、それならいっそ毎日自動更新ができるようエラーハンドリングなども含めてもう少しマシな処理にしたいと思ってしまうのです。しかしそれをするほどの気力はなく、手動で処理するのならエラー処理が甘かったり10秒そこらサーバ負荷100%になったりするのも大した問題にならないだろうと放置しています…
他にも必要な追加機能と併せてのんびりできるようになったら何とかしたいと思いますが…(^^;
この話題が埋もれてしまわないように常駐トピックにしました。どうぞよろしくお願いします。by 山口
dynamis 登録日: 2003年5月 22日 記事: 442
dynamis 登録日: 2003年5月 22日 記事: 442
件名: Re: 和訳文書一覧更新に関するお願い 投稿時間: 2005年6月21日(火) 10:08
違いました。検索結果の件数は正しかったです。
単にNページ目に表示される行の制限の仕方が間違ってました。これはお恥ずかしい。
# よく考えてみれば検索結果行数の制限については以前既に対応してましたし…
これでバグがなくなっていることを祈る…(^^;
山口 登録日: 2003年5月 23日 記事: 2920
件名: Re: 和訳文書一覧更新に関するお願い 投稿時間: 2005年6月23日(木) 17:03
dynamis さん、どうもこんにちは。お世話になります。
やってみました。すごく簡単ですね。素晴らしいです。
で、やってみた感想として一つ要望があります。和訳文書一覧 のどこか分かりやすいところ(例えばテーブルの右上肩)に、最終更新日を表示するようにしてほしいなぁ、というお願いです。場所はどこでの良いのですが、一覧をみた人がいつの情報を元にしたデータを見ているのか分かると、良いかもしれないと思ったのです。
緊急ではなく、enhanced 的なリクエストとして、お時間のある時、気が向いた時にでも、検討してみてください。どうぞよろしくお願いします。
dynamis 登録日: 2003年5月 22日 記事: 442
件名: Re: 和訳文書一覧更新に関するお願い 投稿時間: 2005年6月28日(火) 09:47
山口 wrote: で、やってみた感想として一つ要望があります。和訳文書一覧 のどこか分かりやすいところ(例えばテーブルの右上肩)に、最終更新日を表示するようにしてほしいなぁ、というお願いです。場所はどこでの良いのですが、一覧をみた人がいつの情報を元にしたデータを見ているのか分かると、良いかもしれないと思ったのです。
これは確かに必要ですね。
またいつか一段落したら他の修正と一緒にやってみます。
かなり先になりそうな予感がしますが、ご了承ください。
# 思いついた機能とか適当に書き込んでおいてください。
Amigomr 登録日: 2004年11月 21日 記事: 293 所在地: 京都