Staff can export staff logs from /admin/logs/staff_action_logs to see the full history, as we only display a subset of logs within the admin UI. Certain logs can have commas included in the details, which break formatting of the CSV.
Can commas be escaped in this output @vinothkannans?
No, the commas are not breaking the CSV file. Maximum number of characters allowed in a single cell of MS Excel sheet is 32,767. If a column exceeded the characters limit then it’s breaking the CSV format. In our case details column having more characters in some post_edit staff actions. If I open the same CSV file in Google Sheets then it renders all the columns correctly.
If needed I’ll limit the maximum number of characters for details column to ~30,000 in the export unconditionally.
30k chars still seems like a lot. Do we need that many characters in a cell? If so, why?
It’s due to giant posts. For example, many of our internal runbooks tend to be quite long. Likely only the post_edit staff action as Vinoth noted would have this many characters.
Also we storing both old and new post raws for post_edit staff actions in https://github.com/discourse/discourse/blob/4383afb769d97bc9724d5448c0583b14c39782d0/app/services/staff_action_logger.rb#L133.
We should aggressively truncate this, I don’t see the point of creating such bulk in the database over something so trivial.
Okay, I’ll try to improve this by storing only the edit differences in the raw text.
I would like to close this one off. Let’s do the simple thing here, restrict cells to 30k, then close this. The delta stuff is a very very complex change.
これを再オープンします。何らかの修正を導入する必要があります。巨大な投稿がフォーマットを壊していて、エクスポートされたログを確認することがほぼ不可能です。
おそらく、ここで最も簡単な修正は次のとおりです。
> '"' + 'post "body" '.gsub('"', '""') + '"'
=> "\"post \"\"body\"\" \"\""
これはCSVで許可されており、機能するはずだと思います。