Last modified: 2012-05-11 14:47:00 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 3454 - Hack: Watchlist diff links show all changes since the last page view
Hack: Watchlist diff links show all changes since the last page view
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
Watchlist (Other open bugs)
unspecified
All All
: Low enhancement with 3 votes (vote)
: ---
Assigned To: Nobody - You can work on this!
http://en.wikipedia.org/wiki/Special:...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-09-13 21:31 UTC by niels_h_jensen
Modified: 2012-05-11 14:47 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
hacked 1.5rc4 Article.php (71.30 KB, text/plain)
2005-09-13 21:53 UTC, niels_h_jensen
Details
hacked 1.5rc4 ChangesList.php (18.76 KB, text/plain)
2005-09-13 21:54 UTC, niels_h_jensen
Details
hacked 1.5rc4 UserMailer.php (12.92 KB, text/plain)
2005-09-13 21:57 UTC, niels_h_jensen
Details
hacked 1.5rc4 Language.php (117.41 KB, text/plain)
2005-09-13 21:58 UTC, niels_h_jensen
Details

Description niels_h_jensen 2005-09-13 21:31:49 UTC
Problem:

When checking watchlist entries I want to see all changes since I last viewed
the page. The current software gives only a diff link to the latest change.
Therefore, I have to go to the history page, remember or guess when I have last
viewed the article, click the respective radio button, click the submit button,
and wait for the final diff page.

Solution:

If there is more than one change to a page then the diff link will directly
display all these changes. Additionally, a diff link for the last change will
also be provided. The hack only applies to the new watchlist / history /recent
changes view introduced in MediaWiki 1.5 were article links are highlighted.

The hacked watchlist will look like this:

    22:49 Main Page (diff; hist) . . Corina (Talk)
    22:43 Help Page (diff; hist) . . last: Mike (Talk)

The first line is a watchlist entry that has already been checked - nothing
changes for these.
The article in the second line has been changed and is displayed bold. Because
it has been changed more than once the 'diff' link will show all these changes
and the 'last' link will show only the last change.
Comment 1 niels_h_jensen 2005-09-13 21:46:36 UTC
The hacked 1.5rc4 scripts can be found as attachments. The changed locations are
marked #####. The changed files / funtions are:

Article.php:
- view(): Run view updates also for diff view. Otherwise the watchlist markers
are not reset even if I have checked the recent changes from my watchlist.

ChangesList.php:
- recentChangesBlockLine(): Generate the 'last' diff link in front of the
username if there are more than two new changes.
- recentChangesLineNew(): Get the 'lastdiff' message from wfMsg. In english this
is displayed as 'last'.
- recentChangesLineNew(): Get the notification timestamp for watchlist entry.
This value is passed from SpecialWatchlist.php to the variable $watched.
- recentChangesLineNew(): Check if the watched article has more than one not
viewed revisions.
- recentChangesLineNew(): Find the last viewed revision. The database engine has
to find the highest revision id with a timestamp < notificationtimestamp
(assuming that the id's are numbered chronologically). 
- recentChangesLineNew(): If there are more than two changed revisions then set
the diff link to all changes and the lastdiff link to the last change.
- recentChangesLineNew(): also return the lastdiff link

UserMailer.php:
- notifyOnPageChange(): If a watchlist entry already has a timestamp do not set
the timestamp again. This seems to be a bug that had no effect yet.

Language.php:
The 'lastdiff' link displays as 'last' in front of the username.
Comment 2 niels_h_jensen 2005-09-13 21:53:05 UTC
Created attachment 885 [details]
hacked 1.5rc4 Article.php
Comment 3 niels_h_jensen 2005-09-13 21:54:30 UTC
Created attachment 886 [details]
hacked 1.5rc4 ChangesList.php
Comment 4 niels_h_jensen 2005-09-13 21:57:36 UTC
Created attachment 887 [details]
hacked 1.5rc4 UserMailer.php
Comment 5 niels_h_jensen 2005-09-13 21:58:33 UTC
Created attachment 888 [details]
hacked 1.5rc4 Language.php
Comment 6 T. Gries 2005-09-13 22:00:26 UTC
Sorry, you missed to consult and install my EnotifWiki; see it live on
http://www.enotifwiki.org -- watch the third link in recent changes and the
garish green updated marker, which is clickable and directs you directly to the
diff view.

   (diff) (last seen) (hist)

which has all changes since your last visit
Comment 7 T. Gries 2005-09-13 22:01:35 UTC
The http://www.enotifwiki.org is Helpdesk, Documentation and Donwload page
(download from the BerliOS Open Source repository incl. live CVS)
Comment 8 niels_h_jensen 2005-09-13 22:31:11 UTC
(In reply to comment #6)
> Sorry, you missed to consult and install my EnotifWiki; see it live on
> http://www.enotifwiki.org --

If you check my hack you will see that my changes use your existing enotif
changes which in 1.5rc4 do not add the current feature to watchlists (at least I
didn't find it).

> watch the third link in recent changes and the
> garish green updated marker, which is clickable and directs you directly to the
> diff view. (diff) (last seen) (hist)

That's recent changes - how does it look in watchlists. What do you think about
the "(diff; hist) . . last: " style on watchlists which might be a bit more
intuitive and self-explaining than a "(diff) (last seen) (hist)" style.
Comment 9 T. Gries 2005-09-13 22:58:04 UTC
> (In reply to comment #6)
> If you check my hack you will see that my changes use your existing enotif
> changes which in 1.5rc4 do not add the current feature to watchlists (at least I
> didn't find it).
Sorry Niels: mea culpa maxima -  I haven't expected that and apologise.
> 
> That's recent changes - how does it look in watchlists. What do you think about
> the "(diff; hist) . . last: " style on watchlists which might be a bit more
> intuitive and self-explaining than a "(diff) (last seen) (hist)" style.

Fine.

I already proposed in another bugzilla to rename "(diff)(hist)" to
"(prev)(hist)" so that Enotif could use "(prev)(last)(hist)", but this was
dismissed by the developers due to change of user interface.

I'll check your patch later; I like to have watchlist, recent changes _and_
history view in the very same layout, which is currently not the case, neither
in MediaWiki nor EnotifWiki. You started to make watchlist layout similar to rc,
this seems to be a good initiative. It would also allow to refactor the software
RecentChangesLine and so on.
Comment 10 niels_h_jensen 2005-09-25 17:50:05 UTC
Hi Thomas,

did you have a closer look at the proposed changes? I still like this "(diff,
hist) .. last:"  watchlist style (where the 'diff' link diffing over all new
edits, and the 'last' link diffing the last edit). It would be "backward
campatible" (to please the developers :-) ) and it does exactly what a naive
user would expect the links to do. 

How could we 'push' this or a similar change to be incorporated into the
software. I do really miss this feature during my daily WikiPedia work!

The next related change would be some kind of marker (e.g. a partial history
list) on the diff page to indicate that this is a diff over several independent
edits.
Comment 11 Andrew 2007-02-13 21:44:03 UTC
I would prefer a button that would show changes since your last edit. This would be 
better than last page view, because it's possible for a person to browse that page on 
Wikipedia without checking the history.
Comment 12 Siebrand Mazeland 2009-02-02 11:51:03 UTC
Changed component to "Watchlist"
Comment 13 Nemo 2012-05-11 14:47:00 UTC
There have been several different requests in this bug, but this is the original one:

(In reply to comment #0)
> Solution:
> 
> If there is more than one change to a page then the diff link will directly
> display all these changes. 

This is fixed by the enhanced RC + show all changes preferences, since a while ago.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links