We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Extension Suggestion: Entry Versioning and Comparison (Redlining)

Development and Programming

Brendon Carr's avatar
Brendon Carr
135 posts
16 years ago
Brendon Carr's avatar Brendon Carr

I’ve got a bona-fide content management need and request for some wizard to develop an extension.

As a lawyer, I deal in detailed laws and regulations, and revisions to same, on a regular basis. To save time, when material is updated we generally like to focus only on what’s changed – using an automated comparison tool like Microsoft Word’s document-compare or “track changes” tool, or a software package like DeltaView. Additions are indicated by one style of text (usually underlining), while deletions are indicated by another (usually strikethrough).

It would be great if there were an extension to ExpressionEngine that would retain entry versions, and enable the generation of such “redline” comparisons between versions so that workflow reviewers could zero in on changes quickly. A killer feature would be the ability to make that comparison view available not just to admins, but to site visitors generally. Designate one version as “public” and compare to the last “public” version. If that power were available, when an entry on the site were updated, one could mail existing users (especially those who’ve asked to be notified when the entry is changed) a link to the comparison. That would be extremely useful to law firms, consulting firms, and other knowledge enterprises.

As a commercial product, I’d be willing to pay up to $299 for that in the blink of an eyelash and would guess that many corporate customers would be delighted to have this functionality. Maybe Leevi Graham should consider adding this to NSM Publish Plus as “NSM Publish Plus Compare”.

       
Ingmar Greil's avatar
Ingmar Greil
29,243 posts
16 years ago
Ingmar Greil's avatar Ingmar Greil

Yes, this would be quite useful. We usually use a wiki for things like that (MediaWiki does this beautifully), but I agree this would make for an excellent feature request.

       
silenz's avatar
silenz
1,648 posts
16 years ago
silenz's avatar silenz

I’ve been pondering about this. If you plugged it into EE’s native revision system it would not be too hard to accomplish, I think.

       
silenz's avatar
silenz
1,648 posts
16 years ago
silenz's avatar silenz

I have tinkered a bit with that suggestion lately and have somewhat of a beta ready.

Backend functionality: • Compare the current version of a weblog-entry with any of its revisions (based on EE’s Entry Versioning). • Compare the current version of a template with any of its revisions (based EE’s Template Revisions).

Frontend functionality: • Display the comparison to the latest revision with a defined status for weblog-entries.

Details can be found here.

If you’re up for beta-testing drop me a PM.

       
Brendon Carr's avatar
Brendon Carr
135 posts
16 years ago
Brendon Carr's avatar Brendon Carr

Looking at the features on your site it looks like a terrific start. One thing that stands out as being a helpful addition would be some control over the display of the deleted and added text. According to convention in my industry, the base text is black, deletions are shown in red strikeout (hence redlining), while additions are in double-underlined blue. Some guys prefer to have the additions also shown in highlighted text (yellow background). Anyway, it’s something that would improve the display in a later version of this extension – maybe one you could charge some money for.

I’m astonished how quickly you turned this one out. Thanks so very much. (But when will the car that runs on strawberry soda be ready?)

I’m curious to know if there would be some way to avoid the use of the html <pre> tag pair. That will crimp the felxibility of making redlines available on the frontend.

But, really, awesome work!

       
Mark Bowen's avatar
Mark Bowen
12,637 posts
16 years ago
Mark Bowen's avatar Mark Bowen

Just wanted to echo what was said here already. The module is absolutely fantastic. For me I wasn’t too fussed about different colours and stuff but that would definitely be a nice touch and I’m sure that as you are already highlighting the items using either an underline or a strikethrough then you can probably make it do whatever you want really I guess? Perhaps you could also have a settings page which allows those kinds of things to be chosen by the user?

Anyway it’s an excellent module and I’m sure a lot of people are going to want this one so well done!

Best wishes,

Mark

       
silenz's avatar
silenz
1,648 posts
16 years ago
silenz's avatar silenz
Looking at the features on your site it looks like a terrific start. One thing that stands out as being a helpful addition would be some control over the display of the deleted and added text. According to convention in my industry, the base text is black, deletions are shown in red strikeout (hence redlining), while additions are in double-underlined blue. Some guys prefer to have the additions also shown in highlighted text (yellow background). Anyway, it’s something that would improve the display in a later version of this extension – maybe one you could charge some money for.

Very well. The beta kind of constitutes a proof-of-concept at this point. While it works pretty well already now it’s time for fine-tuning and any suggestion and feature requests are welcome.

On the frontend you can already format insertions and deletions to suite your needs. You simply apply a CSS-class with the class=”foo” parameter and use whatever CSS formats you like. For double-underlined blue and red strike-through that would be something like:

<style>
.foo ins {
  color: blue;
  text-decoration:none;
  border-bottom: double blue;
}
.foo del {
  color: red;
}
</style>

In the backend you cannot easily include your own stylesheet so I will add a setting that lets you apply user-defined CSS.

I’m astonished how quickly you turned this one out. Thanks so very much. (But when will the car that runs on strawberry soda be ready?)

We cannot give a specific date but you can expect it by the end of summer, IYKWIMAITYD.

I’m curious to know if there would be some way to avoid the use of the html <pre> tag pair. That will crimp the felxibility of making redlines available on the frontend.

Yes, there is a way. I’ve been using <pre> mainly for convenience. In order to display changes not only in text but also in HTML I must of course transform any HTML into text first. So in the resulting comparison there are no HTML-paragraphs/-linebreaks anymore.

I can do (and will probaby) without <pre> if I convert the text-linebreaks into <br />’s.

I haven’t made up my mind yet whether I will force a container around the comparison-blocks in the output (be it <div>, <p> or a user-settable choice) or whether I shall leave it up to the user to figure that out. I don’t want to patronize but I also would prefer to deliver sensible markup out of the box.

       
silenz's avatar
silenz
1,648 posts
16 years ago
silenz's avatar silenz

I made some adjustments since the first beta, so be sure to take another look at http://utilitees.silenz.org/index.php/docs/item/redline-documentation/.

       
silenz's avatar
silenz
1,648 posts
16 years ago
silenz's avatar silenz

Redline has meanwhile been released.

Thank you to the beta-testers who seemingly found no bugs but provided feedback and feature suggestions.

       
Cartegraph's avatar
Cartegraph
83 posts
10 years ago
Cartegraph's avatar Cartegraph

I’ve been looking for this functionality for what seems like forever! I see it hasn’t been made to work with EE2. What kind of effort might that take?

Thanks!

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.