I wish for a way to compare revisions in the revision list. I have created two mockups that summarize what I would like to see. In the first file, I show how each revision in the revisions table has a checkbox. There is also a new link 'compare'. When compare is clicked, the checked revisions are shown over each other (an Eclipse-style text comparison with diff is way beyond what anyone has time to program, I assume). This seems to me to be an important step in making the revisions system more useable. There may be other ways to achieve this, such as having each revision be a tab instead of line in the table. With tabs, users could click through all the tabs and make a mental note of the differences. As it is now, I have to click 'view', then go back to the revisions table and click another 'view'. This quickly leads to a lost overview and confusion.

Comments

robertdouglass’s picture

StatusFileSize
new88.17 KB

Here is the second mockup image

clairem’s picture

StatusFileSize
new28.37 KB

I like the idea, and I think it would be useful.

But I think it would be even more useful if it the revisions could be displayed as markup, using coloured INS and DEL tags to produce an effect like MS Word's revision-tracking.

There must be an open-source algorithm available (e.g. the one for Linux diff) which would provide the basis for generating the comparison. I know this woukd mean a lot more work, but for nodes with more than a dozen-or-so lines of text, it would be much easier to use

I attach a crude mockup -- sorry, I've been lazy, the rest of the page doesn't look at all Drupalish (unlike your very elegant mockup), but I hope it conveys the idea.

robert castelo’s picture

You might be interested in some work that Gordon has been doing on this...

http://www.heydon.com.au/?q=node/543

Looks like he's already done a lot of the heavy lifting, he could probably use a hand to take it further ;-)

clairem’s picture

I posted the following on Gordon's site, and I hope it's OK to post it again here, just in case it doesn't make it through his moderation system

There is a "feature request" thread on this subject at http://drupal.org/node/15596 which led someone to point me (clairem on drupal) to your excellent work here.

What you've done seems great, and there's obviously a lot if hard work gone into it already. It's obviously near-complete, and I can't find any bugs.

But I hope you don't mind me being very cheeky and suggesting some changes to how it is implemented.

As far as I can see, what it does is that when in "view" mode, it compares the revision being viewed with the revision which has been set as the "revision anchor".

To my mind, it would be more intuitive to do this through one of these methods, both of which would leave "view" mode to view the page as it currently is.

  • directly through the "revisions" tab. One of the things I didn't like about your current setup was that if I went to edit the revision which I was viewing, I found myself editing not the revision itself, but the annotated version of the revision. I found that a nuisance.

    Under the revisions tab, I would envisage a checkbox beside each revision listed, and text to invite the user to check any two revisions, and press a "compare button"

  • Do it through a separate "compare" tab, which would be displayed where where two or more revisions exist, again with a checkbox beside each revision listed, and text to invite the user to check any two revisions, and press a "compare button".

Obviously, in either case there would need to be check that the user had actually selected two buttons and not 0,1,3,4 etc -- unless I have misunderstood the module, and it is capable of comparing two or more revisions.

Option B seems to me to be probably easier to implement, because it ought to involve less patching of the node module.

Then when the comparison is displayed, instead of using bold text, I would find it nicest to display the output using HTML INS and DEL tags, which could then be styled through CSS to give color, and produce an effect much like MS Word's revision-tracking feature (see a crude mockup at http://drupal.org/files/issues/revisions_mockup3c.png ). The HTML title tag works on INS and DEL as well as on font, so the font tag would be supluous. I can seen that you aren't using font to generate a font change, I'd still prefer not have it in my HTML output (I'm a pedant on HTML!).

My final suggestion is that each title tag for INS or DEL should display the revision details, e.g. title="revision #4 revised by clairem on 21 Jan 2005 - 12:34"

Again, congrats on your great work. Hope this helps!

moshe weitzman’s picture

i updated alaa's module and put in in contrib as diff.module. feedback welcome.

robertdouglass’s picture

Thanks! I'll take a look.

killes@www.drop.org’s picture

There is also revision.module by Gordon.

Anonymous’s picture