Last modified: 2014-11-18 18:07:16 UTC
The current 200-character limit is far too short. For example the default undo message is 90 chars plus three times the username plus the section name; this can easily take up the available space in itself, and one would often want to write an undo reason too. As page histories are getting longer, reverts more frequent and (with the focus being shifted to quality) history-analyzing tools more widespread, it is important to include as much information into the summary as possible and not force users to delete eg. which revision they have reverted so they can fit in the reason. The max length should be at least the double of the current size.
There is an absolute limit of 256 bytes (not characters) imposed by the database - it's using the TINYBLOB type, using a type for longer text supposedly would make access to the revision table much slower (which is a large table, and accessed a lot). It would be much nicer to use this field only for the user-provided comment, and use extra db fields for storing meta-info about the revision, like the base revision (we alread have a field for that, which is not being used afaik) or more detailed undo merge/info, rollback/undo flag, etc. This would also be nicer for analysis tools (especially when working directly on the database), and could also be used for a more structured display.
Maybe make a TINYBLOB for user comment, and a TINYBLOB for software auto-comment (like undo message etc)?
@matt: yes, that would be a possibility. the auto-comment shouldn't be a comment though, but in a machine redable form (maybe a serialized php structure). This would allow for easy re-formatting and unambiguous processing. However, it may still be cut off, which would be fatal for machine-readable data - so it might have to be a larger text chunk - not sure what the performance implications of that would be (probably it wouldn't matter as long as you don't retrieve that field, but I'm not sure). Also, using separate fields would make automated analysis on the database a *lot* more fast and powerfull. But separate fields are not simple to do because there may be a lot of different types of revision meta info. So, I don't see a simple & nice solution. This needs more thought, I guess.
Database flags which are reflected in the page (by, say, adding certain classes to the lines in the page history which are rollbacks/backrolled edits) would be certainly nice. One potential use would be an "abridged" page history where instead a series of vandalisms or an edit war a message like "10 reverted edits not shown" could be displayed. Also, it might speed up the computation of the revert-based trust metric the UCSC wiki lab is working on.
*** This bug has been marked as a duplicate of bug 4714 ***