kiridaruma / Onset

TRPG向けの簡単なチャット
MIT License
13 stars 1 forks source link

チャットの記録に関する問題 #18

Closed akarregi closed 8 years ago

akarregi commented 8 years ago

幾つかの問題が存在するので、それぞれ列挙。「幾つか」までもなく一つでした。修正します。

ログ記録時にHTMLごと記録している

Onset/Onset/public_html/src/write.php:29-32

// 中略

$line = "<div class=\"chat\"><b>{$nick}</b>({$_SESSION['onset_id']})<br>\n{$text}<br>\n<i>{$diceRes}</i></div>\n";

$line = $line . file_get_contents($_dir.'/xxlogxx.txt');
file_put_contents($_dir.'/xxlogxx.txt', $line, LOCK_EX);

これに関しては、

  1. コード自体の可読性が非常に低い
  2. 一定の規定されたフォーマット(e.g. JSON, YAML, XML etc.)に沿っていない
  3. 後々アップデートなどでチャットのフォーマットを更新した際に、正常にパースされない可能性がある
  4. (主観ですが)ログの名前(xxlogxx.txt)の意味が一見よくわからない

という問題があります。

それぞれの問題の解決は、簡潔に示しますが(上記の番号と対応します)

  1. 複数行に分割して処理を書く
  2. JSONやYAMLなどの記述で処理をする
  3. チャットのみを記録する(=HTMLタグなどを記述しない)
  4. ログ名の変更(どどんとふに沿うならばchatLog.txtなど

何度かこの話はTwitterやらで出た気がしますが、改めて文章化 & イシュー発行とします。 長文乱文失礼。

kiridaruma commented 8 years ago

これに関しては、次のアップデートでフロントの一新(jQueryからReact.jsへ変更)を考えているので、それに合わせてJSONか何かにしようかなと考えています
(ReactだとHTMLタグ交じりの文字を表示させるのは非推奨なため)

akarregi commented 8 years ago

25 で解決待ち。

akarregi commented 8 years ago

25 で解決しました。クローズします。