One of the major benefits of TWiki is the integral versioning - you never lose content, and you can go back in time to see how a particular topic looked in the past.
I find this useful in useful in
TWikiAdvocacy, particularly to non-technical people who can see the advantage of having their attached documents versioned.
There's a couple of things which I think would make this feature even more useful:
The ability to view a whole TWiki site as it was at a certain time (
Wiki:WayBackMode
?). I had an idea that this feature existed, but didn't find it when I did a few searches for "old", "time" etc.. This would require use of
DateBasedVersioningOfTopics,
AttachedDocumentsSyncedWithTopicVersion and
SearchByDate. Note that these other features are also independently useful.
Implementation: Presumably a "sticky" parameter in the URL which is retained as different pages are visited.
When retrieving old versions of topics, you can specify a date rather than an
RCS version.
Example use: To see what the page looked at "just before we launched product X"
When a versioned topic is retrieved, any attached documents are versioned too rather than being the current versions.
Example Use: The attached gif showing graph of sales reflects the sales at the time, rather than the latest sales.
Implementation: The page Meta-data could store a link to a particular version of a document rather than just to the (general, multi-versioned) document. The meta-data would need to be updated when new versions of a document were uploaded. Perhaps a %DOCUMENT("document_name.ext")% tag could be used to generate the versioned document URLs in the page (e.g. where an image is used).
The current meta data tag for attachments does already include the version. When you retrieve an earlier version of the page, the %META:FILEATTACHMENT attribute includes a number of attributes including the version. The reason this doesn't work as you'd expect is because by default when you do ATTACHURL's to attachments, nothing happens to extract the possibly older version. Doing this should be possible though - you would need to look through anything referring to an attachurl, look for the file that's being referenced, and rewrite the attachurl so that it goes through viewfile with appropriate arguments rather than direct to the pub directory.
-- TWikiGuest - 18 Jun 2003
A search option which allows a date and time to be specified, the search results are "as if" the search occurred on that date. The links from the search are to
DateBasedVersioningOfTopics.
General Comments
Please feel free to refactor, add to / change / extent the definitions above, also to rename the
WikiWords I've used if you can come up with ones which better capture the concepts.
There seem to be 2 main issue to me: Would the features above be useful? and how could they be implemented. I think it's still worth having the "Would the features be useful" discussion even if an efficient implementation isn't immediately clear.
--
AndyPryke - 16 Jun 2003
as a pointer to a previous discussion see
SearchByDate. I haven't had time to do it yet though. i've also mentioned something in a cvs discussion (cvs tagging for release / change management)..... so in short, yes!!!:)
--
SvenDowideit - 16 Jun 2003
The
TWikiStickyTimeMachine feature has already been implemented, if you can use the
Internet Archive Wayback Machine
. Check out Twiki.org from
Feb 2001
for example. This only works for publically accessible Twikis, of course.
--
RossC - 17 Jun 2003
Thanks for the pointers. It looks like
SearchByDate is definately part of the solution. I guess I'm looking for a full wiki:WayBackMode which can be used even by things such as the
SpreadsheetPlugin - so, for example, I could peek back in time at my project's defect list or requirements list.
Aside from this, I think that
AttachedDocumentsSyncedWithTopicVersion on its own would be very useful and also attractive to non-technical users.
--
AndyPryke - 17 Jun 2003
If we want to see what the content looked like at a special date, also the bin folder and the lib folder needs to be versionized, since the pages looked different with an early version of this script or that plugin.
--
MartinRaabe - 18 Jun 2003
One of my colleagues asked for the ability to look at topics as they stood at a given date, so I whacked out a basic wayback mechanism. Starting from scratch, it took me about four hours to trace and add the necessary hooks.
I copied the view script to wayback and then hacked that. Changes were also required to TWiki.pm, Store.pm, and RcsWrap.pm but those changes are merely duplicating certain subs that are there, adding 'ByDate' to the end, and then editing slightly. The hacky implementation I've ended up with allows either .../bin/wayback/Web/Topic?wbdate=yyyymmdd syntax (propogation of ?wbdate=yyyymmdd syntax is not made to internal links however), or setting the pref "Set WAYBACK = yyyymmdd", which forces all page views using /bin/wayback to be shown using the specific era.
This was sufficient for my colleagues purposes, so I haven't looked at things like attachments, etc to see if they are coherent. %INCLUDE{"..."}% syntax works. Things that generate tables magically (%SEARCH{"..."}%, for example) don't work.
But a limited ability is there.
--
RichardWilliamson - 15 Sep 2004