Description

The RecentChanges page displays incorrect results most of the time. By this I mean it skips changes made by other users, and clicking on the "Updated" button display the wrong diff.

Steps to reproduce

This particular bug is specific to one wiki. I also run another Wiki on the same box which works correctly. The one that works incorrectly was moved here from another box that used an older version (1.2.x). The data has been correctly updated as per the instructions.For example, a user created a page two days ago. It was correctly listed as new for that day. As soon as another user changed it, it no longer appears as a new page on that date!

As for the wrong diff, a lots of cases the diff will include multiple changes spanning many days, making it useless.

I think it has to do with incorrect timestamps stored with the pages.

Example

Here is the history of the page:

SystemPrinting.png

As you can see, it was created on the 16th, and modified by me on the 18th.

Here are the recent changes:

RecentChanges.png

As you can see, it no longer appears as new on the 18th, even though it did before I modified it.

Details

MoinMoin Version

1.3.4

OS and Version

Linux (CentOS 4)

Python Version

2.3.4

Server Setup

Stock CentOS/RHEL 4

Server Details

Workaround

I've uploaded a patch that changes RecentChanges to work in a more predictable manner. -- MaxCampos 2006-10-24 05:38:38

Discussion

The wrong diff is not wrong technically - it shows the diff from your bookmark date to the last revision. If you set your bookmark 2 days ago, you will get all diffs from 2 days ago to current revision. Practically these diff are annoying - I always want to see the last change, and sometimes the change before and so on. Its possible only through the info action, with a lot of clicks and pain.


Something not working as you expect or like it doesn't make it a bug. The (usually green) bookmark diff AFAIK works correctly and as intended. A bookmark (as in a paper book) means: "I read until there". Moin's bookmarks are similar: "I read changes until there (in time)". One effect sometimes confusing people is that moin tries to aggregate changes and tries NOT to list a page multiple times. So if you edit a page today for 3 times, it shows only one RC entry, documenting that this page was changed (and listing [1-3] changes). This is quite clearly visible. But sometimes the following happens:

Moin aggregates those 2 changes to 1 RecentChanges entry (under "today"), showing that the page was recently changed TODAY. It doesn't list it under yesterday, too, because if you review your bookmark diffs of all pages on RC, you would see that stuff twice if it did. You won't overlook a change, because the page is listed on RC. If you use bookmark diffs, it will show you exactly what you didn't read yet.

Some people think that this is a bug, because the entry under "yesterday" is not there (kind of "lost"), but moin just saves you work. This is intended and NOT a bug.


I've been using Moin for years now, and I find this behaviour very confusing. The display style of RecentChanges suggest that different days are different entities, and you would expect that change aggregation and diffs stop at a day boundary.

Anyhow, I know that Moin aggregates my changes, but in this example user Bogdan changed the page on 16th, and use Dimi changed it on 18th. Dropping Bogdan makes no sense. If a page is changed by diferrent people on the same day, I can see the different names, not only one. Why is it different in this case?

I now see how this works (thank you for the explanation), but I always want to stop at a day's boundary. Any way I can get that behaviour?


After running this in a debugger a few times, I believe the problem here is that once a page is displayed on the recent changes list, it's not displayed any longer for any reason -- irrespective of when the older change(s) happened. This is due to the "ignore_changes" stuff in RecentChanges.py.

The patch at MoinMoinPatch/LessConfusingRecentChanges addresses this issue. -- MaxCampos 2006-10-24 05:38:38

Example

Revision history
ex2_revhist.png

Without the patch (ignore_changes in place)
ex2_with_ignore_changes.png

With the patch (ignore_changes removed)
ex2_without_ignore_changes.png

-- MaxCampos 2006-10-03 23:51:08

/!\ BTW, if someone does make a patch for RecentChanges to behave in a "waste your users time" manner (like showing every change separately or showing the same diffs multiple times), he should be aware that chances getting this into main branch are rather low. Chances are slightly better if this behaviour is driven by a user preferences setting. On the other hand, every wiki admin can feel free to drop his own RecentChanges.py into data/plugin/macro/ - but be aware that your users might hate you if you increase their workload. /!\

I find the standard behaviour of Moin very confusing, too. Max, could you please provide the patch here, so that people interested in this horrible, extra-workload behaviour could download it? Thanks!

Moreover: I would strictly recommand to move the patch Max provided to the main branch and call his patch "RecentChanges"! Why? Because Jürgen, Thomas and the other seem to confuse "RecentChanges" with "LatestChanges"! The actual behaviour of Moin is not a "RecentChanges" but a "LatestChanges" behaviour. RecentChanges means: a list of all the changes being made in the last, recent days. "LatestChanges" means: only show the latest changes, the latest version of a page, the newest edits of a page (Please look for the differcence of the two words "recent" and "latest" in some dictionary!). And that's what we have in Moin: "RecentChanges" is actually a "LatestChanges"! But normal users would expect, when reading "RecentChanges", to get a chronological list of all the recent changes and not a list of "latest versions or edits on a page". I was confused by that so called "RecentChanges" behaviour of Moin too. I can understand, that many other users are confused by that, as you have told us Max, too. This again shows the reluctance and unwillingness of the main developpers of Moin to understand what's going on in normal users heads, see for that also http://moinmoin.wikiwikiweb.de/UsabilityObservation/HowToGetHistory. That's why usability is so poor in Moin. And I don't think this is going to change in future. Rahter the discussion on usabiltiy will remain on that autistic level. Having nearly no contributions on UsabilityObservation does not mean: Usability is prefect! It could also mean: Moin is still to freeky, to complicated for normal users, too many things unclear, so that they not even start to post their ideas. Most posts are from Wikiadmins, which couldn't be considered as normal users. And when normal users do post some ideas, then their ideas are turned down. So how to improve?

Plan


CategoryMoinMoinNoBug

MoinMoin: MoinMoinBugs/RecentChangesIsBroken (last edited 2007-10-29 19:21:02 by localhost)